hdy
2025-01-03 03cf8f27122be9a738b8814533e52550638fcda7
工单bom下发接口
已修改7个文件
135 ■■■■■ 文件已修改
.vscode/settings.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-admin/pom.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/bs/domain/BsBomInfo.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vscode/settings.json
@@ -1,3 +1,4 @@
{
    "java.configuration.updateBuildConfiguration": "interactive"
    "java.configuration.updateBuildConfiguration": "interactive",
    "java.compile.nullAnalysis.mode": "automatic"
}
billion-admin/pom.xml
@@ -65,6 +65,10 @@
            <groupId>com.billion</groupId>
            <artifactId>billion-main</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>
billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java
@@ -1,20 +1,18 @@
package com.billion.main.api.service.impl;
import com.billion.main.api.domain.WorkOrdersInfo;
import com.billion.main.api.domain.WorkOrdersInfoChild;
import com.billion.main.api.service.IWorkOrdersInfoService;
import com.billion.main.bs.domain.BsBomChildInfo;
import com.billion.main.bs.domain.BsBomInfo;
import com.billion.main.bs.service.IBsBomChildInfoService;
import com.billion.main.bs.service.IBsBomInfoService;
import com.billion.main.om.domain.OmProductionOrderInfo;
import com.billion.main.om.service.IOmProductionOrderInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/**
 * 物料采集Service业务层处理
@@ -23,7 +21,6 @@
 * @date 2024-11-22
 */
@Service
@Component
public class WorkOrdersInfoServiceImpl implements IWorkOrdersInfoService
{
    @Autowired
@@ -40,14 +37,11 @@
        try {
            BsBomInfo bsBomInfo = new BsBomInfo();
            Long l = 1002L;
            bsBomInfo.setId(l);
            bsBomInfo.setBomCode(workOrdersInfo.getBomName());
            bsBomInfo.setBomName(workOrdersInfo.getBomName());
            bsBomInfo.setProductCode(workOrdersInfo.getMaterialNumber());
            bsBomInfo.setProductName(workOrdersInfo.getMaterialNumber());
            bsBomInfoService.insertBsBomInfo(bsBomInfo);
            bsBomInfoService.save(bsBomInfo);
            OmProductionOrderInfo omProductionOrderInfo = new OmProductionOrderInfo();
            omProductionOrderInfo.setWorkOrderNo(workOrdersInfo.getOrderNumber());
@@ -55,29 +49,27 @@
            omProductionOrderInfo.setProductCode(workOrdersInfo.getMaterialNumber());
            omProductionOrderInfo.setEngineType(workOrdersInfo.getEngineType());
            omProductionOrderInfo.setEngineName(workOrdersInfo.getEngineName());
//            omProductionOrderInfo.setPlanQty(Long.valueOf(workOrdersInfo.getProductionPlan()));
            omProductionOrderInfo.setPlanStartTime(workOrdersInfo.getStartTime());
            omProductionOrderInfo.setPlanQty(Long.valueOf(workOrdersInfo.getProductionPlan()));
            omProductionOrderInfo.setPlanStartTime(workOrdersInfo.getStartTime()));
            omProductionOrderInfo.setRemarks(workOrdersInfo.getDescription());
            omProductionOrderInfo.setOrderStatus(workOrdersInfo.getState());
            omProductionOrderInfo.setFlag(workOrdersInfo.getFLAG());
            omProductionOrderInfoService.insertOmProductionOrderInfo(omProductionOrderInfo);
            omProductionOrderInfoService.save(omProductionOrderInfo);
            List<WorkOrdersInfoChild> childList = workOrdersInfo.getData();
            for (WorkOrdersInfoChild child : childList) {
                BsBomChildInfo bsBomChildInfo = new BsBomChildInfo();
                bsBomChildInfo.setProductCode(workOrdersInfo.getMaterialNumber());
                bsBomChildInfo.setProductName(workOrdersInfo.getMaterialNumber());
                bsBomChildInfo.setBomCode(workOrdersInfo.getBomName());
                bsBomChildInfo.setLocationCode(child.getStationName());
                bsBomChildInfo.setLocationName(child.getStationName());
                bsBomChildInfo.setMaterialCode(child.getMaterial());
                bsBomChildInfo.setCostQty(child.getCount());
                bsBomChildInfo.setChecked(child.getChecked());
                bsBomChildInfo.setMaterialName(child.getMaterialName());
                bsBomChildInfoService.save(bsBomChildInfo);
            }
//            List<WorkOrdersInfoChild> childList = workOrdersInfo.getData();
//            for (WorkOrdersInfoChild child : childList) {
//                BsBomChildInfo bsBomChildInfo = new BsBomChildInfo();
//                bsBomChildInfo.setProductCode(workOrdersInfo.getMaterialNumber());
//                bsBomChildInfo.setProductName(workOrdersInfo.getMaterialNumber());
//                bsBomChildInfo.setBomCode(workOrdersInfo.getBomName());
//                bsBomChildInfo.setLocationCode(child.getStationName());
//                bsBomChildInfo.setLocationName(child.getStationName());
//                bsBomChildInfo.setMaterialCode(child.getMaterial());
//                bsBomChildInfo.setCostQty(child.getCount());
//                bsBomChildInfo.setChecked(child.getChecked());
//                bsBomChildInfo.setMaterialName(child.getMaterialName());
//                bsBomChildInfoService.save(bsBomChildInfo);
//            }
            return true;
        } catch (Exception e) {
            throw new RuntimeException("保存工单信息失败", e);
billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java
@@ -1,10 +1,11 @@
package com.billion.main.bs.domain;
import com.billion.common.annotation.Excel;
import com.billion.main.common.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
 * 基础BOM子信息对象 bs_bom_child_info
@@ -13,7 +14,7 @@
 * @date 2024-11-25
 */
@Data
public class BsBomChildInfo extends BaseEntity
public class BsBomChildInfo
{
    private static final long serialVersionUID = 1L;
@@ -67,6 +68,20 @@
    @Excel(name = "是否批量扫描")
    private String checked;
    /** 创建者 */
    private String createBy;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /** 更新者 */
    private String updateBy;
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    public void setCostQty(String count) {
billion-main/src/main/java/com/billion/main/bs/domain/BsBomInfo.java
@@ -2,8 +2,10 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.billion.common.annotation.Excel;
import com.billion.main.common.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
 * 基础BOM对象 bs_bom_info
@@ -12,7 +14,7 @@
 * @date 2024-11-25
 */
@Data
public class BsBomInfo extends BaseEntity
public class BsBomInfo
{
    private static final long serialVersionUID = 1L;
@@ -57,5 +59,21 @@
    private String delFlag;
    /** 创建者 */
    private String createBy;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /** 更新者 */
    private String updateBy;
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}
billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java
@@ -1,7 +1,7 @@
package com.billion.main.om.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.billion.common.annotation.Excel;
import com.billion.main.common.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@@ -14,8 +14,12 @@
 * @date 2024-11-20
 */
@Data
public class OmProductionOrderInfo extends BaseEntity
public class OmProductionOrderInfo
{
    @TableId
    /** 主键id */
    private Long id;
    /** 工单编号 */
    @Excel(name = "工单编号")
    private String workOrderNo;
@@ -37,13 +41,13 @@
    private Long planQty;
    /** 计划开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "计划开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date planStartTime;
    /** 计划结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "计划结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date planEndTime;
    /** 工单状态(1未开始2生产中3已完成4已关闭) */
@@ -65,7 +69,18 @@
    /** 订单状态 */
    @Excel(name = "订单状态")
    private String flag;
    /** 创建者 */
    private String createBy;
    public void setPlanStartTime(String startTime) {
    }
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /** 更新者 */
    private String updateBy;
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}
billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java
@@ -7,15 +7,14 @@
import com.billion.common.core.domain.model.LoginUser;
import com.billion.common.exception.ServiceException;
import com.billion.common.utils.SecurityUtils;
import com.billion.main.common.BaseEntity;
import com.billion.main.om.domain.OmProductionOrderInfo;
import com.billion.main.om.mapper.OmProductionOrderInfoMapper;
import com.billion.main.om.service.IOmProductionOrderInfoService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
 * 生产工单Service业务层处理
 * 
@@ -85,9 +84,10 @@
    @Override
    public int updateOmProductionOrderInfo(OmProductionOrderInfo omProductionOrderInfo)
    {
        Collection<Long> omProductionOrderInfoIds = Collections.emptyList();
        List<OmProductionOrderInfo> checkList = this.list(new LambdaQueryWrapper<OmProductionOrderInfo>()
                .eq(OmProductionOrderInfo::getWorkOrderNo, omProductionOrderInfo.getWorkOrderNo())
                        .notIn(BaseEntity::getId,omProductionOrderInfo.getId()));
                        .notIn(OmProductionOrderInfo::getId, omProductionOrderInfoIds));
//                .stream().filter(x -> !x.getId().equals(omProductionOrderInfo.getId()))
//                .collect(Collectors.toList());
        if (CollUtil.isNotEmpty(checkList)){