From 44a9b4729e058e75dfba2892803038ee91963d77 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 25 九月 2023 15:28:50 +0800
Subject: [PATCH] 修改4.0   9.25

---
 production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java |   86 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 86 insertions(+), 0 deletions(-)

diff --git a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java
index 3e3078a..d9c364c 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java
@@ -1,14 +1,25 @@
 package com.yuanchu.mom.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.mapper.ManualTechnologyMapper;
 import com.yuanchu.mom.mapper.ManufactureOrderMapper;
 import com.yuanchu.mom.pojo.ManufactureOrder;
+import com.yuanchu.mom.pojo.ManufactureScheduling;
 import com.yuanchu.mom.service.ManufactureOrderService;
+import com.yuanchu.mom.service.ManufactureSchedulingService;
+import com.yuanchu.mom.utils.MyUtil;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -23,10 +34,85 @@
     @Resource
     ManufactureOrderMapper manufactureOrderMapper;
 
+    @Resource
+    ManualTechnologyMapper manualTechnologyMapper;
+
+    @Autowired
+    private ManufactureSchedulingService manufactureSchedulingService;
+
     //鏌ヨ鐢熶骇璁㈠崟鐨勫垪琛�
     @Override
     public IPage<Map<String, Object>> selectAllManord(Page<Object> page, String downTime, String delTime, String customerCode, Integer type) {
         return manufactureOrderMapper.selectAllManord(page,downTime,delTime,customerCode,type);
     }
+
+    //鏌ョ湅鎺掍骇璇︽儏
+    @Override
+    public Map<String, Object> sePros(Integer schedulingId) {
+        //鍩烘湰淇℃伅
+        Map<String, Object> manufactureOrder = manufactureSchedulingService.sePros(schedulingId);
+        //璁″垝缂栧埗
+        List<Map<String, Object>> mapList = manualTechnologyMapper.selectListTowTree(schedulingId);
+        manufactureOrder.put("message",mapList);
+        return manufactureOrder;
+    }
+
+    //涓嬭揪
+    @Override
+    public void down(Integer manufactureOrderId, Integer schedulingId) {
+        // 鍏堟洿鏂版帓浜�
+        LambdaUpdateWrapper<ManufactureScheduling> updateWrapperScheduling = Wrappers.<ManufactureScheduling>lambdaUpdate()
+                .eq(ManufactureScheduling::getId, schedulingId)
+                .set(ManufactureScheduling::getGoState, 1);
+        manufactureSchedulingService.update(updateWrapperScheduling);
+
+
+        // 鐒跺悗鏇存柊璁㈠崟琛ㄧ殑鐘舵��
+        LambdaQueryWrapper<ManufactureScheduling> queryWrapper = Wrappers.<ManufactureScheduling>lambdaQuery()
+                .eq(ManufactureScheduling::getManufactureOrderId, manufactureOrderId)
+                .select(ManufactureScheduling::getGoState);
+        List<ManufactureScheduling> list = manufactureSchedulingService.list(queryWrapper);
+        boolean goStateAll = false;
+        for (int i = 0; i <= list.size() - 1; i++){
+            if (list.get(i).getGoState() == 0) {
+                goStateAll = true;
+                break;
+            }
+        }
+        LambdaUpdateWrapper<ManufactureOrder> updateWrapperOrder = new LambdaUpdateWrapper<>();
+        updateWrapperOrder.eq(ManufactureOrder::getId, manufactureOrderId);
+        // 濡傛灉鎺掍骇琛ㄤ腑鏈変竴涓槸寰呬笅杈撅紝閭d箞璁㈠崟琛ㄤ腑灏变负寰呬笅杈�
+        if (goStateAll){
+            // 寰呬笅杈�
+            updateWrapperOrder.set(ManufactureOrder::getGoState, 0);
+        } else {
+            // 宸蹭笅杈�
+            updateWrapperOrder.set(ManufactureOrder::getGoState, 1);
+        }
+        manufactureOrderMapper.update(new ManufactureOrder(), updateWrapperOrder);
+    }
+
+    @Override
+    public void deleteManufacture(List<String> manOrdId) {
+        manufactureOrderMapper.deleteManufacture(manOrdId);
+    }
+
+    @Override
+    public List<Map<String, Object>> towTree() {
+        return manufactureOrderMapper.towTree();
+    }
+
+    @Override
+    public Integer checkScheduled(Integer manOrdId, Integer schedulingNumber) {
+        LambdaQueryWrapper<ManufactureOrder> queryWrapper = Wrappers.<ManufactureOrder>lambdaQuery()
+                .eq(ManufactureOrder::getId, manOrdId)
+                .eq(ManufactureOrder::getState, 1)
+                .select(ManufactureOrder::getNumber, ManufactureOrder::getScheduledProduction);
+        ManufactureOrder manufactureOrder = manufactureOrderMapper.selectOne(queryWrapper);
+        if (ObjectUtils.isEmpty(manufactureOrder.getScheduledProduction())){
+            manufactureOrder.setScheduledProduction(0);
+        }
+        return manufactureOrder.getNumber() - (manufactureOrder.getScheduledProduction() + schedulingNumber);
+    }
 }
 

--
Gitblit v1.9.3