From 8e39c9bbf8a8bb4707f2a766295b40497ae96706 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期五, 01 九月 2023 13:46:54 +0800
Subject: [PATCH] MOM系统-9-01 生产订单 生产计划完成
---
production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java | 85 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 85 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..d60aed4 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,24 @@
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 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 +33,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