|
@@ -7,6 +7,7 @@ import com.google.gson.Gson;
|
|
|
import com.jeeplus.common.config.Global;
|
|
|
import com.jeeplus.common.persistence.Page;
|
|
|
import com.jeeplus.common.utils.MyBeanUtils;
|
|
|
+import com.jeeplus.common.utils.SpringContextHolder;
|
|
|
import com.jeeplus.common.utils.StringUtils;
|
|
|
import com.jeeplus.common.web.BaseController;
|
|
|
import com.jeeplus.modules.act.entity.Act;
|
|
@@ -32,11 +33,13 @@ import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
|
|
|
import com.jeeplus.modules.projectcontentinfo.service.ProjectReportRecordService;
|
|
|
import com.jeeplus.modules.projectcontentinfo.service.ProjectcontentinfoService;
|
|
|
import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
|
|
|
-import com.jeeplus.modules.projectrecord.enums.ProjectStatusEnum;
|
|
|
import com.jeeplus.modules.projectrecord.service.ProjectPlanService;
|
|
|
import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
|
|
|
+import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectMessageElectronicSealDao;
|
|
|
import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectRecordsReportedDao;
|
|
|
import com.jeeplus.modules.ruralprojectrecords.entity.*;
|
|
|
+import com.jeeplus.modules.ruralprojectrecords.enums.ProjectStatusEnum;
|
|
|
+import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageElectronicSealService;
|
|
|
import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageService;
|
|
|
import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
|
|
|
import com.jeeplus.modules.ruralprojectrecords.utils.FileUtil;
|
|
@@ -44,11 +47,16 @@ import com.jeeplus.modules.sys.entity.Area;
|
|
|
import com.jeeplus.modules.sys.entity.MainDictDetail;
|
|
|
import com.jeeplus.modules.sys.entity.User;
|
|
|
import com.jeeplus.modules.sys.service.UserService;
|
|
|
+import com.jeeplus.modules.sys.service.WorkattachmentService;
|
|
|
import com.jeeplus.modules.sys.utils.DictUtils;
|
|
|
import com.jeeplus.modules.sys.utils.UserUtils;
|
|
|
import com.jeeplus.modules.tools.utils.SignaturePostUtil;
|
|
|
+import com.jeeplus.modules.workactivity.service.WorkActivityProcessService;
|
|
|
import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
|
|
|
import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
|
|
|
+import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotify;
|
|
|
+import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
|
|
|
+import com.jeeplus.modules.workprojectnotify.util.UtilNotify;
|
|
|
import com.jeeplus.modules.workstaff.entity.WorkStaffCertificate;
|
|
|
import net.sf.json.JSONArray;
|
|
|
import net.sf.json.JSONObject;
|
|
@@ -116,6 +124,13 @@ public class RuralProjectSignatureCallBackController extends BaseController {
|
|
|
private RuralProjectRecordsReportedDao ruralProjectRecordsReportedDao;
|
|
|
@Autowired
|
|
|
private ProjectEngineeringService engineeringService;
|
|
|
+ @Autowired
|
|
|
+ private RuralProjectMessageElectronicSealService ruralProjectMessageElectronicSealService;
|
|
|
+
|
|
|
+
|
|
|
+ private WorkActivityProcessService workActivityProcessService = SpringContextHolder.getBean(WorkActivityProcessService.class);
|
|
|
+ private WorkProjectNotifyService workProjectNotifyService = SpringContextHolder.getBean(WorkProjectNotifyService.class);
|
|
|
+ private RuralProjectMessageElectronicSealDao dao = SpringContextHolder.getBean(RuralProjectMessageElectronicSealDao.class);
|
|
|
|
|
|
private static byte[] SYN_BYTE = new byte[0];
|
|
|
|
|
@@ -137,6 +152,8 @@ public class RuralProjectSignatureCallBackController extends BaseController {
|
|
|
return entity;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 预签署回调操作
|
|
|
* @param presignCallBack 回调参数
|
|
@@ -226,6 +243,137 @@ public class RuralProjectSignatureCallBackController extends BaseController {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 报告签章签署完成回调操作
|
|
|
+ * @param presignCallBack 回调参数
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/getSignatureCoordinates", method=RequestMethod.POST)
|
|
|
+ public String getSignatureCoordinates(PresignCallBack presignCallBack) {
|
|
|
+ long t1 = System.currentTimeMillis();
|
|
|
+ //根据contractId查询对应的报告信息
|
|
|
+ RuralProjectRecords records = projectRecordsService.getSignatureByDocumentId(presignCallBack.getDocumentId());
|
|
|
+ if(null == records){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ ProjectReportData projectReportData = projectReportDataService.getReportDataByProjectId(records.getId());
|
|
|
+ ProjectReportSignature projectReportSignature = ruralProjectMessageElectronicSealService.getProjectReportSignature(records.getId());
|
|
|
+ //如果没有返回contractId 则进行数据暂存处理
|
|
|
+ if(StringUtils.isBlank(presignCallBack.getContractId())){
|
|
|
+ String title = "报告号【"+projectReportData.getNumber()+"】报告签章失败。请重新签章";
|
|
|
+ String content = "报告号【"+projectReportData.getNumber()+"】报告签章失败。请重新签章";
|
|
|
+ if ("yes".equals(projectReportSignature.getAct().getFlag())) {
|
|
|
+ projectReportSignature.setStatus(com.jeeplus.modules.ruralprojectrecords.enums.ProjectStatusEnum.SIGNED.getValue());
|
|
|
+ WorkProjectNotify notify = new WorkProjectNotify();
|
|
|
+ notify.setNotifyId(projectReportSignature.getId());
|
|
|
+ //userList = workProjectNotifyService.readByNotifyId(notify);
|
|
|
+ //users.add(projectReportSignature.getCreateBy());
|
|
|
+ //查询是否已经进行发送通知,没有发送则进行发送,否则 直接跳过
|
|
|
+ List<WorkProjectNotify> byTitle = workProjectNotifyService.getByTitle(title);
|
|
|
+ if(byTitle.size() == 0){
|
|
|
+ workProjectNotifyService
|
|
|
+ .save(UtilNotify
|
|
|
+ .saveNotify(projectReportSignature.getId(),
|
|
|
+ projectReportSignature.getCreateBy(),
|
|
|
+ projectReportSignature.getCompany().getId(),
|
|
|
+ title,
|
|
|
+ content,
|
|
|
+ "145",
|
|
|
+ "0",
|
|
|
+ "待通知",
|
|
|
+ "审批通过"));
|
|
|
+ //给苏州质控中的人员发送通知
|
|
|
+ List<User> szzks = UserUtils.getByRoleActivityEnname("XHMDZGS1551886525850szzk",3,projectReportSignature.getOffice().getId(),"4",projectReportSignature.getCreateBy());
|
|
|
+ for (User szzk: szzks) {
|
|
|
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(szzk.getId())){
|
|
|
+ workProjectNotifyService
|
|
|
+ .save(UtilNotify
|
|
|
+ .saveNotify(projectReportSignature.getId(),
|
|
|
+ szzk,
|
|
|
+ projectReportSignature.getCompany().getId(),
|
|
|
+ title,
|
|
|
+ content,
|
|
|
+ "145",
|
|
|
+ "0",
|
|
|
+ "待通知",
|
|
|
+ "审批通过"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ workActivityProcessService.deleteProcessIdAuditUsers(projectReportSignature.getProcessInstanceId());
|
|
|
+
|
|
|
+ projectReportSignature.setStatus(1);
|
|
|
+ dao.updateReportSignature(projectReportSignature);
|
|
|
+
|
|
|
+ }
|
|
|
+ //修改签章信息
|
|
|
+
|
|
|
+ //签章完成则进行数据的保存
|
|
|
+ records.setReportSignatureFlag(1);
|
|
|
+ records.setReportSignatureContractId(presignCallBack.getContractId());
|
|
|
+ records.setReportSignatureUploadDate(new Date());
|
|
|
+ //修改签章对应信息文件
|
|
|
+ projectReportDataService.updateReportSignatureInfo(records);
|
|
|
+
|
|
|
+ //发送通知
|
|
|
+ String title = "报告号【"+projectReportData.getNumber()+"】报告签章审批登记完成";
|
|
|
+ String content = "报告号【"+projectReportData.getNumber()+"】报告签章审批登记完成,项目编号:"+records.getProjectId();
|
|
|
+ projectReportSignature.setStatus(com.jeeplus.modules.ruralprojectrecords.enums.ProjectStatusEnum.SIGNED.getValue());
|
|
|
+ WorkProjectNotify notify = new WorkProjectNotify();
|
|
|
+ notify.setNotifyId(projectReportSignature.getId());
|
|
|
+ //userList = workProjectNotifyService.readByNotifyId(notify);
|
|
|
+ //users.add(projectReportSignature.getCreateBy());
|
|
|
+ //查询是否已经进行发送通知,没有发送则进行发送,否则 直接跳过
|
|
|
+ List<WorkProjectNotify> byTitle = workProjectNotifyService.getByTitle(title);
|
|
|
+ if(byTitle.size() == 0){
|
|
|
+ workProjectNotifyService
|
|
|
+ .save(UtilNotify
|
|
|
+ .saveNotify(projectReportSignature.getId(),
|
|
|
+ projectReportSignature.getCreateBy(),
|
|
|
+ projectReportSignature.getCompany().getId(),
|
|
|
+ title,
|
|
|
+ content,
|
|
|
+ "145",
|
|
|
+ "0",
|
|
|
+ "待通知",
|
|
|
+ "审批通过"));
|
|
|
+ //给苏州质控中的人员发送通知
|
|
|
+ List<User> szzks = UserUtils.getByRoleActivityEnnameSignature("XHMDZGS1551886525850szzk",3,projectReportSignature.getOffice().getId(),"4",projectReportSignature.getCreateBy());
|
|
|
+ for (User szzk: szzks) {
|
|
|
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(szzk.getId())){
|
|
|
+ workProjectNotifyService
|
|
|
+ .save(UtilNotify
|
|
|
+ .saveNotify(projectReportSignature.getId(),
|
|
|
+ szzk,
|
|
|
+ projectReportSignature.getCompany().getId(),
|
|
|
+ title,
|
|
|
+ content,
|
|
|
+ "145",
|
|
|
+ "0",
|
|
|
+ "待通知",
|
|
|
+ "审批通过"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ workActivityProcessService.deleteProcessIdAuditUsers(projectReportSignature.getProcessInstanceId());
|
|
|
+
|
|
|
+ projectReportSignature.setStatus(5);
|
|
|
+ dao.updateReportSignature(projectReportSignature);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ long t2 = System.currentTimeMillis();
|
|
|
+ System.out.println("报告签章回调运行耗时:" + (t2-t1) + " 毫秒");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 下载附件
|