Browse Source

财务-报告管理

wangqiang 2 years ago
parent
commit
b7b51f0ed4

+ 4 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/mapper/xml/CwProjectInfoMapper.xml

@@ -5,7 +5,10 @@
         select id,report_no from cw_project_report_new_line where report_id = #{id}
     </select>
     <select id="selectByReportId" resultType="com.jeeplus.test.cw.projectReport.domain.CwProjectInfoData">
-        select * from cw_project_report_new_line where report_id = #{id} and del_flag = '0'
+        select a.*,cw.name as servedUnitName from cw_project_report_new_line a
+        left join cw_work_client_base cw
+        on a.served_unit_id = cw.id
+        where report_id = #{id} and a.del_flag = '0'
     </select>
     <select id="getReportNo" resultType="java.lang.String">
         select report_no from cw_project_report_cancel order by create_date asc

+ 17 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectReport/service/CwProjectReportService.java

@@ -75,7 +75,7 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
      * @return
      * @throws Exception
      */
-    public String saveForm(CwProjectReportData reportData) throws Exception{
+    public synchronized String saveForm(CwProjectReportData reportData) throws Exception{
         if (StringUtils.isNotEmpty(reportData.getId())){
 
             CwProjectReport report = reportMapper.selectById(reportData.getId());
@@ -119,12 +119,28 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
                 //删除work_attachment_id信息
                 attachmentMapper.deleteByAttachMnentId(info.getId());
             });
+            List<CwProjectInfoData> finalInfoList = infoList;
             infoList.forEach(in->{
                 in.setUpdateBy(UserUtils.getCurrentUserDTO().getId());
                 in.setUpdateDate(new Date());
+                in.setReportId(report.getId());
                 //先去数据库中查是否有数据,有则更新,无则添加
                 CwProjectInfoData cwProjectInfoData = infoMapper.selectById(in.getId());
                 if (cwProjectInfoData == null){
+                    try {
+                        //在插入报告文号前先去报告文号报废表中根据时间排序查看是否有报告文号,有则使用,delflag改为1
+                        List<String> reportNo = infoMapper.getReportNo();
+                        if (reportNo != null & !reportNo.isEmpty()){
+                            for (int i = 0; i< finalInfoList.size(); i++){
+                                in.setReportNo(reportNo.get(i));
+                            }
+                        }else {
+                            String documentNo = serialnumTplService.genSerialNum(userDTO.getCompanyDTO().getId(), CwProjectInfoData.BIZ_CODE);
+                            in.setReportNo(documentNo);
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
                     infoMapper.insert(in);
                 }else {
                     infoMapper.updateById(in);