2 Commits b763f02a1a ... e61a4484fc

Autor SHA1 Mensagem Data
  赵芳群 e61a4484fc 合同登记 2 anos atrás
  赵芳群 79bb6a36c1 合同登记 2 anos atrás
19 arquivos alterados com 740 adições e 248 exclusões
  1. 3 1
      src/main/java/com/jeeplus/modules/workclientinfo/dao/WorkClientInfoDao.java
  2. 7 0
      src/main/java/com/jeeplus/modules/workclientinfo/dao/WorkClientLinkmanDao.java
  3. 10 0
      src/main/java/com/jeeplus/modules/workclientinfo/entity/WorkClientLinkman.java
  4. 4 1
      src/main/java/com/jeeplus/modules/workclientinfo/service/WorkClientInfoService.java
  5. 14 0
      src/main/java/com/jeeplus/modules/workcontractinfo/dao/WorkContractInfoDao.java
  6. 31 1
      src/main/java/com/jeeplus/modules/workcontractinfo/entity/WorkContractInfo.java
  7. 222 183
      src/main/java/com/jeeplus/modules/workcontractinfo/service/WorkContractInfoService.java
  8. 6 5
      src/main/java/com/jeeplus/modules/workcontractinfo/web/WorkContractInfoAlterController.java
  9. 1 0
      src/main/java/com/jeeplus/modules/workcontractinfo/web/WorkContractInfoController.java
  10. 7 5
      src/main/java/com/jeeplus/modules/workcontractinfo/web/WorkContractInfoInvalidateController.java
  11. 1 0
      src/main/java/com/jeeplus/modules/workcontractinfo/web/WorkContractReportController.java
  12. 45 1
      src/main/resources/mappings/modules/workclientinfo/WorkClientLinkmanDao.xml
  13. 130 12
      src/main/resources/mappings/modules/workcontractinfo/WorkContractInfoDao.xml
  14. 3 1
      src/main/resources/mappings/modules/workcontractinfo/WorkContractListInfoDao.xml
  15. 19 18
      src/main/webapp/webpage/modules/workcontractinfo/newWorkContract/workContractInfoFormAdd.jsp
  16. 135 1
      src/main/webapp/webpage/modules/workcontractinfo/workContractInfoAdminForm.jsp
  17. 13 9
      src/main/webapp/webpage/modules/workcontractinfo/workContractInfoAllList.jsp
  18. 8 4
      src/main/webapp/webpage/modules/workcontractinfo/workContractInfoList.jsp
  19. 81 6
      src/main/webapp/webpage/modules/workcontractinfo/workContractInfoLookForm.jsp

+ 3 - 1
src/main/java/com/jeeplus/modules/workclientinfo/dao/WorkClientInfoDao.java

@@ -29,7 +29,7 @@ public interface WorkClientInfoDao extends CrudDao<WorkClientInfo> {
 
     int countByUscCode(String uscCode);
     Integer queryCount(WorkClientInfo workClientInfo);
-
+    //查询客户
     List<WorkClientInfo> findAll(WorkClientInfo workClientInfo);
     int queryAllCount(WorkClientInfo workClientInfo);
 
@@ -60,4 +60,6 @@ public interface WorkClientInfoDao extends CrudDao<WorkClientInfo> {
      * @return
      */
     WorkClientInfo getByName(String name);
+
+
 }

+ 7 - 0
src/main/java/com/jeeplus/modules/workclientinfo/dao/WorkClientLinkmanDao.java

@@ -38,6 +38,12 @@ public interface WorkClientLinkmanDao extends CrudDao<WorkClientLinkman> {
 
     List<WorkClientLinkman> queryLinkManByClientId(String id);
 
+    /***
+     * 添加联系人
+     * @param workClientLinkman
+     * @return
+     */
+    int insertLinkman(WorkClientLinkman workClientLinkman);
     /**
      * 无合同状态下,添加委托方联系人,查询该公司下所有客户
      * @param workClientLinkman
@@ -54,4 +60,5 @@ public interface WorkClientLinkmanDao extends CrudDao<WorkClientLinkman> {
     void jobTypeDelete(String workClientId);
     //根据客户信息表id查出来对应的联系人信息
     List<WorkClientLinkman> getLinkMan(WorkClientLinkman workClientLinkman);
+
 }

+ 10 - 0
src/main/java/com/jeeplus/modules/workclientinfo/entity/WorkClientLinkman.java

@@ -30,6 +30,16 @@ public class WorkClientLinkman extends DataEntity<WorkClientLinkman> {
 	private List<String> clientIds;
 	private String uscCode;
 	private String createName;   //创建人
+	private  String contractNum;
+
+
+	public String getContractNum() {
+		return contractNum;
+	}
+
+	public void setContractNum(String contractNum) {
+		this.contractNum = contractNum;
+	}
 	public WorkClientLinkman() {
 		super();
 	}

+ 4 - 1
src/main/java/com/jeeplus/modules/workclientinfo/service/WorkClientInfoService.java

@@ -191,6 +191,7 @@ public class WorkClientInfoService extends CrudService<WorkClientInfoDao, WorkCl
         return workattachmentService.getAttachmentList(workClientAttachment);
     }
 
+
     /**
      * 获取一个客户信息
      * @param page 分页对象
@@ -389,7 +390,7 @@ public class WorkClientInfoService extends CrudService<WorkClientInfoDao, WorkCl
      * @param workClientInfo
      */
 	@Transactional(readOnly = false)
-	public void save(WorkClientInfo workClientInfo) {
+	public void save(WorkClientInfo workClientInfo,WorkContractInfo workContractInfo) {
 	    //判定是否为修改类型
 	    boolean flag = false;
 	    if(StringUtils.isNotBlank(workClientInfo.getId())){
@@ -437,6 +438,8 @@ public class WorkClientInfoService extends CrudService<WorkClientInfoDao, WorkCl
                 workClientLinkman.setClientId(workClientInfo);
 				if (StringUtils.isBlank(workClientLinkman.getId())){
 					workClientLinkman.preInsert();
+//					WorkClientLinkman wl = new WorkClientLinkman();
+//					wl.setContractId(workClientInfo.getId());
 					workClientLinkmanDao.insert(workClientLinkman);
 				}else{
 					workClientLinkman.preUpdate();

+ 14 - 0
src/main/java/com/jeeplus/modules/workcontractinfo/dao/WorkContractInfoDao.java

@@ -107,6 +107,20 @@ public interface WorkContractInfoDao extends CrudDao<WorkContractInfo> {
      * @return
      */
     WorkContractInfo getByContractNum(String contractNum);
+    /**
+     * 查找联系人
+     * @param contractNum
+     * @return
+     */
+    List<WorkClientLinkman> getList(String contractNum);
+    /**
+     * 修改联系人信息
+     * @param workClientLinkman
+     * @return
+     */
+    int updateLinkman(WorkClientLinkman workClientLinkman);
+
+
 
     //公司级 查询合同信息
     List<WorkContractInfo> findContractStatementPage(@Param("workContractInfo")WorkContractInfo workContractInfo,@Param("officeIdd") String officeIdd, @Param("beginDate")String beginDate, @Param("endDate")String endDate,@Param("contractRecordState")String contractRecordState);

+ 31 - 1
src/main/java/com/jeeplus/modules/workcontractinfo/entity/WorkContractInfo.java

@@ -9,11 +9,13 @@ import com.google.common.collect.Lists;
 import com.jeeplus.common.persistence.ActEntity;
 import com.jeeplus.common.utils.excel.annotation.ExcelField;
 import com.jeeplus.modules.alterinfo.entity.AlterInfo;
+import com.jeeplus.modules.sys.entity.Area;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.workbidproject.entity.WorkBidProject;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientInfo;
+import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
 import com.jeeplus.modules.workfullmanage.entity.WorkFullRecord;
 import com.jeeplus.modules.workinvoicedetail.entity.WorkInvoiceDetail;
 import org.activiti.engine.history.HistoricProcessInstance;
@@ -61,7 +63,11 @@ public class WorkContractInfo extends ActEntity<WorkContractInfo> {
 	private String clientName;		// 主委托方名称
 	private String telephone;
 	private String uscCode;
+	private Area area;		// 地区Id
+	private int hasUscc; //是否拥有统一社会信用代码
 	private WorkClientInfo workClientInfo; //客户管理
+	private WorkClientLinkman workClientLinkman;        //联系人信息
+	private List<WorkClientLinkman> workClientLinkmanList = Lists.newArrayList();		// 子表列表
 	private List<WorkClientInfo> workClientInfoList = Lists.newArrayList(); //委托方列表
 	private Date contractDate;			// 签订日期
 	private Date effectiveDate;			// 合同生效日期
@@ -166,6 +172,22 @@ public class WorkContractInfo extends ActEntity<WorkContractInfo> {
 	private String contractRecordState;   //归档状态
 	private String overDueStatus;   //归档状态
 
+	public List<WorkClientLinkman> getWorkClientLinkmanList() {
+		return workClientLinkmanList;
+	}
+
+	public void setWorkClientLinkmanList(List<WorkClientLinkman> workClientLinkmanList) {
+		this.workClientLinkmanList = workClientLinkmanList;
+	}
+
+	public WorkClientLinkman getWorkClientLinkman() {
+		return workClientLinkman;
+	}
+
+	public void setWorkClientLinkman(WorkClientLinkman workClientLinkman) {
+		this.workClientLinkman = workClientLinkman;
+	}
+
 	public String getTelephone() {
 		return telephone;
 	}
@@ -213,7 +235,13 @@ public class WorkContractInfo extends ActEntity<WorkContractInfo> {
 	public void setBeginInvestmentAmount(String beginInvestmentAmount) {
 		this.beginInvestmentAmount = beginInvestmentAmount;
 	}
+	public int getHasUscc() {
+		return hasUscc;
+	}
 
+	public void setHasUscc(int hasUscc) {
+		this.hasUscc = hasUscc;
+	}
 	public String getEndInvestmentAmount() {
 		return endInvestmentAmount;
 	}
@@ -427,7 +455,9 @@ public class WorkContractInfo extends ActEntity<WorkContractInfo> {
 	public WorkClientInfo getClient() {
 		return client;
 	}
-
+	public WorkClientLinkman getLinkman(){
+		return workClientLinkman;
+	}
 	public void setClient(WorkClientInfo client) {
 		this.client = client;
 	}

+ 222 - 183
src/main/java/com/jeeplus/modules/workcontractinfo/service/WorkContractInfoService.java

@@ -43,8 +43,10 @@ import com.jeeplus.modules.workbidproject.dao.WorkBidProjectDao;
 import com.jeeplus.modules.workbidproject.entity.WorkBidProject;
 import com.jeeplus.modules.workclientinfo.dao.WorkClientAttachmentDao;
 import com.jeeplus.modules.workclientinfo.dao.WorkClientInfoDao;
+import com.jeeplus.modules.workclientinfo.dao.WorkClientLinkmanDao;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientInfo;
+import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
 import com.jeeplus.modules.workclientinfo.service.WorkClientInfoService;
 import com.jeeplus.modules.workcontractinfo.dao.*;
 import com.jeeplus.modules.workcontractinfo.entity.*;
@@ -149,9 +151,21 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
 	private WorkContractBorrowDao workContractBorrowDao;
 	@Autowired
 	private StatementCompanyComprehensiveService statementCompanyComprehensiveService;
+	@Autowired
+	private WorkClientLinkmanDao workClientLinkmanDao;
 
 	private static byte[] SYN_BYTE = new byte[0];
 
+	/**
+	 * 通过contractNum查询联系人
+	 * @param contractNum
+	 * @return
+	 */
+	public  List<WorkClientLinkman> getClientList(String contractNum){
+		return workContractInfoDao.getList(contractNum);
+
+
+	}
 	public WorkContractInfo get(String id) {
 		WorkContractInfo workContractInfo = super.get(id);
 		/*合同投标项目,则查投标。不是投标项目,不去查*/
@@ -622,7 +636,7 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
 		}
 	}
 	@Transactional(readOnly = false)
-	public synchronized String save(WorkContractInfo workContractInfo,Map<String, Object> variables, String contextPath,String urls) {
+	public synchronized String save(WorkClientLinkman workClientLinkman,WorkContractInfo workContractInfo,Map<String, Object> variables, String contextPath,String urls) {
 		long begin = System.currentTimeMillis();
 		String processInstanceId = workContractInfo.getProcessInstanceId();
 		String contractTypeCode = workContractInfo.getContractTypeDoc();
@@ -635,192 +649,207 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
 				  contractTypeId = mainDictDetail.getValue();
 			}
 		}
-		if (StringUtils.isBlank(workContractInfo.getContractNum())) {
-			//根据合同类型生成合同编号
-			String type = null;
-			if("100".equals(contractTypeId)){
-				type = WorkContractInfo.SERIAL_CONSULT;
-			}else if("101".equals(contractTypeId)){
-				type = WorkContractInfo.SERIAL_CHECK;
-			}else if("102".equals(contractTypeId)){
-				type = WorkContractInfo.SERIAL_AGENCY;
-			}else if("103".equals(contractTypeId)){
-				type = WorkContractInfo.SERIAL_AUDIT;
-			}else {
-				type = WorkContractInfo.SERIAL_ELST;
-			}
-			synchronized (SYN_BYTE){
-				workContractInfo.setContractNum(serialNumTplService.genSerialNum(UserUtils.get(workContractInfo.getCreateBy().getId()).getCompany(), type).replace("TYPE",contractType));
-			}
+//		WorkClientLinkman temp = workContractInfo.getWorkClientLinkman();
+//		temp.preInsert();
+//		temp.setContractNum(workContractInfo.getContractNum());
+//		System.out.println("------------------------------->" + workClientLinkmanDao.insertLinkman(temp));
+		workContractInfo.preInsert();
+		System.out.println("------------------------------>" + workContractInfoDao.insert(workContractInfo));
+		//获取联系人信息并添加
+		List<WorkClientLinkman> linkmanList = workContractInfo.getWorkClientLinkmanList();
+		for (WorkClientLinkman clientLinkman : linkmanList) {
+			clientLinkman.setContractNum(workContractInfo.getContractNum());
+			clientLinkman.preInsert();
+			workClientLinkmanDao.insertLinkman(clientLinkman);
 
-
-			/*//生成合同编号
-			workContractInfo.setContractNum(serialNumTplService.genSerialNumNotNum(UserUtils.get(workContractInfo.getCreateBy().getId()).getCompany(), WorkContractInfo.SERIAL_CONSULT).replace("TYPE",contractType));
-			//根据当前合同编号查询对应最后一条合同编号
-			String contractLastNumStr = dao.getContractLastNum(workContractInfo.getContractNum());
-			if(StringUtils.isNotBlank(contractLastNumStr)) {
-				//获取最新的后缀编号
-				Integer num = Integer.parseInt(contractLastNumStr.substring(workContractInfo.getContractNum().length(), contractLastNumStr.length())) + 1;
-				//更新合同编号
-				workContractInfo.setContractNum(workContractInfo.getContractNum() + String.format("%04d", num));
-			}else {
-				//更新合同编号
-				workContractInfo.setContractNum(workContractInfo.getContractNum() + String.format("%04d", 1));
-			}*/
-			long end2 = System.currentTimeMillis();
-			logger.info("合同送审-项目编码设置任务结束,共耗时:[" + (end2-begin) / 1000 + "]秒");
 		}
-		long begin2 = System.currentTimeMillis();
-		if (StringUtils.isBlank(workContractInfo.getContractNumPath())) {
-			String num=workContractInfo.getContractNum();
-			long time = System.currentTimeMillis();
-			String picNamePhoto = time + ".png";
-			ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream();
-			WordToPic.TextToAliyunPic(num, 500, 80, 25,new Color(0,188,212), byteArrayOutputStream);
-
-			byte[] buf = byteArrayOutputStream.toByteArray();
-			ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(buf);
-			OSSClientUtil ossUtil = new OSSClientUtil();
-			ossUtil.uploadFile2OSS(byteArrayInputStream, Global.getContractNumPath(), picNamePhoto);
-			workContractInfo.setContractNumPath(Global.getAliyunUrl()+"/"+Global.getContractNumPath()+picNamePhoto);
-		}
-		workContractInfo.setContractState("2");
+//		if (StringUtils.isBlank(workContractInfo.getContractNum())) {
+//			//根据合同类型生成合同编号
+//			String type = null;
+//			if("100".equals(contractTypeId)){
+//				type = WorkContractInfo.SERIAL_CONSULT;
+//			}else if("101".equals(contractTypeId)){
+//				type = WorkContractInfo.SERIAL_CHECK;
+//			}else if("102".equals(contractTypeId)){
+//				type = WorkContractInfo.SERIAL_AGENCY;
+//			}else if("103".equals(contractTypeId)){
+//				type = WorkContractInfo.SERIAL_AUDIT;
+//			}else {
+//				type = WorkContractInfo.SERIAL_ELST;
+//			}
+//			synchronized (SYN_BYTE){
+//				workContractInfo.setContractNum(serialNumTplService.genSerialNum(UserUtils.get(workContractInfo.getCreateBy().getId()).getCompany(), type).replace("TYPE",contractType));
+//			}
+//
+//
+//			/*//生成合同编号
+//			workContractInfo.setContractNum(serialNumTplService.genSerialNumNotNum(UserUtils.get(workContractInfo.getCreateBy().getId()).getCompany(), WorkContractInfo.SERIAL_CONSULT).replace("TYPE",contractType));
+//			//根据当前合同编号查询对应最后一条合同编号
+//			String contractLastNumStr = dao.getContractLastNum(workContractInfo.getContractNum());
+//			if(StringUtils.isNotBlank(contractLastNumStr)) {
+//				//获取最新的后缀编号
+//				Integer num = Integer.parseInt(contractLastNumStr.substring(workContractInfo.getContractNum().length(), contractLastNumStr.length())) + 1;
+//				//更新合同编号
+//				workContractInfo.setContractNum(workContractInfo.getContractNum() + String.format("%04d", num));
+//			}else {
+//				//更新合同编号
+//				workContractInfo.setContractNum(workContractInfo.getContractNum() + String.format("%04d", 1));
+//			}*/
+//			long end2 = System.currentTimeMillis();
+//			logger.info("合同送审-项目编码设置任务结束,共耗时:[" + (end2-begin) / 1000 + "]秒");
+//		}
+//		long begin2 = System.currentTimeMillis();
+//		if (StringUtils.isBlank(workContractInfo.getContractNumPath())) {
+//			String num=workContractInfo.getContractNum();
+//			long time = System.currentTimeMillis();
+//			String picNamePhoto = time + ".png";
+//			ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream();
+//			WordToPic.TextToAliyunPic(num, 500, 80, 25,new Color(0,188,212), byteArrayOutputStream);
+//
+//			byte[] buf = byteArrayOutputStream.toByteArray();
+//			ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(buf);
+//			OSSClientUtil ossUtil = new OSSClientUtil();
+//			ossUtil.uploadFile2OSS(byteArrayInputStream, Global.getContractNumPath(), picNamePhoto);
+//			workContractInfo.setContractNumPath(Global.getAliyunUrl()+"/"+Global.getContractNumPath()+picNamePhoto);
+//		}
+		workContractInfo.setContractState("5");
 		this.save(workContractInfo);
-		Office office = UserUtils.getUser().getOffice();
-		String title = "合同【"+workContractInfo.getName() +"】登记待审批";
-		String str = "合同【"+workContractInfo.getName() +"】登记待审批,合同编号:"+workContractInfo.getContractNum();
-		identityService.setAuthenticatedUserId(workContractInfo.getCreateBy().getId());
-		String businessKey = workContractInfo.getId().toString();
-		WorkActivityMenu workActivityMenu = workActivityMenuService.findByParentAndOffice("zth3125f1f194c82bdea93555c750905", office);
-		// 启动流程
-		String processType = workActivityMenu.getProcessType();
-		StringBuffer buffer = new StringBuffer();
-		Activity activity = new Activity();
-		WorkProjectNotify workProjectNotify = UtilNotify
-				.saveNotify(workContractInfo.getId(),
-						null,
-						workContractInfo.getCompanyId(),
-						title,
-						str,
-						"16",
-						"0",
-						"待审批",
-						""
-				);
-		List<User> users = new ArrayList<>();
-		String officeId = UserUtils.getSelectOffice().getId();
-		List<User>  bmzrs = UserUtils.getByRoleActivityEnname("bmzr",2,office.getId(),"2",workContractInfo.getCreateBy());
-//		List<User>  scyfglbzrs = UserUtils.getByRoleActivityEnname("scyfglbzr",1,office.getId(),"2",workContractInfo.getCreateBy());
-//		List<User>  fglds = UserUtils.getByRoleActivityEnname("scfgld",3,office.getId(),"2",workContractInfo.getCreateBy());
-		long end3 = System.currentTimeMillis();
-		logger.info("合同送审-查找人员审核任务结束,共耗时:[" + (end3-begin2) / 1000 + "]秒");
-		long begin3 = System.currentTimeMillis();
-		if (StringUtils.isNotBlank(workActivityMenu.getId())) {
-			workProjectNotify.setNotifyRole("");
-			workActivityMenu = workActivityMenuService.get(workActivityMenu.getId());
-			List<Activity> activities = workActivityMenu.getActivities();
-			for (Activity a : activities) {
-				String encount = a.getEncount();
-				String enlist = a.getEnlist();
-				if (a.getRole() != null && StringUtils.isNotBlank(a.getRole().getEnname())) {
-					List enusers = UserUtils.getByRoleActivityEnnames(a.getRole().getEnname(), office.getId(), "2", workContractInfo.getCreateBy());
-					if (enusers.size() == 0) {
-						workContractInfo.setContractState("1");
-						this.save(workContractInfo);
-						return "流程审批人不能为空,角色部门负责人下无用户,请联系管理员!";
-					}
-					variables.put(enlist, enusers);
-					variables.put(encount, enusers.size());
-				}
-				if (a.getDelFlag().equals("0") && a.getCount() == 1) {
-					activity = a;
-				}
-			}
-			buffer.append(activity.getRole().getEnname());
-			if (activity != null && StringUtils.isNotBlank(activity.getId())) {
-				//角色审批
-				if (StringUtils.isNotBlank(activity.getRole().getEnname())) {
-					users = UserUtils.getByRoleActivityEnnames(activity.getRole().getEnname(), office.getId(), "2", workContractInfo.getCreateBy());
-				}
-				//人员审批
-				if (StringUtils.isNotBlank(activity.getUser().getId())) {
-					users.add(activity.getUser());
-				}
-			}
-			workProjectNotify.setId("");
-		} else {
-			processType = "contractCheck";
-			if(bmzrs==null||bmzrs.size()==0){
-				workContractInfo.setContractState("1");
-				this.save(workContractInfo);
-				return "流程审批人不能为空,角色部门负责人下无用户,请联系管理员!";
-			}
-			variables.put("bmzrList", bmzrs);
-			variables.put("bmzrCount",bmzrs.size());
-			users.addAll(bmzrs);
-		}
-
-		for (User u : users) {
-			workProjectNotify.setUser(u);
-			workProjectNotify.setId("");
-			workProjectNotify.setNotifyRole("部门主任审批");
-			workProjectNotifyService
-					.save(workProjectNotify);
-			Map<String,Object> extras = new HashMap<>();
-			extras.put("type","7002");
-			extras.put("id",workProjectNotify.getId());
-			extras.put("procDefKey","16");
-			UserUtils.pushInfoToApp(title,str,extras,u.getId());
-			UserUtils.pushIm(u.getId(),str);
-		}
-		variables.put("type", processType);
-		variables.put("busId", businessKey);
-//		variables.put("count",users.size());
-//		variables.put("assigneeList",users);
-		variables.put("title", "合同名称:" + workContractInfo.getName());//设置标题;
-		long s1 = System.currentTimeMillis();
-		ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processType, businessKey, variables);
-		long s2 = System.currentTimeMillis();
-		workContractInfo.setProcessInstance(processInstance);
-		if (StringUtils.isNotBlank(processInstanceId)) {
-			workActivityProcessService.updateProcessInstanceId(processInstance.getId(),processInstanceId);
-			workActivityProcessService.deleteProcessInstanceId(processInstanceId);
-			workActivityProcessService.deleteProcessIdAuditUsers(processInstanceId);
-		}
-		// 更新流程实例ID
-		workContractInfo.setProcessInstanceId(processInstance.getId());
-		workContractInfoDao.updateProcessInstanceId(workContractInfo);
-		//通知添加流程实例ID
-		workProjectNotify.setProcessInstanceId(processInstance.getId());
-		workProjectNotifyService.save(workProjectNotify);
-
-		List<Activity> list = workActivityMenu.getActivities();
-		if (list != null && list.size() != 0) {
-			workActivityProcessService.saveList(list, processInstance.getId());
-		} else {
-			WorkActivityProcess workActivityProcess = new WorkActivityProcess();
-			workActivityProcess.setProcessKey("contractCheck");
-			workActivityProcess.setCount(1);
-			workActivityProcess.setProcessInstanceId(processInstance.getId());
-			workActivityProcess.setIsApproval("0");
-			workActivityProcessService.save(workActivityProcess);
-//			workActivityProcess.setCount(2);
-//			workActivityProcess.setId("");
-//			workActivityProcessService.save(workActivityProcess);
-//			workActivityProcess.setCount(3);
-//			workActivityProcess.setId("");
+//		Office office = UserUtils.getUser().getOffice();
+//		String title = "合同【"+workContractInfo.getName() +"】登记待审批";
+//		String str = "合同【"+workContractInfo.getName() +"】登记待审批,合同编号:"+workContractInfo.getContractNum();
+//		identityService.setAuthenticatedUserId(workContractInfo.getCreateBy().getId());
+//		String businessKey = workContractInfo.getId().toString();
+//		WorkActivityMenu workActivityMenu = workActivityMenuService.findByParentAndOffice("zth3125f1f194c82bdea93555c750905", office);
+//		// 启动流程
+//		String processType = workActivityMenu.getProcessType();
+//		StringBuffer buffer = new StringBuffer();
+//		Activity activity = new Activity();
+//		WorkProjectNotify workProjectNotify = UtilNotify
+//				.saveNotify(workContractInfo.getId(),
+//						null,
+//						workContractInfo.getCompanyId(),
+//						title,
+//						str,
+//						"16",
+//						"0",
+//						"待审批",
+//						""
+//				);
+//		List<User> users = new ArrayList<>();
+//		String officeId = UserUtils.getSelectOffice().getId();
+//		List<User>  bmzrs = UserUtils.getByRoleActivityEnname("bmzr",2,office.getId(),"2",workContractInfo.getCreateBy());
+////		List<User>  scyfglbzrs = UserUtils.getByRoleActivityEnname("scyfglbzr",1,office.getId(),"2",workContractInfo.getCreateBy());
+////		List<User>  fglds = UserUtils.getByRoleActivityEnname("scfgld",3,office.getId(),"2",workContractInfo.getCreateBy());
+//		long end3 = System.currentTimeMillis();
+//		logger.info("合同送审-查找人员审核任务结束,共耗时:[" + (end3-begin2) / 1000 + "]秒");
+//		long begin3 = System.currentTimeMillis();
+//		if (StringUtils.isNotBlank(workActivityMenu.getId())) {
+//			workProjectNotify.setNotifyRole("");
+//			workActivityMenu = workActivityMenuService.get(workActivityMenu.getId());
+//			List<Activity> activities = workActivityMenu.getActivities();
+//			for (Activity a : activities) {
+//				String encount = a.getEncount();
+//				String enlist = a.getEnlist();
+//				if (a.getRole() != null && StringUtils.isNotBlank(a.getRole().getEnname())) {
+//					List enusers = UserUtils.getByRoleActivityEnnames(a.getRole().getEnname(), office.getId(), "2", workContractInfo.getCreateBy());
+//					if (enusers.size() == 0) {
+//						workContractInfo.setContractState("1");
+//						this.save(workContractInfo);
+//						return "流程审批人不能为空,角色部门负责人下无用户,请联系管理员!";
+//					}
+//					variables.put(enlist, enusers);
+//					variables.put(encount, enusers.size());
+//				}
+//				if (a.getDelFlag().equals("0") && a.getCount() == 1) {
+//					activity = a;
+//				}
+//			}
+//			buffer.append(activity.getRole().getEnname());
+//			if (activity != null && StringUtils.isNotBlank(activity.getId())) {
+//				//角色审批
+//				if (StringUtils.isNotBlank(activity.getRole().getEnname())) {
+//					users = UserUtils.getByRoleActivityEnnames(activity.getRole().getEnname(), office.getId(), "2", workContractInfo.getCreateBy());
+//				}
+//				//人员审批
+//				if (StringUtils.isNotBlank(activity.getUser().getId())) {
+//					users.add(activity.getUser());
+//				}
+//			}
+//			workProjectNotify.setId("");
+//		} else {
+//			processType = "contractCheck";
+//			if(bmzrs==null||bmzrs.size()==0){
+//				workContractInfo.setContractState("1");
+//				this.save(workContractInfo);
+//				return "流程审批人不能为空,角色部门负责人下无用户,请联系管理员!";
+//			}
+//			variables.put("bmzrList", bmzrs);
+//			variables.put("bmzrCount",bmzrs.size());
+//			users.addAll(bmzrs);
+//		}
+//
+//		for (User u : users) {
+//			workProjectNotify.setUser(u);
+//			workProjectNotify.setId("");
+//			workProjectNotify.setNotifyRole("部门主任审批");
+//			workProjectNotifyService
+//					.save(workProjectNotify);
+//			Map<String,Object> extras = new HashMap<>();
+//			extras.put("type","7002");
+//			extras.put("id",workProjectNotify.getId());
+//			extras.put("procDefKey","16");
+//			UserUtils.pushInfoToApp(title,str,extras,u.getId());
+//			UserUtils.pushIm(u.getId(),str);
+//		}
+//		variables.put("type", processType);
+//		variables.put("busId", businessKey);
+////		variables.put("count",users.size());
+////		variables.put("assigneeList",users);
+//		variables.put("title", "合同名称:" + workContractInfo.getName());//设置标题;
+//		long s1 = System.currentTimeMillis();
+//		ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processType, businessKey, variables);
+//		long s2 = System.currentTimeMillis();
+//		workContractInfo.setProcessInstance(processInstance);
+//		if (StringUtils.isNotBlank(processInstanceId)) {
+//			workActivityProcessService.updateProcessInstanceId(processInstance.getId(),processInstanceId);
+//			workActivityProcessService.deleteProcessInstanceId(processInstanceId);
+//			workActivityProcessService.deleteProcessIdAuditUsers(processInstanceId);
+//		}
+//		// 更新流程实例ID
+//		workContractInfo.setProcessInstanceId(processInstance.getId());
+//		workContractInfoDao.updateProcessInstanceId(workContractInfo);
+//		//通知添加流程实例ID
+//		workProjectNotify.setProcessInstanceId(processInstance.getId());
+//		workProjectNotifyService.save(workProjectNotify);
+//
+//		List<Activity> list = workActivityMenu.getActivities();
+//		if (list != null && list.size() != 0) {
+//			workActivityProcessService.saveList(list, processInstance.getId());
+//		} else {
+//			WorkActivityProcess workActivityProcess = new WorkActivityProcess();
+//			workActivityProcess.setProcessKey("contractCheck");
+//			workActivityProcess.setCount(1);
+//			workActivityProcess.setProcessInstanceId(processInstance.getId());
+//			workActivityProcess.setIsApproval("0");
 //			workActivityProcessService.save(workActivityProcess);
-			workActivityProcessService.insertAuditsByType(bmzrs,processInstance.getId(),1,1);
-//			workActivityProcessService.insertAuditsByType(scyfglbzrs,processInstance.getId(),2,0);
-//			workActivityProcessService.insertAuditsByType(fglds,processInstance.getId(),3,0);
-		}
-		long end = System.currentTimeMillis();
-		logger.info("合同送审任务结束,共耗时:[" + (end-begin) / 1000 + "]秒,流程启动时间:"+(s2-s1)+"ms");
+////			workActivityProcess.setCount(2);
+////			workActivityProcess.setId("");
+////			workActivityProcessService.save(workActivityProcess);
+////			workActivityProcess.setCount(3);
+////			workActivityProcess.setId("");
+////			workActivityProcessService.save(workActivityProcess);
+//			workActivityProcessService.insertAuditsByType(bmzrs,processInstance.getId(),1,1);
+////			workActivityProcessService.insertAuditsByType(scyfglbzrs,processInstance.getId(),2,0);
+////			workActivityProcessService.insertAuditsByType(fglds,processInstance.getId(),3,0);
+//		}
+//		long end = System.currentTimeMillis();
+//		logger.info("合同送审任务结束,共耗时:[" + (end-begin) / 1000 + "]秒,流程启动时间:"+(s2-s1)+"ms");
+//
 		return "";
 	}
 
 	@Transactional(readOnly = false)
-	public synchronized String newSave( WorkClientInfo workClientInfo,WorkContractInfo workContractInfo,Map<String, Object> variables, String contextPath,String urls) {
+	public synchronized String newSave( WorkClientLinkman workClientLinkman,WorkContractInfo workContractInfo,Map<String, Object> variables, String contextPath,String urls) {
 		long begin = System.currentTimeMillis();
 		String processInstanceId = workContractInfo.getProcessInstanceId();
 		String contractTypeCode = workContractInfo.getContractTypeDoc();
@@ -833,7 +862,18 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
 				contractTypeId = mainDictDetail.getValue();
 			}
 		}
-		if (StringUtils.isBlank(workContractInfo.getContractNum())) {
+
+	//添加联系人集合
+		List<WorkClientLinkman> linkmanList = workContractInfo.getWorkClientLinkmanList();
+		for (WorkClientLinkman clientLinkman : linkmanList) {
+			clientLinkman.setContractNum(workContractInfo.getContractNum());
+			clientLinkman.preInsert();
+			workClientLinkmanDao.insertLinkman(clientLinkman);
+
+		}
+
+//		System.out.println("===============================<<<<<<<<<<<<<<<<"+linkmanList);
+		/*if (StringUtils.isBlank(workContractInfo.getContractNum())) {
 			//根据合同类型生成合同编号
 			String type = null;
 			if("100".equals(contractTypeId)){
@@ -847,8 +887,7 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
 			}else {
 				type = WorkContractInfo.SERIAL_ELST;
 			}
-			System.out.println("=============================****************************************************");
-			workClientInfoDao.insert(workClientInfo);
+
 //			synchronized (SYN_BYTE){
 //				workContractInfo.setContractNum(serialNumTplService.genSerialNum(UserUtils.get(workContractInfo.getCreateBy().getId()).getCompany(), type).replace("TYPE",contractType));
 //			}
@@ -883,7 +922,7 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
 //			OSSClientUtil ossUtil = new OSSClientUtil();
 //			ossUtil.uploadFile2OSS(byteArrayInputStream, Global.getContractNumPath(), picNamePhoto);
 //			workContractInfo.setContractNumPath(Global.getAliyunUrl()+"/"+Global.getContractNumPath()+picNamePhoto);
-		}
+		}*/
 		workContractInfo.setContractState("5");
 		this.save(workContractInfo);
 //		Office office = UserUtils.getUser().getOffice();

+ 6 - 5
src/main/java/com/jeeplus/modules/workcontractinfo/web/WorkContractInfoAlterController.java

@@ -37,6 +37,7 @@ import com.jeeplus.modules.workactivity.service.ActivityService;
 import com.jeeplus.modules.workclientinfo.dao.WorkClientAttachmentDao;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientInfo;
+import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
 import com.jeeplus.modules.workclientinfo.service.WorkClientInfoService;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfoCopy;
@@ -799,7 +800,7 @@ public class WorkContractInfoAlterController extends BaseController {
      */
 //	@RequiresPermissions(value={"workcontractinfo:workContractInfo:add","workcontractinfo:workContractInfo:edit"},logical=Logical.OR)
     @RequestMapping(value = "save")
-    public String save(WorkContractInfo workContractInfo, Model model,
+    public String save(WorkClientLinkman workClientLinkman,WorkContractInfo workContractInfo, Model model,
                        RedirectAttributes redirectAttributes) throws Exception {
         if (!beanValidator(model, workContractInfo)) {
             return form(workContractInfo, model);
@@ -880,7 +881,7 @@ public class WorkContractInfoAlterController extends BaseController {
                 //将编辑表单中的非NULL值覆盖数据库记录中的值
                 MyBeanUtils.copyBeanNotNull2Bean(workContractInfo, t);
                 t.setContractState("2");
-                workContractInfoService.save(t, variables,contextPath,url);//保存
+                workContractInfoService.save(workClientLinkman,t, variables,contextPath,url);//保存
                 WorkContractReview workContractReview = workContractInfo.getWorkContractReview();
                 workContractReviewService.save(workContractReview);
                 addMessage(redirectAttributes, "修改保存合同管理成功");
@@ -907,7 +908,7 @@ public class WorkContractInfoAlterController extends BaseController {
                 }
                 workContractInfo.setWorkAttachments(list1);
                 workContractInfo.setContractState("2");
-                workContractInfoService.save(workContractInfo, variables,contextPath,url);//保存
+                workContractInfoService.save(workClientLinkman,workContractInfo, variables,contextPath,url);//保存
                 WorkContractReview workContractReview = workContractInfo.getWorkContractReview();
                 String id = workContractInfo.getId();
                 workContractReview.setContractId(id);
@@ -1024,7 +1025,7 @@ public class WorkContractInfoAlterController extends BaseController {
      * @return
      */
     @RequestMapping(value = "startposs")
-    public String startposs(WorkContractInfo workContractInfo, HttpServletRequest request, HttpServletResponse response, Model model, RedirectAttributes redirectAttributes)throws Exception {
+    public String startposs(WorkClientLinkman workClientLinkman,WorkContractInfo workContractInfo, HttpServletRequest request, HttpServletResponse response, Model model, RedirectAttributes redirectAttributes)throws Exception {
         String url = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort();
         String contextPath = request.getContextPath();
         Role role = UserUtils.getSelectRole().get(0);
@@ -1040,7 +1041,7 @@ public class WorkContractInfoAlterController extends BaseController {
         t.setContractState("2");
         t.preUpdate();
         workContractInfoService.update(t);
-        workContractInfoService.save(t,variables,contextPath,url);
+        workContractInfoService.save(workClientLinkman,t,variables,contextPath,url);
         addMessage(redirectAttributes, "启动流程成功");
         return "redirect:"+Global.getAdminPath()+"/workinvoice/workInvoice/?repage";
     }

+ 1 - 0
src/main/java/com/jeeplus/modules/workcontractinfo/web/WorkContractInfoController.java

@@ -123,6 +123,7 @@ public class WorkContractInfoController extends BaseController {
     private WorkProjectNotifyService workProjectNotifyService;
     @Autowired
     private WorkContractRecordService workContractRecordService;
+    @Autowired
 
     @ModelAttribute
     public WorkContractInfo get(@RequestParam(required = false) String id) {

+ 7 - 5
src/main/java/com/jeeplus/modules/workcontractinfo/web/WorkContractInfoInvalidateController.java

@@ -38,6 +38,7 @@ import com.jeeplus.modules.workactivity.service.ActivityService;
 import com.jeeplus.modules.workclientinfo.dao.WorkClientAttachmentDao;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientInfo;
+import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
 import com.jeeplus.modules.workclientinfo.service.WorkClientInfoService;
 import com.jeeplus.modules.workcontractinfo.dao.WorkContractInfoCopyDao;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
@@ -872,7 +873,7 @@ public class WorkContractInfoInvalidateController extends BaseController {
      */
 //	@RequiresPermissions(value={"workcontractinfo:workContractInfo:add","workcontractinfo:workContractInfo:edit"},logical=Logical.OR)
     @RequestMapping(value = "save")
-    public String save(WorkContractInfo workContractInfo, Model model,
+    public String save(WorkClientLinkman workClientLinkman,WorkContractInfo workContractInfo, Model model,
                        RedirectAttributes redirectAttributes) throws Exception {
         if (!beanValidator(model, workContractInfo)) {
             return form(workContractInfo, model);
@@ -968,7 +969,7 @@ public class WorkContractInfoInvalidateController extends BaseController {
                     addMessage(redirectAttributes, "合同申请提交失败:"+"流程审批人不能为空,角色盖章人下无用户,请联系管理员!");
                     return "redirect:" + Global.getAdminPath() + "/workcontractinfo/workContractInfo/?repage";
                 }
-                workContractInfoService.save(t, variables,contextPath,url);//保存
+                workContractInfoService.save(workClientLinkman,t, variables,contextPath,url);//保存
                 workContractInfoService.updateWorkContractInfo(workContractInfo);
                 WorkContractReview workContractReview = workContractInfo.getWorkContractReview();
                 workContractReview.setContractName(t.getName());
@@ -1060,7 +1061,7 @@ public class WorkContractInfoInvalidateController extends BaseController {
                     addMessage(redirectAttributes, "合同申请提交失败:"+"流程审批人不能为空,角色盖章人下无用户,请联系管理员!");
                     return "redirect:" + Global.getAdminPath() + "/workcontractinfo/workContractInfo/?repage";
                 }
-                workContractInfoService.save(workContractInfo, variables,contextPath,url);//保存
+                workContractInfoService.save(workClientLinkman,workContractInfo, variables,contextPath,url);//保存
                 workContractInfoService.updateWorkContractInfo(workContractInfo);
                 WorkContractReview workContractReview = workContractInfo.getWorkContractReview();
                 String id = workContractInfo.getId();
@@ -1184,7 +1185,7 @@ public class WorkContractInfoInvalidateController extends BaseController {
      * @return
      */
     @RequestMapping(value = "startposs")
-    public String startposs(WorkContractInfo workContractInfo, HttpServletRequest request, HttpServletResponse response, Model model, RedirectAttributes redirectAttributes)throws Exception {
+    public String startposs(WorkClientLinkman workClientLinkman,WorkContractInfo workContractInfo, HttpServletRequest request, HttpServletResponse response, Model model, RedirectAttributes redirectAttributes)throws Exception {
         String url = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort();
         String contextPath = request.getContextPath();
         Role role = UserUtils.getSelectRole().get(0);
@@ -1200,7 +1201,7 @@ public class WorkContractInfoInvalidateController extends BaseController {
         t.setContractState("2");
         t.preUpdate();
         workContractInfoService.update(t);
-        workContractInfoService.save(t,variables,contextPath,url);
+        workContractInfoService.save(workClientLinkman,t,variables,contextPath,url);
         addMessage(redirectAttributes, "启动流程成功");
         return "redirect:"+Global.getAdminPath()+"/workinvoice/workInvoice/?repage";
     }
@@ -1228,6 +1229,7 @@ public class WorkContractInfoInvalidateController extends BaseController {
         return "redirect:" + Global.getAdminPath() + "/workcontractinfo/workContractInfo/?repage";
     }
 
+
     /**
      * 删除合同管理
      */

+ 1 - 0
src/main/java/com/jeeplus/modules/workcontractinfo/web/WorkContractReportController.java

@@ -33,6 +33,7 @@ public class WorkContractReportController extends BaseController {
     @Autowired
     private WorkContractReportService workContractReportService;
 
+
     /**
      * 合同管理列表页面
      */

+ 45 - 1
src/main/resources/mappings/modules/workclientinfo/WorkClientLinkmanDao.xml

@@ -352,8 +352,48 @@
 			)
 		</foreach>
 	</insert>
+	<insert id="insertLinkman">
+			INSERT INTO work_client_linkman(
+			id,
+			name,
+			position,
+			qq,
+			link_phone,
+			link_mobile,
+			email,
+			is_default,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			del_flag,
+			client_id,
+			office,
+			contract_num,
+			contract_id
+		) VALUES (
+			#{id},
+			#{name},
+			#{position},
+			#{qq},
+			#{linkPhone},
+			#{linkMobile},
+			#{email},
+			#{isDefault},
+			#{createBy.id},
+			#{createDate},
+			#{updateBy.id},
+			#{updateDate},
+			#{delFlag},
+			#{clientId.id},
+			#{office},
+			#{contractNum},
+			#{contractId}
 
-	<delete id="jobTypeDelete">
+		)
+	</insert>
+
+    <delete id="jobTypeDelete">
 		delete from work_client_job_type_info where work_client_id =#{workClientId}
 	</delete>
 
@@ -370,4 +410,8 @@
 
 
 	</select>
+	<delete id="deleteLinkman">
+delete  from work_client_linkman
+where id= #{id}
+	</delete>
 </mapper>

+ 130 - 12
src/main/resources/mappings/modules/workcontractinfo/WorkContractInfoDao.xml

@@ -41,6 +41,8 @@
 		a.contractTypeDoc AS "contractTypeDoc",
 		a.process_instance_id AS "processInstanceId",
 		client.name AS "client.name",
+		a.clientName AS "clientName",
+		a.telephone AS "telephone",
 		a.is_total AS "isTotal",
 		a.total_contract_id AS "totalContractId",
 		a.common_flag AS "commonFlag",
@@ -61,6 +63,8 @@
 		a.completion_status AS "completionStatus",
 		a.signature_status as "signatureStatus",
 		a.office_id AS "officeId",
+		a.uscCode AS "uscCode",
+		a.hasUscc  AS "hasUscc"
 		(select count(1) from work_contract_info c where c.total_contract_id = a.id)  cnt,
 		a.contract_information AS "contractInformation",
 		a.describe_content AS "describeContent",
@@ -115,7 +119,10 @@
 		a.contractTypeDoc AS "contractTypeDoc",
 		a.another_contract_num AS "anotherContractNum",
 		client.name AS "client.name",
-		client.telephone AS "client.telephone",
+		a.clientName AS "clientName",
+		a.telephone AS "telephone",
+		a.uscCode AS "uscCode",
+		a.hasUscc  AS "hasUscc",
 		a.is_total AS "isTotal",
 		a.total_contract_id AS "totalContractId",
 		a.status AS "status",
@@ -176,7 +183,11 @@
 		a.alterbefore_id AS "alterBeforeId",
 		a.alter_sign AS "alterSign",
 		a.record_state AS "recordState",
-		client.name AS "client.name"
+		client.name AS "client.name",
+		a.telephone AS "telephone",
+		a.uscCode AS "uscCode",
+		a.hasUscc  AS "hasUscc",
+		a.clientName AS "clientName",
 		FROM work_contract_info a
 		<include refid="workContractInfoJoins"/>
 		WHERE a.alterbefore_id = #{alterBeforeId} and a.del_flag = 0 and contract_state is null
@@ -242,7 +253,10 @@
 		a.contractTypeDoc AS "contractTypeDoc",
 		a.another_contract_num AS "anotherContractNum",
 		client.name AS "client.name",
-		client.name as "clientName",
+		a.clientName AS "clientName",
+		a.telephone AS "telephone",
+		a.uscCode AS "uscCode",
+		a.hasUscc  AS "hasUscc",
 		a.is_total AS "isTotal",
 		a.total_contract_id AS "totalContractId",
 		a.status AS "status",
@@ -455,6 +469,10 @@
 		a.contractTypeDoc AS "contractTypeDoc",
 		a.another_contract_num AS "anotherContractNum",
 		client.name AS "client.name",
+		a.clientName AS "clientName",
+		a.telephone AS "telephone",
+		a.uscCode AS "uscCode",
+		a.hasUscc  AS "hasUscc",
 		a.is_total AS "isTotal",
 		a.total_contract_id AS "totalContractId",
 		a.status AS "status",
@@ -553,6 +571,10 @@
 		a.contractTypeDoc AS "contractTypeDoc",
 		a.another_contract_num AS "anotherContractNum",
 		client.name AS "client.name",
+		a.clientName AS "clientName",
+		a.telephone AS "telephone",
+		a.uscCode AS "uscCode",
+		a.hasUscc  AS "hasUscc",
 		a.is_total AS "isTotal",
 		a.total_contract_id AS "totalContractId",
 		a.status AS "status",
@@ -674,6 +696,10 @@
 		a.contractTypeDoc AS "contractTypeDoc",
 		a.another_contract_num AS "anotherContractNum",
 		client.name AS "client.name",
+		a.clientName AS "clientName",
+		a.telephone AS "telephone",
+		a.uscCode AS "uscCode",
+		a.hasUscc  AS "hasUscc",
 		a.is_total AS "isTotal",
 		a.total_contract_id AS "totalContractId",
 		a.status AS "status",
@@ -795,6 +821,10 @@
 		a.contractTypeDoc AS "contractTypeDoc",
 		a.another_contract_num AS "anotherContractNum",
 		client.name AS "client.name",
+		a.clientName AS "clientName",
+		a.telephone AS "telephone",
+		a.uscCode AS "uscCode",
+		a.hasUscc  AS "hasUscc",
 		a.is_total AS "isTotal",
 		a.total_contract_id AS "totalContractId",
 		a.status AS "status",
@@ -938,7 +968,12 @@
 			charge_criterion,
 			other_details,
 			contract_information,
-			describe_content
+			describe_content,
+			company,
+			clientName,
+			telephone,
+			uscCode,
+			hasUscc
 		) VALUES (
 			#{id},
 			#{project.id},
@@ -997,7 +1032,12 @@
 			#{chargeCriterion},
 			#{otherDetails},
 			#{contractInformation},
-			#{describeContent}
+			#{describeContent},
+			#{company},
+			#{clientName},
+			#{telephone},
+			#{uscCode},
+			#{hasUscc}
 		)
 	</insert>
 
@@ -1014,6 +1054,9 @@
 			effective_date = #{effectiveDate},
 			closing_date = #{closingDate},
 			name = #{name},
+			telephone = #{telephone},
+			uscCode = #{uscCode},
+			hasUscc =#{hasUscc},
 			contract_category = #{contractCategory},
 			contract_num = #{contractNum},
 			contract_price = #{contractPrice},
@@ -1050,6 +1093,8 @@
 			alterbefore_id = #{alterBeforeId},
 			completion_status = #{completionStatus},
 			sort = #{sort},
+			company= #{company},
+			clientName= #{clientName},
 			signature_status=#{signatureStatus},
 			contract_num_path=#{contractNumPath},
 			charge_criterion=#{chargeCriterion},
@@ -1113,6 +1158,41 @@
 		</foreach>
 
 	</insert>
+<!--	<insert id="insertLinkman">-->
+<!--		INSERT INTO work_client_linkman(-->
+<!--			id,-->
+<!--			name,-->
+<!--			position,-->
+<!--			qq,-->
+<!--			link_phone,-->
+<!--			link_mobile,-->
+<!--			email,-->
+<!--			is_default,-->
+<!--			create_by,-->
+<!--			create_date,-->
+<!--			update_by,-->
+<!--			update_date,-->
+<!--			del_flag,-->
+<!--			client_id,-->
+<!--			office-->
+<!--		) VALUES (-->
+<!--			#{id},-->
+<!--			#{name},-->
+<!--			#{position},-->
+<!--			#{qq},-->
+<!--			#{linkPhone},-->
+<!--			#{linkMobile},-->
+<!--			#{email},-->
+<!--			#{isDefault},-->
+<!--			#{createBy.id},-->
+<!--			#{createDate},-->
+<!--			#{updateBy.id},-->
+<!--			#{updateDate},-->
+<!--			#{delFlag},-->
+<!--			#{clientId.id},-->
+<!--			#{office}-->
+<!--		)-->
+<!--	</insert>-->
 
 
 	<!-- 根据实体名称和字段名称和字段值获取唯一记录 -->
@@ -1241,6 +1321,10 @@
 		a.process_instance_id AS "processInstanceId",
 		a.company_id as companyId,
 		client.name AS "client.name",
+		a.clientName AS "clientName",
+		a.telephone AS "telephone",
+		a.uscCode AS "uscCode",
+		a.hasUscc  AS "hasUscc",
 		a.contractTypeDoc,
 		a.contractFeeDoc,
 		a.charge_company_name AS "chargeCompanyName",
@@ -1397,7 +1481,10 @@
 		a.contractTypeDoc AS "contractTypeDoc",
 		a.another_contract_num AS "anotherContractNum",
 		client.name AS "client.name",
-		client.telephone AS "client.telephone",
+		a.clientName AS "clientName",
+		a.telephone AS "telephone",
+		a.uscCode AS "uscCode",
+		a.hasUscc  AS "hasUscc",
 		a.is_total AS "isTotal",
 		a.total_contract_id AS "totalContractId",
 		a.status AS "status",
@@ -1437,6 +1524,26 @@
 		contract_record_state = #{contractRecordState}
 		WHERE id = #{id}
 	</update>
+	<update id="updateLinkman">
+UPDATE work_client_linkman SET
+			name = #{name},
+			position = #{position},
+			qq = #{qq},
+			link_phone = #{linkPhone},
+			link_mobile = #{linkMobile},
+			email = #{email},
+			is_default = #{isDefault},
+			update_by = #{updateBy.id},
+			update_date = #{updateDate},
+			client_id = #{clientId.id},
+			office = #{office}
+		WHERE id = #{id}
+
+
+
+
+	</update>
+
 
 	<select id="findContractStatementPage" resultType="WorkContractInfo">
 		SELECT
@@ -1475,7 +1582,10 @@
 		a.contractTypeDoc AS "contractTypeDoc",
 		a.another_contract_num AS "anotherContractNum",
 		client.name AS "client.name",
-		client.name as "clientName",
+		a.clientName AS "clientName",
+		a.telephone AS "telephone",
+		a.uscCode AS "uscCode",
+		a.hasUscc  AS "hasUscc",
 		a.is_total AS "isTotal",
 		a.total_contract_id AS "totalContractId",
 		a.status AS "status",
@@ -1535,8 +1645,8 @@
 			<if test="workContractInfo.client != null and workContractInfo.client.id != null and workContractInfo.client.id != ''">
 				AND a.client_id = #{workContractInfo.client.id}
 			</if>
-			<if test="workContractInfo.client != null and workContractInfo.client.name != null and workContractInfo.client.name != ''">
-				AND client.name LIKE concat('%',#{workContractInfo.client.name},'%')
+			<if test="workContractInfo.clientName != null and workContractInfo.clientName != ''">
+				AND clientName LIKE concat('%',#{workContractInfo.clientName},'%')
 			</if>
 			<if test="workContractInfo.beginContractDate != null and workContractInfo.endContractDate != null and workContractInfo.beginContractDate != '' and workContractInfo.endContractDate != ''">
 				AND a.contract_date BETWEEN #{workContractInfo.beginContractDate} AND #{workContractInfo.endContractDate}
@@ -1718,7 +1828,7 @@
 		a.contractTypeDoc AS "contractTypeDoc",
 		a.another_contract_num AS "anotherContractNum",
 		client.name AS "client.name",
-		client.name as "clientName",
+		a.clientName AS "clientName",
 		a.is_total AS "isTotal",
 		a.total_contract_id AS "totalContractId",
 		a.status AS "status",
@@ -1904,7 +2014,7 @@
 		a.contractTypeDoc AS "contractTypeDoc",
 		a.another_contract_num AS "anotherContractNum",
 		client.name AS "client.name",
-		client.name as "clientName",
+		a.clientName AS "clientName",
 		a.is_total AS "isTotal",
 		a.total_contract_id AS "totalContractId",
 		a.status AS "status",
@@ -2149,7 +2259,7 @@
 		a.contractTypeDoc AS "contractTypeDoc",
 		a.another_contract_num AS "anotherContractNum",
 		client.name AS "client.name",
-		client.name as "clientName",
+		a.clientName AS "clientName",
 		a.is_total AS "isTotal",
 		a.total_contract_id AS "totalContractId",
 		a.status AS "status",
@@ -2299,4 +2409,12 @@
 			</if>
 		</where>
 	</select>
+
+	<select id="getList" resultType="com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman">
+SELECT name,position,qq,link_phone,link_mobile,email,office FROM `work_client_linkman`
+where contract_num = #{contractNum}
+
+	</select>
+
+
 </mapper>

+ 3 - 1
src/main/resources/mappings/modules/workcontractinfo/WorkContractListInfoDao.xml

@@ -19,6 +19,7 @@
 		a.effective_date AS "effectiveDate",
 		a.closing_date AS "closingDate",
 		a.name AS "name",
+		a.clientName AS "clientName",
 		a.contract_num AS "contractNum",
 		a.contract_price AS "contractPrice",
 		a.another_contract_num AS "anotherContractNum",
@@ -60,6 +61,7 @@
 		,year(a.contract_date) as "year"
 		,a.client_id AS "client.id"
 		,client.name AS "client.name"
+		,a.clientName AS "clientName",
 		,ifnull(wcr.status,0) as "contrractRecordStatus"
 		,ifnull(wcr.file_num,"") as "recordNum"
 		,wcr.id as "contrractRecordId"
@@ -101,7 +103,7 @@
 			</if>
 			/*客户名称*/
 			<if test="clientName != null and clientName!= ''">
-				AND client.name like  concat('%',#{clientName},'%')
+				AND a.clientName like  concat('%',#{clientName},'%')
 			</if>
 			/*合同名称*/
 			<if test="name != null and name != ''">

+ 19 - 18
src/main/webapp/webpage/modules/workcontractinfo/newWorkContract/workContractInfoFormAdd.jsp

@@ -1020,24 +1020,25 @@
                     {{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#workClientLinkmanList{{idx}}')" title="删除"><i class="glyphicon glyphicon-remove"></i>&nbsp;删除</span>{{/delBtn}}
                 </td>
             </tr>//-->
-								</script>
-								<script type="text/javascript">
-									var workClientLinkmanRowIdx = 0,
-											workClientLinkmanTpl = $("#workClientLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
-									var workClientBankRowIdx = 0,
-											workClientBankTpl = $("#workClientBankTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
-									$(document).ready(function () {
-										var data = ${fns:toJson(workClientInfo.workClientLinkmanList)};
-										for (var i = 0; i < data.length; i++) {
-											addRow('#workClientLinkmanList', workClientLinkmanRowIdx, workClientLinkmanTpl, data[i]);
-											workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;
-										}
-										var dataBank = ${fns:toJson(workClientInfo.workClientBankList)};
-										for (var i = 0; i < dataBank.length; i++) {
-											addRow('#workClientBankList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
-											workClientBankRowIdx = workClientBankRowIdx + 1;
-										}
-									});
+
+                                </script>
+                                <script type="text/javascript">
+                                    var workClientLinkmanRowIdx = 0,
+                                        workClientLinkmanTpl = $("#workClientLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
+                                    var workClientBankRowIdx = 0,
+                                        workClientBankTpl = $("#workClientBankTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
+                                    $(document).ready(function () {
+                                        var data = ${fns:toJson(workClientInfo.workClientLinkmanList)};
+                                        for (var i = 0; i < data.length; i++) {
+                                            addRow('#workClientLinkmanList', workClientLinkmanRowIdx, workClientLinkmanTpl, data[i]);
+                                            workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;
+                                        }
+                                        var dataBank = ${fns:toJson(workClientInfo.workClientBankList)};
+                                        for (var i = 0; i < dataBank.length; i++) {
+                                            addRow('#workClientBankList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
+                                            workClientBankRowIdx = workClientBankRowIdx + 1;
+                                        }
+                                    });
 
                                 </script>
                             </div>

+ 135 - 1
src/main/webapp/webpage/modules/workcontractinfo/workContractInfoAdminForm.jsp

@@ -757,7 +757,141 @@
 								</div>
 							</div>
 						</div>
-						<%--<div class="form-group layui-row">
+						<div class="form-group layui-row">
+							<div class="form-group-label"><h2>联系人信息</h2></div>
+							<div class="layui-item nav-btns">
+								<a class="nav-btn nav-btn-add"
+								   onclick="addRow('#workClientLinkmanList', workClientLinkmanRowIdx, workClientLinkmanTpl);workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;"
+								   title="新增"><i class="fa fa-plus"></i> 新增</a>
+							</div>
+							<div class="layui-item layui-col-xs12 form-table-container">
+								<table id="contentTable" class="table table-bordered table-condensed can-edit">
+									<thead>
+									<tr>
+										<th class="hide"></th>
+										<th width="100px"><font color="red">*</font>联系人姓名</th>
+										<th width="100px">部门</th>
+										<th width="100px">职务</th>
+										<th width="100px">QQ</th>
+										<th width="100px">联系方式1</th>
+										<th width="100px">联系方式2</th>
+										<th width="150px">E-mail</th>
+										<th width="100px">操作</th>
+									</tr>
+									</thead>
+									<tbody id="workClientLinkmanList">
+										<c:forEach items="${workContractInfo.workClientLinkmanList}" var="workClientLinkman" varStatus="status">
+                                            <tr>
+                                                   <td class="hide">
+                                                       <input id="workClientLinkmanList${status.index + 1}_id"
+                                                              name="workClientLinkmanList[${status.index + 1}].id" type="hidden"
+                                                              value="${workClientLinkman.id}"/>
+                                                       <input id="workClientLinkmanList${status.index + 1}_delFlag"
+                                                              name="workClientLinkmanList[${status.index + 1}].delFlag" type="hidden"
+                                                              value="0" />
+                                                   </td>
+                                                   <td><input id="workClientLinkmanList${status.index + 1}_name"
+                                                              name="workClientLinkmanList[${status.index + 1}].name" type="text"
+                                                              value="${workClientLinkman.name}"  class="form-control required"/></td>
+                                                   <td><input id="workClientLinkmanList${status.index + 1}_office"
+                                                              name="workClientLinkmanList[${status.index + 1}].office" type="text"
+                                                              value="${workClientLinkman.office}"  class="form-control "/></td>
+                                                   <td><input  id="workClientLinkmanList${status.index + 1}_position"
+                                                              name="workClientLinkmanList[${status.index + 1}].position" type="text"
+                                                              value="${workClientLinkman.position}"  class="form-control "/></td>
+                                                   <td><input id="workClientLinkmanList${status.index + 1}_qq"
+                                                              name="workClientLinkmanList[${status.index + 1}].qq"
+                                                              type="text" value="${workClientLinkman.qq}"  class="form-control digits"/>
+                                                   </td>
+                                                   <td><input  id="workClientLinkmanList${status.index + 1}_linkMobile"
+                                                              name="workClientLinkmanList[${status.index + 1}].linkMobile" type="text"
+                                                              value="${workClientLinkman.linkMobile}"  class="form-control isPhone"/></td>
+                                                   <td><input placeholder="请输入联系方式2" id="workClientLinkmanList${status.index + 1}_linkPhone"
+                                                              name="workClientLinkmanList[${status.index + 1}].linkPhone" type="text"
+                                                              value="${workClientLinkman.linkPhone}"  class="form-control isTel"/></td>
+                                                   <td><input  id="workClientLinkmanList{{idx}}_email"
+                                                              name="workClientLinkmanList[${status.index + 1}].email" type="text"
+                                                              value="${workClientLinkman.email}"
+                                                              class="form-control email" /></td>
+                                                   <td class="text-center op-td">
+                                                    <span class="op-btn op-btn-delete"
+                                                          onclick="delRow(this, '#workClientLinkmanList${status.index + 1}')"
+                                                          title="删除" ><i
+                                                            class="glyphicon glyphicon-remove"></i>&nbsp;删除</span>
+                                                   </td>
+                                            </tr>
+                                        </c:forEach>
+									</tbody>
+								</table>
+
+								<script type="text/template" id="workClientLinkmanTpl">//<!--
+            <tr id="workClientLinkmanList{{idx}}">
+                <td class="hide">
+                    <input id="workClientLinkmanList{{idx}}_id" name="workClientLinkmanList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
+                    <input id="workClientLinkmanList{{idx}}_delFlag" name="workClientLinkmanList[{{idx}}].delFlag" type="hidden" value="0"/>
+                </td>
+
+                <td>
+                    <input  placeholder="请输入联系人姓名" id="workClientLinkmanList{{idx}}_name" name="workClientLinkmanList[{{idx}}].name" type="text" value="{{row.name}}"    class="form-control required"/>
+                </td>
+                <td>
+                    <input placeholder="请输入部门" id="workClientLinkmanList{{idx}}_office" name="workClientLinkmanList[{{idx}}].office" type="text" value="{{row.office}}"    class="form-control "/>
+                </td>
+                <td>
+                    <input placeholder="请输入职务" id="workClientLinkmanList{{idx}}_position" name="workClientLinkmanList[{{idx}}].position" type="text" value="{{row.position}}"    class="form-control "/>
+                </td>
+
+
+                <td>
+                    <input placeholder="请输入QQ" id="workClientLinkmanList{{idx}}_qq" name="workClientLinkmanList[{{idx}}].qq" type="text" value="{{row.qq}}"    class="form-control digits"/>
+                </td>
+
+
+                <td>
+                    <input placeholder="请输入联系方式1" id="workClientLinkmanList{{idx}}_linkPhone" name="workClientLinkmanList[{{idx}}].linkPhone" type="text" value="{{row.linkPhone}}"    class="form-control isTel"/>
+                </td>
+
+
+                <td>
+                    <input placeholder="请输入联系方式2" id="workClientLinkmanList{{idx}}_linkMobile" name="workClientLinkmanList[{{idx}}].linkMobile" type="text" value="{{row.linkMobile}}"    class="form-control isPhone"/>
+                </td>
+
+
+                <td>
+                    <input placeholder="请输入E-mail" id="workClientLinkmanList{{idx}}_email" name="workClientLinkmanList[{{idx}}].email" type="text" value="{{row.email}}"    class="form-control email"/>
+                </td>
+
+                <td class="text-center op-td" >
+                    {{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#workClientLinkmanList{{idx}}')" title="删除"><i class="glyphicon glyphicon-remove"></i>&nbsp;删除</span>{{/delBtn}}
+                </td>
+            </tr>//-->
+								</script>
+								<script type="text/javascript">
+									var workClientLinkmanRowIdx = 0,
+											workClientLinkmanTpl = $("#workClientLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
+									var workClientBankRowIdx = 0,
+											workClientBankTpl = $("#workClientBankTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
+									$(document).ready(function () {
+										var data = ${fns:toJson(workClientLinkmanList)};
+										console.log(data);
+										for (var i = 0; i < data.length; i++) {
+											addRow('#workClientLinkmanList', workClientLinkmanRowIdx, workClientLinkmanTpl, data[i]);
+											workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;
+										}
+
+										var dataBank = ${fns:toJson(workClientInfo.workClientBankList)};
+										for (var i = 0; i < dataBank.length; i++) {
+											addRow('#workClientBankList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
+											workClientBankRowIdx = workClientBankRowIdx + 1;
+										}
+									});
+
+								</script>
+							</div>
+						</div>
+
+
+					<%--<div class="form-group layui-row">
 							<div class="form-group-label"><h2><span class="require-item">*</span>委托方列表</h2></div>
 							<div class="layui-item nav-btns">
 								<a href="javascript:void(0)" onclick="openBill2('新增客户管理', '${ctx}/workclientinfo/workClientInfo/formType?param=1','90%','90%',false,'inputForm')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i> 新增客户</a>

+ 13 - 9
src/main/webapp/webpage/modules/workcontractinfo/workContractInfoAllList.jsp

@@ -93,7 +93,7 @@
                 maxmin: false, //开启最大化最小化按钮
                 skin:"three-btns",
                 content: url ,
-                btn: ['送审','暂存','关闭'],
+                btn: ['提交','暂存','关闭'],
                 btn1: function(index, layero){
                     var body = top.layer.getChildFrame('body', index);
                     var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
@@ -145,7 +145,7 @@
                 maxmin: false, //开启最大化最小化按钮
                 skin:"three-btns",
                 content: url ,
-                btn: ['送审','关闭'],
+                btn: ['提交','关闭'],
                 btn1: function(index, layero){
                     var body = top.layer.getChildFrame('body', index);
                     var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
@@ -218,7 +218,7 @@
                 maxmin: false, //开启最大化最小化按钮
                 content: url ,
                 skin:"three-btns",
-                btn: ['送审','暂存','关闭'],
+                btn: ['提交','暂存','关闭'],
                 btn1: function(index, layero){
                     var body = top.layer.getChildFrame('body', index);
                     var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
@@ -273,7 +273,7 @@
                 maxmin: true, //开启最大化最小化按钮
                 skin:"two-btns",
                 content: url,
-                btn: ['送审', /*'撤回',*/ '关闭'],
+                btn: ['提交', /*'撤回',*/ '关闭'],
                 btn1: function (index, layero) {
                     var body = top.layer.getChildFrame('body', index);
                     var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
@@ -397,7 +397,7 @@
                 maxmin: false, //开启最大化最小化按钮
                 skin:"three-btns",
                 content: url ,
-                btn: ['送审','关闭'],
+                btn: ['提交','关闭'],
                 btn1: function(index, layero){
                     var body = top.layer.getChildFrame('body', index);
                     var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
@@ -434,7 +434,7 @@
 			   maxmin: false, //开启最大化最小化按钮
 			   skin: 'two-btns',
 			   content: url ,
-			   btn: ['送审','关闭'],
+			   btn: ['提交','关闭'],
 			   yes: function(index, layero){
 				   var body = top.layer.getChildFrame('body', index);
 				   var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
@@ -677,10 +677,14 @@
                         return "<a class=\"attention-info\" title=\""+d.contractName+"\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看合同管理', '${ctx}/workcontractinfo/workContractInfo/lookForm?id=" + d.id + "','95%', '95%')\">" + d.contractName + "</a>";
                     }}
                 ,{field:'recordNum',align:'center', title: '案卷号',minWidth:200,templet:function(d){
-                        return "<a class=\"attention-info\" title=\""+d.recordNum+"\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看合同归档信息', '${ctx}/workcontractrecord/workContractRecord/form?id=" + d.contrractRecordId + "&tabId=1','95%', '95%')\">" + d.recordNum + "</a>";
+						return "<p class=\"attention-info\" title=\""+d.recordNum+"\" "+
+								">" +
+								d.recordNum + "</p>";
                     }}
                 ,{field:'clientName',align:'center', title: '客户名称',minWidth:160,templet:function(d){
-                        return "<a class=\"attention-info\" title=\""+d.clientName+"\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看客户管理', '${ctx}/workclientinfo/workClientInfo/detail?id=" + d.clientId +"','95%', '95%')\">" + d.clientName + "</a>";
+						return "<p class=\"attention-info\" title=\""+d.clientName+"\" " +
+								" >"
+								+ d.clientName + "</p>";
                     }}
                 ,{field:'contractPrice', align:'center',title: '合同金额(元)',width:100,templet:function(d){
                         return "<span title='"+ d.contractPrice2 +"'>" + d.contractPrice2 + "</span>";
@@ -853,7 +857,7 @@
                     ,"id":"${workContractInfo.id}"
                     ,"contractName":"${workContractInfo.name}"
 					,"clientId":"${workContractInfo.client.id}"
-                    ,"clientName":"${workContractInfo.client.name}"
+                    ,"clientName":"${workContractInfo.clientName}"
                     ,"clientType":"${fns:getMainDictLabel(workContractInfo.contractType, 'contract_type', '')}"
                     ,"contractPrice":"${workContractInfo.contractPrice}"
                     ,"contractPrice2":"<fmt:formatNumber value="${workContractInfo.contractPrice}" pattern="#,#00.00"/>"

+ 8 - 4
src/main/webapp/webpage/modules/workcontractinfo/workContractInfoList.jsp

@@ -550,7 +550,7 @@
 					<div class="layui-item query athird">
 						<label class="layui-form-label">客户名称:</label>
 						<div class="layui-input-block with-icon">
-							<form:input path="client.name" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
+							<form:input path="clientName" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
 						</div>
 					</div>
 					<div class="layui-item query athird">
@@ -681,10 +681,14 @@
                         return "<a class=\"attention-info\" title=\""+d.contractName+"\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看合同管理', '${ctx}/workcontractinfo/workContractInfo/lookForm?id=" + d.id + "','95%', '95%')\">" + d.contractName + "</a>";
                     }}
                 ,{field:'recordNum',align:'center', title: '案卷号',minWidth:200,templet:function(d){
-                        return "<a class=\"attention-info\" title=\""+d.recordNum+"\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看合同归档信息', '${ctx}/workcontractrecord/workContractRecord/form?id=" + d.contrractRecordId + "&tabId=1','95%', '95%')\">" + d.recordNum + "</a>";
+                        return "<p class=\"attention-info\" title=\""+d.recordNum+"\" "+
+								">" +
+								d.recordNum + "</p>";
                     }}
                 ,{field:'clientName',align:'center', title: '客户名称',minWidth:160,templet:function(d){
-                        return "<a class=\"attention-info\" title=\""+d.clientName+"\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看客户管理', '${ctx}/workclientinfo/workClientInfo/detail?id=" + d.clientId +"','95%', '95%')\">" + d.clientName + "</a>";
+                        return "<p class=\"attention-info\" title=\""+d.clientName+"\" " +
+								" >"
+								+ d.clientName + "</p>";
                     }}
                 ,{field:'contractPrice', align:'center',title: '合同金额(元)',width:100,templet:function(d){
                         return "<span title='"+ d.contractPrice2 +"'>" + d.contractPrice2 + "</span>";
@@ -866,7 +870,7 @@
                     ,"id":"${workContractInfo.id}"
                     ,"contractName":"${workContractInfo.name}"
 					,"clientId":"${workContractInfo.client.id}"
-                    ,"clientName":"${workContractInfo.client.name}"
+                    ,"clientName":"${workContractInfo.clientName}"
                     ,"clientType":"${fns:getMainDictLabel(workContractInfo.contractType, 'contract_type', '')}"
                     ,"contractPrice":"${workContractInfo.contractPrice}"
                     ,"contractPrice2":"<fmt:formatNumber value="${workContractInfo.contractPrice}" pattern="#,#00.00"/>"

+ 81 - 6
src/main/webapp/webpage/modules/workcontractinfo/workContractInfoLookForm.jsp

@@ -131,15 +131,52 @@
 
 		<div class="tabs-container">
 			<div class="tab-content">
-				<div id="tab-11" class="tab-pane active">
-					<div class="form-group layui-row first lw9">
-						<div class="form-group-label"><h2>项目合同信息</h2></div>
-						<div class="layui-item layui-col-sm6">
-							<label class="layui-form-label ">客户名称:</label>
+				<div id="tab-12" class="tab-pane active">
+					<div class="form-group-label"><h2>客户基础信息</h2>
+						<div class="layui-item layui-col-sm6 lw7">
+							<br>
+							<label class="layui-form-label">客户名称:</label>
 							<div class="layui-input-block">
-								<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${workContractInfo.client.name}"/>
+								<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${workContractInfo.clientName}"/>
 							</div>
 						</div>
+						<div class="layui-item layui-col-sm6 lw7">
+							<br>
+							<label class="layui-form-label">公司电话:</label>
+							<div class="layui-input-block">
+								<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${workContractInfo.telephone}"/>
+							</div>
+						</div>
+						<div class="layui-item layui-col-sm6 lw7">
+							<br>
+							<label class="layui-form-label double-line">拥有统一社会信用代码:</label>
+							<div class="layui-input-block">
+                    <span class="radio-box">&nbsp;&nbsp;
+                        <input type="radio" class="usccClass" name="hasUscc" label="是" disabled="true" <c:if test="${workContractInfo.hasUscc eq 1}">checked="true"</c:if> />是
+                        &nbsp;&nbsp;
+                        <input type="radio" class="usccClass" name="hasUscc" label="否" disabled="true" <c:if test="${workContractInfo.hasUscc eq 2}">checked="true"</c:if> />否
+                    </span>
+							</div>
+						</div>
+						<div class="layui-item layui-col-sm6 lw7">
+							<br>
+							<label class="layui-form-label double-line">统一社会信用代码:</label>
+							<div class="layui-input-block">
+								<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${workContractInfo.uscCode}"/>
+							</div>
+						</div>
+					</div>
+
+				</div>
+				<div id="tab-11" class="tab-pane active">
+					<div class="form-group layui-row first lw9">
+						<div class="form-group-label"><h2>项目合同信息</h2></div>
+<%--						<div class="layui-item layui-col-sm6">--%>
+<%--							<label class="layui-form-label ">客户名称:</label>--%>
+<%--							<div class="layui-input-block">--%>
+<%--								<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${workContractInfo.clientName}"/>--%>
+<%--							</div>--%>
+<%--						</div>--%>
 
 						<div class="layui-item layui-col-sm6">
 							<label class="layui-form-label ">合同名称:</label>
@@ -380,6 +417,44 @@
 						</div>
 					</c:if>--%>
 					<div class="form-group layui-row">
+						<div class="form-group-label"><h2>联系人信息</h2></div>
+						<div class="layui-item layui-col-xs12 form-table-container" >
+							<table id="contentTable" class="table table-bordered table-condensed no-bottom-margin details">
+								<thead>
+								<tr>
+									<th class="hide"></th>
+									<th width="150px">联系人姓名</th>
+									<th >部门</th>
+									<th width="150px">职务</th>
+									<th width="150px">QQ</th>
+									<th width="150px">联系方式1</th>
+									<th width="150px">联系方式2</th>
+									<th width="150px">E-mail</th>
+								</tr>
+								</thead>
+								<tbody id="workClientLinkmanList">
+								<c:forEach items="${clientList}" var="workClientLinkman" varStatus="status">
+									<tr>
+										<td class="hide">${status.index + 1}</td>
+										<td >${workClientLinkman.name}</td>
+										<td >${workClientLinkman.office}</td>
+										<td >${workClientLinkman.position}</td>
+										<td >${workClientLinkman.qq}</td>
+										<td >${workClientLinkman.linkPhone}</td>
+										<td >${workClientLinkman.linkMobile}</td>
+										<td >${workClientLinkman.email}</td>
+									</tr>
+								</c:forEach>
+<%--								<c:if test="${linkManSize == 0}">--%>
+<%--									<tr>--%>
+<%--										<td colspan="8">暂无数据</td>--%>
+<%--									</tr>--%>
+<%--								</c:if>--%>
+								</tbody>
+							</table>
+						</div>
+					</div>
+					<div class="form-group layui-row">
 						<div class="form-group-label"><h2>合同附件表</h2></div>
 						<div class="layui-item layui-col-xs12 form-table-container" >
 							<table id="contentTable" class="table table-bordered table-condensed no-bottom-margin details">