hdy
昨天 1c50cb5546715fa21496fbdf2bdacb7ae8836b8a
提交 | 用户 | 时间
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");
ab4dc4 49             omProductionOrderInfo.setWorkOrderNo(workOrdersInfo.getOrderNumber());
H 50             omProductionOrderInfo.setSalesOrderCode(workOrdersInfo.getBatchNumber());
51             omProductionOrderInfo.setProductCode(workOrdersInfo.getMaterialNumber());
52             omProductionOrderInfo.setEngineType(workOrdersInfo.getEngineType());
53             omProductionOrderInfo.setEngineName(workOrdersInfo.getEngineName());
03cf8f 54             omProductionOrderInfo.setPlanQty(Long.valueOf(workOrdersInfo.getProductionPlan()));
53cced 55             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
H 56             Date startTime = sdf.parse(workOrdersInfo.getStartTime());
57             omProductionOrderInfo.setPlanStartTime(startTime);
ab4dc4 58             omProductionOrderInfo.setOrderStatus(workOrdersInfo.getState());
b9df2f 59             omProductionOrderInfo.setFlag(workOrdersInfo.getFlag());
H 60             omProductionOrderInfoService.insertOmProductionOrderInfo(omProductionOrderInfo);
53cced 61             //保存BOM主表信息
H 62             BsBomInfo bsBomInfo = new BsBomInfo();
63             bsBomInfo.setBomCode(workOrdersInfo.getBomName());
64             bsBomInfo.setProductCode(workOrdersInfo.getMaterialNumber());
65             bsBomInfo.setProductName(workOrdersInfo.getMaterialNumber());
b9df2f 66             bsBomInfoService.insertBsBomInfo(bsBomInfo);
53cced 67             //保存BOM子表信息
H 68             List<WorkOrdersInfoChild> childList = workOrdersInfo.getData();
69             for (WorkOrdersInfoChild child : childList) {
70                 BsBomChildInfo bsBomChildInfo = new BsBomChildInfo();
71                 bsBomChildInfo.setProductCode(workOrdersInfo.getMaterialNumber());
72                 bsBomChildInfo.setProductName(workOrdersInfo.getMaterialNumber());
73                 bsBomChildInfo.setBomCode(workOrdersInfo.getBomName());
74                 bsBomChildInfo.setLocationCode(child.getStationName());
75                 bsBomChildInfo.setLocationName(child.getStationName());
76                 bsBomChildInfo.setMaterialCode(child.getMaterial());
77                 bsBomChildInfo.setCostQty(child.getCount());
78                 bsBomChildInfo.setChecked(child.getChecked());
79                 bsBomChildInfo.setMaterialName(child.getMaterialName());
b9df2f 80                 bsBomChildInfoService.insertBsBomChildInfo(bsBomChildInfo);
53cced 81             }
ab4dc4 82             return true;
H 83         } catch (Exception e) {
84             throw new RuntimeException("保存工单信息失败", e);
85         }
86     }
87 }