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 | 84 ++++++++++++++++++++++++++++--------------
1 files changed, 56 insertions(+), 28 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 b5b0a77..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,26 +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.DeviceMapper;
import com.yuanchu.mom.mapper.ManualTechnologyMapper;
import com.yuanchu.mom.mapper.ManufactureOrderMapper;
-import com.yuanchu.mom.pojo.ManualTechnology;
import com.yuanchu.mom.pojo.ManufactureOrder;
-import com.yuanchu.mom.pojo.dto.ManualTechnologyDto1;
-import com.yuanchu.mom.pojo.dto.ManufactureOrderDto;
+import com.yuanchu.mom.pojo.ManufactureScheduling;
import com.yuanchu.mom.service.ManufactureOrderService;
-import com.yuanchu.mom.utils.MyUtil;
+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;
-import java.util.stream.Collectors;
/**
* 鐢熶骇璁㈠崟琛�(ManufactureOrder)琛ㄦ湇鍔″疄鐜扮被
@@ -37,8 +36,8 @@
@Resource
ManualTechnologyMapper manualTechnologyMapper;
- @Resource
- DeviceMapper deviceMapper;
+ @Autowired
+ private ManufactureSchedulingService manufactureSchedulingService;
//鏌ヨ鐢熶骇璁㈠崟鐨勫垪琛�
@Override
@@ -46,34 +45,50 @@
return manufactureOrderMapper.selectAllManord(page,downTime,delTime,customerCode,type);
}
-
//鏌ョ湅鎺掍骇璇︽儏
@Override
- public ManufactureOrderDto sePros(Integer manOrdId) {
- ManufactureOrderDto manufactureOrderDto = new ManufactureOrderDto();
+ public Map<String, Object> sePros(Integer schedulingId) {
//鍩烘湰淇℃伅
- ManufactureOrder manufactureOrder = manufactureOrderMapper.selectById(manOrdId);
- BeanUtils.copyProperties(manufactureOrder,manufactureOrderDto);
+ Map<String, Object> manufactureOrder = manufactureSchedulingService.sePros(schedulingId);
//璁″垝缂栧埗
- List<ManualTechnology> manualTechnologies = manualTechnologyMapper.selectList(Wrappers.<ManualTechnology>query().eq("manufacture_order_id", manOrdId));
- MyUtil.PrintLog(manualTechnologies.toString());
-
-// List<ManualTechnologyDto1> manualTechnologyDto1s = manualTechnologies.stream().map(manualTechnology -> {
-// ManualTechnologyDto1 manualTechnologyDto1 = new ManualTechnologyDto1();
-// BeanUtils.copyProperties(manualTechnology, manualTechnologyDto1);
-// manualTechnologyDto1.setMtechId(manualTechnology.getId());
-// manualTechnologyDto1.setDeviceName(deviceMapper.selectById(manualTechnology.getDeviceId()).getName());
-// return manualTechnologyDto1;
-// }).collect(Collectors.toList());
-// manufactureOrderDto.setMessage(manualTechnologyDto1s);
- return manufactureOrderDto;
+ List<Map<String, Object>> mapList = manualTechnologyMapper.selectListTowTree(schedulingId);
+ manufactureOrder.put("message",mapList);
+ return manufactureOrder;
}
//涓嬭揪
@Override
- public void down(Integer manOrdId) {
- ManufactureOrder manufactureOrder = new ManufactureOrder().setId(manOrdId).setGoState(1).setType(0);
- manufactureOrderMapper.updateById(manufactureOrder);
+ 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
@@ -85,5 +100,18 @@
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