赵越越 hai 2 semanas
pai
achega
6cc465aedb

+ 7 - 0
assistMg/src/main/java/com/hotent/enterpriseDeclare/req/CostTaskReviewPageReq.java

@@ -14,6 +14,9 @@ public class CostTaskReviewPageReq extends PageReq {
     
     @ApiModelProperty(value = "监审对象名称")
     private String auditedUnitName;
+
+    @ApiModelProperty(value = "监审对象ID")
+    private String auditedUnitId;
     
     @ApiModelProperty(value = "状态")
     private String status;
@@ -31,5 +34,9 @@ public class CostTaskReviewPageReq extends PageReq {
     private String year;
 
     private String areaCode;
+
+    private String endYear;
+
+    private String startYear;
 }
 

+ 7 - 0
assistMg/src/main/java/com/hotent/project/controller/CostProjectApprovalController.java

@@ -97,6 +97,13 @@ public class CostProjectApprovalController extends BaseController<CostProjectApp
 		return CommonResult.<List<CostProjectApproval>>ok().value(baseService.getList());
 	}
 
+
+	@PostMapping(value = "analyze/list")
+	@ApiOperation(value = "查询analyzeList", httpMethod = "POST", notes = "查询analyzeList")
+	public CommonResult<List<CostProjectApproval>> analyzeList() {
+		return CommonResult.<List<CostProjectApproval>>ok().value(baseService.getAnalyzeList());
+	}
+
 	/**
 	 * 根据id获取成本监审立项主办人员
 	 * @param id

+ 2 - 0
assistMg/src/main/java/com/hotent/project/manager/CostProjectApprovalManager.java

@@ -46,4 +46,6 @@ public interface CostProjectApprovalManager extends BaseManager<CostProjectAppro
     IPage<CostProjectApproval> pageListForAuditTask(CostAuditTaskPageReq req);
 
     List<CostProjectApproval> getList();
+
+	List<CostProjectApproval> getAnalyzeList();
 }

+ 37 - 0
assistMg/src/main/java/com/hotent/project/manager/impl/CostProjectApprovalManagerImpl.java

@@ -76,6 +76,7 @@ public class CostProjectApprovalManagerImpl extends BaseManagerImpl<CostProjectA
     @Autowired
     private CostProjectTaskApprovalManager costProjectTaskApprovalManager;
 
+
     @Autowired
     private CostProjectTaskDocumentManager costProjectTaskDocumentManager;
 
@@ -727,4 +728,40 @@ public class CostProjectApprovalManagerImpl extends BaseManagerImpl<CostProjectA
         return this.list(queryWrapper);
     }
 
+    @Override
+    public List<CostProjectApproval> getAnalyzeList() {
+        User currentUser = ContextUtil.getCurrentUser();
+        String userId = currentUser.getId();
+        User user = userService.getById(userId);
+        Integer dataScope = user.getDataScope();
+        QueryWrapper<CostProjectTask> wrapperTask = new QueryWrapper<>();
+        wrapperTask.eq("is_gd",1);
+        List<CostProjectTask> list = costProjectTaskManager.list(wrapperTask);
+        List<String> projectIds = list.stream().map(CostProjectTask::getProjectId).distinct().collect(Collectors.toList());
+
+        QueryWrapper<CostProjectApproval> queryWrapper = new QueryWrapper<>();
+        // 只能查自己和自己下属的
+        if(dataScope != null && dataScope != 0){
+            Set<String> areaSet = new HashSet<>();
+            if(dataScope == 1){
+                String cityCode = user.getCityCode();
+                String codeSub = cityCode.substring(0, 4);
+                QueryWrapper<CostDistrict> districtQueryWrapper = new QueryWrapper<>();
+                districtQueryWrapper.like("code", codeSub);
+                List<CostDistrict> costDistricts = costDistrictManager.list(districtQueryWrapper);
+                for (CostDistrict costDistrict1 : costDistricts) {
+                    areaSet.add(costDistrict1.getCode());
+                }
+            }
+            if(dataScope == 2){
+                String code = user.getCountyCode();
+                areaSet.add(code);
+            }
+            queryWrapper.in("area_code", areaSet);
+        }
+        queryWrapper.in("project_id",projectIds);
+        queryWrapper.orderByDesc("create_time");
+        return this.list(queryWrapper);
+    }
+
 }

+ 65 - 65
assistMg/src/main/java/com/hotent/project/manager/impl/CostProjectDocumentManagerImpl.java

@@ -279,7 +279,7 @@ public class CostProjectDocumentManagerImpl extends BaseManagerImpl<CostProjectD
                     costProjectDocumentFile.setDataValue(whNo);
                     break;
             }
-            if (StringUtils.isNotBlank(costProjectDocumentFile.getTableName())){
+            if (StringUtils.isNotBlank(costProjectDocumentFile.getTableName()) && StringUtil.isEmpty(costProjectDocumentFile.getDataValue())){
                 if(StringUtil.isEmpty(costProjectDocumentFile.getWhereValue()) && StringUtil.isNotEmpty(costProjectDocumentFile.getWhereName())){
                     costProjectDocumentFile.setWhereValue(costProjectApproval.getProjectId());
                 } else if (costProjectDocument.getDocumentAlias().equals("cbjsgzdg")
@@ -357,8 +357,6 @@ public class CostProjectDocumentManagerImpl extends BaseManagerImpl<CostProjectD
                 //costProjectDocumentFile.setProjectId(costProjectDocument.getProjectId());
                 switch (f.getPinyin()) {
                     case "JiaGeZhuGuanBuMenHuoChengBenDiaoChaJiGou":
-                        costProjectDocumentFile.setDataValue(org.getName());
-                        break;
                     case "JiaGeZhuGuanBuMenHuoChengBenJianShenJiGou":
                         costProjectDocumentFile.setDataValue(org.getName());
                         break;
@@ -555,71 +553,73 @@ public class CostProjectDocumentManagerImpl extends BaseManagerImpl<CostProjectD
     @Override
     public String createDocument(String id) {
         CostProjectDocument costProjectDocument = this.getDetail(id);
-        List<CostProjectDocumentFile> list = costProjectDocumentFileManager.getCostProjectDocumentFiles(costProjectDocument.getProjectId(),costProjectDocument.getDocumentId());
-        CostDocumentTemplate costDocumentTemplate = this.costDocumentTemplateManager.get(costProjectDocument.getDocumentId());
-        //生成文书
-        Map<String,String> map = new HashMap<>();
-        list.stream().forEach(p->{
-            map.put("{"+p.getOriginalText()+"}", HtmlUtils.stripHtmlFast(p.getDataValue()) );
-        });
-        //先处理一种文件
-        String templatePath = costDocumentTemplate.getFileUrl().replace(BaseConstant.RESOURCE_PREFIX,"");
-        templatePath = EipConfig.getProfile()+templatePath;
-
-        String fileExtension = FileUploadUtil.getFileExtension(costDocumentTemplate.getFileUrl());
-        String fileName = FileUploadUtil.generateFileName(costDocumentTemplate.getDocumentName()+"."+fileExtension);
-        String outputPath = FileUploadUtil.generateSavePath(EipConfig.getUploadPath(), fileName, fileExtension);
-        try (FileInputStream fis = new FileInputStream(templatePath);
-             XWPFDocument document = new XWPFDocument(fis);
-             FileOutputStream fos = FileUtils.createFileOutputStream(outputPath);) {
-
-
-            if (costProjectDocument.getDocumentAlias().equals("cbjstqzldjb")) {
-                List<CostProjectTaskEvidence> costProjectTaskEvidences= costProjectTaskEvidenceManager.findEvidenceListByTaskIds(costProjectDocument.getProjectId(),costProjectDocument.getEnterpriseId());
-                if (!costProjectTaskEvidences.isEmpty()) {
-                    List<CompleteTemplateProcessor.TableRowData> mapList = costProjectTaskEvidences.stream().map(c -> {
-                        CompleteTemplateProcessor.TableRowData tableRowData = new CompleteTemplateProcessor.TableRowData();
-
-                        tableRowData.setDocumentName(c.getMaterialName());
-                        tableRowData.setRemark(c.getRemark());
-                        tableRowData.setPageCount(c.getPageCount());
-                        return tableRowData;
-                    }).collect(Collectors.toList());
-                    AuditedUnit auditedUnit = auditedUnitManager.get(costProjectDocument.getEnterpriseId());
-
-                    CompleteTemplateProcessor.processTemplateComplete(document,auditedUnit.getUnitName(),mapList,DateUtils.format(new Date(),ISO8601_DATE_PATTERN));
+        if (StringUtil.isEmpty(costProjectDocument.getActUrl())) {
+            List<CostProjectDocumentFile> list = costProjectDocumentFileManager.getCostProjectDocumentFiles(costProjectDocument.getProjectId(),costProjectDocument.getDocumentId());
+            CostDocumentTemplate costDocumentTemplate = this.costDocumentTemplateManager.get(costProjectDocument.getDocumentId());
+            //生成文书
+            Map<String,String> map = new HashMap<>();
+            list.stream().forEach(p->{
+                map.put("{"+p.getOriginalText()+"}", HtmlUtils.stripHtmlFast(p.getDataValue()) );
+            });
+            //先处理一种文件
+            String templatePath = costDocumentTemplate.getFileUrl().replace(BaseConstant.RESOURCE_PREFIX,"");
+            templatePath = EipConfig.getProfile()+templatePath;
+
+            String fileExtension = FileUploadUtil.getFileExtension(costDocumentTemplate.getFileUrl());
+            String fileName = FileUploadUtil.generateFileName(costDocumentTemplate.getDocumentName()+"."+fileExtension);
+            String outputPath = FileUploadUtil.generateSavePath(EipConfig.getUploadPath(), fileName, fileExtension);
+            try (FileInputStream fis = new FileInputStream(templatePath);
+                 XWPFDocument document = new XWPFDocument(fis);
+                 FileOutputStream fos = FileUtils.createFileOutputStream(outputPath);) {
+
+
+                if (costProjectDocument.getDocumentAlias().equals("cbjstqzldjb")) {
+                    List<CostProjectTaskEvidence> costProjectTaskEvidences= costProjectTaskEvidenceManager.findEvidenceListByTaskIds(costProjectDocument.getProjectId(),costProjectDocument.getEnterpriseId());
+                    if (!costProjectTaskEvidences.isEmpty()) {
+                        List<CompleteTemplateProcessor.TableRowData> mapList = costProjectTaskEvidences.stream().map(c -> {
+                            CompleteTemplateProcessor.TableRowData tableRowData = new CompleteTemplateProcessor.TableRowData();
+
+                            tableRowData.setDocumentName(c.getMaterialName());
+                            tableRowData.setRemark(c.getRemark());
+                            tableRowData.setPageCount(c.getPageCount());
+                            return tableRowData;
+                        }).collect(Collectors.toList());
+                        AuditedUnit auditedUnit = auditedUnitManager.get(costProjectDocument.getEnterpriseId());
+
+                        CompleteTemplateProcessor.processTemplateComplete(document,auditedUnit.getUnitName(),mapList,DateUtils.format(new Date(),ISO8601_DATE_PATTERN));
+                    }
+                } else if (costProjectDocument.getDocumentAlias().equals("zfdjcbjsjlbg")) {
+                    CostProjectApproval costProjectApproval = costProjectApprovalManager.get(costProjectDocument.getProjectId());
+
+                    List<CostProjectTask> taskByProjectId = costProjectTaskManager.findTaskByProjectId(costProjectApproval.getProjectId(), costProjectDocument.getEnterpriseId());
+
+                    List<Map<String,Object>> maps= costTemplateFileManager.getSurveyTemplate(taskByProjectId.get(0).getId());
+
+                    CostDataUtil costDataUtil = new CostDataUtil();
+                    Map<String, Object> map1 = costDataUtil.convertToCostFormat(maps);
+                    @SuppressWarnings("unchecked")
+                    List<String> years = (List<String>)map1.get("years");
+                    @SuppressWarnings("unchecked")
+                    List<Map<String, Object>> costItems = (List<Map<String, Object>>) map1.get("costItems");
+
+                    // 处理文档
+                    RobustComplexDocumentProcessor.processDocumentWithMaps(
+                            document,
+                            map,
+                            years,
+                            costItems
+                    );
+
+                } else {
+                    SmartTemplateWriter.writeToTemplate(document,map);
                 }
-            } else if (costProjectDocument.getDocumentAlias().equals("zfdjcbjsjlbg")) {
-                CostProjectApproval costProjectApproval = costProjectApprovalManager.get(costProjectDocument.getProjectId());
-
-                List<CostProjectTask> taskByProjectId = costProjectTaskManager.findTaskByProjectId(costProjectApproval.getProjectId(), costProjectDocument.getEnterpriseId());
-
-                List<Map<String,Object>> maps= costTemplateFileManager.getSurveyTemplate(taskByProjectId.get(0).getId());
-
-                CostDataUtil costDataUtil = new CostDataUtil();
-                Map<String, Object> map1 = costDataUtil.convertToCostFormat(maps);
-                @SuppressWarnings("unchecked")
-                List<String> years = (List<String>)map1.get("years");
-                @SuppressWarnings("unchecked")
-                List<Map<String, Object>> costItems = (List<Map<String, Object>>) map1.get("costItems");
-
-                // 处理文档
-                RobustComplexDocumentProcessor.processDocumentWithMaps(
-                        document,
-                        map,
-                        years,
-                        costItems
-                );
-
-            } else {
-                SmartTemplateWriter.writeToTemplate(document,map);
+                document.write(fos);
+            } catch (IOException e) {
+                throw new RuntimeException("处理Word文档时出错", e);
             }
-            document.write(fos);
-        } catch (IOException e) {
-            throw new RuntimeException("处理Word文档时出错", e);
+            costProjectDocument.setActUrl(EipConfig.getImgUrl() + FileUploadUtil.getPathFileName(outputPath, fileName));
         }
-
-        return EipConfig.getImgUrl()+FileUploadUtil.getPathFileName(outputPath,fileName);
+        return costProjectDocument.getActUrl() ;
     }
 
 

+ 22 - 0
assistMg/src/main/java/com/hotent/project/manager/impl/CostProjectTaskManagerImpl.java

@@ -221,12 +221,34 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
                     projectMembersWrapper.like(CostProjectApproval::getProjectMembers, currentUserId);
                 })
         );
+
+
         if (StringUtil.isNotEmpty(req.getAuditedUnitName())) {
             approvalQueryWrapper.like(CostProjectApproval::getAuditedUnitName,req.getAuditedUnitName());
         }
+        if (StringUtil.isNotEmpty(req.getAuditedUnitId())) {
+            approvalQueryWrapper.like(CostProjectApproval::getAuditedUnitId,req.getAuditedUnitId());
+        }
         if (StringUtil.isNotEmpty(req.getProjectName())) {
             approvalQueryWrapper.like(CostProjectApproval::getProjectName,req.getProjectName());
         }
+        if (StringUtil.isNotEmpty(req.getEndYear()) && StringUtil.isNotEmpty(req.getStartYear())) {
+            List<String> years = new ArrayList<>();
+            int startYear =Integer.parseInt(req.getStartYear());
+            int endYear =Integer.parseInt(req.getEndYear());
+            for (int year = startYear; year <=endYear; year++) {
+                years.add(String.valueOf(year));
+            }
+            String sql = "(" +
+                    years.stream()
+                            .map(y -> "FIND_IN_SET('" + y + "', audit_period) > 0")
+                            .collect(Collectors.joining(" OR ")) +
+                    ")";
+
+            approvalQueryWrapper.apply(sql);
+
+        }
+
 
         List<CostProjectApproval> accessibleApprovals = costProjectApprovalManager.list(approvalQueryWrapper);
 

+ 14 - 0
assistMg/src/main/java/com/hotent/project/model/CostProjectDocument.java

@@ -85,6 +85,11 @@ public class CostProjectDocument extends BaseModel<CostProjectDocument> {
     @TableField("scan_document_url")
     @JsonProperty("scanDocumentUrl")
     private String scanDocumentUrl;
+
+    @ApiModelProperty(value = "根据模板生成的文书文件URL地址")
+    @TableField("act_url")
+    @JsonProperty("actUrl")
+    private String actUrl;
     
     @ApiModelProperty(value = "被监审单位反馈资料附件ID集合")
     @TableField("feedback_document_url")
@@ -221,6 +226,15 @@ public class CostProjectDocument extends BaseModel<CostProjectDocument> {
     public void setElectronicDocumentUrl(String electronicDocumentUrl) {
         this.electronicDocumentUrl = electronicDocumentUrl;
     }
+
+
+    public String getActUrl() {
+        return actUrl;
+    }
+
+    public void setActUrl(String actUrl) {
+        this.actUrl = actUrl;
+    }
     public String getScanDocumentUrl() {
         return scanDocumentUrl;
     }

+ 2 - 2
assistMg/src/main/resources/mapper/CostDocumentTemplateFileMapper.xml

@@ -83,7 +83,7 @@
 			)
 		SELECT DISTINCT
 				(SELECT rvalue FROM ranked_data WHERE rowid = r.rowid AND position = 1) as xuhao,
-				(SELECT rvalue FROM ranked_data WHERE rowid = r.rowid AND position = 3) as xiangmu,
+				(SELECT rvalue FROM ranked_data WHERE rowid = r.rowid AND position = 2) as xiangmu,
 				r.rkey as nianfen,
 				r.rvalue as shuzhi,
 				r.rowid,
@@ -92,7 +92,7 @@
 		WHERE r.rkey LIKE CONCAT('%', '核定值', '%') and r.type=3
 		ORDER BY r.order_num,
 				 (SELECT rvalue FROM ranked_data WHERE rowid = r.rowid AND position = 1),
-				 (SELECT rvalue FROM ranked_data WHERE rowid = r.rowid AND position = 3),
+				 (SELECT rvalue FROM ranked_data WHERE rowid = r.rowid AND position = 2),
 				 r.rkey
 	</select>
 </mapper>