Pārlūkot izejas kodu

试车word导入

wangming 7 mēneši atpakaļ
vecāks
revīzija
890275d996

+ 24 - 10
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxCommissionCheckDetailDao.java

@@ -6,10 +6,7 @@ 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 org.apache.ibatis.annotations.*;
 
 import java.util.List;
 import java.util.Map;
@@ -97,7 +94,7 @@ public interface ZhcxCommissionCheckDetailDao extends BaseMapper<ZhcxCommissionC
             " SECONDLEVELCLASSIFICATION, " +
             " THREELEVELCLASSIFICATION, " +
             " FOURONELEVELCLASSIFICATION, " +
-            " TREEFULLID) " +
+            " TREEFULLID, TREEID) " +
             "SELECT " +
             " guid(), " +
             " '0', " +
@@ -113,29 +110,46 @@ public interface ZhcxCommissionCheckDetailDao extends BaseMapper<ZhcxCommissionC
             " SECONDLEVELCLASSIFICATION, " +
             " THREELEVELCLASSIFICATION, " +
             " FOURONELEVELCLASSIFICATION, " +
-            " TREEFULLID " +
+            " REPLACE(TREEFULLID, ',', concat(',', #{index}, '#')), concat(#{index}, '#', TREEID) " +
             "FROM " +
             " ZHCX_COMMISSION_CHECK_DETAIL " +
             "WHERE " +
             " PID = #{sourcePid}")
     void copyByPid(CopyDetailDto copyDetail);
 
+    @Update("UPDATE " +
+            " ZHCX_COMMISSION_CHECK_DETAIL d " +
+            "JOIN ZHCX_COMMISSION_CHECK_DETAIL_TREE t " +
+            " ON " +
+            " t.ROPTION = d.TREEID SET " +
+            " d.TREEID = t.ID, " +
+            " d.TREEFULLID = IF (t.PID == '-1', CONCAT(',', t.ID), CONCAT(t.FULLPID, t.ID)) " +
+            " WHERE " +
+            "  d.PID = #{targetPid} " +
+            "  AND t.BASEINFOID = #{targetPid}")
+    void updateTreeId(CopyDetailDto copyDetail);
+
     /**
      * 根据项目删除
      *
      * @param projectId
      */
-    @Delete("DELETE d " +
+    @Delete("DELETE " +
+            " d " +
             "FROM " +
             " ZHCX_COMMISSION_CHECK_DETAIL d " +
             "WHERE " +
-            " EXISTS ( " +
+            " (PID = #{pid} or EXISTS ( " +
             " SELECT " +
             "  * " +
             " FROM " +
             "  ZHCX_COMMISSION_CHECK zcc " +
+            " JOIN ZHCX_PROJECT_DEVICE_NUMBER dn ON " +
+            "  dn.ID = zcc.MACHINEID " +
             " WHERE " +
             "  zcc.ID = d.PID " +
-            "  AND zcc.PROJECTID = #{projectId})")
-    void delByPrjId(@Param("projectId") String projectId);
+            "  AND zcc.PROJECTID = #{projectId} " +
+            "  AND (dn.STATUS <> '发运' " +
+            "   OR dn.STATUS IS NULL or dn.STATUS = '')))")
+    void delByPrjId(@Param("projectId") String projectId, @Param("pid") String pid);
 }

+ 20 - 7
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxCommissionCheckDetailTreeDao.java

@@ -6,6 +6,7 @@ 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;
+import org.apache.ibatis.annotations.Update;
 
 /**
  * <p>
@@ -17,20 +18,21 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface ZhcxCommissionCheckDetailTreeDao extends BaseMapper<ZhcxCommissionCheckDetailTreeDo> {
 
-    @Delete("DELETE  " +
+    @Delete("DELETE " +
             " d " +
             "FROM " +
             " ZHCX_COMMISSION_CHECK_DETAIL_TREE d " +
             "WHERE " +
-            " EXISTS ( " +
+            " (BASEINFOID = #{pid} or EXISTS ( " +
             " SELECT " +
             "  * " +
             " FROM " +
             "  ZHCX_COMMISSION_CHECK zcc " +
+            "  JOIN ZHCX_PROJECT_DEVICE_NUMBER dn ON dn.ID = zcc.MACHINEID " +
             " WHERE " +
             "  zcc.ID = d.BASEINFOID " +
-            "  AND zcc.PROJECTID = #{projectId})")
-    void delByPrjId(@Param("projectId") String projectId);
+            "  AND zcc.PROJECTID = #{projectId} AND (dn.STATUS <> '发运' or dn.STATUS is null or dn.STATUS = '')))")
+    void delByPrjId(@Param("projectId") String projectId,@Param("pid") String pid);
     
     @Insert("INSERT " +
             " INTO " +
@@ -54,7 +56,7 @@ public interface ZhcxCommissionCheckDetailTreeDao extends BaseMapper<ZhcxCommiss
             " \"LEVEL\", " +
             " TREECODE) " +
             "SELECT " +
-            " guid(), " +
+            " concat(#{index}, '#', ID), " +
             " TENANTID, " +
             " ROPTION, " +
             " '0', " +
@@ -65,15 +67,26 @@ public interface ZhcxCommissionCheckDetailTreeDao extends BaseMapper<ZhcxCommiss
             " MODIFYUSERID, " +
             " MODIFYUSERNAME, " +
             " REMARK, " +
-            " PID, " +
+            " if(PID = '-1', '-1', concat(#{index}, '#', PID)), " +
             " NAME, " +
             " SORT, " +
             " #{targetPid}, " +
             " PRODUCTTYPE, " +
-            " FULLPID, " +
+            " if(PID = '-1', null, REPLACE(FULLPID, ',', concat(',', #{index}, '#'))), " +
             " \"LEVEL\", " +
             " TREECODE " +
             "FROM " +
             " ZHCX_COMMISSION_CHECK_DETAIL_TREE where BASEINFOID = #{sourcePid}")
     void copyByPid(CopyDetailDto copyDetail);
+
+    @Update("UPDATE " +
+            " ZHCX_COMMISSION_CHECK_DETAIL_TREE t1 " +
+            "JOIN ZHCX_COMMISSION_CHECK_DETAIL_TREE t2 ON " +
+            " t1.ROPTION = t2.PID SET " +
+            " t2.PID = t1.ID," +
+            " t2.FULLPID =  REPLACE(t2.FULLPID, t1.ID, t2.PID)" +
+            "WHERE " +
+            " t2.BASEINFOID = #{targetPid} " +
+            " AND t1.BASEINFOID = #{targetPid}")
+    void updatePid4Copy(CopyDetailDto copyDetail);
 }

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

@@ -32,5 +32,5 @@ public interface ZhcxCommissionCheckDetailService extends IService<ZhcxCommissio
      *
      * @param prjId
      */
-    void delByPrjId(String prjId);
+    void delByPrjId(String prjId, String pid);
 }

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

@@ -19,7 +19,7 @@ public interface ZhcxCommissionCheckDetailTreeService extends IService<ZhcxCommi
      *
      * @param projectId
      */
-    void delByPrjId(String projectId);
+    void delByPrjId(String projectId, String pid);
 
 
     /**

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

@@ -39,6 +39,7 @@ public class ZhcxCommissionCheckDetailServiceImpl extends ServiceImpl<ZhcxCommis
     @Override
     public void copyByPid(CopyDetailDto copyDetail) {
         dao.copyByPid(copyDetail);
+//        dao.updateTreeId(copyDetail);
     }
 
     /**
@@ -47,7 +48,7 @@ public class ZhcxCommissionCheckDetailServiceImpl extends ServiceImpl<ZhcxCommis
      * @param prjId
      */
     @Override
-    public void delByPrjId(String prjId) {
-        dao.delByPrjId(prjId);
+    public void delByPrjId(String prjId, String pid) {
+        dao.delByPrjId(prjId, pid);
     }
 }

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

@@ -28,8 +28,8 @@ public class ZhcxCommissionCheckDetailTreeServiceImpl extends ServiceImpl<ZhcxCo
      * @param projectId
      */
     @Override
-    public void delByPrjId(String projectId) {
-        dao.delByPrjId(projectId);
+    public void delByPrjId(String projectId, String pid) {
+        dao.delByPrjId(projectId, pid);
     }
 
     /**
@@ -40,5 +40,6 @@ public class ZhcxCommissionCheckDetailTreeServiceImpl extends ServiceImpl<ZhcxCo
     @Override
     public void copyByPid(CopyDetailDto copyDetail) {
         dao.copyByPid(copyDetail);
+//        dao.updatePid4Copy(copyDetail);
     }
 }

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

@@ -1545,10 +1545,10 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
         deviceNumberList.stream().forEach(item -> deviceMap.put(item.getId(), item));
 
         //删除树
-        zhcxCommissionCheckDetailTreeService.delByPrjId(commissionCheckDo.getProjectid());
+        zhcxCommissionCheckDetailTreeService.delByPrjId(commissionCheckDo.getProjectid(), importDto.getId());
 
         //删除明细
-        zhcxCommissionCheckDetailService.delByPrjId(commissionCheckDo.getProjectid());
+        zhcxCommissionCheckDetailService.delByPrjId(commissionCheckDo.getProjectid(), importDto.getId());
 
         //导出明细
         final ImportProjectCheckBO importCheckDetail = importCheckDetail(importDto, file);
@@ -1562,8 +1562,9 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
         }
 
         //其他机台
+        int count = -1;
         for(ZhcxCommissionCheckDo check : commissionCheckDos) {
-
+            count++;
             if(check.getId().equals(importDto.getId())) { //自身不做处理
                 continue;
             }
@@ -1576,6 +1577,7 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
             final CopyDetailDto copyDto = CopyDetailDto.builder()
                     .sourcePid(importDto.getId())
                     .targetPid(check.getId())
+                    .index(String.valueOf(count))
                     .build();
             zhcxCommissionCheckDetailTreeService.copyByPid(copyDto);//树
             zhcxCommissionCheckDetailService.copyByPid(copyDto);//详情

+ 5 - 1
business-common/src/main/java/com/rongwei/bscommon/sys/utils/ImportCommissionHelp.java

@@ -65,6 +65,7 @@ public class ImportCommissionHelp {
                         } else {
                             detail.setTreefullid(",".concat(treeDo.getId()));
                         }
+                        detail.setTreeid(treeDo.getId());
 
                         if(treeDo.getLevel() == 1) {
                             detail.setOnelevelclassification(treeDo.getId());
@@ -96,6 +97,9 @@ public class ImportCommissionHelp {
 
                     //树结构中添加元素
                     final ZhcxCommissionCheckDetailTreeDo detailTree = ImportCommissionHelp.getDetailTree(paragraph, importDto, treeList);
+                    if(ObjectUtil.isEmpty(detailTree.getName())) { //标题为空不存
+                        continue;
+                    }
                     treeList.add(detailTree);
                     treeMap.put(detailTree.getId(), detailTree);
                 }
@@ -219,7 +223,7 @@ public class ImportCommissionHelp {
     public static String getNodeText(Node node) {
         final String text = node.getText();
         if(ObjectUtil.isEmpty(text)) {
-            return null;
+            return " ";
         }
 
         return StrUtil.trim(text.replace("\u0007", ""));

+ 6 - 0
business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxCommissionCheckDetailDo.java

@@ -267,4 +267,10 @@ public class ZhcxCommissionCheckDetailDo extends BaseDo implements Serializable
     @JsonProperty("TREEFULLID")
     @TableField("TREEFULLID")
     private String treefullid;
+
+    /**
+     * 树叶子节点id
+     */
+    @TableField("TREEID")
+    private String treeid;
 }

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

@@ -12,4 +12,6 @@ public class CopyDetailDto {
     private String sourcePid;
 
     private String targetPid;
+
+    private String index;
 }