|
@@ -7,12 +7,16 @@ import com.jeeplus.common.utils.StringUtils;
|
|
|
import com.jeeplus.common.web.BaseController;
|
|
|
import com.jeeplus.modules.act.entity.Act;
|
|
|
import com.jeeplus.modules.act.service.ActTaskService;
|
|
|
+import com.jeeplus.modules.knowledgeSharing.entity.KnowledgeSharingInfo;
|
|
|
+import com.jeeplus.modules.knowledgeSharing.entity.KnowledgeSharingView;
|
|
|
+import com.jeeplus.modules.knowledgeSharing.service.KnowledgeSharingDetailsService;
|
|
|
+import com.jeeplus.modules.projectAccessory.dao.ProjectTemplateDao;
|
|
|
import com.jeeplus.modules.projectAccessory.entity.ProjectAccessoryRelationInfo;
|
|
|
+import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
|
|
|
import com.jeeplus.modules.projectAccessory.service.ProjectTemplateService;
|
|
|
import com.jeeplus.modules.projectEngineering.service.ProjectEngineeringService;
|
|
|
import com.jeeplus.modules.projectcontentinfo.dao.ProjectReportDataDao;
|
|
|
import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
|
|
|
-import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportDataTwo;
|
|
|
import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportRecord;
|
|
|
import com.jeeplus.modules.projectcontentinfo.service.*;
|
|
|
import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
|
|
@@ -26,12 +30,15 @@ import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsServic
|
|
|
import com.jeeplus.modules.sys.dao.OfficeDao;
|
|
|
import com.jeeplus.modules.sys.dao.UserDao;
|
|
|
import com.jeeplus.modules.sys.entity.MainDictDetail;
|
|
|
-import com.jeeplus.modules.sys.entity.Office;
|
|
|
import com.jeeplus.modules.sys.entity.User;
|
|
|
+import com.jeeplus.modules.sys.entity.Workattachment;
|
|
|
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.workclientinfo.entity.WorkClientAttachment;
|
|
|
import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
|
|
|
+import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
|
|
|
import com.jeeplus.modules.workstaff.entity.WorkStaffCertificate;
|
|
|
import org.activiti.engine.HistoryService;
|
|
|
import org.activiti.engine.runtime.ProcessInstance;
|
|
@@ -65,11 +72,11 @@ public class RuralCostProjectMessageNewTwoController extends BaseController {
|
|
|
@Autowired
|
|
|
private ProjectReportDataService projectReportDataService;
|
|
|
@Autowired
|
|
|
- private ProjectContentDataService projectContentDataService;
|
|
|
+ private ProjectTemplateDao projectTemplateDao;
|
|
|
@Autowired
|
|
|
private ProjectcontentinfoService projectcontentinfoService;
|
|
|
@Autowired
|
|
|
- private ProjectReportChangeService projectReportChangeService;
|
|
|
+ private WorkProjectNotifyService workProjectNotifyService;
|
|
|
@Autowired
|
|
|
protected HistoryService historyService;
|
|
|
@Autowired
|
|
@@ -94,6 +101,10 @@ public class RuralCostProjectMessageNewTwoController extends BaseController {
|
|
|
private RestTemplate restTemplate;
|
|
|
@Autowired
|
|
|
private OfficeDao officeDao;
|
|
|
+ @Autowired
|
|
|
+ private WorkattachmentService workattachmentService;
|
|
|
+ @Autowired
|
|
|
+ private KnowledgeSharingDetailsService knowledgeSharingDetailsService;
|
|
|
|
|
|
private static byte[] SYN_BYTE = new byte[0];
|
|
|
|
|
@@ -249,6 +260,108 @@ public class RuralCostProjectMessageNewTwoController extends BaseController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 根据信息获取归档信息并调转页面
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "formCaseBase")
|
|
|
+ public String formCaseBase(ProjectReportRecord projectReportRecord, Model model) throws Exception {
|
|
|
+ //查询“配农网”工程类型id
|
|
|
+ String engineeringId = engineeringService.getEngineeringId("202");
|
|
|
+ if (StringUtils.isBlank(projectReportRecord.getView()) || !projectReportRecord.getView().equals("view")){
|
|
|
+ if(StringUtils.isBlank(projectReportRecord.getId())){
|
|
|
+ projectReportRecord.setCreateDate(new Date());
|
|
|
+ projectReportRecord.setCreateBy(UserUtils.getUser());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ProjectReportData projectReportData = new ProjectReportData();
|
|
|
+ ProjectRecords projectRecords = new ProjectRecords();
|
|
|
+ projectReportData.setFileStatus("1");
|
|
|
+ ProjectReportData reportData = ruralProjectMessageService.getProjectReportDateByProjectId(projectReportRecord.getReportId());
|
|
|
+ if(null != reportData){
|
|
|
+ if (StringUtils.isBlank(projectReportRecord.getView()) || !projectReportRecord.getView().equals("view")){
|
|
|
+ synchronized (SYN_BYTE) {
|
|
|
+ int count = projectReportRecordService.getNumber(reportData.getId());
|
|
|
+ projectReportRecord.setRecordNum(count>9?reportData.getNumber()+"-"+count+"":reportData.getNumber()+"-"+"0"+count);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ ProjectReportRecord projectReportRecordInfo =ruralProjectMessageService.getProjectReportRecord(reportData.getId());
|
|
|
+ MyBeanUtils.copyBeanNotNull2Bean(projectReportRecordInfo, projectReportRecord);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //获取项目信息
|
|
|
+ RuralProjectRecords ruralProjectRecords = projectRecordsService.get(projectReportRecord.getReportId());
|
|
|
+ MyBeanUtils.copyBeanNotNull2Bean(ruralProjectRecords, projectRecords);
|
|
|
+ //获取合同信息
|
|
|
+ WorkContractInfo projectContractInfo = ruralProjectMessageService.getProjectContractInfo(projectRecords.getWorkContractInfo().getId());
|
|
|
+ projectRecords.setWorkContractInfo(projectContractInfo);
|
|
|
+ reportData.setProject(projectRecords);
|
|
|
+ projectReportRecord.setReport(reportData);
|
|
|
+ projectReportRecord.setUploadMode(uploadMode);
|
|
|
+ model.addAttribute("projectReportRecord", projectReportRecord);
|
|
|
+ model.addAttribute("project", projectReportRecord.getReport().getProject());
|
|
|
+
|
|
|
+ ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
|
|
|
+ //添加项目类型
|
|
|
+ relateInfo.setAttachmentProjectType(ruralProjectRecords.getProjectType());
|
|
|
+ relateInfo.setAttachmentProjectSort(ruralProjectRecords.getAttachmentProjectSort());
|
|
|
+ //判断是否为打包项目,打包项目无需查看项目送审金额是否为500w以上判定
|
|
|
+ String money=ruralProjectRecords.getSubmitMoney();
|
|
|
+ Integer approvalMoney=null;
|
|
|
+ if(StringUtils.isBlank(money)){
|
|
|
+ approvalMoney=1;
|
|
|
+ }else{
|
|
|
+ approvalMoney=Integer.parseInt(money);
|
|
|
+ }
|
|
|
+ switch (approvalMoney){
|
|
|
+ case 0:
|
|
|
+ //金额为0
|
|
|
+ relateInfo.setAttachmentProjectApprovalMoney(null);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ //500w以下金额状态
|
|
|
+ relateInfo.setAttachmentProjectApprovalMoney("1");
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ //500w以上金额状态
|
|
|
+ relateInfo.setAttachmentProjectApprovalMoney("2");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ //添加报告类型
|
|
|
+ relateInfo.setRequiredStage(2);
|
|
|
+ relateInfo.setId(ruralProjectRecords.getId());
|
|
|
+ //查询项目是否时案例项目
|
|
|
+ ruralProjectRecords = projectRecordsService.getCaseBaseByProjectId(ruralProjectRecords);
|
|
|
+ //查询报告文件、依据性文件、其他文件必填列表以及数据
|
|
|
+ List<MainDictDetail> mainDictDetails = projectTemplateService.attachmentTemplateList();
|
|
|
+ //文件处理
|
|
|
+ projectTemplateService.disposeProjectTemplateFile(mainDictDetails,relateInfo,engineeringId,ruralProjectRecords,projectReportRecord,"1000");
|
|
|
+
|
|
|
+ if(null != projectContractInfo){
|
|
|
+ if(projectContractInfo.getWorkClientInfoList().size()>0){
|
|
|
+ model.addAttribute("workClientInfoName", projectContractInfo.getWorkClientInfoList().get(0).getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(projectReportRecord.getView()) && projectReportRecord.getView().equals("view")){
|
|
|
+ return "modules/ruralprojectrecords/cost/projectReportRecord/projectReportRecordView";
|
|
|
+ }else if (StringUtils.isNotBlank(projectReportRecord.getView()) && projectReportRecord.getView().equals("modiftApply")){
|
|
|
+ ProcessInstance processInstance = actTaskService.getProcIns(projectReportRecord.getProcessInstanceId());
|
|
|
+ if (processInstance!=null) {
|
|
|
+ Task taskInfok = actTaskService.getCurrentTaskInfo(processInstance);
|
|
|
+ Act act = new Act();
|
|
|
+ act.setTaskId(taskInfok.getId());
|
|
|
+ act.setTaskName(taskInfok.getName());
|
|
|
+ act.setProcDefId(taskInfok.getProcessDefinitionId());
|
|
|
+ act.setTaskDefKey(taskInfok.getTaskDefinitionKey());
|
|
|
+ act.setProcInsId(taskInfok.getProcessInstanceId());
|
|
|
+ act.setTask(taskInfok);
|
|
|
+ projectReportRecord.setAct(act);
|
|
|
+ }
|
|
|
+ return "modules/projectcontentinfo/projectReportRecordModiftApply";
|
|
|
+ }
|
|
|
+ return "modules/projectcontentinfo/projectReportRecordCaseBaseForm";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 暂存报告归档
|
|
|
* @param projectReportRecord
|
|
|
* @param model
|
|
@@ -899,6 +1012,70 @@ public class RuralCostProjectMessageNewTwoController extends BaseController {
|
|
|
return "redirect:" + Global.getAdminPath() + "/ruralProject/ruralCostProjectMessage/?repage";
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存项目案例文件,并进行处理
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "saveCaseBaseRecord")
|
|
|
+ public String saveCaseBaseRecord(ProjectReportRecord projectReportRecord, Model model, RedirectAttributes redirectAttributes,Integer saveAuditFlag) throws Exception{
|
|
|
+ //获取项目信息
|
|
|
+ RuralProjectRecords ruralProjectRecords = projectRecordsService.get(projectReportRecord.getReport().getProject().getId());
|
|
|
+ addMessage(redirectAttributes, "案例数据保存成功");
|
|
|
+
|
|
|
+
|
|
|
+ //对上传的文件进行同步到dify
|
|
|
+ //查询案例相关的文件
|
|
|
+ //获取案例类型参数
|
|
|
+ List<ProjectTemplateInfo> caseBaseProjectTemplateList = projectTemplateDao.getCaseBaseAccessoryListByParentId("14");
|
|
|
+ List<Workattachment> attachmentAllList = Lists.newArrayList();
|
|
|
+ for (ProjectTemplateInfo projectTemplateInfo : caseBaseProjectTemplateList) {
|
|
|
+ //根据项目id和案例类型信息查询项目案例的所有项目
|
|
|
+ Workattachment workAttachment = new Workattachment();
|
|
|
+ workAttachment.setAttachmentId(projectTemplateInfo.getId());
|
|
|
+ workAttachment.setProjectId(ruralProjectRecords.getId());
|
|
|
+ workAttachment.setAttachmentFlag("100");
|
|
|
+ List<Workattachment> attachmentList = workattachmentService.getAttList(workAttachment);
|
|
|
+ for (Workattachment workattachment : attachmentList) {
|
|
|
+ workattachment.setProjectId("");
|
|
|
+ workattachment.setId("");
|
|
|
+ workattachment.setAttachmentName(ruralProjectRecords.getProjectReportNumber() + "-" + workattachment.getAttachmentName());
|
|
|
+ }
|
|
|
+ attachmentAllList.addAll(attachmentList);
|
|
|
+ }
|
|
|
+ if(attachmentAllList.size()>0){
|
|
|
+ //先根据id查询案例资料的知识库中是否存在数据,如果存在,则将其进行删除。
|
|
|
+ List<KnowledgeSharingInfo> byProjectId = knowledgeSharingDetailsService.getByProjectId(ruralProjectRecords.getId());
|
|
|
+ for (KnowledgeSharingInfo knowledgeSharingInfo : byProjectId) {
|
|
|
+ knowledgeSharingDetailsService.delete(knowledgeSharingInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ KnowledgeSharingInfo knowledgeSharingInfo = new KnowledgeSharingInfo();
|
|
|
+ knowledgeSharingInfo.setColumnId("10");
|
|
|
+ knowledgeSharingInfo.setSubject(ruralProjectRecords.getProjectName() + "案例资料文件");
|
|
|
+ knowledgeSharingInfo.setWorkAttachments(attachmentAllList);
|
|
|
+ knowledgeSharingInfo.setCreateBy(UserUtils.getUser());
|
|
|
+ knowledgeSharingInfo.setCreateDate(new Date());
|
|
|
+ knowledgeSharingInfo.setUpdateBy(UserUtils.getUser());
|
|
|
+ knowledgeSharingInfo.setUpdateDate(new Date());
|
|
|
+ knowledgeSharingInfo.setProjectId(ruralProjectRecords.getId());
|
|
|
+ knowledgeSharingDetailsService.save(knowledgeSharingInfo);
|
|
|
+ knowledgeSharingDetailsService.saveToDify(knowledgeSharingInfo, "1");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(projectReportRecord.getHome()) && "home".equals(projectReportRecord.getHome())) {
|
|
|
+ //修改代办状态
|
|
|
+ workProjectNotifyService.updateCaseBaseNotifyStatus(ruralProjectRecords.getId(), "113");
|
|
|
+ return "redirect:" + Global.getAdminPath() + "/home/?repage";
|
|
|
+ }else if (StringUtils.isNotBlank(projectReportRecord.getHome()) && "notifyList".equals(projectReportRecord.getHome())) {
|
|
|
+ //修改代办状态
|
|
|
+ workProjectNotifyService.updateCaseBaseNotifyStatus(ruralProjectRecords.getId(), "113");
|
|
|
+ return "redirect:" + Global.getAdminPath() + "/workprojectnotify/workProjectNotify/list/?repage";
|
|
|
+ }
|
|
|
+ //跳转到个人案例项目页面
|
|
|
+ return "redirect:" + Global.getAdminPath() + "/ruralProject/RuralProjectRecordsOwnCaseBase/?repage";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
public void sendProjectInfoDataToCloud(ProjectReportRecord reportData){
|
|
|
String pathFlagStr = Global.getConfig("SZ_PATH_flag");
|
|
|
boolean pathFlag = Boolean.parseBoolean(pathFlagStr);
|