Browse Source

一件排产

laoyao 3 years ago
parent
commit
e930756fde

+ 3 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/dao/PlanMapper.java

@@ -51,4 +51,7 @@ public interface PlanMapper extends SuperMapper<Plan> {
     int updatePlanStatus(Order model);
 
     int updatePlanProduceStatus(Order model);
+
+
+    int updateByPlanIds(@Param("planIds") String planIds);
 }

+ 2 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/dao/PlanProductMapper.java

@@ -20,4 +20,6 @@ public interface PlanProductMapper extends SuperMapper<PlanProduct> {
 
     int updateByTaskBatchNo(@Param("taskBatchNo") String taskBatchNo);
 
+    int updateByPlanIds(@Param("planIds") String planIds);
+
 }

+ 27 - 8
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/OrderServiceImpl.java

@@ -417,6 +417,7 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
         }
         List<Long>idList = list.stream().map(p -> Long.parseLong(p.get("orderProductId").toString())).collect(Collectors.toList());
         List<Long>planIdList = list.stream().map(p -> Long.parseLong(p.get("id").toString())).collect(Collectors.toList());
+        String planIds = getStr(planIdList);
         List<Plan> oriPlanList = planMapper.selectList(Wraps.<Plan>lbQ().in(Plan::getId,planIdList));
         List<OrderProduct> orderProductList = orderProductService.list(Wraps.<OrderProduct>lbQ().in(OrderProduct::getId,idList));
         //重复点击验证
@@ -479,6 +480,7 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
             List<TTask> taskList = taskService.createNewTaskByPlan(orderProductList, planProductList, bomProcedureMap, taskBatchNo);
 
             map.put("taskBatchNo", taskBatchNo);
+            map.put("planIds", planIds);
         }finally {
             redisTemplate.delete(RepeatCacheKey.ONETOUCHSCHEDULE_UNION_KEY+"_"+ids);
         }
@@ -489,12 +491,15 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
     @Override
     public Map<String, Object> confirmSchedule(Map<String, Object> map,SysUser sysUser) {
         String taskBatchNo = map.get("taskBatchNo")==null?"":map.get("taskBatchNo").toString();
-        isFalse(StringUtils.isEmpty(taskBatchNo),"排产批次号不能为空");
+        String planIds = map.get("planIds")==null?"":map.get("planIds").toString();
+
+
+        isFalse(StringUtils.isEmpty(planIds),"请选择计划");
 
        // TOTO add by yejian by read code 判断是否已经点击过一键生产逻辑修改
-        Object obj = redisTemplate.opsForValue().get(RepeatCacheKey.CONFIRMSCHEDULE_UNION_KEY+"_"+taskBatchNo);
+        Object obj = redisTemplate.opsForValue().get(RepeatCacheKey.CONFIRMSCHEDULE_UNION_KEY+"_"+planIds);
         if(obj==null){
-            redisTemplate.opsForValue().set(RepeatCacheKey.CONFIRMSCHEDULE_UNION_KEY+"_"+taskBatchNo,"1",60,TimeUnit.SECONDS);
+            redisTemplate.opsForValue().set(RepeatCacheKey.CONFIRMSCHEDULE_UNION_KEY+"_"+planIds,"1",60,TimeUnit.SECONDS);
         }else{
             return map;
         }
@@ -544,18 +549,18 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
         }
 
         //更新计划草稿状态
-        planMapper.updateByTaskBatchNo(taskBatchNo);
-        planProductMapper.updateByTaskBatchNo(taskBatchNo);
+        planMapper.updateByPlanIds(planIds);
+        planProductMapper.updateByTaskBatchNo(planIds);
         //生成节点任务
-        taskNodeService.saveTaskNodeByTaskBatchNoNew(taskBatchNo,sysUser);
+        taskNodeService.saveTaskNodeByTaskBatchNoNew(planIds,sysUser);
         //更新任务状态
         TTask task = new TTask();
         task.setDraftFlag("0");
         //更新任务
-        taskService.update(task,Wraps.<TTask>lbQ().eq(TTask::getTaskBatchNo,taskBatchNo));
+        taskService.update(task,Wraps.<TTask>lbQ().in(TTask::getPlanId,planIds));
 
         //把首任务放到mq中
-        List<TTask>taskList = taskMapper.selectList(Wraps.<TTask>lbQ().eq(TTask::getTaskBatchNo,taskBatchNo));
+        List<TTask>taskList = taskMapper.selectList(Wraps.<TTask>lbQ().in(TTask::getPlanId,planIds));
         //把一些重要信息存放缓存
         pushToRedis(taskList);
         pushToMq(taskList);
@@ -874,4 +879,18 @@ public class OrderServiceImpl extends SuperServiceImpl<OrderMapper, Order> imple
             redisTemplate.opsForValue().set(DemoCacheKey.DEMOLINE_WORKOP_ZONE+workTask.getCompleteBatchNo(),zoneNo);
         }
     }
+
+
+    private String getStr(List<Long>list){
+        if(CollectionUtil.isEmpty(list))
+            return "";
+
+        String s = "";
+        for(Long l:list){
+            s+=l;
+            s+=",";
+        }
+        s = s.substring(0,list.size());
+        return s;
+    }
 }

+ 8 - 2
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskNodeServiceImpl.java

@@ -286,11 +286,17 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
     }
 
 
-
+    /**
+     *
+     * @param taskBatchNo计划ID
+     * @param sysUser
+     */
     @Override
     public void saveTaskNodeByTaskBatchNoNew(String taskBatchNo, SysUser sysUser) {
         //生成节点任务
-        List<TTask> taskList = taskService.list(Wraps.<TTask>lbQ().eq(TTask::getTaskBatchNo, taskBatchNo).orderByDesc(TTask::getPrority));
+//        List<TTask> taskList = taskService.list(Wraps.<TTask>lbQ().eq(TTask::getTaskBatchNo, taskBatchNo).orderByDesc(TTask::getPrority));
+        List<TTask> taskList = taskService.list(Wraps.<TTask>lbQ().in(TTask::getPlanId, taskBatchNo).orderByDesc(TTask::getPrority));
+
         Map<String, List<TTask>> taskMap = taskList.stream().collect(groupingBy(TTask::getCompleteBatchNo));
 
         List<Long> procedureList = taskList.stream().map(p -> p.getProcedureId()).collect(Collectors.toList());

+ 5 - 0
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/operationManagementCenter/PlanMapper.xml

@@ -259,6 +259,11 @@
       where id in (select plan_id from imcs_t_task where task_batch_no =  #{taskBatchNo})
     </update>
 
+    <update id="updateByPlanIds">
+      update imcs_p_plan set draft_flag = '0',plan_status = '3',scheduling_status='3',produce_status='1'
+      where id in (${planIds})
+    </update>
+
     <update id="updateproduceStatusBegin">
       UPDATE imcs_p_plan o
             SET o. produce_status = '2'

+ 5 - 0
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/operationManagementCenter/PlanProductMapper.xml

@@ -27,4 +27,9 @@
       update imcs_p_plan_product set draft_flag = '0'
       where plan_id in (select plan_id from imcs_t_task where task_batch_no =  #{taskBatchNo})
     </update>
+
+    <update id="updateByPlanIds">
+      update imcs_p_plan_product set draft_flag = '0'
+      where plan_id in (${planIds})
+    </update>
 </mapper>

+ 4 - 0
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/operationManagementCenter/TTaskTestUnqualifiedBomController.java

@@ -55,6 +55,10 @@ public class TTaskTestUnqualifiedBomController extends SuperController<TTaskTest
         wrapper.eq(TTaskTestUnqualifiedBom::getHandleStatus,taskTestUnqualifiedBom.getHandleStatus())
                 .like(TTaskTestUnqualifiedBom::getUniqueCode,taskTestUnqualifiedBom.getUniqueCode())
                 .like(TTaskTestUnqualifiedBom::getOrderNo,taskTestUnqualifiedBom.getOrderNo())
+                .like(TTaskTestUnqualifiedBom::getOrderName,taskTestUnqualifiedBom.getOrderName())
+                .like(TTaskTestUnqualifiedBom::getBomName,taskTestUnqualifiedBom.getBomName())
+                .like(TTaskTestUnqualifiedBom::getUniqueCode,taskTestUnqualifiedBom.getUniqueCode())
+                .eq(TTaskTestUnqualifiedBom::getHandleStatus,taskTestUnqualifiedBom.getHandleStatus())
                 .like(TTaskTestUnqualifiedBom::getPlanNo,taskTestUnqualifiedBom.getPlanNo())
                 .orderByDesc(TTaskTestUnqualifiedBom::getCreateTime);
         baseService.pageList(page,wrapper);

+ 5 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/operationManagementCenter/dto/TTaskTestUnqualifiedBomPageDTO.java

@@ -139,4 +139,9 @@ public class TTaskTestUnqualifiedBomPageDTO implements Serializable {
     @Length(max = 64, message = "产品唯一编码长度不能超过64")
     private String uniqueCode;
 
+
+    @ApiModelProperty(value = "订单名称")
+    @Length(max = 256, message = "订单名称长度不能超过256")
+    private String orderName;
+
 }

+ 7 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/operationManagementCenter/entity/TTaskTestUnqualifiedBom.java

@@ -89,6 +89,13 @@ public class TTaskTestUnqualifiedBom extends Entity<Long> {
     @Excel(name = "订单编号")
     private String orderNo;
 
+
+    @ApiModelProperty(value = "订单名称")
+    @Length(max = 256, message = "订单名称长度不能超过32")
+    @TableField(value = "order_name", condition = LIKE)
+    @Excel(name = "订单名称")
+    private String orderName;
+
     /**
      * 计划ID
      */

+ 5 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/productionReadyCenter/entity/BomProcedureVersion.java

@@ -304,6 +304,11 @@ public class BomProcedureVersion extends Entity<Long> {
     @Excel(name = "三坐标程序名")
     private String randomCheckPrograme;
 
+    @ApiModelProperty(value = "备注")
+    @Length(max = 256, message = "备注长度不能超过256")
+    @TableField(value = "remark", condition = LIKE)
+    @Excel(name = "备注")
+    private String remark;