Procházet zdrojové kódy

上报数据管理员提交到省站省站

user5 před 3 roky
rodič
revize
f1c24be482

+ 7 - 1
src/main/java/com/jeeplus/modules/act/web/ActTaskController.java

@@ -12,8 +12,10 @@ import com.jeeplus.modules.act.service.ActTaskService;
 import com.jeeplus.modules.act.utils.ActUtils;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportRecord;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportRecordService;
+import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralPeojectRecordChooseCheckService;
+import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
 import com.jeeplus.modules.sys.entity.Role;
 import com.jeeplus.modules.sys.entity.SysRoleActivity;
 import com.jeeplus.modules.sys.entity.User;
@@ -58,6 +60,8 @@ public class ActTaskController extends BaseController {
 	private RuralPeojectRecordChooseCheckService ruralPeojectRecordChooseCheckService;
 	@Autowired
 	private ProjectReportRecordService projectReportRecordService;
+	@Autowired
+	private RuralProjectRecordsService projectRecordsService;
 
 	/**
 	 * 获取待办列表
@@ -330,6 +334,8 @@ public class ActTaskController extends BaseController {
 
 			//查询电子归档信息
 			ProjectReportRecord newProjectReportRecord = projectReportRecordService.get(recordId);
+			//查询项目信息
+			RuralProjectRecords ruralProjectRecords = projectRecordsService.get(newProjectReportRecord.getReport().getProject().getId());
 
 			WorkActivityProcess workActivityProcess = new WorkActivityProcess();
 			workActivityProcess.setProcessInstanceId(act.getProcInsId());
@@ -475,7 +481,7 @@ public class ActTaskController extends BaseController {
 				RuralProjectRecords project = null;
 				Integer flag = 0;
 				for (WorkActivityProcess info: lists) {
-					if(null != newProjectReportRecord && !"modifyApply".equals(info.getActivityTask())){
+					if(null != newProjectReportRecord && !"modifyApply".equals(info.getActivityTask()) && !"2".equals(ruralProjectRecords.getSubmitMoney())){
 						if(2 == newProjectReportRecord.getRecordAuditType() && "总审审核".equals(info.getActivity().getName()) && "newReportRecordTwo".equals(info.getProcessKey())){
 							lists.remove(info);
 						}

+ 46 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewService.java

@@ -3533,4 +3533,50 @@ public class RuralProjectMessageNewService extends CrudService<RuralProjectMessa
         data.put("list",list);
         return data;
     }
+
+    /**
+     * 上报审核
+     * @param reported
+     * @return
+     */
+    @Transactional(readOnly = false)
+    public String saveReportedProvincialStanding(RuralProjectRecordsReported reported) {
+        try {
+            //信用代码id
+            String jsonUscCode = "{\"uscCode\": \"91320000746823994F\"";
+            Map map = RuralProjectReportedInfoUtil.reportedDataManage(reported);
+            String jsonUscData = JSONObject.toJSONString(map);
+            byte[] privateKey = org.apache.commons.codec.binary.Base64.decodeBase64(PRIVATE_KEY);
+            //客户拿到密钥将自己的数据 jsonUscData 进行非对称加密。
+            byte[] encryptByPrivateKey = new byte[0];
+            try {
+                encryptByPrivateKey = Rsatool.encryptByPrivateKey(jsonUscData.getBytes(), privateKey);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+            //将唯一标志和非对称加密后数据采用对称加密,方便传到服务段解析,并获得非对称的公钥来解密客户用密钥加密的数据
+            String encryString = jsonUscCode + ",\"data\":\"" + Base64.encodeBase64String(encryptByPrivateKey) + "\"}";
+            String encryptByAes = null;
+            try {
+                encryptByAes = Aestool.Encrypt(encryString, AES_KEY);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+            //正式接口
+            String url = "http://comp.jszj.com.cn:8031/api/addProject";
+            //发送请求
+            String returnResult = HttpPostTool.doPost(url, encryptByAes);
+            HashMap hashMap = JSON.parseObject(returnResult, HashMap.class);
+            if(!"1".equals(hashMap.get("code"))){
+                return "上报失败:" + hashMap.get("msg").toString();
+            }
+            return "提交省站成功!";
+        }catch (ActivitiObjectNotFoundException e){
+            logger.error("ActivitiObjectNotFoundException e:",e);
+            return "流程已审批,不能重新审批!";
+        }catch (Exception e){
+            logger.error("Exception e:",e);
+            return "保存审核意见失败!!";
+        }
+    }
 }

+ 68 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageNewController.java

@@ -1983,4 +1983,72 @@ public class RuralCostProjectMessageNewController extends BaseController {
     }
 
 
+    /**
+     * 项目上报
+     * @param projectRecords
+     * @return
+     */
+    @RequestMapping(value = "submitReportedProvincialStanding")
+    public String submitReportedProvincialStanding(RuralProjectRecords projectRecords, Model model) {
+        //查询上报信息表中是否含有数据,没有则进行获取基础数据
+        RuralProjectRecordsReported reported = ruralProjectMessageService.getRuralProjectRecordsReported(projectRecords.getId());
+        ProcessInstance processInstance = actTaskService.getProcIns(reported.getProcessInstanceId());
+        if (processInstance!=null) {
+            Task taskInfok = actTaskService.getCurrentTaskInfo(processInstance);
+            Act act = new Act();
+            act.setTaskId(taskInfok.getId());
+            act.setTaskName(taskInfok.getName());
+            act.setTaskDefKey(taskInfok.getTaskDefinitionKey());
+            act.setProcDefId(taskInfok.getProcessDefinitionId());
+            act.setProcInsId(taskInfok.getProcessInstanceId());
+            act.setTask(taskInfok);
+            reported.setAct(act);
+        }
+        RuralProjectRecords records = projectRecordsService.getQueryProjectUsers(reported.getProjectId());
+        //根据上报id查询上报咨询员的信息
+        List<RuralReportConsultant> reportedConsultants=ruralProjectMessageS.getReportedConsultantsList(reported.getId());
+        //对上报的咨询员进行处理
+        List<RuralReportConsultant> consultantList = ruralProjectMessageS.disposereportedConsultant(reportedConsultants);
+
+        //获取工程类型
+        ProjectEngineeringInfo engineeringInfos=engineeringService.getProjectReportedType(reported.getPorjectUse());
+        model.addAttribute("engineeringInfo", engineeringInfos);
+        List<Area> areaList = ruralProjectMessageS.getProjectReportedAreaByParentId(reported.getS1());
+        model.addAttribute("cityList", areaList);
+        //查询项目信息
+        model.addAttribute("ruralProjectRecords", records);
+        model.addAttribute("consultantInfo", consultantList);
+        model.addAttribute("ruralProjectRecordsReported", reported);
+        return "modules/ruralprojectrecords/cost/newReported/submitReportedProvincialStandingForm";
+    }
+
+    /**
+     * 工单执行(完成任务)
+     * @param model
+     * @return
+     */
+    @RequestMapping(value = "saveReportedProvincialStanding")
+    public String saveReportedProvincialStanding(RuralProjectRecordsReported reported, Model model,
+                                    RedirectAttributes redirectAttributes) {
+        try {
+            ruralProjectMessageService.disposeList(reported);
+            RuralProjectRecordsReported t = ruralProjectMessageService.getRuralProjectRecordsReportedById(reported.getId());;//从数据库取出记录的值
+            MyBeanUtils.copyBeanNotNull2Bean(reported, t);//将编辑表单中的非NULL值覆盖数据库记录中的值
+
+            String str = ruralProjectMessageService.saveReportedProvincialStanding(t);
+
+            addMessage(redirectAttributes, str);
+        }catch (Exception e){
+            addMessage(redirectAttributes, "上报流程审批失败");
+            logger.error("上报流程审批失败:",e);
+        }
+        RuralProjectRecords ruralProjectRecords = projectRecordsService.get(reported.getProjectId());
+
+        if("1".equals(ruralProjectRecords.getProjectType())){
+            return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralProjectMessage/?repage";
+        }else if("2".equals(ruralProjectRecords.getProjectType())){
+            return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralCostProjectMessage/?repage";
+        }
+        return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralProjectMessage/?repage";
+    }
 }

+ 11 - 2
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageNewTwoController.java

@@ -663,13 +663,22 @@ public class RuralCostProjectMessageNewTwoController extends BaseController {
                 if (StringUtils.isNotBlank(projectReportRecord.getView()) && projectReportRecord.getView().equals("modify")){
                     projectReportRecord.setStatus("2");
                 }
-                ruralProjectRecordTwoService.saveProjectReportRecord(t,variables,processInstanceId);//保存
+                if("2".equals(ruralProjectRecords.getSubmitMoney())){
+                    ruralProjectMessageS.saveProjectReportRecord(t,variables,processInstanceId);//保存
+                }else {
+                    ruralProjectRecordTwoService.saveProjectReportRecord(t,variables,processInstanceId);//保存
+                }
+
             }else {//新增表单保存
                 ProjectReportRecord reportRecord = projectReportRecordService.getprojectReportRecord(projectReportRecord.getReport().getId());//从数据库取出记录的值
                 if(null !=reportRecord){
                     projectReportRecord.setId(reportRecord.getId());
                 }
-                ruralProjectRecordTwoService.saveProjectReportRecord(projectReportRecord,variables,processInstanceId);//保存
+                if("2".equals(ruralProjectRecords.getSubmitMoney())){
+                    ruralProjectMessageS.saveProjectReportRecord(projectReportRecord,variables,processInstanceId);//保存
+                }else {
+                    ruralProjectRecordTwoService.saveProjectReportRecord(projectReportRecord,variables,processInstanceId);//保存
+                }
             }
             addMessage(redirectAttributes, "保存报告归档成功");
         }catch (Exception e){

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1659 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/cost/newReported/submitReportedProvincialStandingForm.jsp


+ 5 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageList.jsp

@@ -1012,6 +1012,11 @@
 							}
 						}
 						</shiro:hasPermission>
+						<shiro:hasPermission name="ruralProject:ruralCostProjectMessage:reportedProvincialStanding">
+							if(d.reportedState == 5 || d.reportedState == 7){
+								xml+="<a href=\"#\" onclick=\"openDialogreReportSwitch('上报管理', '${ctx}/ruralProject/ruralCostProjectMessageNew/submitReportedProvincialStanding?id=" +  d.id + " ','95%', '95%','','上报,关闭')\" style='background-color: #1E9FFF' class=\"layui-btn layui-btn-xs layui-bg-green\" > 提交省站</a>";
+							}
+						</shiro:hasPermission>
 						xml+="</div>";
 						return[xml].join('');
 					}}

+ 6 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList.jsp

@@ -1012,6 +1012,12 @@
 							}
 						}
 						</shiro:hasPermission>
+
+						<shiro:hasPermission name="ruralProject:ruralCostProjectMessage:reportedProvincialStanding">
+						if(d.reportedState == 5 || d.reportedState == 7){
+							xml+="<a href=\"#\" onclick=\"openDialogreReportSwitch('上报管理', '${ctx}/ruralProject/ruralCostProjectMessageNew/submitReportedProvincialStanding?id=" +  d.id + " ','95%', '95%','','上报,关闭')\" style='background-color: #1E9FFF' class=\"layui-btn layui-btn-xs layui-bg-green\" > 提交省站</a>";
+						}
+						</shiro:hasPermission>
 						xml+="</div>";
 						return[xml].join('');
 					}}