|
@@ -1,25 +1,29 @@
|
|
|
package com.fjhx.mes.service.completion.impl;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
+import com.fjhx.mes.entity.completion.dto.CompletionInfoDto;
|
|
|
+import com.fjhx.mes.entity.completion.dto.CompletionInfoSelectDto;
|
|
|
import com.fjhx.mes.entity.completion.po.CompletionInfo;
|
|
|
+import com.fjhx.mes.entity.completion.vo.CompletionInfoVo;
|
|
|
+import com.fjhx.mes.entity.production.po.ProductionPlan;
|
|
|
import com.fjhx.mes.entity.production.po.ProductionTask;
|
|
|
import com.fjhx.mes.entity.production.vo.ProductionTaskVo;
|
|
|
+import com.fjhx.mes.entity.work.po.WorkOrder;
|
|
|
import com.fjhx.mes.mapper.completion.CompletionInfoMapper;
|
|
|
import com.fjhx.mes.service.completion.CompletionInfoService;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fjhx.mes.service.production.ProductionPlanService;
|
|
|
import com.fjhx.mes.service.production.ProductionTaskService;
|
|
|
+import com.fjhx.mes.service.work.WorkOrderService;
|
|
|
import com.fjhx.wms.entity.stock.po.StockWait;
|
|
|
import com.fjhx.wms.service.stock.StockWaitService;
|
|
|
+import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
-import com.fjhx.mes.entity.completion.vo.CompletionInfoVo;
|
|
|
-import com.fjhx.mes.entity.completion.dto.CompletionInfoSelectDto;
|
|
|
-import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
-import com.fjhx.mes.entity.completion.dto.CompletionInfoDto;
|
|
|
-import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.List;
|
|
@@ -43,6 +47,10 @@ public class CompletionInfoServiceImpl extends ServiceImpl<CompletionInfoMapper,
|
|
|
ProductionTaskService productionTaskService;
|
|
|
@Autowired
|
|
|
ProductInfoService productInfoService;
|
|
|
+ @Autowired
|
|
|
+ ProductionPlanService productionPlanService;
|
|
|
+ @Autowired
|
|
|
+ WorkOrderService workOrderService;
|
|
|
|
|
|
@Override
|
|
|
public Page<CompletionInfoVo> getPage(CompletionInfoSelectDto dto) {
|
|
@@ -56,7 +64,7 @@ public class CompletionInfoServiceImpl extends ServiceImpl<CompletionInfoMapper,
|
|
|
Map<Long, ProductionTaskVo> productionTaskVoMap = productionTaskVoList.stream().collect(Collectors.groupingBy(ProductionTaskVo::getId,
|
|
|
Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
|
List<Long> productIds = productionTaskVoList.stream().map(ProductionTaskVo::getProductId).collect(Collectors.toList());
|
|
|
- if(ObjectUtil.isNotEmpty(productIds)) {
|
|
|
+ if (ObjectUtil.isNotEmpty(productIds)) {
|
|
|
List<ProductInfo> productInfos = productInfoService.listByIds(productIds);
|
|
|
Map<Long, ProductInfo> productInfoMap = productInfos.stream().collect(Collectors.groupingBy(ProductInfo::getId,
|
|
|
Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
@@ -65,7 +73,7 @@ public class CompletionInfoServiceImpl extends ServiceImpl<CompletionInfoMapper,
|
|
|
if (ObjectUtil.isNotEmpty(productionTaskVo)) {
|
|
|
//赋值产品名
|
|
|
ProductInfo productInfo = productInfoMap.get(productionTaskVo.getProductId());
|
|
|
- if(ObjectUtil.isNotEmpty(productInfo)){
|
|
|
+ if (ObjectUtil.isNotEmpty(productInfo)) {
|
|
|
completionInfoVo.setProductName(productInfo.getName());
|
|
|
}
|
|
|
//复制任务编号
|
|
@@ -83,7 +91,7 @@ public class CompletionInfoServiceImpl extends ServiceImpl<CompletionInfoMapper,
|
|
|
CompletionInfoVo result = BeanUtil.toBean(CompletionInfo, CompletionInfoVo.class);
|
|
|
Long productionTaskId = result.getProductionTaskId();
|
|
|
ProductionTaskVo productionTask = productionTaskService.detail(productionTaskId);
|
|
|
- if(ObjectUtil.isNotEmpty(productionTask)) {
|
|
|
+ if (ObjectUtil.isNotEmpty(productionTask)) {
|
|
|
result.setProductionTaskCode(productionTask.getCode());
|
|
|
result.setProductName(productionTask.getProductName());
|
|
|
result.setProductionTaskQuantity(productionTask.getQuantity());
|
|
@@ -108,6 +116,32 @@ public class CompletionInfoServiceImpl extends ServiceImpl<CompletionInfoMapper,
|
|
|
stockWait.setReceiptQuantity(BigDecimal.ZERO);
|
|
|
stockWait.setStatus(0);
|
|
|
stockWaitService.save(stockWait);
|
|
|
+ //判断完工数量是否等于任务数量如果是修改任务状态为完成
|
|
|
+ if (completionInfoDto.getQuantity().compareTo(detail.getQuantity()) >= 0) {
|
|
|
+ detail.setStatus(2);
|
|
|
+ productionTaskService.updateById(detail);
|
|
|
+
|
|
|
+ //检查生产计划下的任务完成数量是否等于计划数量是就修改状态 生产计划状态
|
|
|
+ ProductionPlan productionPlan = productionPlanService.getById(detail.getId());
|
|
|
+ List<ProductionTask> productionTaskList = productionTaskService.list(q -> q.eq(ProductionTask::getProductionPlanId,
|
|
|
+ detail.getProductionPlanId()).eq(ProductionTask::getStatus, 2));
|
|
|
+ BigDecimal count = productionTaskList.stream().map(ProductionTask::getQuantity)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ if (productionPlan.getQuantity().compareTo(count) >= 0) {
|
|
|
+ productionPlan.setStatus(2);
|
|
|
+ productionPlanService.updateById(productionPlan);
|
|
|
+ }
|
|
|
+ //检查工单下的计划完成数量是否等于工单数量是就修改状态 工单状态
|
|
|
+ List<ProductionPlan> productionPlanList = productionPlanService.list(q -> q.eq(ProductionPlan::getWorkOrderId,
|
|
|
+ productionPlan.getWorkOrderId()).eq(ProductionPlan::getStatus, 2));
|
|
|
+ BigDecimal count1 = productionPlanList.stream().map(ProductionPlan::getQuantity)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ WorkOrder workOrder = workOrderService.getById(productionPlan.getWorkOrderId());
|
|
|
+ if (workOrder.getQuantity().compareTo(count1) >= 0) {
|
|
|
+ workOrder.setStatus(2);
|
|
|
+ workOrderService.updateById(workOrder);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|