Sfoglia il codice sorgente

归档添加文档转移功能

huangguoce 9 ore fa
parent
commit
0030247f88

+ 16 - 11
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportService.java

@@ -5684,14 +5684,16 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
                             .orElse(null);
                     //如果未找到对应的项目信息,就保存项目
                     if (projectRecord == null) {
-                        String projectMasterId = item.getProjectMasterId();
-                        String realHeader = item.getRealHeader();
-
+                        String qzzs1 = item.getSignatureAnnotator1();
+                        String qzzs2 = item.getSignatureAnnotator2();
+                        //新项目的项目经理id获取
+                        String projectMasterId = iUserApi.getUserIdByUserName(item.getProjectMasterId());
+                        String realHeader = iUserApi.getUserIdByUserName(item.getRealHeader());
                         if (
-                                !Objects.equals(projectMasterId, signatureAnnotator1)
-                                        && !Objects.equals(projectMasterId, signatureAnnotator2)
-                                        && !Objects.equals(realHeader, signatureAnnotator1)
-                                        && !Objects.equals(realHeader, signatureAnnotator2)
+                                !Objects.equals(projectMasterId, qzzs1)
+                                        && !Objects.equals(projectMasterId, qzzs2)
+                                        && !Objects.equals(realHeader, qzzs1)
+                                        && !Objects.equals(realHeader, qzzs2)
                         ) {
                             result.add("第" + (actualIndex) + "条,报告名为" + item.getReportName() + "的数据存在以下问题:签字注师1和签字注师2至少有一个与项目的项目经理一致");
                             continue;
@@ -5720,11 +5722,14 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
                         item.setProjectId(project.getId());
                         String projectMasterId = project.getProjectMasterId();
                         String realHeader = project.getRealHeader();
+                        //签字注师
+                        String qzzs1 = item.getSignatureAnnotator1();
+                        String qzzs2 = item.getSignatureAnnotator2();
                         if (
-                                        !Objects.equals(projectMasterId, signatureAnnotator1)
-                                        && !Objects.equals(projectMasterId, signatureAnnotator2)
-                                        && !Objects.equals(realHeader, signatureAnnotator1)
-                                        && !Objects.equals(realHeader, signatureAnnotator2)
+                                        !Objects.equals(projectMasterId, qzzs1)
+                                        && !Objects.equals(projectMasterId, qzzs2)
+                                        && !Objects.equals(realHeader, qzzs1)
+                                        && !Objects.equals(realHeader, qzzs2)
                         ) {
                             result.add("第" + (actualIndex) + "条,报告名为" + item.getReportName() + "的数据存在以下问题:签字注师1和签字注师2至少有一个与项目的项目经理一致");
                             continue;

+ 19 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/controller/CwProjectReportArchiveController.java

@@ -30,6 +30,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
+import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -332,4 +333,22 @@ public class CwProjectReportArchiveController {
         CwProjectReportArchiveDTO dto = cwProjectReportArchiveService.findByReportType(reportType);
         return ResponseEntity.ok(dto);
     }
+
+    /**
+     * 根据报告年份修改文档存放位置
+     * @param dto
+     * @return
+     */
+    @ApiOperation(value = "根据报告年份修改文档存放位置")
+    @PostMapping(value = "/updatePlaceByYear")
+    public ResponseEntity<String> updatePlaceByYear(@RequestBody CwProjectReportArchiveDTO dto) {
+        int rows = cwProjectReportArchiveService.updatePlaceByYear(dto);
+        if (rows > 0) {
+            return ResponseEntity.ok("操作成功,共转移 " + rows + " 条份报告");
+        } else {
+            return ResponseEntity.status(HttpStatus.BAD_REQUEST)
+                    .body("未找到对应年份的数据");
+        }
+    }
+
 }

+ 5 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/domain/CwProjectReportArchive.java

@@ -65,6 +65,11 @@ public class CwProjectReportArchive extends BaseEntity {
     private String isNumber;
 
     /**
+     * 文档存放位置
+     */
+    private String specialPlace;
+
+    /**
      * 审核备注
      */
     private String approveRemarks;

+ 7 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/mapper/CwProjectReportArchiveMapper.java

@@ -94,6 +94,13 @@ public interface CwProjectReportArchiveMapper extends BaseMapper<CwProjectReport
     @InterceptorIgnore(tenantLine = "true")
     CwProjectReportArchiveDTO findByReportType(@Param("reportType")String reportType);
 
+
+
+    /**
+     * 修改归档信息
+     * @param cwProjectReportArchive
+     */
+    Integer updatePlaceByYear(CwProjectReportArchive cwProjectReportArchive);
 }
 
 

+ 15 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/mapper/xml/CwProjectReportArchiveMapper.xml

@@ -20,6 +20,7 @@
             <result property="year" column="year" jdbcType="VARCHAR"/>
             <result property="number" column="number" jdbcType="VARCHAR"/>
             <result property="isNumber" column="is_number" jdbcType="VARCHAR"/>
+            <result property="specialPlace" column="special_place" jdbcType="VARCHAR"/>
             <result property="auditDate" column="audit_date" jdbcType="TIMESTAMP"/>
             <result property="procInsId" column="proc_ins_id" jdbcType="VARCHAR"/>
             <result property="processDefinitionId" column="process_definition_id" jdbcType="VARCHAR"/>
@@ -105,6 +106,7 @@
         cw_pa.year,
         cw_pa.number,
         cw_pa.is_number,
+        cw_pa.special_place,
         cw_pa.audit_date,
         cw_pa.proc_ins_id,
         cw_pa.process_definition_id,
@@ -551,6 +553,9 @@
         <if test="isNumber != null and isNumber != ''">
             is_number = #{isNumber},
         </if>
+        <if test="specialPlace != null and specialPlace != ''">
+            special_place = #{specialPlace},
+        </if>
         <if test="auditDate != null">
             audit_date = #{auditDate},
         </if>
@@ -731,4 +736,14 @@
             CAST(SUBSTRING(cw_prnl.report_no, 12, LENGTH(cw_prnl.report_no)-12) AS UNSIGNED) DESC
             LIMIT 1;
     </select>
+
+    <update id="updatePlaceByYear">
+        UPDATE cw_project_report_archive a
+            JOIN cw_project_report_new_line b ON a.report_id = b.report_id
+            SET
+                a.special_place = #{specialPlace},
+                a.transfer_time = NOW()
+        WHERE b.report_no LIKE CONCAT('%[', #{year}, ']%')
+        AND a.status = '5';
+    </update>
 </mapper>

+ 18 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/service/CwProjectReportArchiveService.java

@@ -7,6 +7,7 @@ import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -393,6 +394,9 @@ public class CwProjectReportArchiveService extends ServiceImpl<CwProjectReportAr
         if(StringUtils.isNotBlank(cwProjectReportArchiveDTO.getConnectReportId())){
             cwProjectReportArchive.setConnectReportId(cwProjectReportArchiveDTO.getConnectReportId());
         }
+        if(StringUtils.isNotBlank(cwProjectReportArchiveDTO.getSpecialPlace())){
+            cwProjectReportArchive.setSpecialPlace(cwProjectReportArchiveDTO.getSpecialPlace());
+        }
         //审定金额字段
         if(StringUtils.isNotBlank(cwProjectReportArchiveDTO.getApprovedIncludingTax())){
             cwProjectReportArchive.setApprovedIncludingTax(cwProjectReportArchiveDTO.getApprovedIncludingTax());
@@ -505,6 +509,20 @@ public class CwProjectReportArchiveService extends ServiceImpl<CwProjectReportAr
         return "操作成功";
     }
 
+
+    /**
+     * 根据报告年份修改文档存放位置
+     * @param cwProjectReportArchiveDTO
+     * @return
+     */
+    public int updatePlaceByYear(CwProjectReportArchiveDTO cwProjectReportArchiveDTO) {
+        CwProjectReportArchive cwProjectReportArchive = new CwProjectReportArchive();
+        BeanUtils.copyProperties(cwProjectReportArchiveDTO, cwProjectReportArchive);
+        int result = cwProjectReportArchiveMapper.updatePlaceByYear(cwProjectReportArchive);
+        return result;
+    }
+
+
     /**
      * 查询暂时未归档报告归档数据
      * @param cwProjectReportArchiveDTO

+ 14 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/service/dto/CwProjectReportArchiveDTO.java

@@ -90,6 +90,12 @@ public class CwProjectReportArchiveDTO extends BaseDTO {
     private String isNumber;
 
 
+
+    /**
+     * 文档存放位置
+     */
+    private String specialPlace;
+
     /**
      * 审核备注
      */
@@ -506,6 +512,14 @@ public class CwProjectReportArchiveDTO extends BaseDTO {
         this.isNumber = isNumber;
     }
 
+    public String getSpecialPlace() {
+        return specialPlace;
+    }
+
+    public void setSpecialPlace(String specialPlace) {
+        this.specialPlace = specialPlace;
+    }
+
     public String getApproveRemarks() {
         return approveRemarks;
     }