|
@@ -8,7 +8,9 @@ import com.jeeplus.common.config.Global;
|
|
import com.jeeplus.common.oss.OSSClientUtil;
|
|
import com.jeeplus.common.oss.OSSClientUtil;
|
|
import com.jeeplus.common.persistence.Page;
|
|
import com.jeeplus.common.persistence.Page;
|
|
import com.jeeplus.common.service.CrudService;
|
|
import com.jeeplus.common.service.CrudService;
|
|
-import com.jeeplus.common.utils.*;
|
|
|
|
|
|
+import com.jeeplus.common.utils.IdGen;
|
|
|
|
+import com.jeeplus.common.utils.MenuStatusEnum;
|
|
|
|
+import com.jeeplus.common.utils.StringUtils;
|
|
import com.jeeplus.modules.act.entity.Act;
|
|
import com.jeeplus.modules.act.entity.Act;
|
|
import com.jeeplus.modules.act.service.ActTaskService;
|
|
import com.jeeplus.modules.act.service.ActTaskService;
|
|
import com.jeeplus.modules.act.utils.ActUtils;
|
|
import com.jeeplus.modules.act.utils.ActUtils;
|
|
@@ -43,8 +45,10 @@ import com.jeeplus.modules.workbidproject.dao.WorkBidProjectDao;
|
|
import com.jeeplus.modules.workbidproject.entity.WorkBidProject;
|
|
import com.jeeplus.modules.workbidproject.entity.WorkBidProject;
|
|
import com.jeeplus.modules.workclientinfo.dao.WorkClientAttachmentDao;
|
|
import com.jeeplus.modules.workclientinfo.dao.WorkClientAttachmentDao;
|
|
import com.jeeplus.modules.workclientinfo.dao.WorkClientInfoDao;
|
|
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.WorkClientAttachment;
|
|
import com.jeeplus.modules.workclientinfo.entity.WorkClientInfo;
|
|
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.workclientinfo.service.WorkClientInfoService;
|
|
import com.jeeplus.modules.workcontractinfo.dao.*;
|
|
import com.jeeplus.modules.workcontractinfo.dao.*;
|
|
import com.jeeplus.modules.workcontractinfo.entity.*;
|
|
import com.jeeplus.modules.workcontractinfo.entity.*;
|
|
@@ -68,14 +72,15 @@ import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
|
import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
-import java.awt.*;
|
|
|
|
-import java.io.*;
|
|
|
|
|
|
+import java.io.File;
|
|
|
|
+import java.io.FileInputStream;
|
|
|
|
+import java.io.IOException;
|
|
|
|
+import java.io.InputStream;
|
|
import java.lang.reflect.InvocationTargetException;
|
|
import java.lang.reflect.InvocationTargetException;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
-import java.util.List;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 合同管理Service
|
|
* 合同管理Service
|
|
@@ -149,9 +154,21 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
private WorkContractBorrowDao workContractBorrowDao;
|
|
private WorkContractBorrowDao workContractBorrowDao;
|
|
@Autowired
|
|
@Autowired
|
|
private StatementCompanyComprehensiveService statementCompanyComprehensiveService;
|
|
private StatementCompanyComprehensiveService statementCompanyComprehensiveService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private WorkClientLinkmanDao workClientLinkmanDao;
|
|
|
|
|
|
private static byte[] SYN_BYTE = new byte[0];
|
|
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) {
|
|
public WorkContractInfo get(String id) {
|
|
WorkContractInfo workContractInfo = super.get(id);
|
|
WorkContractInfo workContractInfo = super.get(id);
|
|
/*合同投标项目,则查投标。不是投标项目,不去查*/
|
|
/*合同投标项目,则查投标。不是投标项目,不去查*/
|
|
@@ -243,7 +260,6 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
}
|
|
}
|
|
return workContractInfo;
|
|
return workContractInfo;
|
|
}
|
|
}
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* 仅查询合同信息
|
|
* 仅查询合同信息
|
|
* @param id
|
|
* @param id
|
|
@@ -253,6 +269,15 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
WorkContractInfo workContractInfo = super.get(id);
|
|
WorkContractInfo workContractInfo = super.get(id);
|
|
return workContractInfo;
|
|
return workContractInfo;
|
|
}
|
|
}
|
|
|
|
+ /**
|
|
|
|
+ * 仅查询合同信息
|
|
|
|
+ * @param id
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public WorkContractInfo getContractInfoByNum(WorkContractInfo contract) {
|
|
|
|
+ WorkContractInfo workContractInfo = dao.getContractInfoByNum(contract);
|
|
|
|
+ return workContractInfo;
|
|
|
|
+ }
|
|
public String getTotal(String id) {
|
|
public String getTotal(String id) {
|
|
WorkContractInfo workContractInfo = super.get(id);
|
|
WorkContractInfo workContractInfo = super.get(id);
|
|
String str = "";
|
|
String str = "";
|
|
@@ -554,6 +579,31 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
}
|
|
}
|
|
|
|
|
|
super.save(workContractInfo);
|
|
super.save(workContractInfo);
|
|
|
|
+
|
|
|
|
+ List<WorkClientLinkman> linkmanList = workContractInfo.getWorkClientLinkmanList();
|
|
|
|
+ Set<String> setName = new HashSet();
|
|
|
|
+ if(linkmanList.size()>0){
|
|
|
|
+ for (WorkClientLinkman info : linkmanList) {
|
|
|
|
+ if(StringUtils.isNotBlank(info.getName())){
|
|
|
|
+ setName.add(info.getName());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(setName.size()>0){
|
|
|
|
+ //根据合同编号删除所有合同联系人信息
|
|
|
|
+ workClientLinkmanDao.deleteContractLinkman(workContractInfo.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //添加合同联系人信息
|
|
|
|
+ for (WorkClientLinkman clientLinkman : linkmanList) {
|
|
|
|
+ if(StringUtils.isBlank(clientLinkman.getName())){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ clientLinkman.setContractNum(workContractInfo.getContractNum());
|
|
|
|
+ clientLinkman.setContractId(workContractInfo.getId());
|
|
|
|
+ clientLinkman.preInsert();
|
|
|
|
+ workClientLinkmanDao.insertLinkman(clientLinkman);
|
|
|
|
+
|
|
|
|
+ }
|
|
for (WorkClientAttachment workClientAttachment : workContractInfo.getWorkAttachments()){
|
|
for (WorkClientAttachment workClientAttachment : workContractInfo.getWorkAttachments()){
|
|
if (workClientAttachment.getId() == null){
|
|
if (workClientAttachment.getId() == null){
|
|
continue;
|
|
continue;
|
|
@@ -571,6 +621,7 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
}else{
|
|
}else{
|
|
workClientAttachmentDao.delete(workClientAttachment);
|
|
workClientAttachmentDao.delete(workClientAttachment);
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@Transactional(readOnly = false)
|
|
@Transactional(readOnly = false)
|
|
@@ -623,7 +674,7 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@Transactional(readOnly = false)
|
|
@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();
|
|
long begin = System.currentTimeMillis();
|
|
String processInstanceId = workContractInfo.getProcessInstanceId();
|
|
String processInstanceId = workContractInfo.getProcessInstanceId();
|
|
String contractTypeCode = workContractInfo.getContractTypeDoc();
|
|
String contractTypeCode = workContractInfo.getContractTypeDoc();
|
|
@@ -636,226 +687,40 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
contractTypeId = mainDictDetail.getValue();
|
|
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));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- /*//生成合同编号
|
|
|
|
- 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");
|
|
|
|
- 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("");
|
|
|
|
-// 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) {
|
|
|
|
- long begin = System.currentTimeMillis();
|
|
|
|
- String processInstanceId = workContractInfo.getProcessInstanceId();
|
|
|
|
- String contractTypeCode = workContractInfo.getContractTypeDoc();
|
|
|
|
- String contractType = "";
|
|
|
|
- String contractTypeId = "";
|
|
|
|
- List<MainDictDetail> list1 = DictUtils.getMainDictList("contract_info_type");
|
|
|
|
- for(MainDictDetail mainDictDetail:list1){
|
|
|
|
- if(mainDictDetail.getValue().equals(contractTypeCode)){
|
|
|
|
- contractType = mainDictDetail.getLabel();
|
|
|
|
- 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;
|
|
|
|
- }
|
|
|
|
- System.out.println("=============================****************************************************");
|
|
|
|
- workClientInfoDao.insert(workClientInfo);
|
|
|
|
|
|
+// 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);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+// 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){
|
|
// synchronized (SYN_BYTE){
|
|
// workContractInfo.setContractNum(serialNumTplService.genSerialNum(UserUtils.get(workContractInfo.getCreateBy().getId()).getCompany(), type).replace("TYPE",contractType));
|
|
// 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));
|
|
// workContractInfo.setContractNum(serialNumTplService.genSerialNumNotNum(UserUtils.get(workContractInfo.getCreateBy().getId()).getCompany(), WorkContractInfo.SERIAL_CONSULT).replace("TYPE",contractType));
|
|
// //根据当前合同编号查询对应最后一条合同编号
|
|
// //根据当前合同编号查询对应最后一条合同编号
|
|
// String contractLastNumStr = dao.getContractLastNum(workContractInfo.getContractNum());
|
|
// String contractLastNumStr = dao.getContractLastNum(workContractInfo.getContractNum());
|
|
@@ -867,7 +732,7 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
// }else {
|
|
// }else {
|
|
// //更新合同编号
|
|
// //更新合同编号
|
|
// workContractInfo.setContractNum(workContractInfo.getContractNum() + String.format("%04d", 1));
|
|
// workContractInfo.setContractNum(workContractInfo.getContractNum() + String.format("%04d", 1));
|
|
-// }
|
|
|
|
|
|
+// }*/
|
|
// long end2 = System.currentTimeMillis();
|
|
// long end2 = System.currentTimeMillis();
|
|
// logger.info("合同送审-项目编码设置任务结束,共耗时:[" + (end2-begin) / 1000 + "]秒");
|
|
// logger.info("合同送审-项目编码设置任务结束,共耗时:[" + (end2-begin) / 1000 + "]秒");
|
|
// }
|
|
// }
|
|
@@ -884,7 +749,7 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
// OSSClientUtil ossUtil = new OSSClientUtil();
|
|
// OSSClientUtil ossUtil = new OSSClientUtil();
|
|
// ossUtil.uploadFile2OSS(byteArrayInputStream, Global.getContractNumPath(), picNamePhoto);
|
|
// ossUtil.uploadFile2OSS(byteArrayInputStream, Global.getContractNumPath(), picNamePhoto);
|
|
// workContractInfo.setContractNumPath(Global.getAliyunUrl()+"/"+Global.getContractNumPath()+picNamePhoto);
|
|
// workContractInfo.setContractNumPath(Global.getAliyunUrl()+"/"+Global.getContractNumPath()+picNamePhoto);
|
|
- }
|
|
|
|
|
|
+// }
|
|
workContractInfo.setContractState("5");
|
|
workContractInfo.setContractState("5");
|
|
this.save(workContractInfo);
|
|
this.save(workContractInfo);
|
|
// Office office = UserUtils.getUser().getOffice();
|
|
// Office office = UserUtils.getUser().getOffice();
|
|
@@ -903,7 +768,7 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
// workContractInfo.getCompanyId(),
|
|
// workContractInfo.getCompanyId(),
|
|
// title,
|
|
// title,
|
|
// str,
|
|
// str,
|
|
-// "143",
|
|
|
|
|
|
+// "16",
|
|
// "0",
|
|
// "0",
|
|
// "待审批",
|
|
// "待审批",
|
|
// ""
|
|
// ""
|
|
@@ -912,8 +777,7 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
// String officeId = UserUtils.getSelectOffice().getId();
|
|
// String officeId = UserUtils.getSelectOffice().getId();
|
|
// List<User> bmzrs = UserUtils.getByRoleActivityEnname("bmzr",2,office.getId(),"2",workContractInfo.getCreateBy());
|
|
// 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> scyfglbzrs = UserUtils.getByRoleActivityEnname("scyfglbzr",1,office.getId(),"2",workContractInfo.getCreateBy());
|
|
-// //获取总经理人员信息
|
|
|
|
-// List<User> zjls = UserUtils.getByRoleActivityEnname("zjl",3,office.getId(),"2",workContractInfo.getCreateBy());
|
|
|
|
|
|
+//// List<User> fglds = UserUtils.getByRoleActivityEnname("scfgld",3,office.getId(),"2",workContractInfo.getCreateBy());
|
|
// long end3 = System.currentTimeMillis();
|
|
// long end3 = System.currentTimeMillis();
|
|
// logger.info("合同送审-查找人员审核任务结束,共耗时:[" + (end3-begin2) / 1000 + "]秒");
|
|
// logger.info("合同送审-查找人员审核任务结束,共耗时:[" + (end3-begin2) / 1000 + "]秒");
|
|
// long begin3 = System.currentTimeMillis();
|
|
// long begin3 = System.currentTimeMillis();
|
|
@@ -951,17 +815,12 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
// }
|
|
// }
|
|
// workProjectNotify.setId("");
|
|
// workProjectNotify.setId("");
|
|
// } else {
|
|
// } else {
|
|
-// processType = "newContractAudit";
|
|
|
|
|
|
+// processType = "contractCheck";
|
|
// if(bmzrs==null||bmzrs.size()==0){
|
|
// if(bmzrs==null||bmzrs.size()==0){
|
|
// workContractInfo.setContractState("1");
|
|
// workContractInfo.setContractState("1");
|
|
// this.save(workContractInfo);
|
|
// this.save(workContractInfo);
|
|
// return "流程审批人不能为空,角色部门负责人下无用户,请联系管理员!";
|
|
// return "流程审批人不能为空,角色部门负责人下无用户,请联系管理员!";
|
|
// }
|
|
// }
|
|
-// if(zjls==null||zjls.size()==0){
|
|
|
|
-// workContractInfo.setContractState("1");
|
|
|
|
-// this.save(workContractInfo);
|
|
|
|
-// return "流程总经理审批人不能为空,总经理审批人下无用户,请联系管理员!";
|
|
|
|
-// }
|
|
|
|
// variables.put("bmzrList", bmzrs);
|
|
// variables.put("bmzrList", bmzrs);
|
|
// variables.put("bmzrCount",bmzrs.size());
|
|
// variables.put("bmzrCount",bmzrs.size());
|
|
// users.addAll(bmzrs);
|
|
// users.addAll(bmzrs);
|
|
@@ -976,7 +835,7 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
// Map<String,Object> extras = new HashMap<>();
|
|
// Map<String,Object> extras = new HashMap<>();
|
|
// extras.put("type","7002");
|
|
// extras.put("type","7002");
|
|
// extras.put("id",workProjectNotify.getId());
|
|
// extras.put("id",workProjectNotify.getId());
|
|
-// extras.put("procDefKey","143");
|
|
|
|
|
|
+// extras.put("procDefKey","16");
|
|
// UserUtils.pushInfoToApp(title,str,extras,u.getId());
|
|
// UserUtils.pushInfoToApp(title,str,extras,u.getId());
|
|
// UserUtils.pushIm(u.getId(),str);
|
|
// UserUtils.pushIm(u.getId(),str);
|
|
// }
|
|
// }
|
|
@@ -999,7 +858,6 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
// workContractInfoDao.updateProcessInstanceId(workContractInfo);
|
|
// workContractInfoDao.updateProcessInstanceId(workContractInfo);
|
|
// //通知添加流程实例ID
|
|
// //通知添加流程实例ID
|
|
// workProjectNotify.setProcessInstanceId(processInstance.getId());
|
|
// workProjectNotify.setProcessInstanceId(processInstance.getId());
|
|
-// workProjectNotify.setWapBeginDate(new Date());
|
|
|
|
// workProjectNotifyService.save(workProjectNotify);
|
|
// workProjectNotifyService.save(workProjectNotify);
|
|
//
|
|
//
|
|
// List<Activity> list = workActivityMenu.getActivities();
|
|
// List<Activity> list = workActivityMenu.getActivities();
|
|
@@ -1007,19 +865,45 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
// workActivityProcessService.saveList(list, processInstance.getId());
|
|
// workActivityProcessService.saveList(list, processInstance.getId());
|
|
// } else {
|
|
// } else {
|
|
// WorkActivityProcess workActivityProcess = new WorkActivityProcess();
|
|
// WorkActivityProcess workActivityProcess = new WorkActivityProcess();
|
|
-// workActivityProcess.setProcessKey("newContractAudit");
|
|
|
|
|
|
+// workActivityProcess.setProcessKey("contractCheck");
|
|
// workActivityProcess.setCount(1);
|
|
// workActivityProcess.setCount(1);
|
|
// workActivityProcess.setProcessInstanceId(processInstance.getId());
|
|
// workActivityProcess.setProcessInstanceId(processInstance.getId());
|
|
// workActivityProcess.setIsApproval("0");
|
|
// workActivityProcess.setIsApproval("0");
|
|
// workActivityProcessService.save(workActivityProcess);
|
|
// workActivityProcessService.save(workActivityProcess);
|
|
-// workActivityProcess.setCount(2);
|
|
|
|
-// workActivityProcessService.insert(workActivityProcess);
|
|
|
|
|
|
+//// 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(bmzrs,processInstance.getId(),1,1);
|
|
-// workActivityProcessService.insertAuditsByType(zjls,processInstance.getId(),2,0);
|
|
|
|
|
|
+//// workActivityProcessService.insertAuditsByType(scyfglbzrs,processInstance.getId(),2,0);
|
|
//// workActivityProcessService.insertAuditsByType(fglds,processInstance.getId(),3,0);
|
|
//// workActivityProcessService.insertAuditsByType(fglds,processInstance.getId(),3,0);
|
|
// }
|
|
// }
|
|
// long end = System.currentTimeMillis();
|
|
// long end = System.currentTimeMillis();
|
|
// logger.info("合同送审任务结束,共耗时:[" + (end-begin) / 1000 + "]秒,流程启动时间:"+(s2-s1)+"ms");
|
|
// logger.info("合同送审任务结束,共耗时:[" + (end-begin) / 1000 + "]秒,流程启动时间:"+(s2-s1)+"ms");
|
|
|
|
+//
|
|
|
|
+ return "";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Transactional(readOnly = false)
|
|
|
|
+ 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();
|
|
|
|
+ String contractType = "";
|
|
|
|
+ String contractTypeId = "";
|
|
|
|
+ List<MainDictDetail> list1 = DictUtils.getMainDictList("contract_info_type");
|
|
|
|
+ for(MainDictDetail mainDictDetail:list1){
|
|
|
|
+ if(mainDictDetail.getValue().equals(contractTypeCode)){
|
|
|
|
+ contractType = mainDictDetail.getLabel();
|
|
|
|
+ contractTypeId = mainDictDetail.getValue();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ workContractInfo.setContractState("5");
|
|
|
|
+ this.save(workContractInfo);
|
|
return "";
|
|
return "";
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1141,6 +1025,9 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
page.setList(dao.findListByclient(client));
|
|
page.setList(dao.findListByclient(client));
|
|
return page;
|
|
return page;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
public WorkContractInfo getByProcessInstanceId(String processInstanceId){
|
|
public WorkContractInfo getByProcessInstanceId(String processInstanceId){
|
|
WorkContractInfo workClientInfo = workContractInfoDao.getByProcessInstanceId(processInstanceId);
|
|
WorkContractInfo workClientInfo = workContractInfoDao.getByProcessInstanceId(processInstanceId);
|
|
return workClientInfo;
|
|
return workClientInfo;
|
|
@@ -3291,18 +3178,18 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
|
|
public void updateWorkContractInfo(WorkContractInfo workContractInfo) {
|
|
public void updateWorkContractInfo(WorkContractInfo workContractInfo) {
|
|
String contractId = workContractInfo.getId();
|
|
String contractId = workContractInfo.getId();
|
|
WorkClientInfo client = workContractInfo.getClient();
|
|
WorkClientInfo client = workContractInfo.getClient();
|
|
- WorkClientInfo clientInfo = workClientInfoService.get(client.getId());
|
|
|
|
- //根据客户信息查询委托方联系人信息
|
|
|
|
- if(workContractInfo.getWorkClientInfoList().size()==0){
|
|
|
|
- WorkClientInfo workClientInfo = new WorkClientInfo();
|
|
|
|
- workClientInfo.setId(clientInfo.getId());
|
|
|
|
- workClientInfo.setName(clientInfo.getName());
|
|
|
|
- workClientInfo.setCompanyType(DictUtils.getMainDictLabel(clientInfo.getCompanyType(),"company_type",""));
|
|
|
|
- workClientInfo.setCompanyIndustry(DictUtils.getMainDictLabel(clientInfo.getCompanyIndustry(),"company_industry",""));
|
|
|
|
- workClientInfo.setArea(clientInfo.getArea());
|
|
|
|
- workContractInfo.getWorkClientInfoList().add(workClientInfo);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+// WorkClientInfo clientInfo = workClientInfoService.get(client.getId());
|
|
|
|
+
|
|
|
|
+//根据客户信息查询委托方联系人信息
|
|
|
|
+// if(workContractInfo.getWorkClientInfoList().size()==0){
|
|
|
|
+// WorkClientInfo workClientInfo = new WorkClientInfo();
|
|
|
|
+// workClientInfo.setId(clientInfo.getId());
|
|
|
|
+// workClientInfo.setName(clientInfo.getName());
|
|
|
|
+// workClientInfo.setCompanyType(DictUtils.getMainDictLabel(clientInfo.getCompanyType(),"company_type",""));
|
|
|
|
+// workClientInfo.setCompanyIndustry(DictUtils.getMainDictLabel(clientInfo.getCompanyIndustry(),"company_industry",""));
|
|
|
|
+// workClientInfo.setArea(clientInfo.getArea());
|
|
|
|
+// workContractInfo.getWorkClientInfoList().add(workClientInfo);
|
|
|
|
+// }
|
|
WorkContractClient workContractClient1 = new WorkContractClient();
|
|
WorkContractClient workContractClient1 = new WorkContractClient();
|
|
workContractClient1.setContractId(contractId);
|
|
workContractClient1.setContractId(contractId);
|
|
List<WorkContractClient> list1 =workContractClientService.findList(workContractClient1);
|
|
List<WorkContractClient> list1 =workContractClientService.findList(workContractClient1);
|