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