wangxuan 8 месяцев назад
Родитель
Сommit
5e54eeccd8

+ 9 - 3
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxPmqManagementDistributionDao.java

@@ -20,8 +20,12 @@ import java.util.List;
  */
 @Mapper
 public interface ZhcxPmqManagementDistributionDao extends BaseMapper<ZhcxPmqManagementDistributionDo> {
-
+    // 三单派单核心sql (拆分质检人)
     List<ZhcxPmqManagementDistributionDo> selectListByPidForConfirmer(@Param("pid") String pid);
+    // 三单派单核心sql (不拆分质检人)
+    List<ZhcxPmqManagementDistributionDo> selectListByPidForConfirmer2(@Param("pid") String pid);
+    // 三单第2.5层数据
+    List<ZhcxPmqManagementDistributionDo> selectListByPid(@Param("pid") String pid);
 
     List<ZhcxPmqManagementDistributionDetailDo> getDetailList(@Param("distributid") String distributid,
                                                               @Param("pid") String pid,
@@ -32,11 +36,13 @@ public interface ZhcxPmqManagementDistributionDao extends BaseMapper<ZhcxPmqMana
      * 更新第二层的派单状态
      * @param id id
      */
-    void updateDispatchStatus(@Param("id") String id,@Param("nowDate") String nowDate);
+    void updateDispatchStatus(@Param("id") String id,
+                              @Param("nowDate") String nowDate,
+                              @Param("status") String dispatchStatus);
 
     /**
      * 根据项目id获取所有的机号
-     * @param projectId
+     * @param projectId 项目id
      * @return
      */
     List<String> getAllMachinseNoByProjectId(@Param("projectId") String projectId);

+ 7 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxPmqManagementRecoredService.java

@@ -36,4 +36,11 @@ public interface ZhcxPmqManagementRecoredService extends IService<ZhcxPmqManagem
      * @return 数据
      */
     R getListData(String id);
+
+    /**
+     * 三单派单页面批量派单数据源
+     * @param id  Recored_id
+     * @return 数据
+     */
+    R getBatchListData(String id);
 }

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

@@ -52,8 +52,9 @@ public class ZhcxPmqManagementDistributionServiceImpl extends ServiceImpl<ZhcxPm
         if(StringUtils.isEmpty(pid)){
             return R.error("id不能为空");
         }
-        // 一个sql直接把数据拆开
-        List<ZhcxPmqManagementDistributionDo> baseList = baseMapper.selectListByPidForConfirmer(pid);
+        // 一个sql直接把数据拆开 (第二版不需要拆分)
+        //List<ZhcxPmqManagementDistributionDo> baseList = baseMapper.selectListByPidForConfirmer(pid);
+        List<ZhcxPmqManagementDistributionDo> baseList = baseMapper.selectListByPidForConfirmer2(pid);
         if(baseList.isEmpty()){
             return R.ok("暂无数据需要派单");
         }
@@ -122,8 +123,10 @@ public class ZhcxPmqManagementDistributionServiceImpl extends ServiceImpl<ZhcxPm
         }else{
             logService.logForSecondFloor(pid,"派单");
         }
-        // 更新第二层的派单状态
-        baseMapper.updateDispatchStatus(pid,nowDate);
+        // 派单状态
+        String dispatchStatus = (baseMapper.selectListByPid(pid).isEmpty())? "1" : "2";
+        // 更新第二层的派单状态 (新增派单状态:  部分派单=2,未派单=0,已派单=1)
+        baseMapper.updateDispatchStatus(pid,nowDate,dispatchStatus);
         // 更新第二层的关闭状态
         detailService.updateClosedStateInSecondFloor(pid);
         return R.ok("派单成功");

+ 37 - 11
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxPmqManagementRecoredServiceImpl.java

@@ -232,6 +232,24 @@ public class ZhcxPmqManagementRecoredServiceImpl extends ServiceImpl<ZhcxPmqMana
 
     @Override
     public R getListData(String id) {
+        List<ZhcxPmqManagementDistributionDo> distributions = getDistributionDataByPid(id);
+        Map<String, Object> results = new HashMap<>();
+        results.put("records",distributions);
+        results.put("current",1);
+        results.put("orders",new ArrayList<String>());
+        results.put("pages",1);
+        results.put("searchCount",true);
+        results.put("size",100);
+        results.put("total",distributions.size());
+        return R.ok(results);
+    }
+
+    /**
+     * 构建2.5层三单数据(已保存)
+     * @param id record_id
+     * @return 集合
+     */
+    private List<ZhcxPmqManagementDistributionDo> getDistributionDataByPid(String id){
         ZhcxPmqManagementRecoredDo recoredDo = this.getById(id);
         // 生成第2.5层数据结果
         List<ZhcxPmqManagementDistributionDo> distributions = baseMapper.getDistributionsByPid(id);
@@ -269,7 +287,12 @@ public class ZhcxPmqManagementRecoredServiceImpl extends ServiceImpl<ZhcxPmqMana
         }
         if(isSave){
             // 更改派单状态/更新第二层的状态
-            recoredDo.setDispatchstatus("1");
+            int sized = (int) distributions.stream().filter(item -> !item.getStatus().equals("已关闭") && StringUtils.isEmpty(item.getConfirmer())).count();
+            if(sized >0){
+                recoredDo.setDispatchstatus("2");//部分派单
+            }else {
+                recoredDo.setDispatchstatus("1");//已派单
+            }
             if(index == distributions.size()){
                 recoredDo.setClosestatus("已关闭");
                 this.updateById(recoredDo);
@@ -279,17 +302,8 @@ public class ZhcxPmqManagementRecoredServiceImpl extends ServiceImpl<ZhcxPmqMana
             }
             log.info("更新关闭状态");
         }
-        Map<String, Object> results = new HashMap<>();
-        results.put("records",distributions);
-        results.put("current",1);
-        results.put("orders",new ArrayList<String>());
-        results.put("pages",1);
-        results.put("searchCount",true);
-        results.put("size",100);
-        results.put("total",distributions.size());
-        return R.ok(results);
+        return distributions;
     }
-
     /**
      * 三单派单右边列表
      * @param deptid NX部门id
@@ -326,4 +340,16 @@ public class ZhcxPmqManagementRecoredServiceImpl extends ServiceImpl<ZhcxPmqMana
         }
         return map;
     }
+
+    @Override
+    public R getBatchListData(String id) {
+        // 去构建保存2.5层的数据集合
+        String[] idSplit = id.split(",");
+        for (String recordId : idSplit) {
+            // 执行第2.5层保存操作
+            getDistributionDataByPid(recordId);
+        }
+
+        return null;
+    }
 }

+ 17 - 1
business-common/src/main/resources/mybatis/business/ZhcxPmqManagementDistributionDao.xml

@@ -6,7 +6,7 @@
         UPDATE
             INCONTROL.ZHCX_PMQ_MANAGEMENT_RECORED
         SET
-            DISPATCHSTATUS = '1',MODIFYDATE = #{nowDate}
+            DISPATCHSTATUS = #{status},MODIFYDATE = #{nowDate}
         WHERE
             ID = #{id}
     </update>
@@ -42,6 +42,22 @@
         WHERE CONFIRMERID != ''
     </select>
 
+    <select id="selectListByPidForConfirmer2"
+            resultType="com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDo">
+        SELECT a.*
+        FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION a
+        WHERE a.DELETED = '0'
+          AND a.PID = #{pid}
+          AND a.CONFIRMERID IS NOT NULL
+    </select>
+
+    <select id="selectListByPid"
+            resultType="com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDo">
+        SELECT a.*
+        FROM INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION a
+        WHERE a.DELETED = '0' AND a.PID = #{pid}
+              AND a.CONFIRMERID IS NULL
+    </select>
     <select id="getDetailList" resultType="com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDetailDo">
         SELECT
             *

+ 12 - 12
business-common/src/main/resources/mybatis/business/ZhcxPmqManagementDistributionDetailDao.xml

@@ -103,22 +103,22 @@ ORDER BY
     </select>
     <select id="getDataByTime" resultType="com.rongwei.bsentity.vo.pmq.ZhcxPmqManagementDistributionDetailVo">
         SELECT
-            x.MACHINENO,
-            x.PROJECTNO,
-            x.PROJECTNAME,
-            x.CONFIRMER,
-            x.ESTIMATEDCLOSEDATA,
-            IFNULL(x.STATUS, '未关闭') AS STATUS,
-            x.SERIALNUMBER,
-            x.SUPPLEMENT,
-            r.DISTRIBUTETIME,
-            r.DEPTID,
-            r.DEPTNAME
+            WM_CONCAT(DISTINCT x.MACHINENO) MACHINENO,
+            WM_CONCAT(DISTINCT x.PROJECTNO) PROJECTNO,
+            WM_CONCAT(DISTINCT x.PROJECTNAME) PROJECTNAME,
+            WM_CONCAT(DISTINCT x.CONFIRMER) CONFIRMER,
+            WM_CONCAT(DISTINCT x.ESTIMATEDCLOSEDATA) ESTIMATEDCLOSEDATA,
+            WM_CONCAT(IFNULL(x.STATUS, '未关闭')) AS STATUS,
+            WM_CONCAT(DISTINCT x.SERIALNUMBER) SERIALNUMBER,
+            WM_CONCAT(DISTINCT x.SUPPLEMENT) SUPPLEMENT,
+            WM_CONCAT(DISTINCT r.DISTRIBUTETIME) DISTRIBUTETIME,
+            WM_CONCAT(DISTINCT r.DEPTID) DEPTID,
+            WM_CONCAT(DISTINCT r.DEPTNAME) DEPTNAME
         FROM
             INCONTROL.ZHCX_PMQ_MANAGEMENT_DISTRIBUTION x
                 LEFT JOIN INCONTROL.ZHCX_PMQ_MANAGEMENT_RECORED r ON r.ID = x.PID AND r.DELETED = '0'
         WHERE
             x.DELETED = '0' AND TRUNC(r.DISTRIBUTETIME) = TO_DATE(#{data}, 'YYYY-MM-DD')
-        ORDER BY r.DISTRIBUTETIME
+        GROUP BY x.MACHINEID,x.SERIALNUMBER,r.DEPTID
     </select>
 </mapper>

+ 1 - 1
business-server/src/main/java/com/rongwei/bsserver/controller/ZhcxPMQMController.java

@@ -67,7 +67,7 @@ public class ZhcxPMQMController {
 
 
     @PostMapping("/generateDistributionDetail")
-    @ApiOperation("第二层生成三单派单数据")
+    @ApiOperation("第二层生成三单派单数据(单一派单)")
     public R generateDistributionDetail(@RequestBody Map<String,Object> map){
         try {
             if(Objects.isNull(map.get("pid"))){

+ 1 - 1
business-server/src/main/java/com/rongwei/bsserver/controller/ZhcxPmqManagementController.java

@@ -39,7 +39,7 @@ public class ZhcxPmqManagementController {
     private ZhcxPmqManagementLogService logService;
 
     @PostMapping("/generateDistributionDetail")
-    @ApiOperation("第二层生成三单派单数据")
+    @ApiOperation("第二层生成三单派单数据(左边列表 NA/已关闭)")
     public R generateDistributionDetail(@RequestBody Map<String,Object> map){
         try {
             if(Objects.isNull(map.get("id"))){

+ 18 - 2
business-server/src/main/java/com/rongwei/bsserver/controller/ZhcxPmqManagementRecoredController.java

@@ -54,10 +54,10 @@ public class ZhcxPmqManagementRecoredController {
     @ApiOperation("三单派单页面右边列表数据源")
     public R getListData(@RequestBody Map<String,Object> map){
         try {
-            if(Objects.isNull(map.get("querySql"))){
+            if(Objects.isNull(map.get("queryId"))){
                 return R.error("id不能为空");
             }
-            String id = (String) map.get("querySql");
+            String id = (String) map.get("queryId");
             log.info("三单派单页面右边列表数据源->id:{}",id);
             return managementRecoredService.getListData(id);
         } catch (Exception e) {
@@ -65,5 +65,21 @@ public class ZhcxPmqManagementRecoredController {
             return R.error("三单派单页面右边列表数据源异常");
         }
     }
+
+    @PostMapping("/getBatchListData")
+    @ApiOperation("三单派单页面批量派单数据源")
+    public R getBatchListData(@RequestBody Map<String,Object> map){
+        try {
+            if(Objects.isNull(map.get("queryId"))){
+                return R.error("id不能为空");
+            }
+            String id = (String) map.get("queryId");
+            log.info("三单派单页面批量派单数据源->id:{}",id);
+            return managementRecoredService.getBatchListData(id);
+        } catch (Exception e) {
+            log.info(String.valueOf(e));
+            return R.error("三单派单页面批量派单数据源");
+        }
+    }
 }