Quellcode durchsuchen

财务-报告管理

wangqiang vor 2 Jahren
Ursprung
Commit
6b0090af6a

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/CwProjectReportMapper.java

@@ -47,4 +47,10 @@ public interface CwProjectReportMapper extends BaseMapper<CwProjectReport> {
      * @param cwProjectReportData
      */
     void updateSignatureInfo(CwProjectReportData cwProjectReportData);
+
+    /**
+     * 根据id修改del_flag状态
+     * @param id
+     */
+    void updateDelFlag(@Param("flag")int flag,@Param("id") String id);
 }

+ 3 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/xml/CwProjectReportMapper.xml

@@ -131,4 +131,7 @@
         signature_contract_id = #{signatureContractId}
         where id = #{id}
     </update>
+    <update id="updateDelFlag">
+        UPDATE cw_project_report SET del_flag = #{flag} where id = #{id}
+    </update>
 </mapper>

+ 19 - 12
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/service/CwProjectReportService.java

@@ -211,11 +211,14 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
                             //在插入报告文号前先去报告文号报废表中根据时间排序查看是否有报告文号,有则使用,delflag改为1
                             List<String> reportNo = infoMapper.getReportNo();
                             if (null != reportNo & reportNo.size()>0){
-                                for (int i = 0; i< finalInfoList.size(); i++){
-                                    in.setReportNo(reportNo.get(i));
-                                    //修改报废表的对应数据delflag为1
-                                    cancelMapper.updateFlag("1",reportNo.get(i));
-                                }
+//                                for (int i = 0; i< finalInfoList.size(); i++){
+//                                    in.setReportNo(reportNo.get(i));
+//                                    //修改报废表的对应数据delflag为1
+//                                    cancelMapper.updateFlag("1",reportNo.get(i));
+//                                }
+                                in.setReportNo(reportNo.get(0));
+//                                    //修改报废表的对应数据delflag为1
+                                cancelMapper.updateFlag("1",reportNo.get(0));
                             }else {
                                 String documentNo = serialnumTplService.genSerialNum(userDTO.getCompanyDTO().getId(), CwProjectInfoData.BIZ_CODE);
                                 in.setReportNo(documentNo);
@@ -361,9 +364,11 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
                 //在插入报告文号前先去报告文号报废表中根据时间排序查看是否有报告文号,有则使用,delflag改为1
                 List<String> reportNo = infoMapper.getReportNo();
                 if (null!= reportNo & reportNo.size()>0){
-                    for (int i = 0; i< finalInfoList.size(); i++){
-                        in.setReportNo(reportNo.get(i));
-                    }
+//                    for (int i = 0; i< finalInfoList.size(); i++){
+//                        in.setReportNo(reportNo.get(i));
+//                    }
+                    in.setReportNo(reportNo.get(0));
+                    cancelMapper.updateFlag("1",reportNo.get(0));
                 }else {
                     in.setReportNo(documentNo);
                 }
@@ -371,10 +376,12 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
                 //报告流水号生成  根据项目编号去new_line表查询
                 String reportNumber = infoMapper.selectReportNumberByProjectNo(report.getProjectNumber());
                 int stress = 0;
-                if (reportNumber.contains(report.getProjectNumber() + "-0")){
-                    stress = reportNumber.indexOf("-0");//分隔符位置
-                }else {
-                    stress = reportNumber.indexOf("-");//分隔符位置
+                if (null != reportNumber){
+                    if (reportNumber.contains(report.getProjectNumber() + "-0")){
+                        stress = reportNumber.indexOf("-0");//分隔符位置
+                    }else {
+                        stress = reportNumber.indexOf("-");//分隔符位置
+                    }
                 }
                 String substring = reportNumber.substring(stress + 1, reportNumber.length());
                 Integer integer = Integer.valueOf(substring);

+ 10 - 3
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/reportCancellApply/mapper/xml/ReportCancellApplyMapper.xml

@@ -4,17 +4,19 @@
     <select id="findList" resultType="com.jeeplus.test.cw.reportCancellApply.service.dto.ReportInfoDto">
         SELECT a.document_no,
          case a.`status` WHEN '5' THEN '已完成' END as documentStatus,
+         su3.name as reportSponsor,
         b.report_no,
         c.project_name,c.project_master_id,su.name as user_name,
         su2.name as project_master_name,
         b.id as report_new_line_id
         FROM cw_project_report a
         left join cw_project_report_new_line b
-        on a.id = b.report_id
+        on a.id = b.report_id and b.del_flag = '0'
         LEFT JOIN cw_project_records c
-        on a.project_id = c.id
+        on a.project_id = c.id and c.del_flag = '0'
         left join sys_user su on su.id = a.create_by and su.del_flag = '0'
         left join sys_user su2 on su2.id = c.project_master_id and su2.del_flag = '0'
+        left join sys_user su3 on su3.id = a.create_by and su3.del_flag = '0'
         ${ew.customSqlSegment}
     </select>
     <select id="queryById" resultType="com.jeeplus.test.cw.reportCancellApply.service.dto.ReportInfoDto">
@@ -22,6 +24,7 @@
         a.report_new_line_id,
         a.cancellate_reason,a.report_no,a.proc_ins_id,a.status,a.process_definition_id,
         c.document_no,case c.`status` WHEN '5' THEN '已完成' END as documentStatus,
+        su3.name as reportSponsor,
         d.project_name,d.project_master_id,
         su.name as user_name,
         su2.name as project_master_name
@@ -35,6 +38,7 @@
         on c.project_id = d.id
         left join sys_user su on su.id = a.create_by and su.del_flag = '0'
         left join sys_user su2 on su2.id = d.project_master_id and su2.del_flag = '0'
+        left join sys_user su3 on su3.id = c.create_by and su3.del_flag = '0'
         where a.del_flag = '0' and a.id = #{id}
     </select>
     <select id="getList" resultType="com.jeeplus.test.cw.reportCancellApply.service.dto.ReportInfoDto">
@@ -56,7 +60,8 @@
 				d.project_master_id,
 				e.name as departmentName,
 				f.name as userName,
-				g.name as projectMasterName
+				g.name as projectMasterName,
+				h.name as reportSponsor
 
 				FROM cw_project_report_cancell_apply a
 				LEFT JOIN cw_project_report_new_line b
@@ -71,6 +76,8 @@
         on a.create_by = f.id
 				LEFT JOIN sys_user g
         on d.project_master_id = g.id
+        LEFT JOIN sys_user h
+        on c.create_by = h.id
         ${ew.customSqlSegment}
     </select>
 </mapper>

+ 33 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/reportCancellApply/service/ReportCancellApplyService.java

@@ -17,7 +17,9 @@ import com.jeeplus.test.cw.projectRecords.domain.CwProjectRecords;
 import com.jeeplus.test.cw.projectRecords.service.dto.CwProjectRecordsDTO;
 import com.jeeplus.test.cw.projectRecords.service.mapstruct.CwProjectRecordsWrapper;
 import com.jeeplus.test.cw.projectReport.domain.*;
+import com.jeeplus.test.cw.projectReport.mapper.CwProjectInfoMapper;
 import com.jeeplus.test.cw.projectReport.mapper.CwProjectReportCancelMapper;
+import com.jeeplus.test.cw.projectReport.mapper.CwProjectReportMapper;
 import com.jeeplus.test.cw.projectReport.service.dto.CwProjectReportDTO;
 import com.jeeplus.test.cw.projectReport.service.dto.ProjectReportWorkAttachmentDTO;
 import com.jeeplus.test.cw.projectReport.service.mapstruct.CwProjectReportFileWrapper;
@@ -51,6 +53,12 @@ public class ReportCancellApplyService extends ServiceImpl<ReportCancellApplyMap
     @Resource
     private CwProjectReportCancelMapper cancelMapper;
 
+    @Resource
+    private CwProjectInfoMapper infoMapper;
+
+    @Resource
+    private CwProjectReportMapper reportMapper;
+
     /**
      * 差选项目列表信息
      * @param page
@@ -134,6 +142,17 @@ public class ReportCancellApplyService extends ServiceImpl<ReportCancellApplyMap
         cancel.setReportNo(reportData.getReportNo());
         cancelMapper.insert(cancel);
         applyMapper.updateById(report);
+        //修改报告管理的del_flag
+        CwProjectInfoData newLine = infoMapper.getById(report.getReportNewLineId());
+        //根据newLine的reportid找到报告表
+        CwProjectReport projectReport = reportMapper.selectById(newLine.getReportId());
+        if (report.getStatus().equals("2")){
+            projectReport.setDelFlag(1);
+            reportMapper.updateDelFlag(projectReport.getDelFlag(),projectReport.getId());
+        }else if (report.getStatus().equals("1") || report.getStatus().equals("4") || report.getStatus().equals("3")){
+            projectReport.setDelFlag(0);
+            reportMapper.updateDelFlag(projectReport.getDelFlag(),projectReport.getId());
+        }
 
         return report.getId();
     }
@@ -161,6 +180,20 @@ public class ReportCancellApplyService extends ServiceImpl<ReportCancellApplyMap
         cancel.setReportNo(reportData.getReportNo());
         cancelMapper.insert(cancel);
         this.applyMapper.insert(report);
+        applyMapper.updateById(report);
+
+        //修改报告管理的del_flag
+        CwProjectInfoData newLine = infoMapper.getById(report.getReportNewLineId());
+        //根据newLine的reportid找到报告表
+        CwProjectReport projectReport = reportMapper.selectById(newLine.getReportId());
+        if (report.getStatus().equals("2")){
+            projectReport.setDelFlag(1);
+            reportMapper.updateDelFlag(projectReport.getDelFlag(),projectReport.getId());
+        }else if (report.getStatus().equals("1") || report.getStatus().equals("4") || report.getStatus().equals("3")){
+            projectReport.setDelFlag(0);
+            reportMapper.updateDelFlag(projectReport.getDelFlag(),projectReport.getId());
+        }
+
         return report.getId();
     }