소스 검색

git-svn-id: https://192.168.57.71/svn/jsgkj@647 931142cf-59ea-a443-aa0e-51397b428577

ld_xuhx 8 년 전
부모
커밋
6bd63871fc
23개의 변경된 파일814개의 추가작업 그리고 239개의 파일을 삭제
  1. 1 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/dao/JgsqDao.java
  2. 3 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/JgsqService.java
  3. 1 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/JgsqdsService.java
  4. 1 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/impl/JgsqServiceImpl.java
  5. 1 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/impl/JgsqdsServiceImpl.java
  6. 243 123
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/ctl/JsjdbgCtl.java
  7. 369 58
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/ctl/JsjdbgdsCtl.java
  8. 1 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/dao/JsjdbgDao.java
  9. 6 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/dao/JsjdbgfjDao.java
  10. 54 36
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/entity/JsjdbgfjEntity.java
  11. 3 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/JsjdbgService.java
  12. 1 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/JsjdbgdsService.java
  13. 4 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/JsjdbgfjService.java
  14. 1 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/impl/JsjdbgServiceImpl.java
  15. 1 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/impl/JsjdbgdsServiceImpl.java
  16. 12 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/impl/JsjdbgfjServiceImpl.java
  17. 97 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/vo/JsjdbgfjVo.java
  18. 3 3
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/ctl/JsjdcbsjCtl.java
  19. 1 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/dao/JsjdcbsjDao.java
  20. 8 5
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/JsjdcbsjService.java
  21. 1 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/JsjdcbsjdsService.java
  22. 1 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/impl/JsjdcbsjServiceImpl.java
  23. 1 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/impl/JsjdcbsjdsServiceImpl.java

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/dao/JgsqDao.java

@@ -12,5 +12,5 @@ public interface JgsqDao extends SecRepository<JgsqEntity, String> {
 	public List<Object> findByJyrids(String jyrid);
 
 	@Query(value = "SELECT m.id from GK_OPERATION_JSJY_JGSQ m where  m.szgq in (?1) and m.record_Status<>9 and m.record_Status<>2 and m.record_Status<>1", nativeQuery = true)
-	public List<Object> findByGqids(String gqids);
+	public List<Object> findByGqids(List<String> gqids);
 }

+ 3 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/JgsqService.java

@@ -21,5 +21,7 @@ public interface JgsqService extends BaseWorkFlowService {
 
 	List<Object> findByJyrids(String jyrid);
 
-	List<Object> findByGqids(String gqids);
+	List<Object> findByGqids(List<String> gqids);
+	
+	List<JgsqEntity> findAll();
 }

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/JgsqdsService.java

@@ -21,5 +21,5 @@ public interface JgsqdsService extends BaseWorkFlowService {
 
 	List<Object> findByJyrids(String jyrid);
 
-	List<Object> findByGqids(String gqids);
+	List<Object> findByGqids(List<String> gqids);
 }

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/impl/JgsqServiceImpl.java

@@ -121,7 +121,7 @@ public class JgsqServiceImpl extends BaseWorkFlowServiceImpl<JgsqEntity, String>
 	}
 
 	@Override
-	public List<Object> findByGqids(String gqids) {
+	public List<Object> findByGqids(List<String> gqids) {
 		// TODO Auto-generated method stub
 		return dao.findByGqids(gqids);
 	}

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/impl/JgsqdsServiceImpl.java

@@ -113,7 +113,7 @@ public class JgsqdsServiceImpl extends BaseWorkFlowServiceImpl<JgsqEntity, Strin
 	}
 
 	@Override
-	public List<Object> findByGqids(String gqids) {
+	public List<Object> findByGqids(List<String> gqids) {
 		// TODO Auto-generated method stub
 		return dao.findByGqids(gqids);
 	}

+ 243 - 123
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/ctl/JsjdbgCtl.java

@@ -13,7 +13,6 @@ import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import javax.persistence.criteria.Subquery;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,7 +21,6 @@ import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -34,6 +32,8 @@ import com.xt.jygl.accessory.service.AccessoryService;
 import com.xt.jygl.common.BaseWebCtl;
 import com.xt.jygl.common.Constants;
 import com.xt.jygl.common.GlobalData;
+import com.xt.jygl.ftp.Ftp;
+import com.xt.jygl.ftp.FtpUtil;
 import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
 import com.xt.jygl.gkjcxx.gk.service.GkService;
 import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
@@ -42,13 +42,12 @@ import com.xt.jygl.gkjsgl.jsjdbg.entity.JsjdbgfjEntity;
 import com.xt.jygl.gkjsgl.jsjdbg.service.JsjdbgService;
 import com.xt.jygl.gkjsgl.jsjdbg.service.JsjdbgfjService;
 import com.xt.jygl.gkjsgl.jsjdbg.vo.JsjdbgVo;
+import com.xt.jygl.gkjsgl.jsjdbg.vo.JsjdbgfjVo;
 import com.xt.jygl.gkjsgl.tzjhgl.entity.TzjhglEntity;
 import com.xt.jygl.gkjsgl.tzjhgl.service.TzjhglService;
 import com.xt.jygl.gkjsgl.xmxxgl.entity.XmbwglbEntity;
-import com.xt.jygl.gkjsgl.xmxxgl.entity.XmxxglEntity;
 import com.xt.jygl.gkjsgl.xmxxgl.service.XmbwglbService;
 import com.xt.jygl.gkjsgl.xmxxgl.service.XmxxglService;
-import com.xt.jygl.gkjsgl.xmxxgl.vo.XmxxglVo;
 import com.xt.jygl.gkjygl.gkjyr.jyrbw.service.BwService;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.BwEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.GkjyrEntity;
@@ -706,10 +705,6 @@ public class JsjdbgCtl extends BaseWebCtl {
 	@RequiresPermissions("jsjdbg:edit")
 	public String edit(Model model, String id, String flag) {
 		model.addAttribute("flag", flag);
-		// 附件
-		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "1");
-		model.addAttribute("fjList", accessoryList);
-
 		JsjdbgEntity entity = jsjdbgService.findOne(id);
 		JsjdbgVo vo = new JsjdbgVo();
 		BeanUtils.copyProperties(entity, vo);
@@ -743,6 +738,90 @@ public class JsjdbgCtl extends BaseWebCtl {
 			bwids = bwids.substring(0, bwids.length() - 1);
 			getbwlist(model, bwids);
 		}
+
+		// 附件
+		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjdbg");
+		for (int i = 0; i < accessoryList.size(); i++) {
+			if (StringUtils.isNotEmpty(accessoryList.get(i).getRemark())) {
+				AccessoryEntity acc = accessoryList.get(i);
+				String s = accessoryList.get(i).getRemark().substring(0, 2);
+				String accid = accessoryList.get(i).getId();
+				JsjdbgfjVo fjnamevo = new JsjdbgfjVo();
+				fjnamevo.setXhbz(accessoryList.get(i).getRemark().substring(2, accessoryList.get(i).getRemark().length()));
+				fjnamevo.setFjid(accid);
+				fjnamevo.setFjmc(accessoryList.get(i).getName());
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+					try {
+						Ftp f = getftp();
+						// 本地目录
+						String localBaseDir = GlobalData.UPLOAD_FILE_PATH + acc.getFilepath();
+						File newfile = new File(localBaseDir);
+						// 如果文件夹不存在则创建
+						if (!newfile.exists() && !newfile.isDirectory()) {
+							newfile.mkdirs();
+						}
+						// 远程目录
+						String remoteBaseDir = acc.getFilepath();
+						// 下载ftp文件
+						boolean downflag = FtpUtil.startDown(f, localBaseDir, remoteBaseDir, acc.getFilename());
+						if (downflag) {
+							System.out.println("ok");
+							acc.setFjbz("1");
+							accessoryService.save(acc);
+						}
+
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+				}
+				model.addAttribute("fjList" + s, fjnamevo);
+				model.addAttribute("xiazaibz", s);
+			}
+		}
+
+		// 附件字段
+		List<JsjdbgfjEntity> fjlist = jsjdbgfjService.findBySsidandfjlx(id, "jsjdbg");
+		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
+
+		for (int i = 0; i < fjlist.size(); i++) {
+			// 从发布单位中获取标识位
+			if (StringUtils.isNotEmpty(fjlist.get(i).getFjbz())) {
+				String s = fjlist.get(i).getFjbz().substring(0, 2);
+				Date date = fjlist.get(i).getFbsj();
+
+				JsjdbgfjVo fjvo = new JsjdbgfjVo();
+				fjvo.setFjbz(fjlist.get(i).getFjbz().substring(2, fjlist.get(i).getFjbz().length()));
+				if (date != null) {
+					String date2 = dateFormater.format(date);
+					fjvo.setFbsj(date2);
+				}
+				fjvo.setFbdw(fjlist.get(i).getFbdw());
+				fjvo.setWjh(fjlist.get(i).getWjh());
+				fjvo.setId(fjlist.get(i).getId());
+				model.addAttribute("recordfj" + s, fjvo);
+			}
+		}
+
+		List<JsjdbgfjEntity> qtfjlist = jsjdbgfjService.findBySsidandfjlx(id, "jsjdbgqtfj");
+		List<JsjdbgfjVo> qtfjlists = new ArrayList<JsjdbgfjVo>();
+		if (qtfjlist != null && qtfjlist.size() > 0) {
+			for (JsjdbgfjEntity qtfj : qtfjlist) {
+				AccessoryEntity acc = accessoryService.findOne(qtfj.getFjid());
+				JsjdbgfjVo fjvo = new JsjdbgfjVo();
+				fjvo.setFbdw(qtfj.getFbdw());
+				String fbsj = "";
+				if (qtfj.getFbsj() != null) {
+					fbsj = dateFormater.format(qtfj.getFbsj());
+				}
+				fjvo.setFbsj(fbsj);
+				fjvo.setWjh(fjvo.getWjh());
+				fjvo.setFjid(qtfj.getFjid());
+				fjvo.setFjmc(acc.getName());
+				qtfjlists.add(fjvo);
+			}
+		}
+		model.addAttribute("qtfjlist", qtfjlists);
+
 		model.addAttribute("record", vo);
 		model.addAttribute("jyr", entity.getJyrid());
 		model.addAttribute("roleCode", Constants.ROLE_LD);
@@ -823,7 +902,7 @@ public class JsjdbgCtl extends BaseWebCtl {
 			model.addAttribute("bwlist", slist);
 		}
 	}
-	
+
 	@RequestMapping(value = "/view")
 	public String view(Model model, String id, String flag, String opflag) {
 		model.addAttribute("flag", flag);
@@ -865,6 +944,88 @@ public class JsjdbgCtl extends BaseWebCtl {
 		vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
 		vo.setZyhbwfl(entity.getZyhbwfl() != null ? entity.getZyhbwfl().getId() : "");
 
+		// 附件
+		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjdbg");
+		for (int i = 0; i < accessoryList.size(); i++) {
+			if (StringUtils.isNotEmpty(accessoryList.get(i).getRemark())) {
+				AccessoryEntity acc = accessoryList.get(i);
+				String s = accessoryList.get(i).getRemark().substring(0, 2);
+				String accid = accessoryList.get(i).getId();
+				JsjdbgfjVo fjnamevo = new JsjdbgfjVo();
+				fjnamevo.setXhbz(accessoryList.get(i).getRemark().substring(2, accessoryList.get(i).getRemark().length()));
+				fjnamevo.setFjid(accid);
+				fjnamevo.setFjmc(accessoryList.get(i).getName());
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+					try {
+						Ftp f = getftp();
+						// 本地目录
+						String localBaseDir = GlobalData.UPLOAD_FILE_PATH + acc.getFilepath();
+						File newfile = new File(localBaseDir);
+						// 如果文件夹不存在则创建
+						if (!newfile.exists() && !newfile.isDirectory()) {
+							newfile.mkdirs();
+						}
+						// 远程目录
+						String remoteBaseDir = acc.getFilepath();
+						// 下载ftp文件
+						boolean downflag = FtpUtil.startDown(f, localBaseDir, remoteBaseDir, acc.getFilename());
+						if (downflag) {
+							System.out.println("ok");
+							acc.setFjbz("1");
+							accessoryService.save(acc);
+						}
+
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+				}
+				model.addAttribute("fjList" + s, fjnamevo);
+				model.addAttribute("xiazaibz", s);
+			}
+		}
+		// 附件字段
+		List<JsjdbgfjEntity> fjlist = jsjdbgfjService.findBySsidandfjlx(id, "jsjdbg");
+		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
+
+		for (int i = 0; i < fjlist.size(); i++) {
+			// 从发布单位中获取标识位
+			if (StringUtils.isNotEmpty(fjlist.get(i).getFjbz())) {
+				String s = fjlist.get(i).getFjbz().substring(0, 2);
+				Date date = fjlist.get(i).getFbsj();
+
+				JsjdbgfjVo fjvo = new JsjdbgfjVo();
+				fjvo.setFjbz(fjlist.get(i).getFjbz().substring(2, fjlist.get(i).getFjbz().length()));
+				if (date != null) {
+					String date2 = dateFormater.format(date);
+					fjvo.setFbsj(date2);
+				}
+				fjvo.setFbdw(fjlist.get(i).getFbdw());
+				fjvo.setWjh(fjlist.get(i).getWjh());
+				fjvo.setId(fjlist.get(i).getId());
+				model.addAttribute("recordfj" + s, fjvo);
+			}
+		}
+
+		List<JsjdbgfjEntity> qtfjlist = jsjdbgfjService.findBySsidandfjlx(id, "jsjdbgqtfj");
+		List<JsjdbgfjVo> qtfjlists = new ArrayList<JsjdbgfjVo>();
+		if (qtfjlist != null && qtfjlist.size() > 0) {
+			for (JsjdbgfjEntity qtfj : qtfjlist) {
+				AccessoryEntity acc = accessoryService.findOne(qtfj.getFjid());
+				JsjdbgfjVo fjvo = new JsjdbgfjVo();
+				fjvo.setFbdw(qtfj.getFbdw());
+				String fbsj = "";
+				if (qtfj.getFbsj() != null) {
+					fbsj = dateFormater.format(qtfj.getFbsj());
+				}
+				fjvo.setFbsj(fbsj);
+				fjvo.setWjh(fjvo.getWjh());
+				fjvo.setFjid(qtfj.getFjid());
+				fjvo.setFjmc(acc.getName());
+				qtfjlists.add(fjvo);
+			}
+		}
+		model.addAttribute("qtfjlist", qtfjlists);
+
 		String roleCode = "";
 		String currName = "";
 		TaskInfoEntity taskinfo = taskInfoService.findByStep(id, JsjdbgEntity.PROCESS_DEFINITION_KEY);
@@ -963,11 +1124,6 @@ public class JsjdbgCtl extends BaseWebCtl {
 		}
 		model.addAttribute("list", volist);
 
-		List<JsjdbgfjEntity> fjlist = jsjdbgfjService.findBySsid(id);
-		if (fjlist != null && fjlist.size() > 0) {
-			model.addAttribute("fjlist", fjlist);
-		}
-
 		if (StringUtils.isNotEmpty(entity.getXmbm())) {
 			String codeid = entity.getXmbm().substring(4, 10);
 			CodeEntity code = securityMgr.codeService().findOne(codeid);
@@ -1044,21 +1200,17 @@ public class JsjdbgCtl extends BaseWebCtl {
 
 	@RequestMapping(value = "/audit")
 	@ResponseBody
-	public WebJsonResult audit(String shyj, String id, boolean flag, String accid, String userids) {
+	public WebJsonResult audit(String shyj, String id, boolean flag,  String fjzdids, String accids, String userids) {
 		WebJsonResult wr = success();
 		JsjdbgEntity entity = jsjdbgService.findOne(id);
 
-		if (!StringUtils.isEmpty(accid)) {
+		if (!StringUtils.isEmpty(accids)) {
 			// 关联附件
-			String[] ssids = accid.split(",");
-			for (String ssid : ssids) {
-				JsjdbgfjEntity fj = jsjdbgfjService.findOne(ssid);
-				if (fj != null) {
-					fj.setSsid(entity.getId());
-					jsjdbgfjService.save(fj);
-				}
-			}
+			fjgt(accids, entity);
+			fjzdgt(fjzdids, entity);
 		}
+		
+		
 		try {
 			if (jsjdbgService.getCandidateTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), id) != null) {
 				jsjdbgService.claim(id, SecUtils.getCurrUser().getId().toString());
@@ -1105,8 +1257,8 @@ public class JsjdbgCtl extends BaseWebCtl {
 						fjid = fjid.substring(0, fjid.length() - 1);
 					}
 
-					String url = "GK_OPERATION_JSJY_JSJDBG_ONE_PC?condition=ID=" + entity.getId() + ";FJID=" + fjid;
-					boolean tbflag = getTbStatus(url,entity.getSzd().getId());
+					String url = "GK_OPERATION_JSJY_JSJDBG_ONE_PC?condition=ID=" + entity.getId();
+					boolean tbflag = getTbStatus(url, entity.getSzd().getId());
 					if (tbflag) {
 						entity.setTbzt("Y");
 						jsjdbgService.save(entity);
@@ -1128,28 +1280,53 @@ public class JsjdbgCtl extends BaseWebCtl {
 		}
 		return wr;
 	}
+	// 附件字段保存共通
+		public void fjzdgt(String fjzdids, JsjdbgEntity code) {
+			if (fjzdids != null && fjzdids != "") {
+				String[] fjidssz = fjzdids.split(",");
+				for (String fj : fjidssz) {
+					if (!StringUtils.isEmpty(fj)) {
+						// 获取前两个字符(标识位)
+						String s = fj.substring(0, 2);
+						// 去掉前两个标识位查询
+						JsjdbgfjEntity jsjdfj = jsjdbgfjService.findOne(fj.substring(2, fj.length()));
+						jsjdfj.setSsid(code.getId());
+						// 把附件标识设置成标识位+附件标识
+						jsjdfj.setFjbz(s + jsjdfj.getFjbz());
+						jsjdfj.setFbdw(jsjdfj.getFbdw());
+						jsjdfj.setFjlx("jsjdbg");
+						jsjdbgfjService.save(jsjdfj);
+					}
+				}
+			}
+		}
 
+		// 附件保存共通
+		public void fjgt(String accids, JsjdbgEntity xmxxgl) {
+			if (null != accids && "" != accids) {
+				String[] ssids = accids.split(",");
+				for (String ssid : ssids) {
+					// 获取前两个字符(标识位)
+					if (!StringUtils.isEmpty(ssid)) {
+						String s = ssid.substring(0, 2);
+						// 去掉标志位查询
+						AccessoryEntity acc = accessoryService.findOne(ssid.substring(2, ssid.length()));
+						acc.setSsid(xmxxgl.getId());
+						// 把备注设置成标识位+备注
+						acc.setRemark(s + acc.getRemark());
+						accessoryService.save(acc);
+					}
+				}
+			}
+		}
 	// 保存附件
 	@RequestMapping(value = "/saveFile")
 	@ResponseBody
-	public WebJsonResult saveFile(@RequestParam("file") List<MultipartFile> file, String fjFlag, Model model, HttpServletRequest request, HttpServletResponse response) {
+	public WebJsonResult saveFile(MultipartFile filename, Model model) {
 		WebJsonResult wr = success();
-		if (file != null && file.size() > 0) {
-			JsjdbgfjEntity fjEntity = new JsjdbgfjEntity();
-			for (int i = 0; i < file.size(); i++) {
-				MultipartFile f = file.get(i);
-				if (f.getSize() > 0) {
-					AccessoryEntity acc = accessoryService.saveFile(f, "jsjdbg");
-					if (acc != null) {
-						fjEntity.setFjid(acc.getId());
-						fjEntity.setFjmc(acc.getName());
-						fjEntity.setType(fjFlag);
-						fjEntity = jsjdbgfjService.save(fjEntity);
-						break;
-					}
-				}
-			}
-			wr.setAttr("acc", fjEntity);
+		if (filename != null && filename.getSize() > 0) {
+			AccessoryEntity acc = accessoryService.saveFile(filename, "jsjdbg");
+			wr.setAttr("acc", acc);
 		} else {
 			wr.setSuccess(false);
 			wr.setMessage("请上传附件或上传的文件不能为空文件!");
@@ -1157,97 +1334,40 @@ public class JsjdbgCtl extends BaseWebCtl {
 		return wr;
 	}
 
-	@RequestMapping(value = "/delFile")
+	@RequestMapping(value = "/savefj")
 	@ResponseBody
-	public WebJsonResult delFile(String accid, Model model) {
+	public WebJsonResult savefj(Model model, JsjdbgfjEntity fjzd) {
 		WebJsonResult wr = success();
 		try {
-			JsjdbgfjEntity entity = jsjdbgfjService.findOne(accid);
-			if (entity != null) {
-				AccessoryEntity acc = accessoryService.findOne(entity.getFjid());
-				if (acc != null) {
-					accessoryService.delete(acc);
-					if (entity != null) {
-						String path = acc.getFilepath() + acc.getFilename();
-						File file = new File(path);
-						if (file.isFile() && file.exists()) {
-							file.delete();
-						}
-					}
-				}
-				jsjdbgfjService.delete(entity);
-			}
+			// 新增
+			JsjdbgfjEntity entity = jsjdbgfjService.save(fjzd);
+			String fjid = entity.getId();
+			wr.setMessage(fjid);
+
 		} catch (Exception e) {
 			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
 		}
 		return wr;
 	}
 
-	@RequestMapping(value = "/choose")
-	public String choose(Model model, String id) {
-		XmxxglEntity entity = xmxxglService.findOne(id);
-		XmxxglVo vo = new XmxxglVo();
-		BeanUtils.copyProperties(entity, vo);
-		vo.setTzlxzw(entity.getTzlx() != null ? entity.getTzlx().getText() : "");
-		vo.setXmlxzw(entity.getXmlx() != null ? entity.getXmlx().getText() : "");
-		vo.setXmhzjbzw(entity.getXmhzjb() != null ? entity.getXmhzjb().getText() : "");
-		vo.setAxspjbzw(entity.getAxspjb() != null ? entity.getAxspjb().getText() : "");
-		vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
-		vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
-		vo.setZyhbwflzw(entity.getZyhbwfl() != null ? entity.getZyhbwfl().getText() : "");
-
-		vo.setSylxzw(entity.getSylx() != null ? entity.getSylx().getText() : "");
-		vo.setSylx(entity.getSylx() != null ? entity.getSylx().getId() : "");
-		// if (entity.getJyrid() != null) {
-		// vo.setSzddzw(entity.getJyrid().getSzd() != null ?
-		// entity.getJyrid().getSzd().getText() : "");
-		// }
-		vo.setSzddzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
-		if (entity.getBwyt() != null) {
-			String bwytzw = "";
-			String[] s = entity.getBwyt().split(",");
-			/*
-			 * for (String string : s) { bwytzw +=
-			 * securityMgr.codeService().findOne(string).getText() + " "; }
-			 */
-			for (int i = 0; i < s.length; i++) {
-				CodeEntity code = securityMgr.codeService().findOne(s[i]);
-				if (code != null) {
-					bwytzw += code.getText() + ",";
-				}
-			}
-			if (!StringUtils.isEmpty(bwytzw)) {
-				bwytzw = bwytzw.substring(0, bwytzw.length() - 1);
-			}
-			vo.setBwytzw(bwytzw);
-		}
+	@RequestMapping(value = "/delFile")
+	@ResponseBody
+	public WebJsonResult delFile(String id, Model model) {
+		AccessoryEntity acc = accessoryService.findOne(id);
+		accessoryService.delete(acc);
+		WebJsonResult wr = success();
 
-		if (StringUtils.isNotEmpty(entity.getXmbm())) {
-			String codeid = entity.getXmbm().substring(4, 10);
-			CodeEntity code = securityMgr.codeService().findOne(codeid);
-			model.addAttribute("xzqhname", code.getText());
-		}
+		return wr;
+	}
 
-		String bwids = "";
-		List<XmbwglbEntity> list = xmbwglbService.findByXmid(entity.getId());
-		if (list != null && list.size() > 0) {
-			model.addAttribute("bwgs", list.size());
-			for (XmbwglbEntity xmbw : list) {
-				bwids = bwids + xmbw.getBwid() + ",";
-			}
-			bwids = bwids.substring(0, bwids.length() - 1);
-		}
-		vo.setBwids(bwids);
-		vo.setTzlx(entity.getTzlx() != null ? entity.getTzlx().getId() : "");
-		vo.setXmlx(entity.getXmlx() != null ? entity.getXmlx().getId() : "");
-		vo.setXmhzjb(entity.getXmhzjb() != null ? entity.getXmhzjb().getId() : "");
-		vo.setAxspjb(entity.getAxspjb() != null ? entity.getAxspjb().getId() : "");
-		vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
-		vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
-		vo.setZyhbwfl(entity.getZyhbwfl() != null ? entity.getZyhbwfl().getId() : "");
-		model.addAttribute("record", vo);
-		model.addAttribute("jyr", entity.getJyrid());
-		return "gkjsgl/jsjdbg/jsjdbgadd";
+	@RequestMapping(value = "/delFjzd")
+	@ResponseBody
+	public WebJsonResult delFjzd(String id, Model model) {
+		jsjdbgfjService.logicDelete(id);
+		WebJsonResult wr = success();
+		return wr;
 	}
 
 }

+ 369 - 58
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/ctl/JsjdbgdsCtl.java

@@ -13,7 +13,6 @@ import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import javax.persistence.criteria.Subquery;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,7 +24,6 @@ import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -37,6 +35,8 @@ import com.xt.jygl.accessory.service.AccessoryService;
 import com.xt.jygl.common.BaseWebCtl;
 import com.xt.jygl.common.Constants;
 import com.xt.jygl.common.GlobalData;
+import com.xt.jygl.ftp.Ftp;
+import com.xt.jygl.ftp.FtpUtil;
 import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
 import com.xt.jygl.gkjcxx.gk.service.GkService;
 import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
@@ -45,6 +45,7 @@ import com.xt.jygl.gkjsgl.jsjdbg.entity.JsjdbgfjEntity;
 import com.xt.jygl.gkjsgl.jsjdbg.service.JsjdbgdsService;
 import com.xt.jygl.gkjsgl.jsjdbg.service.JsjdbgfjService;
 import com.xt.jygl.gkjsgl.jsjdbg.vo.JsjdbgVo;
+import com.xt.jygl.gkjsgl.jsjdbg.vo.JsjdbgfjVo;
 import com.xt.jygl.gkjsgl.tzjhgl.entity.TzjhglEntity;
 import com.xt.jygl.gkjsgl.tzjhgl.service.TzjhglService;
 import com.xt.jygl.gkjsgl.xmxxgl.entity.XmbwglbEntity;
@@ -292,7 +293,7 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 
 	@RequestMapping(value = "/submit")
 	@ResponseBody
-	public WebJsonResult submit(Model model, JsjdbgEntity code, String sylxid, String ssjyrid, String fjids, String accid, String xmlxid, String tzlxid, String xmhzjbid, String axspjbid, String szdid, String szgkid, String szgqid, String zyhbwflid) {
+	public WebJsonResult submit(Model model, JsjdbgEntity code, String accids, String qtfjids, String qtfjzdids, String fjzdids, String sylxid, String ssjyrid, String fjids, String accid, String xmlxid, String tzlxid, String xmhzjbid, String axspjbid, String szdid, String szgkid, String szgqid, String zyhbwflid) {
 		WebJsonResult wr = success();
 		if (StringUtils.isEmpty(code.getXmmc())) {
 			wr.setSuccess(false);
@@ -334,10 +335,11 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 			wr.setMessage("请输入建设地点");
 			return wr;
 		}
+		JsjdbgEntity jsjdbg = new JsjdbgEntity();
 		try {
 			if (!StringUtils.isEmpty(code.getId())) {
 				// 修改
-				JsjdbgEntity jsjdbg = jsjdbgdsService.findOne(code.getId());
+				jsjdbg = jsjdbgdsService.findOne(code.getId());
 				jsjdbg.setXmmc(code.getXmmc());
 				jsjdbg.setXmfr(code.getXmfr());
 				jsjdbg.setJsdd(code.getJsdd());
@@ -403,7 +405,7 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 					jsjdbg.setAxspjb(null);
 				}
 				jsjdbg.setSftb(Constants.NO);
-				jsjdbgdsService.submit(jsjdbg);
+				jsjdbg = jsjdbgdsService.submit(jsjdbg);
 			} else {
 				if (!StringUtils.isEmpty(ssjyrid)) {
 					GkjyrEntity jyr = new GkjyrEntity();
@@ -452,8 +454,14 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 					code.setAxspjb(axspjbdx);
 				}
 				code.setSftb(Constants.NO);
-				jsjdbgdsService.submit(code);
+				jsjdbg = jsjdbgdsService.submit(code);
 			}
+			// 关联附件
+			fjgt(accids, jsjdbg);
+			fjzdgt(fjzdids, jsjdbg);
+			// 其他附件
+			qtfjgt(qtfjids, jsjdbg);
+			qtfjzdgt(qtfjzdids, jsjdbg);
 			// rtx提醒
 			rtxSend("", Constants.ROLE_LD, "你有一条建设进度初步设计变更待办事务,请及时处理!");
 		} catch (Exception e) {
@@ -562,7 +570,7 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 
 	@RequestMapping(value = "/save")
 	@ResponseBody
-	public WebJsonResult save(Model model, JsjdbgEntity code, String sylxid, String ssjyrid, String fjids, String accid, String xmlxid, String tzlxid, String xmhzjbid, String axspjbid, String szdid, String szgkid, String szgqid, String zyhbwflid) {
+	public WebJsonResult save(Model model, JsjdbgEntity code, String accids, String qtfjids, String qtfjzdids, String fjzdids, String sylxid, String ssjyrid, String fjids, String accid, String xmlxid, String tzlxid, String xmhzjbid, String axspjbid, String szdid, String szgkid, String szgqid, String zyhbwflid) {
 		WebJsonResult wr = success();
 		if (StringUtils.isEmpty(code.getXmmc())) {
 			wr.setSuccess(false);
@@ -604,10 +612,11 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 			wr.setMessage("请输入建设地点");
 			return wr;
 		}
+		JsjdbgEntity jsjdbg = new JsjdbgEntity();
 		try {
 			if (!StringUtils.isEmpty(code.getId())) {
 				// 修改
-				JsjdbgEntity jsjdbg = jsjdbgdsService.findOne(code.getId());
+				jsjdbg = jsjdbgdsService.findOne(code.getId());
 				jsjdbg.setXmmc(code.getXmmc());
 				jsjdbg.setXmfr(code.getXmfr());
 				jsjdbg.setJsdd(code.getJsdd());
@@ -673,7 +682,7 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 					jsjdbg.setAxspjb(null);
 				}
 				jsjdbg.setSftb(Constants.NO);
-				jsjdbgdsService.save(jsjdbg);
+				jsjdbg = jsjdbgdsService.save(jsjdbg);
 			} else {
 				if (!StringUtils.isEmpty(ssjyrid)) {
 					GkjyrEntity jyr = new GkjyrEntity();
@@ -722,10 +731,15 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 					code.setAxspjb(axspjbdx);
 				}
 				code.setSftb(Constants.NO);
-				jsjdbgdsService.save(code);
+				jsjdbg = jsjdbgdsService.save(code);
 
 			}
-
+			// 关联附件
+			fjgt(accids, jsjdbg);
+			fjzdgt(fjzdids, jsjdbg);
+			// 其他附件
+			qtfjgt(qtfjids, jsjdbg);
+			qtfjzdgt(qtfjzdids, jsjdbg);
 		} catch (Exception e) {
 			wr.setSuccess(false);
 			wr.setMessage("操作失败!");
@@ -737,10 +751,6 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 	@RequestMapping(value = "/edit")
 	public String edit(Model model, String id, String flag) {
 		model.addAttribute("flag", flag);
-		// 附件
-		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "1");
-		model.addAttribute("fjList", accessoryList);
-
 		JsjdbgEntity entity = jsjdbgdsService.findOne(id);
 		JsjdbgVo vo = new JsjdbgVo();
 		BeanUtils.copyProperties(entity, vo);
@@ -774,6 +784,88 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 			bwids = bwids.substring(0, bwids.length() - 1);
 			getbwlist(model, bwids);
 		}
+		// 附件
+		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjdbg");
+		for (int i = 0; i < accessoryList.size(); i++) {
+			if (StringUtils.isNotEmpty(accessoryList.get(i).getRemark())) {
+				AccessoryEntity acc = accessoryList.get(i);
+				String s = accessoryList.get(i).getRemark().substring(0, 2);
+				String accid = accessoryList.get(i).getId();
+				JsjdbgfjVo fjnamevo = new JsjdbgfjVo();
+				fjnamevo.setXhbz(accessoryList.get(i).getRemark().substring(2, accessoryList.get(i).getRemark().length()));
+				fjnamevo.setFjid(accid);
+				fjnamevo.setFjmc(accessoryList.get(i).getName());
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+					try {
+						Ftp f = getftp();
+						// 本地目录
+						String localBaseDir = GlobalData.UPLOAD_FILE_PATH + acc.getFilepath();
+						File newfile = new File(localBaseDir);
+						// 如果文件夹不存在则创建
+						if (!newfile.exists() && !newfile.isDirectory()) {
+							newfile.mkdirs();
+						}
+						// 远程目录
+						String remoteBaseDir = acc.getFilepath();
+						// 下载ftp文件
+						boolean downflag = FtpUtil.startDown(f, localBaseDir, remoteBaseDir, acc.getFilename());
+						if (downflag) {
+							System.out.println("ok");
+							acc.setFjbz("1");
+							accessoryService.save(acc);
+						}
+
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+				}
+				model.addAttribute("fjList" + s, fjnamevo);
+				model.addAttribute("xiazaibz", s);
+			}
+		}
+		// 附件字段
+		List<JsjdbgfjEntity> fjlist = jsjdbgfjService.findBySsidandfjlx(id, "jsjdbg");
+		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
+
+		for (int i = 0; i < fjlist.size(); i++) {
+			// 从发布单位中获取标识位
+			if (StringUtils.isNotEmpty(fjlist.get(i).getFjbz())) {
+				String s = fjlist.get(i).getFjbz().substring(0, 2);
+				Date date = fjlist.get(i).getFbsj();
+
+				JsjdbgfjVo fjvo = new JsjdbgfjVo();
+				fjvo.setFjbz(fjlist.get(i).getFjbz().substring(2, fjlist.get(i).getFjbz().length()));
+				if (date != null) {
+					String date2 = dateFormater.format(date);
+					fjvo.setFbsj(date2);
+				}
+				fjvo.setFbdw(fjlist.get(i).getFbdw());
+				fjvo.setWjh(fjlist.get(i).getWjh());
+				fjvo.setId(fjlist.get(i).getId());
+				model.addAttribute("recordfj" + s, fjvo);
+			}
+		}
+
+		List<JsjdbgfjEntity> qtfjlist = jsjdbgfjService.findBySsidandfjlx(id, "jsjdbgqtfj");
+		List<JsjdbgfjVo> qtfjlists = new ArrayList<JsjdbgfjVo>();
+		if (qtfjlist != null && qtfjlist.size() > 0) {
+			for (JsjdbgfjEntity qtfj : qtfjlist) {
+				AccessoryEntity acc = accessoryService.findOne(qtfj.getFjid());
+				JsjdbgfjVo fjvo = new JsjdbgfjVo();
+				fjvo.setFbdw(qtfj.getFbdw());
+				String fbsj = "";
+				if (qtfj.getFbsj() != null) {
+					fbsj = dateFormater.format(qtfj.getFbsj());
+				}
+				fjvo.setFbsj(fbsj);
+				fjvo.setWjh(fjvo.getWjh());
+				fjvo.setFjid(qtfj.getFjid());
+				fjvo.setFjmc(acc.getName());
+				qtfjlists.add(fjvo);
+			}
+		}
+		model.addAttribute("qtfjlist", qtfjlists);
+
 		model.addAttribute("record", vo);
 		model.addAttribute("jyr", entity.getJyrid());
 		return "gkjsgl/jsjdbg/jsjdbgdsedit";
@@ -868,10 +960,88 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 		}
 		model.addAttribute("list", volist);
 
-		List<JsjdbgfjEntity> fjlist = jsjdbgfjService.findBySsid(id);
-		if (fjlist != null && fjlist.size() > 0) {
-			model.addAttribute("fjlist", fjlist);
+		// 附件
+		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjdbg");
+		for (int i = 0; i < accessoryList.size(); i++) {
+			if (StringUtils.isNotEmpty(accessoryList.get(i).getRemark())) {
+				AccessoryEntity acc = accessoryList.get(i);
+				String s = accessoryList.get(i).getRemark().substring(0, 2);
+				String accid = accessoryList.get(i).getId();
+				JsjdbgfjVo fjnamevo = new JsjdbgfjVo();
+				fjnamevo.setXhbz(accessoryList.get(i).getRemark().substring(2, accessoryList.get(i).getRemark().length()));
+				fjnamevo.setFjid(accid);
+				fjnamevo.setFjmc(accessoryList.get(i).getName());
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+					try {
+						Ftp f = getftp();
+						// 本地目录
+						String localBaseDir = GlobalData.UPLOAD_FILE_PATH + acc.getFilepath();
+						File newfile = new File(localBaseDir);
+						// 如果文件夹不存在则创建
+						if (!newfile.exists() && !newfile.isDirectory()) {
+							newfile.mkdirs();
+						}
+						// 远程目录
+						String remoteBaseDir = acc.getFilepath();
+						// 下载ftp文件
+						boolean downflag = FtpUtil.startDown(f, localBaseDir, remoteBaseDir, acc.getFilename());
+						if (downflag) {
+							System.out.println("ok");
+							acc.setFjbz("1");
+							accessoryService.save(acc);
+						}
+
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+				}
+				model.addAttribute("fjList" + s, fjnamevo);
+				model.addAttribute("xiazaibz", s);
+			}
+		}
+
+		// 附件字段
+		List<JsjdbgfjEntity> fjlist = jsjdbgfjService.findBySsidandfjlx(id, "jsjdbg");
+		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
+
+		for (int i = 0; i < fjlist.size(); i++) {
+			// 从发布单位中获取标识位
+			if (StringUtils.isNotEmpty(fjlist.get(i).getFjbz())) {
+				String s = fjlist.get(i).getFjbz().substring(0, 2);
+				Date date = fjlist.get(i).getFbsj();
+
+				JsjdbgfjVo fjvo = new JsjdbgfjVo();
+				fjvo.setFjbz(fjlist.get(i).getFjbz().substring(2, fjlist.get(i).getFjbz().length()));
+				if (date != null) {
+					String date2 = dateFormater.format(date);
+					fjvo.setFbsj(date2);
+				}
+				fjvo.setFbdw(fjlist.get(i).getFbdw());
+				fjvo.setWjh(fjlist.get(i).getWjh());
+				fjvo.setId(fjlist.get(i).getId());
+				model.addAttribute("recordfj" + s, fjvo);
+			}
+		}
+
+		List<JsjdbgfjEntity> qtfjlist = jsjdbgfjService.findBySsidandfjlx(id, "jsjdbgqtfj");
+		List<JsjdbgfjVo> qtfjlists = new ArrayList<JsjdbgfjVo>();
+		if (qtfjlist != null && qtfjlist.size() > 0) {
+			for (JsjdbgfjEntity qtfj : qtfjlist) {
+				AccessoryEntity acc = accessoryService.findOne(qtfj.getFjid());
+				JsjdbgfjVo fjvo = new JsjdbgfjVo();
+				fjvo.setFbdw(qtfj.getFbdw());
+				String fbsj = "";
+				if (qtfj.getFbsj() != null) {
+					fbsj = dateFormater.format(qtfj.getFbsj());
+				}
+				fjvo.setFbsj(fbsj);
+				fjvo.setWjh(fjvo.getWjh());
+				fjvo.setFjid(qtfj.getFjid());
+				fjvo.setFjmc(acc.getName());
+				qtfjlists.add(fjvo);
+			}
 		}
+		model.addAttribute("qtfjlist", qtfjlists);
 
 		if (StringUtils.isNotEmpty(entity.getXmbm())) {
 			String codeid = entity.getXmbm().substring(4, 10);
@@ -970,65 +1140,110 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 	// 保存附件
 	@RequestMapping(value = "/saveFile")
 	@ResponseBody
-	public WebJsonResult saveFile(@RequestParam("file") List<MultipartFile> file, String fjFlag, Model model, HttpServletRequest request, HttpServletResponse response) {
+	public WebJsonResult saveFile(MultipartFile filename, Model model) {
 		WebJsonResult wr = success();
-		if (file != null && file.size() > 0) {
-			JsjdbgfjEntity fjEntity = new JsjdbgfjEntity();
-			for (int i = 0; i < file.size(); i++) {
-				MultipartFile f = file.get(i);
-				if (f.getSize() > 0) {
-					AccessoryEntity acc = accessoryService.saveFile(f, "jsjdbg");
-					if (acc != null) {
-						fjEntity.setFjid(acc.getId());
-						fjEntity.setFjmc(acc.getName());
-						fjEntity.setType(fjFlag);
-						fjEntity = jsjdbgfjService.save(fjEntity);
-						break;
-					}
-				}
-			}
-			wr.setAttr("acc", fjEntity);
+		if (filename != null && filename.getSize() > 0) {
+			AccessoryEntity acc = accessoryService.saveFile(filename, "jsjdbg");
+			wr.setAttr("acc", acc);
 		} else {
 			wr.setSuccess(false);
-			wr.setMessage("请上传附件!");
+			wr.setMessage("请上传附件或上传的附件不能为空!");
 		}
 		return wr;
 	}
 
-	@RequestMapping(value = "/delFile")
+	@RequestMapping(value = "/savefj")
 	@ResponseBody
-	public WebJsonResult delFile(String accid, Model model) {
+	public WebJsonResult savefj(Model model, JsjdbgfjEntity fjzd) {
 		WebJsonResult wr = success();
 		try {
-			JsjdbgfjEntity entity = jsjdbgfjService.findOne(accid);
-			if (entity != null) {
-				AccessoryEntity acc = accessoryService.findOne(entity.getFjid());
-				if (acc != null) {
-					accessoryService.delete(acc);
-					if (entity != null) {
-						String path = acc.getFilepath() + acc.getFilename();
-						File file = new File(path);
-						if (file.isFile() && file.exists()) {
-							file.delete();
-						}
-					}
-				}
-				jsjdbgfjService.delete(entity);
-			}
+			// 新增
+			JsjdbgfjEntity entity = jsjdbgfjService.save(fjzd);
+			String fjid = entity.getId();
+			wr.setMessage(fjid);
 		} catch (Exception e) {
 			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/saveQtfj")
+	@ResponseBody
+	public WebJsonResult saveQtfj(String opflag, MultipartFile qtfilename, Model model) {
+		WebJsonResult wr = success();
+		if (qtfilename != null && qtfilename.getSize() > 0) {
+			AccessoryEntity acc = accessoryService.saveFile(qtfilename, "jsjdbg");
+			acc.setRemark(opflag);
+			accessoryService.save(acc);
+			wr.setAttr("acc", acc);
+		} else {
+			wr.setSuccess(false);
+			wr.setMessage("请上传附件或上传的文件不能为空文件!");
 		}
 		return wr;
 	}
 
+	// 其他附件列表显示
+	@RequestMapping(value = "/qtfjlb")
+	@ResponseBody
+	public JsjdbgfjVo qtfjlb(String id, String qtfjid, String opflag, Model model) {
+		AccessoryEntity acc = accessoryService.findOne(qtfjid);
+		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
+		JsjdbgfjVo jsjd = new JsjdbgfjVo();
+		JsjdbgfjEntity fjzd = jsjdbgfjService.findByFjid(qtfjid);
+		if (fjzd != null) {
+			jsjd.setFbdw(fjzd.getFbdw());
+			jsjd.setWjh(fjzd.getWjh());
+			if (!StringUtils.isEmpty(fjzd.getFbsj())) {
+				Date date = fjzd.getFbsj();
+				if (date != null) {
+					String date2 = dateFormater.format(date);
+					jsjd.setFbsj(date2);
+				}
+			} else {
+				jsjd.setFbsj("");
+			}
+
+			jsjd.setId(fjzd.getId());
+		}
+		jsjd.setFjmc(acc.getName());
+		jsjd.setFjid(acc.getId());
+		return jsjd;
+	}
+
+	@RequestMapping(value = "/delFile")
+	@ResponseBody
+	public WebJsonResult delFile(String id, Model model) {
+		AccessoryEntity acc = accessoryService.findOne(id);
+		accessoryService.delete(acc);
+
+		JsjdbgfjEntity fjzd = jsjdbgfjService.findByFjid(acc.getId());
+		if (fjzd != null) {
+			jsjdbgfjService.delete(fjzd);
+		}
+		WebJsonResult wr = success();
+
+		return wr;
+	}
+
+	@RequestMapping(value = "/delFjzd")
+	@ResponseBody
+	public WebJsonResult delFjzd(String id, Model model) {
+		jsjdbgfjService.logicDelete(id);
+		WebJsonResult wr = success();
+		return wr;
+	}
+
 	@RequestMapping(value = "/isExit")
 	@ResponseBody
 	public WebJsonResult isExit(String id, Model model) {
 		WebJsonResult wr = success();
 		try {
 			JsjdbgEntity entity = jsjdbgdsService.findByXmid(id);
-			if(entity !=null){
-				if("1".equals(entity.getRecordStatus()) || "3".equals(entity.getRecordStatus()) || "4".equals(entity.getRecordStatus())){
+			if (entity != null) {
+				if ("1".equals(entity.getRecordStatus()) || "3".equals(entity.getRecordStatus()) || "4".equals(entity.getRecordStatus())) {
 					wr.setSuccess(false);
 					wr.setMessage("该项目变更中,请重新选择!");
 				}
@@ -1176,7 +1391,7 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 			model.addAttribute("bwlist", slist);
 		}
 	}
-	
+
 	// 初始化项目信息选择页面
 	@RequestMapping(value = "/xmxxxz")
 	@ResponseBody
@@ -1249,9 +1464,9 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 		entity.setSftb(Constants.YES);
 		jsjdbgdsService.save(entity);
 
-		String url = "GK_OPERATION_JSJY_JSJDBG_ONE_CP?condition=ID=" + id + ";FJID=1";
+		String url = "GK_OPERATION_JSJY_JSJDBG_ONE_CP?condition=ID=" + id ;
 
-		boolean flag = getTbStatus(url,null);
+		boolean flag = getTbStatus(url, null);
 		if (flag) {
 			entity.setFlowstatus("0");
 			entity.setTbzt(Constants.YES);
@@ -1265,4 +1480,100 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 		}
 		return wr;
 	}
+
+	// 其他附件字段保存共通
+	public void qtfjgt(String qtfjids, JsjdbgEntity code) {
+		if (!StringUtils.isEmpty(qtfjids)) {
+			String[] qtfjidssz = qtfjids.split(",");
+			for (String fj : qtfjidssz) {
+				if (!StringUtils.isEmpty(fj)) {
+					AccessoryEntity acc = accessoryService.findOne(fj);
+					acc.setSsid(code.getId());
+					accessoryService.save(acc);
+				}
+			}
+		}
+	}
+
+	// 其他附件保存共通
+	public void qtfjzdgt(String qtfjzdids, JsjdbgEntity code) {
+		if (!StringUtils.isEmpty(qtfjzdids)) {
+			String[] qtfjzdidssz = qtfjzdids.split(",");
+			for (String fj : qtfjzdidssz) {
+				if (!StringUtils.isEmpty(fj)) {
+					JsjdbgfjEntity jsjdbgfj = jsjdbgfjService.findOne(fj);
+					jsjdbgfj.setSsid(code.getId());
+					jsjdbgfjService.save(jsjdbgfj);
+				}
+			}
+		}
+	}
+
+	@RequestMapping(value = "/xinzengqtfj")
+	@ResponseBody
+	public WebJsonResult xinzengqtfj(String opflag, String qtfjid, String id, Model model, String qtfbdw, Date qtfbsj, String qtwjh) {
+		WebJsonResult wr = success();
+		try {
+			// 新增
+			JsjdbgfjEntity entity = new JsjdbgfjEntity();
+			entity.setFbdw(qtfbdw);
+			entity.setFbsj(qtfbsj);
+			entity.setWjh(qtwjh);
+			entity.setFjid(qtfjid);
+			entity.setFjlx("jsjdbgqtfj");
+			if (StringUtils.isEmpty(opflag)) {
+				entity.setFjbz("1");
+			} else {
+				entity.setFjbz(opflag);
+			}
+			jsjdbgfjService.save(entity);
+			String fjid = entity.getId();
+			wr.setMessage(fjid);
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	// 附件字段保存共通
+	public void fjzdgt(String fjzdids, JsjdbgEntity code) {
+		if (fjzdids != null && fjzdids != "") {
+			String[] fjidssz = fjzdids.split(",");
+			for (String fj : fjidssz) {
+				if (!StringUtils.isEmpty(fj)) {
+					// 获取前两个字符(标识位)
+					String s = fj.substring(0, 2);
+					// 去掉前两个标识位查询
+					JsjdbgfjEntity jsjdfj = jsjdbgfjService.findOne(fj.substring(2, fj.length()));
+					jsjdfj.setSsid(code.getId());
+					// 把附件标识设置成标识位+附件标识
+					jsjdfj.setFjbz(s + jsjdfj.getFjbz());
+					jsjdfj.setFbdw(jsjdfj.getFbdw());
+					jsjdfj.setFjlx("jsjdbg");
+					jsjdbgfjService.save(jsjdfj);
+				}
+			}
+		}
+	}
+
+	// 附件保存共通
+	public void fjgt(String accids, JsjdbgEntity xmxxgl) {
+		if (null != accids && "" != accids) {
+			String[] ssids = accids.split(",");
+			for (String ssid : ssids) {
+				// 获取前两个字符(标识位)
+				if (!StringUtils.isEmpty(ssid)) {
+					String s = ssid.substring(0, 2);
+					// 去掉标志位查询
+					AccessoryEntity acc = accessoryService.findOne(ssid.substring(2, ssid.length()));
+					acc.setSsid(xmxxgl.getId());
+					// 把备注设置成标识位+备注
+					acc.setRemark(s + acc.getRemark());
+					accessoryService.save(acc);
+				}
+			}
+		}
+	}
 }

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/dao/JsjdbgDao.java

@@ -16,6 +16,6 @@ public interface JsjdbgDao extends SecRepository<JsjdbgEntity, String> {
 	public List<Object> findByJyrids(String jyrid );
 	
 	@Query(value = "SELECT m.id from GK_OPERATION_JSJY_JSJDBG m where  m.szgq in (?1) and m.record_Status<>9 and m.record_Status<>2 and m.record_Status<>1", nativeQuery = true)
-	public List<Object> findByGqids(String gqids);
+	public List<Object> findByGqids(List<String> gqids);
 	
 }

+ 6 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/dao/JsjdbgfjDao.java

@@ -11,4 +11,10 @@ public interface JsjdbgfjDao extends SecRepository<JsjdbgfjEntity, String> {
 
 	@Query("SELECT m  FROM JsjdbgfjEntity m WHERE  m.ssid =?1  and m.recordStatus <> 9 ")
 	public List<JsjdbgfjEntity> findBySsid(String ssid);
+	
+	@Query("SELECT m from JsjdbgfjEntity m  where m.ssid =?1 and m.fjlx=?2 and m.recordStatus<>9")
+	public List<JsjdbgfjEntity> findBySsidandfjlx(String ssid, String fjlx);
+
+	@Query("SELECT m  FROM JsjdbgfjEntity m WHERE  m.fjid =?1  and m.recordStatus <> 9 ")
+	public JsjdbgfjEntity findByFjid(String fjid);
 }

+ 54 - 36
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/entity/JsjdbgfjEntity.java

@@ -1,5 +1,7 @@
 package com.xt.jygl.gkjsgl.jsjdbg.entity;
 
+import java.util.Date;
+
 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
@@ -17,60 +19,76 @@ public class JsjdbgfjEntity extends BaseEntity<String> implements Cloneable {
 	 * 
 	 */
 	private static final long serialVersionUID = 1L;
-	private String id = null;
-	private String ssid = null;
-	private String fjid = null;
-	private String fjmc = null;
-	private String type = null;
-
+	private String id;/* 唯一标识 */
+	private String ssid;/* 项目id */
+	private String wjh;/* 文件号 */
+	private Date fbsj;/* 发布时间 */
+	private String fbdw;/* 发布单位 */
+	private String fjid;/* 附件id */
+	private String wjlb;/* 文件类别 */
+	private String fjbz;/* 附件标识 */
+	private String fjlx;/* 附件类型 */
 	
-
+	@Id
+	@GenericGenerator(name = "systemUUID", strategy = "uuid")
+	@GeneratedValue(generator = "systemUUID")
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
 	public String getSsid() {
 		return ssid;
 	}
-
 	public void setSsid(String ssid) {
 		this.ssid = ssid;
 	}
-
-	public String getType() {
-		return type;
+	public String getWjh() {
+		return wjh;
 	}
-
-	public void setType(String type) {
-		this.type = type;
+	public void setWjh(String wjh) {
+		this.wjh = wjh;
 	}
-
-	/**
-	 * ID主键
-	 * 
-	 * @return
-	 */
-	@Id
-	@GenericGenerator(name = "systemUUID", strategy = "uuid")
-	@GeneratedValue(generator = "systemUUID")
-	public String getId() {
-		return id;
+	public Date getFbsj() {
+		return fbsj;
 	}
-
-	public void setId(String id) {
-		this.id = id;
+	public void setFbsj(Date fbsj) {
+		this.fbsj = fbsj;
+	}
+	public String getFbdw() {
+		return fbdw;
+	}
+	public void setFbdw(String fbdw) {
+		this.fbdw = fbdw;
 	}
-
 	public String getFjid() {
 		return fjid;
 	}
-
 	public void setFjid(String fjid) {
 		this.fjid = fjid;
 	}
-
-	public String getFjmc() {
-		return fjmc;
+	public String getWjlb() {
+		return wjlb;
 	}
-
-	public void setFjmc(String fjmc) {
-		this.fjmc = fjmc;
+	public void setWjlb(String wjlb) {
+		this.wjlb = wjlb;
+	}
+	public String getFjbz() {
+		return fjbz;
+	}
+	public void setFjbz(String fjbz) {
+		this.fjbz = fjbz;
+	}
+	public String getFjlx() {
+		return fjlx;
 	}
+	public void setFjlx(String fjlx) {
+		this.fjlx = fjlx;
+	}
+
+	
+
+	
 
 }

+ 3 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/JsjdbgService.java

@@ -21,6 +21,8 @@ public interface JsjdbgService extends BaseWorkFlowService {
 	
 	List<Object> findByJyrids(String jyrid);
 
-	List<Object> findByGqids(String gqids);
+	List<Object> findByGqids(List<String> gqids);
+	
+	List<JsjdbgEntity> findAll();
 
 }

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/JsjdbgdsService.java

@@ -23,5 +23,5 @@ public interface JsjdbgdsService extends BaseWorkFlowService {
 	
 	List<Object> findByJyrids(String jyrid);
 
-	List<Object> findByGqids(String gqids);
+	List<Object> findByGqids(List<String> gqids);
 }

+ 4 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/JsjdbgfjService.java

@@ -14,4 +14,8 @@ public interface JsjdbgfjService {
 	JsjdbgfjEntity findOne(String id);
 
 	List<JsjdbgfjEntity> findBySsid(String ssid);
+
+	List<JsjdbgfjEntity> findBySsidandfjlx(String ssid, String fjlx);
+
+	JsjdbgfjEntity findByFjid(String fjid);
 }

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/impl/JsjdbgServiceImpl.java

@@ -120,7 +120,7 @@ public class JsjdbgServiceImpl extends BaseWorkFlowServiceImpl<JsjdbgEntity, Str
 	}
 
 	@Override
-	public List<Object> findByGqids(String gqids) {
+	public List<Object> findByGqids(List<String> gqids) {
 		// TODO Auto-generated method stub
 		return dao.findByGqids(gqids);
 	}

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/impl/JsjdbgdsServiceImpl.java

@@ -121,7 +121,7 @@ public class JsjdbgdsServiceImpl extends BaseWorkFlowServiceImpl<JsjdbgEntity, S
 	}
 
 	@Override
-	public List<Object> findByGqids(String gqids) {
+	public List<Object> findByGqids(List<String> gqids) {
 		// TODO Auto-generated method stub
 		return dao.findByGqids(gqids);
 	}

+ 12 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/impl/JsjdbgfjServiceImpl.java

@@ -28,6 +28,18 @@ public class JsjdbgfjServiceImpl extends JyglBaseService<JsjdbgfjEntity, String>
 		return dao.findBySsid(ssid);
 	}
 
+
+	@Override
+	public List<JsjdbgfjEntity> findBySsidandfjlx(String ssid, String fjlx) {
+		return dao.findBySsidandfjlx(ssid, fjlx);
+	}
+
+
+	@Override
+	public JsjdbgfjEntity findByFjid(String fjid) {
+		return dao.findByFjid(fjid);
+	}
+
 	
 
 }

+ 97 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/vo/JsjdbgfjVo.java

@@ -0,0 +1,97 @@
+package com.xt.jygl.gkjsgl.jsjdbg.vo;
+
+
+import com.xtframe.sec.common.BaseVo;
+
+public class JsjdbgfjVo extends BaseVo {
+	private String id;/* 唯一标识 */
+	private String ssid;/* 项目id */
+	private String wjh;/* 唯一标识 */
+	private String fbsj;/* 唯一标识 */
+	private String fbdw;/* 唯一标识 */
+	private String fjid;/* 唯一标识 */
+	private String wjlb;/* 唯一标识 */
+	private String fjmc;
+	private String xhbz;
+	private String fjbz;
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getSsid() {
+		return ssid;
+	}
+
+	public void setSsid(String ssid) {
+		this.ssid = ssid;
+	}
+
+	public String getWjh() {
+		return wjh;
+	}
+
+	public void setWjh(String wjh) {
+		this.wjh = wjh;
+	}
+
+	public String getFbsj() {
+		return fbsj;
+	}
+
+	public void setFbsj(String fbsj) {
+		this.fbsj = fbsj;
+	}
+
+	public String getFbdw() {
+		return fbdw;
+	}
+
+	public void setFbdw(String fbdw) {
+		this.fbdw = fbdw;
+	}
+
+	public String getFjid() {
+		return fjid;
+	}
+
+	public void setFjid(String fjid) {
+		this.fjid = fjid;
+	}
+
+	public String getWjlb() {
+		return wjlb;
+	}
+
+	public String getFjmc() {
+		return fjmc;
+	}
+
+	public void setFjmc(String fjmc) {
+		this.fjmc = fjmc;
+	}
+
+	public String getXhbz() {
+		return xhbz;
+	}
+
+	public void setXhbz(String xhbz) {
+		this.xhbz = xhbz;
+	}
+
+	public String getFjbz() {
+		return fjbz;
+	}
+
+	public void setFjbz(String fjbz) {
+		this.fjbz = fjbz;
+	}
+
+	public void setWjlb(String wjlb) {
+		this.wjlb = wjlb;
+	}
+}

+ 3 - 3
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/ctl/JsjdcbsjCtl.java

@@ -1246,12 +1246,12 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 
 	@RequestMapping(value = "/audit")
 	@ResponseBody
-	public WebJsonResult audit(String shyj, String id, boolean flag, String accid, String userids, String delid34, String delid35, String delid36, String delid37, String delid38, String fjzdids) {
+	public WebJsonResult audit(String shyj, String id, boolean flag, String accids, String userids, String delid34, String delid35, String delid36, String delid37, String delid38, String fjzdids) {
 		WebJsonResult wr = success();
 		JsjdcbsjEntity entity = jsjdcbsjService.findOne(id);
-		if (!StringUtils.isEmpty(accid)) {
+		if (!StringUtils.isEmpty(accids)) {
 			// 关联附件
-			fjgt(accid, entity);
+			fjgt(accids, entity);
 			fjzdgt(fjzdids, entity);
 		}
 		try {

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/dao/JsjdcbsjDao.java

@@ -15,5 +15,5 @@ public interface JsjdcbsjDao extends SecRepository<JsjdcbsjEntity, String> {
 	public List<Object> findByJyrids(String jyrid );
 	
 	@Query(value = "SELECT m.id from GK_OPERATION_JSJY_JSJDCBSJ m where  m.szgq in (?1) and m.record_Status<>9 and m.record_Status<>2 and m.record_Status<>1", nativeQuery = true)
-	public List<Object> findByGqids(String gqids);
+	public List<Object> findByGqids(List<String> gqids);
 }

+ 8 - 5
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/JsjdcbsjService.java

@@ -12,19 +12,22 @@ public interface JsjdcbsjService extends BaseWorkFlowService {
 
 	public <S extends JsjdcbsjEntity> S save(S entity);
 
-	public <S extends JsjdcbsjEntity> S submit(S gg,String userids);
+	public <S extends JsjdcbsjEntity> S submit(S gg, String userids);
 
 	JsjdcbsjEntity findOne(String id);
 
 	void delete(String id);
 
-	public boolean changeAudit(String shyj, JsjdcbsjEntity xmxx, boolean flag,String userids);
+	public boolean changeAudit(String shyj, JsjdcbsjEntity xmxx, boolean flag, String userids);
 
 	public JsjdcbsjWebService getWebService(String szdId);
-	
+
 	public List<JsjdcbsjEntity> findByTbzt();
-	
+
+	public List<JsjdcbsjEntity> findAll();
+
 	List<Object> findByJyrids(String jyrid);
 
-	List<Object> findByGqids(String gqids);
+	List<Object> findByGqids(List<String> gqids);
+
 }

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/JsjdcbsjdsService.java

@@ -26,5 +26,5 @@ public interface JsjdcbsjdsService extends BaseWorkFlowService {
 
 	List<Object> findByJyrids(String jyrid);
 
-	List<Object> findByGqids(String gqids);
+	List<Object> findByGqids(List<String> gqids);
 }

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/impl/JsjdcbsjServiceImpl.java

@@ -148,7 +148,7 @@ public class JsjdcbsjServiceImpl extends BaseWorkFlowServiceImpl<JsjdcbsjEntity,
 	}
 
 	@Override
-	public List<Object> findByGqids(String gqids) {
+	public List<Object> findByGqids(List<String> gqids) {
 		// TODO Auto-generated method stub
 		return dao.findByGqids(gqids);
 	}

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/impl/JsjdcbsjdsServiceImpl.java

@@ -141,7 +141,7 @@ public class JsjdcbsjdsServiceImpl extends BaseWorkFlowServiceImpl<JsjdcbsjEntit
 	}
 
 	@Override
-	public List<Object> findByGqids(String gqids) {
+	public List<Object> findByGqids(List<String> gqids) {
 		// TODO Auto-generated method stub
 		return dao.findByGqids(gqids);
 	}