|
@@ -20,6 +20,7 @@ import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.mes.entity.bom.dto.BomInfoDto;
|
|
|
import com.fjhx.mes.entity.bom.po.BomDetail;
|
|
|
import com.fjhx.mes.entity.bom.po.BomInfo;
|
|
|
+import com.fjhx.mes.entity.bom.vo.BomInfoVo;
|
|
|
import com.fjhx.mes.entity.production.po.ProductionPlan;
|
|
|
import com.fjhx.mes.entity.production.po.ProductionProcesses;
|
|
|
import com.fjhx.mes.entity.production.po.ProductionTask;
|
|
@@ -218,6 +219,15 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
|
|
|
workOrderDto.setCode(codingRuleService.createCode(CodingRuleEnum.JXST_WORK_ORDER.getKey(), null));
|
|
|
workOrderDto.setStatus(0);
|
|
|
this.save(workOrderDto);
|
|
|
+
|
|
|
+ //创建工单BOM(将基本BOM拷贝一份)
|
|
|
+ BomInfoVo productBom = bomInfoService.getProductBom(workOrderDto.getProductId());
|
|
|
+ if(ObjectUtil.isNotEmpty(productBom)) {
|
|
|
+ List<WorkOrderBom> workOrderBomList = BeanUtil.copyToList(productBom.getBomDetailVoList(), WorkOrderBom.class);
|
|
|
+ if (ObjectUtil.isNotEmpty(workOrderBomList)) {
|
|
|
+ workOrderBomService.saveBatch(workOrderBomList);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -369,34 +379,34 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- @Override
|
|
|
- public List<BomDetail> getBomInfo(WorkOrder workOrder) {
|
|
|
- //获取产品信息
|
|
|
- ProductInfo productInfo = productInfoService.getById(workOrder.getProductId());
|
|
|
- if (ObjectUtil.isEmpty(productInfo)) {
|
|
|
- throw new ServiceException("查询不到产品信息 产品id->" + workOrder.getProductId());
|
|
|
- }
|
|
|
-
|
|
|
- //搜索BOM明细
|
|
|
- List<BomDetail> bomDetailList = new ArrayList<>();
|
|
|
- //非定制
|
|
|
- BomInfo bomInfo = bomInfoService.getOne(q -> q.eq(BomInfo::getProductId, workOrder.getProductId()).eq(BomInfo::getCurrentVersion, 1));
|
|
|
- if (ObjectUtil.isEmpty(bomInfo)) {
|
|
|
- throw new ServiceException("查询不到产品的BOM信息 产品名称->" + productInfo.getName());
|
|
|
- }
|
|
|
- bomDetailList = bomDetailService.list(q -> q.eq(BomDetail::getBomInfoId, bomInfo.getId()));
|
|
|
- if (ObjectUtil.isEmpty(bomDetailList)) {
|
|
|
- throw new ServiceException("查询不到产品BOM明细 产品名称->" + productInfo.getName());
|
|
|
- }
|
|
|
-
|
|
|
- //如果是定制就获取定制的BOM
|
|
|
- if ("1".equals(workOrder.getIsCustomized())) {
|
|
|
- //定制
|
|
|
- List<WorkOrderBom> workOrderBoms = workOrderBomService.list(q -> q.eq(WorkOrderBom::getWorkOrderId, workOrder.getId()));
|
|
|
- bomDetailList = BeanUtil.copyToList(workOrderBoms, BomDetail.class);
|
|
|
- }
|
|
|
- return bomDetailList;
|
|
|
- }
|
|
|
+// @Override
|
|
|
+// public List<BomDetail> getBomInfo(WorkOrder workOrder) {
|
|
|
+// //获取产品信息
|
|
|
+// ProductInfo productInfo = productInfoService.getById(workOrder.getProductId());
|
|
|
+// if (ObjectUtil.isEmpty(productInfo)) {
|
|
|
+// throw new ServiceException("查询不到产品信息 产品id->" + workOrder.getProductId());
|
|
|
+// }
|
|
|
+//
|
|
|
+// //搜索BOM明细
|
|
|
+// List<BomDetail> bomDetailList = new ArrayList<>();
|
|
|
+// //非定制
|
|
|
+// BomInfo bomInfo = bomInfoService.getOne(q -> q.eq(BomInfo::getProductId, workOrder.getProductId()).eq(BomInfo::getCurrentVersion, 1));
|
|
|
+// if (ObjectUtil.isEmpty(bomInfo)) {
|
|
|
+// throw new ServiceException("查询不到产品的BOM信息 产品名称->" + productInfo.getName());
|
|
|
+// }
|
|
|
+// bomDetailList = bomDetailService.list(q -> q.eq(BomDetail::getBomInfoId, bomInfo.getId()));
|
|
|
+// if (ObjectUtil.isEmpty(bomDetailList)) {
|
|
|
+// throw new ServiceException("查询不到产品BOM明细 产品名称->" + productInfo.getName());
|
|
|
+// }
|
|
|
+//
|
|
|
+// //如果是定制就获取定制的BOM
|
|
|
+// if ("1".equals(workOrder.getIsCustomized())) {
|
|
|
+// //定制
|
|
|
+// List<WorkOrderBom> workOrderBoms = workOrderBomService.list(q -> q.eq(WorkOrderBom::getWorkOrderId, workOrder.getId()));
|
|
|
+// bomDetailList = BeanUtil.copyToList(workOrderBoms, BomDetail.class);
|
|
|
+// }
|
|
|
+// return bomDetailList;
|
|
|
+// }
|
|
|
|
|
|
// /**
|
|
|
// * 冻结工单BOM
|
|
@@ -513,31 +523,34 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
|
|
|
.set(WorkOrder::getUpdateUser, SecurityUtils.getUserId())
|
|
|
);
|
|
|
|
|
|
- //判断定制还是非定制
|
|
|
- if (Objects.equals(workOrder.getIsCustomized(), "1")) {
|
|
|
- //定制-修改定制BOM
|
|
|
- workOrderBomService.edit(workOrderBomDto);
|
|
|
- } else {
|
|
|
- //非定制-修改普通BOM
|
|
|
- List<WorkOrderBom> workOrderBomList = workOrderBomDto.getWorkOrderBomList();
|
|
|
- //将数据转换成普通BOM
|
|
|
- BomInfoDto bomInfoDto = new BomInfoDto();
|
|
|
- List<BomDetail> bomDetailList = BeanUtil.copyToList(workOrderBomList, BomDetail.class);
|
|
|
- bomInfoDto.setBomDetailList(bomDetailList);
|
|
|
-
|
|
|
- //查询基本BOM
|
|
|
- BomInfo bomInfo = bomInfoService.getOne(q -> q.eq(BomInfo::getProductId, workOrder.getProductId()).eq(BomInfo::getCurrentVersion, 1));
|
|
|
- if (ObjectUtil.isNotEmpty(bomInfo)) {
|
|
|
- //修改
|
|
|
- bomInfoDto.setId(bomInfo.getId());
|
|
|
- bomInfoService.editByJxst(bomInfoDto);
|
|
|
- } else {
|
|
|
- //添加
|
|
|
- bomInfoDto.setAddType(1);
|
|
|
- bomInfoDto.setProductId(workOrder.getProductId());
|
|
|
- bomInfoService.addByJxst(bomInfoDto);
|
|
|
- }
|
|
|
- }
|
|
|
+ //所有工单BOM会复制一份 工单调整BOM直接调工单BOM
|
|
|
+ workOrderBomService.edit(workOrderBomDto);
|
|
|
+
|
|
|
+// //判断定制还是非定制
|
|
|
+// if (Objects.equals(workOrder.getIsCustomized(), "1")) {
|
|
|
+// //定制-修改定制BOM
|
|
|
+// workOrderBomService.edit(workOrderBomDto);
|
|
|
+// } else {
|
|
|
+// //非定制-修改普通BOM
|
|
|
+// List<WorkOrderBom> workOrderBomList = workOrderBomDto.getWorkOrderBomList();
|
|
|
+// //将数据转换成普通BOM
|
|
|
+// BomInfoDto bomInfoDto = new BomInfoDto();
|
|
|
+// List<BomDetail> bomDetailList = BeanUtil.copyToList(workOrderBomList, BomDetail.class);
|
|
|
+// bomInfoDto.setBomDetailList(bomDetailList);
|
|
|
+//
|
|
|
+// //查询基本BOM
|
|
|
+// BomInfo bomInfo = bomInfoService.getOne(q -> q.eq(BomInfo::getProductId, workOrder.getProductId()).eq(BomInfo::getCurrentVersion, 1));
|
|
|
+// if (ObjectUtil.isNotEmpty(bomInfo)) {
|
|
|
+// //修改
|
|
|
+// bomInfoDto.setId(bomInfo.getId());
|
|
|
+// bomInfoService.editByJxst(bomInfoDto);
|
|
|
+// } else {
|
|
|
+// //添加
|
|
|
+// bomInfoDto.setAddType(1);
|
|
|
+// bomInfoDto.setProductId(workOrder.getProductId());
|
|
|
+// bomInfoService.addByJxst(bomInfoDto);
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
//检查工单状态
|
|
|
checkWorkOrderStatus(workOrderId);
|