Prechádzať zdrojové kódy

更新后台业务处理

oyq28 2 rokov pred
rodič
commit
71abe6abcd
10 zmenil súbory, kde vykonal 109 pridanie a 17 odobranie
  1. 6 4
      imcs-admin-boot/imcs-authority-server/src/main/java/com/github/zuihou/job/DashboardJob.java
  2. 17 0
      imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/dao/WorkpieceMapper.java
  3. 2 2
      imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskNodeServiceImpl.java
  4. 19 10
      imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskServiceImpl.java
  5. 2 0
      imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/ProductionresourceBizService.java
  6. 15 0
      imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/impl/ProductionresourceBizServiceImpl.java
  7. 2 1
      imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/operationManagementCenter/TTaskMapper.xml
  8. 30 0
      imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/operationManagementCenter/TWorkpieceMapper.xml
  9. 3 0
      imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/operationManagementCenter/TaskController.java
  10. 13 0
      imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/productionResourceCenter/ProductionresourceBizController.java

+ 6 - 4
imcs-admin-boot/imcs-authority-server/src/main/java/com/github/zuihou/job/DashboardJob.java

@@ -126,15 +126,16 @@ public class DashboardJob {
 
             QueryWrap wrap = this.handlerWrapper(null, params);
 
-            LbqWrapper wrapper = wrap.lambda();
+            LbqWrapper<Plan> wrapper = wrap.lambda();
 
             Plan plan = BeanUtil.toBean(params.getModel(), Plan.class);
             plan.setOrderProduceStatus(StringUtil.isEmpty(plan.getOrderProduceStatus()) ? "" : StringUtil.changeIdsArrToSubQueryStr(plan.getOrderProduceStatus()));
             plan.setPlanStatus("2");
             Page<Plan> planPage = new Page<Plan>();
             planPage.setSearchCount(false);
+            wrapper.eq(Plan::getPlanStatus,"2").eq(Plan::getProduceStatus, "2");
 
-            IPage<Plan> planData = planService.pageList(planPage, plan.getBomDesc(), plan.getOrderName(), plan.getTaskBatchNo(), plan.getOrderProduceStatus(), null, null, null, null, wrapper);
+            IPage<Plan> planData = planService.pageList(planPage, null, null, null, null, null, null, null, null, wrapper);
             //planData = planData.getRecords().stream().map(obj -> obj.setEndTime() );
 
             Map planMap = Maps.newHashMap();
@@ -142,10 +143,11 @@ public class DashboardJob {
             dataScreenMap.put("planMap", planMap);
 
             QueryWrap orderWrap = this.handlerWrapper(null, params);
-            LbqWrapper OrderWrapper = orderWrap.lambda();
+            LbqWrapper<Order> OrderWrapper = orderWrap.lambda();
 
             Page<Order> orderPage = new Page<Order>();
             orderPage.setSearchCount(false);
+            OrderWrapper.eq(Order::getStatus, "1").notIn(Order::getProduceStatus,"3,4").orderByDesc(Order::getCreateTime);
             IPage<Order> orderData = orderService.pageList(orderPage, null, OrderWrapper);
 
             Map orderMap = Maps.newHashMap();
@@ -158,7 +160,7 @@ public class DashboardJob {
 
             Page<Repair> repairPage = new Page<Repair>(1L, 5);
             repairPage.setSearchCount(false);
-            IPage<Repair> repairData = repairService.pageList(repairPage, new LbqWrapper<Repair>());
+            IPage<Repair> repairData = repairService.pageList(repairPage, new LbqWrapper<Repair>().eq(Repair::getStatus, "1").orderByDesc(Repair::getRepairEndTime));
 
             Map repairMap = Maps.newHashMap();
             repairMap.put("repairData", repairData);

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

@@ -42,4 +42,21 @@ public interface WorkpieceMapper extends SuperMapper<TWorkpiece> {
      * @param vo
      */
     List<ProductDto> getProductStatistics(@Param("vo") ProductVo vo);
+
+    List<ProductDto> getProductStatistics();
+
+    /**
+     * 零件分布数据统计
+     * @param map
+     * @return
+     */
+    List<Map> workpieceStatistics(Map map);
+
+    /**
+     * 设备分布数据统计
+     *
+     * @param map
+     * @return
+     */
+    List<Map> resourceStatistics(Map map);
 }

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

@@ -1919,8 +1919,8 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
         }
         // end modify by yejian on 20221019 for 滑台三座标结果返回需动态更新取位子
         String uniqueCode = callBackJson.containsKey("uniqueCode") ? callBackJson.getString("uniqueCode") : "";
-        boolean bool = StringUtil.isNotEmpty(uniqueCode) && taskService.confirmCode(new HashMap<String, Object>(){{put("uniqueCode" , uniqueCode); put("orderId", currWorkpiece.getOrderId());}}).getIsSuccess();
-
+        //boolean bool = StringUtil.isNotEmpty(uniqueCode) && taskService.confirmCode(new HashMap<String, Object>(){{put("uniqueCode" , uniqueCode); put("orderId", currWorkpiece.getOrderId());}}).getIsSuccess();
+        boolean bool = StringUtil.isNotEmpty(uniqueCode) && workpieceService.count(new LbqWrapper<TWorkpiece>().eq(TWorkpiece::getUniqueCode, uniqueCode).eq(TWorkpiece::getOrderId, currWorkpiece.getOrderId()))>0;
         //更新目标位置
         workpieceService.setWorkPieceStock(currWorkpiece, targetStorgeId, "", taskNode, uniqueCode);
 

+ 19 - 10
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/operationManagementCenter/service/impl/TaskServiceImpl.java

@@ -1294,15 +1294,17 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
                     jsonObject.put(DemoLineConstant.DEMOLINE_STOCK_TYPE, DemoLineConstant.DEMOLINE_STOCK_TYPE_METERIAL_CK);
                     // 工序下料和上料设备保持一致
                     TaskNode nextNode = taskNodeService.getNextNTaskNode(taskNode, 1);
-                    TTask nextTask = baseMapper.selectById(nextNode.getTaskId());
-                    if(nextNode.getResourceId()!=taskNode.getResourceId()){
-                        nextNode.setResourceId(taskNode.getResourceId());
-                        taskNodeService.updateById(nextNode);
-                        nextTask.setResourceId(taskNode.getResourceId());
+                    if(null!=nextNode) {
+                        TTask nextTask = baseMapper.selectById(nextNode.getTaskId());
+                        if (nextNode.getResourceId() != taskNode.getResourceId()) {
+                            nextNode.setResourceId(taskNode.getResourceId());
+                            taskNodeService.updateById(nextNode);
+                            nextTask.setResourceId(taskNode.getResourceId());
+                        }
+                        // 同步上料与下料的优先级
+                        nextTask.setProcedureOrder(tTask.getProcedureOrder());
+                        baseMapper.updateAllById(nextTask);
                     }
-                    // 同步上料与下料的优先级
-                    nextTask.setProcedureOrder(tTask.getProcedureOrder());
-                    baseMapper.updateAllById(nextTask);
                     taskNodeService.taskNodeCallbackBiz(taskNode, tTask, taskNodeList, lg, jsonObject.toJSONString());
                 }else if("7".equals(processType)){
                     //工序换料(下料当前工序零件且继续上料下一工序零件或当前工序未加工零件)
@@ -1465,8 +1467,15 @@ public class TaskServiceImpl extends SuperServiceImpl<TTaskMapper, TTask> implem
 
     @Override
     public R confirmCode(Map<String, Object> map) {
-        TWorkpiece tWorkpiece = workpieceMapper.selectOne(Wraps.<TWorkpiece>lbQ().eq(TWorkpiece::getOrderId, map.get("orderId").toString()).eq(TWorkpiece::getUniqueCode, map.get("uniqueCode").toString()).eq(TWorkpiece::getIsEnd, "0"));
-        return tWorkpiece==null? R.fail("零件不存在") : R.success();
+        TWorkpiece tWorkpiece = workpieceMapper.selectOne(Wraps.<TWorkpiece>lbQ().eq(TWorkpiece::getOrderId, map.get("orderId").toString()).eq(TWorkpiece::getCompleteBatchNo, map.get("completeBatchNo").toString()).eq(TWorkpiece::getIsEnd, "0"));
+        if(null == tWorkpiece) return R.fail("零件不存在");
+        TaskNode taskNode = taskNodeService.getById(tWorkpiece.getTaskNodeId());
+        //序列保持前后顺次一致
+        int procedureSort = Integer.parseInt(map.get("procedureSort").toString());
+        TTask task = this.getById(taskNode.getTaskId());
+        Map data = new HashMap();
+        data.put("uniqueCode", tWorkpiece.getUniqueCode());
+        return (procedureSort-1 == task.getProcedureSort())? R.success(data) : R.fail("执行任务与计划不一致");
     }
 
     @Override

+ 2 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/ProductionresourceBizService.java

@@ -24,4 +24,6 @@ public interface ProductionresourceBizService extends SuperService<Productionres
     IPage<Productionresource> getPageList(IPage<Productionresource> page, LbqWrapper<Productionresource> wrapper);
 
     boolean updateOnline(Map map);
+
+    boolean updateStationSchedule(Map map);
 }

+ 15 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionResourceCenter/service/impl/ProductionresourceBizServiceImpl.java

@@ -2,6 +2,8 @@ package com.github.zuihou.business.productionResourceCenter.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.zuihou.authority.service.common.ParameterService;
 import com.github.zuihou.base.service.SuperServiceImpl;
@@ -117,4 +119,17 @@ public class ProductionresourceBizServiceImpl extends SuperServiceImpl<Productio
         return false;
     }
 
+    @Override
+    public boolean updateStationSchedule(Map map) {
+        BaseContextHandler.setTenant("0000");
+        String[] ids = map.get("ids").toString().split(",");
+        String useState = map.get("useState").toString();
+        //Long[] ids = new Long[]{1496364152329863168L, 1496364250765983744L, 1496364549605949440L};
+        LambdaUpdateWrapper<Productionresource> updateWrapper = new UpdateWrapper<Productionresource>().lambda();
+        updateWrapper.set(Productionresource::getStatus, useState).in(Productionresource::getId, ids);
+        baseMapper.update(null, updateWrapper);
+        orderService.reschedulingPlanTasks();
+        return true;
+    }
+
 }

+ 2 - 1
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/operationManagementCenter/TTaskMapper.xml

@@ -294,6 +294,7 @@
           itt.id,
           itt.order_id AS orderId,
           itt.procedure_order AS procedureOrder,
+          itt.procedure_sort AS procedureSort,
           ipp.prority AS prority,
           ibbp.name AS taskName,
           INSTR(ibbp.name, '下料') AS funcType,
@@ -345,7 +346,7 @@
         AND imfc.id = ibbpt.tray_id
         AND imm.id = ibb.meterial_id
         AND itt.resource_id = #{resourceId}
-        ORDER BY ittn.exe_status DESC, ipp.prority desc, itt.procedure_order desc, funcType desc, ittn.complete_batch_sort, itt.expect_start_time LIMIT 0, 6
+        ORDER BY ittn.exe_status DESC, funcType desc, ipp.prority desc, itt.procedure_order desc, ittn.complete_batch_sort, itt.expect_start_time LIMIT 0, 6
     </select>
     <select id="selectTotalMachineUseTime" resultType="java.lang.Integer">
         SELECT

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

@@ -95,4 +95,34 @@
         </where>
     </select>
 
+    <select id="workpieceStatistics" resultType="map">
+        select * from (
+                          select count(DISTINCT w.complete_batch_no) as cnt, t.procedure_no, t.procedure_name, t.procedure_order, t.procedure_id as id from imcs_t_workpiece w
+                          left join imcs_t_task t on w.procedure_id = t.procedure_id
+                          where w.order_id = #{orderId} and w.is_end = '0' and t.procedure_no is not null
+                          group by t.procedure_no order by t.procedure_order desc ) s LIMIT 10
+    </select>
+
+    <select id="resourceStatistics" resultType="map">
+        SELECT * FROM  (
+                           SELECT
+                               count(
+                                       DISTINCT w.complete_batch_no
+                                   ) AS cnt,
+                               t.`name`
+                           FROM
+                               imcs_t_workpiece w
+                                LEFT JOIN imcs_p_productionresource_position p ON w.storge_id = p.storge_id
+                                LEFT JOIN imcs_tenant_productionresource t ON t.id = p.resource_id
+                           WHERE
+                               w.order_id = #{orderId} and
+                               w.is_end = '0' and t.name is not null
+                           GROUP BY
+                               t.id
+                           ORDER BY
+                               t.id DESC
+                       ) s order by cnt DESC
+            LIMIT 10
+    </select>
+
 </mapper>

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

@@ -227,6 +227,9 @@ public class TaskController extends SuperController<TaskService, Long, TTask, TT
 
     @PostMapping("/confirmCode")
     public R confirmCode(@RequestBody Map<String,Object> map) {
+        if(!map.containsKey("orderId") || !map.containsKey("completeBatchNo") || !map.containsKey("procedureSort")){
+            return R.fail("数据传参有误");
+        }
         return baseService.confirmCode(map);
     }
 

+ 13 - 0
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/productionResourceCenter/ProductionresourceBizController.java

@@ -72,4 +72,17 @@ public class ProductionresourceBizController extends SuperController<Productionr
         }
         return success(baseService.updateOnline(map));
     }
+
+
+    /**
+     *  updateStation 触发上下料站重排
+     */
+    @ApiOperation(value = "触发上下料站重排", notes = "触发上下料站重排")
+    @PostMapping("/updateStationSchedule")
+    public R<Boolean> updateStationSchedule(@RequestBody Map map) {
+        if(StringUtils.isEmpty(map.get("ids").toString()) || StringUtils.isEmpty(map.get("useState").toString()) ){
+            return fail("传参有误");
+        }
+        return success(baseService.updateStationSchedule(map));
+    }
 }