hdy
8 天以前 5c4c78563bc55ac7a18e029a211f4a6be14b047a
提交 | 用户 | 时间
ab4dc4 1 package com.billion.main.api.service.impl;
H 2
3 import com.billion.main.api.domain.WorkOrdersInfo;
53cced 4 import com.billion.main.api.domain.WorkOrdersInfoChild;
ab4dc4 5 import com.billion.main.api.service.IWorkOrdersInfoService;
53cced 6 import com.billion.main.bs.domain.BsBomChildInfo;
ab4dc4 7 import com.billion.main.bs.domain.BsBomInfo;
H 8 import com.billion.main.bs.service.IBsBomChildInfoService;
9 import com.billion.main.bs.service.IBsBomInfoService;
10 import com.billion.main.om.domain.OmProductionOrderInfo;
11 import com.billion.main.om.service.IOmProductionOrderInfoService;
12 import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.stereotype.Service;
14 import org.springframework.transaction.annotation.Transactional;
15
53cced 16 import java.text.SimpleDateFormat;
H 17 import java.util.Date;
18 import java.util.List;
ab4dc4 19
H 20 /**
21  * 物料采集Service业务层处理
22  * 
23  * @author Billion-Yi
24  * @date 2024-11-22
25  */
26 @Service
27 public class WorkOrdersInfoServiceImpl implements IWorkOrdersInfoService
28 {
29     @Autowired
30     private IOmProductionOrderInfoService omProductionOrderInfoService;
31     @Autowired
32     private IBsBomInfoService bsBomInfoService;
33     @Autowired
34     private IBsBomChildInfoService bsBomChildInfoService;
35
36
37     @Transactional
38     @Override
39     public boolean saveWorkOrders(WorkOrdersInfo workOrdersInfo) {
40         try {
53cced 41             //保存工单信息
ab4dc4 42             OmProductionOrderInfo omProductionOrderInfo = new OmProductionOrderInfo();
b9df2f 43             omProductionOrderInfo.setBodyQty(Long.valueOf("0"));
H 44             omProductionOrderInfo.setHeadQty(Long.valueOf("0"));
45             omProductionOrderInfo.setPreQty(Long.valueOf("0"));
1c50cb 46             omProductionOrderInfo.setBodyStatus("0");
H 47             omProductionOrderInfo.setHeadStatus("0");
48             omProductionOrderInfo.setPreStatus("0");
a646fa 49             omProductionOrderInfo.setDelFlag("0");
ab4dc4 50             omProductionOrderInfo.setWorkOrderNo(workOrdersInfo.getOrderNumber());
H 51             omProductionOrderInfo.setSalesOrderCode(workOrdersInfo.getBatchNumber());
52             omProductionOrderInfo.setProductCode(workOrdersInfo.getMaterialNumber());
5c4c78 53             omProductionOrderInfo.setEngineType(workOrdersInfo.getEngineName());
H 54             omProductionOrderInfo.setEngineName(workOrdersInfo.getEngineType());
03cf8f 55             omProductionOrderInfo.setPlanQty(Long.valueOf(workOrdersInfo.getProductionPlan()));
53cced 56             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
H 57             Date startTime = sdf.parse(workOrdersInfo.getStartTime());
58             omProductionOrderInfo.setPlanStartTime(startTime);
ab4dc4 59             omProductionOrderInfo.setOrderStatus(workOrdersInfo.getState());
b9df2f 60             omProductionOrderInfo.setFlag(workOrdersInfo.getFlag());
H 61             omProductionOrderInfoService.insertOmProductionOrderInfo(omProductionOrderInfo);
53cced 62             //保存BOM主表信息
H 63             BsBomInfo bsBomInfo = new BsBomInfo();
64             bsBomInfo.setBomCode(workOrdersInfo.getBomName());
65             bsBomInfo.setProductCode(workOrdersInfo.getMaterialNumber());
66             bsBomInfo.setProductName(workOrdersInfo.getMaterialNumber());
b9df2f 67             bsBomInfoService.insertBsBomInfo(bsBomInfo);
53cced 68             //保存BOM子表信息
H 69             List<WorkOrdersInfoChild> childList = workOrdersInfo.getData();
70             for (WorkOrdersInfoChild child : childList) {
71                 BsBomChildInfo bsBomChildInfo = new BsBomChildInfo();
72                 bsBomChildInfo.setProductCode(workOrdersInfo.getMaterialNumber());
73                 bsBomChildInfo.setProductName(workOrdersInfo.getMaterialNumber());
74                 bsBomChildInfo.setBomCode(workOrdersInfo.getBomName());
75                 bsBomChildInfo.setLocationCode(child.getStationName());
76                 bsBomChildInfo.setLocationName(child.getStationName());
77                 bsBomChildInfo.setMaterialCode(child.getMaterial());
78                 bsBomChildInfo.setCostQty(child.getCount());
79                 bsBomChildInfo.setChecked(child.getChecked());
80                 bsBomChildInfo.setMaterialName(child.getMaterialName());
b9df2f 81                 bsBomChildInfoService.insertBsBomChildInfo(bsBomChildInfo);
53cced 82             }
ab4dc4 83             return true;
H 84         } catch (Exception e) {
85             throw new RuntimeException("保存工单信息失败", e);
86         }
87     }
88 }