wangming преди 7 месеца
родител
ревизия
73362de2c6

+ 85 - 23
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxCommissionCheckDetailDao.java

@@ -4,7 +4,11 @@ import com.alibaba.fastjson.JSONObject;
 import com.rongwei.bsentity.domain.ZhcxCommissionCheckDetailDo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.rongwei.bsentity.domain.ZhcxPersistentManageDo;
+import com.rongwei.bsentity.dto.commission.CopyDetailDto;
 import com.rongwei.bsentity.vo.ZhcxCommissionCheckDetailWordVO;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
@@ -20,24 +24,24 @@ import java.util.Map;
  */
 public interface ZhcxCommissionCheckDetailDao extends BaseMapper<ZhcxCommissionCheckDetailDo> {
 
-    @Select("SELECT\n" +
-            "*\n" +
-            "FROM\n" +
-            "ZHCX_COMMISSION_CHECK_DETAIL\n" +
-            "WHERE\n" +
-            "DELETED = 0\n" +
-            "AND PID = #{checkId}\n" +
+    @Select("SELECT " +
+            "* " +
+            "FROM " +
+            "ZHCX_COMMISSION_CHECK_DETAIL " +
+            "WHERE " +
+            "DELETED = 0 " +
+            "AND PID = #{checkId} " +
             "ORDER BY SORT ASC")
     List<ZhcxCommissionCheckDetailDo> listData(Map<String, Object> map);
 
-    @Select("SELECT\n" +
-            "\t*\n" +
-            "FROM\n" +
-            "\tZHCX_COMMISSION_CHECK_DETAIL\n" +
-            "WHERE\n" +
-            "\tDELETED = 0\n" +
-            "\tAND ONELEVELCLASSIFICATION = #{onelevelclassification}\n" +
-            "\tAND PID = #{checkId}")
+    @Select("SELECT " +
+            " * " +
+            "FROM " +
+            " ZHCX_COMMISSION_CHECK_DETAIL " +
+            "WHERE " +
+            " DELETED = 0 " +
+            " AND ONELEVELCLASSIFICATION = #{onelevelclassification} " +
+            " AND PID = #{checkId}")
     List<ZhcxCommissionCheckDetailWordVO> listWordData(Map detailMap);
 
     /**
@@ -66,14 +70,72 @@ public interface ZhcxCommissionCheckDetailDao extends BaseMapper<ZhcxCommissionC
      *
      * @return
      */
-    @Select("SELECT\n" +
-            "*\n" +
-            "FROM\n" +
-            "ZHCX_COMMISSION_CHECK_DETAIL\n" +
-            "WHERE\n" +
-            "DELETED = 0\n" +
-            "AND PID = #{pid}\n" +
-            "AND CHAPTERNOPULS LIKE '${chapternopuls}.%'\n" +
+    @Select("SELECT " +
+            "* " +
+            "FROM " +
+            "ZHCX_COMMISSION_CHECK_DETAIL " +
+            "WHERE " +
+            "DELETED = 0 " +
+            "AND PID = #{pid} " +
+            "AND CHAPTERNOPULS LIKE '${chapternopuls}.%' " +
             "ORDER BY SORT ASC")
     List<ZhcxCommissionCheckDetailDo> listAnyLevelUnderData(Map<String, Object> map);
+
+    @Insert("INSERT " +
+            " INTO " +
+            " ZHCX_COMMISSION_CHECK_DETAIL(ID, " +
+            " DELETED, " +
+            " PID, " +
+            " CHAPTERNO, " +
+            " CLASSIFICATION, " +
+            " CLASSIFICATIONTWO, " +
+            " CHTESTCONTENT, " +
+            " ENTESTCONTENT, " +
+            " TESTMETHOD, " +
+            " TESTADDRESS, " +
+            " ONELEVELCLASSIFICATION, " +
+            " SECONDLEVELCLASSIFICATION, " +
+            " THREELEVELCLASSIFICATION, " +
+            " FOURONELEVELCLASSIFICATION, " +
+            " TREEFULLID) " +
+            "SELECT " +
+            " guid(), " +
+            " '0', " +
+            " #{targetPid}, " +
+            " CHAPTERNO, " +
+            " CLASSIFICATION, " +
+            " CLASSIFICATIONTWO, " +
+            " CHTESTCONTENT, " +
+            " ENTESTCONTENT, " +
+            " TESTMETHOD, " +
+            " TESTADDRESS, " +
+            " ONELEVELCLASSIFICATION, " +
+            " SECONDLEVELCLASSIFICATION, " +
+            " THREELEVELCLASSIFICATION, " +
+            " FOURONELEVELCLASSIFICATION, " +
+            " TREEFULLID " +
+            "FROM " +
+            " ZHCX_COMMISSION_CHECK_DETAIL " +
+            "WHERE " +
+            " PID = #{sourcePid}")
+    void copyByPid(CopyDetailDto copyDetail);
+
+    /**
+     * 根据项目删除
+     *
+     * @param projectId
+     */
+    @Delete("DELETE d " +
+            "FROM " +
+            " ZHCX_COMMISSION_CHECK_DETAIL d " +
+            "WHERE " +
+            " EXISTS ( " +
+            " SELECT " +
+            "  * " +
+            " FROM " +
+            "  ZHCX_COMMISSION_CHECK zcc " +
+            " WHERE " +
+            "  zcc.ID = d.PID " +
+            "  AND zcc.PROJECTID = #{projectId})")
+    void delByPrjId(@Param("projectId") String projectId);
 }

+ 63 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxCommissionCheckDetailTreeDao.java

@@ -2,6 +2,10 @@ package com.rongwei.bscommon.sys.dao;
 
 import com.rongwei.bsentity.domain.ZhcxCommissionCheckDetailTreeDo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.dto.commission.CopyDetailDto;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +17,63 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ZhcxCommissionCheckDetailTreeDao extends BaseMapper<ZhcxCommissionCheckDetailTreeDo> {
 
+    @Delete("DELETE  " +
+            " d " +
+            "FROM " +
+            " ZHCX_COMMISSION_CHECK_DETAIL_TREE d " +
+            "WHERE " +
+            " EXISTS ( " +
+            " SELECT " +
+            "  * " +
+            " FROM " +
+            "  ZHCX_COMMISSION_CHECK zcc " +
+            " WHERE " +
+            "  zcc.ID = d.BASEINFOID " +
+            "  AND zcc.PROJECTID = #{projectId})")
+    void delByPrjId(@Param("projectId") String projectId);
+    
+    @Insert("INSERT " +
+            " INTO " +
+            " ZHCX_COMMISSION_CHECK_DETAIL_TREE(ID, " +
+            " TENANTID, " +
+            " ROPTION, " +
+            " DELETED, " +
+            " CREATEDATE, " +
+            " CREATEUSERID, " +
+            " CREATEUSERNAME, " +
+            " MODIFYDATE, " +
+            " MODIFYUSERID, " +
+            " MODIFYUSERNAME, " +
+            " REMARK, " +
+            " PID, " +
+            " NAME, " +
+            " SORT, " +
+            " BASEINFOID, " +
+            " PRODUCTTYPE, " +
+            " FULLPID, " +
+            " \"LEVEL\", " +
+            " TREECODE) " +
+            "SELECT " +
+            " guid(), " +
+            " TENANTID, " +
+            " ROPTION, " +
+            " '0', " +
+            " CREATEDATE, " +
+            " CREATEUSERID, " +
+            " CREATEUSERNAME, " +
+            " MODIFYDATE, " +
+            " MODIFYUSERID, " +
+            " MODIFYUSERNAME, " +
+            " REMARK, " +
+            " PID, " +
+            " NAME, " +
+            " SORT, " +
+            " #{targetPid}, " +
+            " PRODUCTTYPE, " +
+            " FULLPID, " +
+            " \"LEVEL\", " +
+            " TREECODE " +
+            "FROM " +
+            " ZHCX_COMMISSION_CHECK_DETAIL_TREE BASEINFOID = #{sourcePid}")
+    void copyByPid(CopyDetailDto copyDetail);
 }

+ 15 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxCommissionCheckDetailService.java

@@ -2,6 +2,7 @@ package com.rongwei.bscommon.sys.service;
 
 import com.rongwei.bsentity.domain.ZhcxCommissionCheckDetailDo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.dto.commission.CopyDetailDto;
 import org.springframework.scheduling.annotation.Async;
 
 import java.util.List;
@@ -18,4 +19,18 @@ public interface ZhcxCommissionCheckDetailService extends IService<ZhcxCommissio
 
 
     void saveCheckDetailBatch(List<ZhcxCommissionCheckDetailDo> resultCheckDetailDo);
+
+    /**
+     * 拷贝详情
+     *
+     * @param copyDetail
+     */
+    void copyByPid(CopyDetailDto copyDetail);
+
+    /**
+     * 根据项目删除
+     *
+     * @param prjId
+     */
+    void delByPrjId(String prjId);
 }

+ 15 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxCommissionCheckDetailTreeService.java

@@ -2,6 +2,7 @@ package com.rongwei.bscommon.sys.service;
 
 import com.rongwei.bsentity.domain.ZhcxCommissionCheckDetailTreeDo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.dto.commission.CopyDetailDto;
 
 /**
  * <p>
@@ -13,4 +14,18 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ZhcxCommissionCheckDetailTreeService extends IService<ZhcxCommissionCheckDetailTreeDo> {
 
+    /**
+     * 通过项目id删除树
+     *
+     * @param projectId
+     */
+    void delByPrjId(String projectId);
+
+
+    /**
+     * 拷贝详情
+     *
+     * @param copyDetail
+     */
+    void copyByPid(CopyDetailDto copyDetail);
 }

+ 25 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxCommissionCheckDetailServiceImpl.java

@@ -4,6 +4,8 @@ import com.rongwei.bsentity.domain.ZhcxCommissionCheckDetailDo;
 import com.rongwei.bscommon.sys.dao.ZhcxCommissionCheckDetailDao;
 import com.rongwei.bscommon.sys.service.ZhcxCommissionCheckDetailService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bsentity.dto.commission.CopyDetailDto;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
@@ -20,9 +22,32 @@ import java.util.List;
 @Service
 public class ZhcxCommissionCheckDetailServiceImpl extends ServiceImpl<ZhcxCommissionCheckDetailDao, ZhcxCommissionCheckDetailDo> implements ZhcxCommissionCheckDetailService {
 
+    @Autowired
+    private ZhcxCommissionCheckDetailDao dao;
+
     @Override
     @Async("batchSaveThreadPool")
     public void saveCheckDetailBatch(List<ZhcxCommissionCheckDetailDo> resultCheckDetailDo) {
         this.saveBatch(resultCheckDetailDo);
     }
+
+    /**
+     * 拷贝详情
+     *
+     * @param copyDetail
+     */
+    @Override
+    public void copyByPid(CopyDetailDto copyDetail) {
+        dao.copyByPid(copyDetail);
+    }
+
+    /**
+     * 根据项目删除
+     *
+     * @param prjId
+     */
+    @Override
+    public void delByPrjId(String prjId) {
+        dao.delByPrjId(prjId);
+    }
 }

+ 24 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxCommissionCheckDetailTreeServiceImpl.java

@@ -4,6 +4,8 @@ import com.rongwei.bsentity.domain.ZhcxCommissionCheckDetailTreeDo;
 import com.rongwei.bscommon.sys.dao.ZhcxCommissionCheckDetailTreeDao;
 import com.rongwei.bscommon.sys.service.ZhcxCommissionCheckDetailTreeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bsentity.dto.commission.CopyDetailDto;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +19,26 @@ import org.springframework.stereotype.Service;
 @Service
 public class ZhcxCommissionCheckDetailTreeServiceImpl extends ServiceImpl<ZhcxCommissionCheckDetailTreeDao, ZhcxCommissionCheckDetailTreeDo> implements ZhcxCommissionCheckDetailTreeService {
 
+    @Autowired
+    private ZhcxCommissionCheckDetailTreeDao dao;
+
+    /**
+     * 通过项目id删除树
+     *
+     * @param projectId
+     */
+    @Override
+    public void delByPrjId(String projectId) {
+        dao.delByPrjId(projectId);
+    }
+
+    /**
+     * 拷贝详情
+     *
+     * @param copyDetail
+     */
+    @Override
+    public void copyByPid(CopyDetailDto copyDetail) {
+        dao.copyByPid(copyDetail);
+    }
 }

+ 39 - 7
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxCommissionCheckServiceImpl.java

@@ -20,6 +20,7 @@ import com.rongwei.bsentity.domain.ZhcxCommissionCheckParameterSetDetalDo;
 import com.rongwei.bsentity.domain.ZhcxCommissionCheckParameterSetDo;
 import com.rongwei.bsentity.dto.CheckDetailDTO;
 import com.rongwei.bsentity.dto.CommissionCheckDTO;
+import com.rongwei.bsentity.dto.commission.CopyDetailDto;
 import com.rongwei.bsentity.dto.commission.ImportProjectCheckBO;
 import com.rongwei.bsentity.dto.commission.ImportProjectCheckDto;
 import com.rongwei.bsentity.dto.commission.ParseDocBO;
@@ -84,6 +85,9 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
     @Autowired
     private ZhcxProjectManageService zhcxProjectManageService;
 
+    @Autowired
+    private ZhcxProjectDeviceNumberService zhcxProjectDeviceNumberService;
+
     @Autowired
     private SysFileItemService sysFileItemService;
 
@@ -1419,10 +1423,11 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
         final ParseDocBO docBO = ParseDocBO.builder()
                 .id(importDto.getId())
                 .dictMap(dictMap)
+                .project(project)
                 .build();
 
         //解析word文档
-        return ImportCommissionHelp.parseDoc(doc, project, docBO);
+        return ImportCommissionHelp.parseDoc(doc, docBO);
     }
 
     /**
@@ -1438,15 +1443,22 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
         final ZhcxCommissionCheckDo commissionCheckDo = getById(importDto.getId());
         importDto.setProjectId(commissionCheckDo.getProjectid());
 
+        //不同机台试车
+        final LambdaQueryWrapper<ZhcxCommissionCheckDo> queryCheckWrapper = Wrappers.lambdaQuery();
+        queryCheckWrapper.eq(ZhcxCommissionCheckDo::getProjectid, commissionCheckDo.getProjectid());
+        final List<ZhcxCommissionCheckDo> commissionCheckDos = list(queryCheckWrapper);
+
+        final LambdaQueryWrapper<ZhcxProjectDeviceNumberDo> queryDeviceWrapper = Wrappers.lambdaQuery();
+        queryDeviceWrapper.eq(ZhcxProjectDeviceNumberDo::getPid, commissionCheckDo.getProjectid());
+        final List<ZhcxProjectDeviceNumberDo> deviceNumberList = zhcxProjectDeviceNumberService.list(queryDeviceWrapper);
+        Map<String, ZhcxProjectDeviceNumberDo> deviceMap = new HashMap<>(deviceNumberList.size());
+        deviceNumberList.stream().forEach(item -> deviceMap.put(item.getId(), item));
+
         //删除树
-        final LambdaQueryWrapper<ZhcxCommissionCheckDetailTreeDo> removeTreeWrapper = Wrappers.lambdaQuery();
-        removeTreeWrapper.eq(ZhcxCommissionCheckDetailTreeDo::getBaseinfoid, commissionCheckDo.getProjectcode());
-        zhcxCommissionCheckDetailTreeService.remove(removeTreeWrapper);
+        zhcxCommissionCheckDetailTreeService.delByPrjId(commissionCheckDo.getProjectid());
 
         //删除明细
-        final LambdaQueryWrapper<ZhcxCommissionCheckDetailDo> removeDetailWrapper = Wrappers.lambdaQuery();
-        removeDetailWrapper.eq(ZhcxCommissionCheckDetailDo::getPid, importDto.getId());
-        zhcxCommissionCheckDetailService.remove(removeDetailWrapper);
+        zhcxCommissionCheckDetailService.delByPrjId(commissionCheckDo.getProjectid());
 
         //导出明细
         final ImportProjectCheckBO importCheckDetail = importCheckDetail(importDto, file);
@@ -1458,6 +1470,26 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
         if(ObjectUtil.isNotEmpty(importCheckDetail.getDetailList())) {
             zhcxCommissionCheckDetailService.saveBatch(importCheckDetail.getDetailList());
         }
+
+        //其他机台
+        for(ZhcxCommissionCheckDo check : commissionCheckDos) {
+
+            if(check.getId().equals(importDto.getId())) { //自身不做处理
+                continue;
+            }
+
+            //发运状态机号不做导入
+            if(ObjectUtil.isNotEmpty(deviceMap.get(check.getMachineid())) && "发运".equals(deviceMap.get(check.getMachineid()).getStatus())) {
+                continue;
+            }
+
+            final CopyDetailDto copyDto = CopyDetailDto.builder()
+                    .sourcePid(importDto.getId())
+                    .targetPid(check.getId())
+                    .build();
+            zhcxCommissionCheckDetailTreeService.copyByPid(copyDto);//树
+            zhcxCommissionCheckDetailService.copyByPid(copyDto);//详情
+        }
     }
 
     /**

+ 12 - 10
business-common/src/main/java/com/rongwei/bscommon/sys/utils/ImportCommissionHelp.java

@@ -20,10 +20,10 @@ public class ImportCommissionHelp {
      * 解析word
      *
      * @param doc
-     * @param project
+     * @param importDto
      * @return
      */
-    public static ImportProjectCheckBO parseDoc(Document doc, ZhcxProjectManageDo project, ParseDocBO importDto) {
+    public static ImportProjectCheckBO parseDoc(Document doc, ParseDocBO importDto) {
         List<ZhcxCommissionCheckDetailDo> detailList = new ArrayList<>();
         //树的一维结构
         List<ZhcxCommissionCheckDetailTreeDo> treeList = new ArrayList<>();
@@ -95,7 +95,7 @@ public class ImportCommissionHelp {
                     }
 
                     //树结构中添加元素
-                    final ZhcxCommissionCheckDetailTreeDo detailTree = ImportCommissionHelp.getDetailTree(paragraph, project, treeList);
+                    final ZhcxCommissionCheckDetailTreeDo detailTree = ImportCommissionHelp.getDetailTree(paragraph, importDto, treeList);
                     treeList.add(detailTree);
                     treeMap.put(detailTree.getId(), detailTree);
                 }
@@ -112,25 +112,27 @@ public class ImportCommissionHelp {
      * 设置树结构
      *
      * @param paragraph
-     * @param project
+     * @param importDto
      * @param treeList
      */
-    public static ZhcxCommissionCheckDetailTreeDo getDetailTree(Paragraph paragraph, ZhcxProjectManageDo project, List<ZhcxCommissionCheckDetailTreeDo> treeList) {
+    public static ZhcxCommissionCheckDetailTreeDo getDetailTree(Paragraph paragraph, ParseDocBO importDto, List<ZhcxCommissionCheckDetailTreeDo> treeList) {
         //当前标题等级
-        int currentLevelNumber = paragraph.getListFormat().getListLevelNumber();
+//        int currentLevelNumber = paragraph.getListFormat().getListLevelNumber();
+        String currentLevelStr = paragraph.getParagraphFormat().getStyle().getName().replace("Heading ", "");
+        int currentLevelNumber = Integer.parseInt(currentLevelStr);
         String cellVal = getNodeText(paragraph);
 
         ZhcxCommissionCheckDetailTreeDo treeDo = new ZhcxCommissionCheckDetailTreeDo();
         treeDo.setId(SecurityUtil.getUUID());
         treeDo.setDeleted("0");
         treeDo.setName(cellVal);
-        treeDo.setBaseinfoid(project.getProjectCode());
-        treeDo.setLevel(currentLevelNumber + 1);
+        treeDo.setBaseinfoid(importDto.getId());
+        treeDo.setLevel(currentLevelNumber);
 
-        if(currentLevelNumber == 0) { //第一层节点
+        if(currentLevelNumber == 1) { //第一层节点
             treeDo.setPid("-1");
         } else {
-            final ZhcxCommissionCheckDetailTreeDo parentTree = ImportCommissionHelp.getParentTree(treeList, currentLevelNumber + 1);
+            final ZhcxCommissionCheckDetailTreeDo parentTree = ImportCommissionHelp.getParentTree(treeList, currentLevelNumber);
             final String fullpid = parentTree.getFullpid();
             StringBuilder fullPidSb = new StringBuilder();
             if(ObjectUtil.isNotEmpty(fullpid)) {

+ 2 - 1
business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxProjectDeviceNumberDo.java

@@ -75,5 +75,6 @@ public class ZhcxProjectDeviceNumberDo extends BaseDo {
     @TableField("SUPERVISION_SHORT_COMPANY")
     private String supervisionShortCompany;
 
-
+    @TableField("STATUS")
+    private String status;
 }

+ 15 - 0
business-entity/src/main/java/com/rongwei/bsentity/dto/commission/CopyDetailDto.java

@@ -0,0 +1,15 @@
+package com.rongwei.bsentity.dto.commission;
+
+import lombok.*;
+
+@Setter
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class CopyDetailDto {
+
+    private String sourcePid;
+
+    private String targetPid;
+}

+ 6 - 0
business-entity/src/main/java/com/rongwei/bsentity/dto/commission/ParseDocBO.java

@@ -1,5 +1,6 @@
 package com.rongwei.bsentity.dto.commission;
 
+import com.rongwei.bsentity.domain.ZhcxProjectManageDo;
 import com.rongwei.rwadmincommon.system.domain.SysDictDo;
 import lombok.*;
 
@@ -12,7 +13,12 @@ import java.util.Map;
 @Builder
 public class ParseDocBO {
 
+    /**
+     * 试车检查id
+     */
     private String id;
 
     private Map<String, SysDictDo> dictMap;
+
+    private ZhcxProjectManageDo project;
 }