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