春风项目四线(合箱线、总装线)
懒羊羊
2024-01-16 04cd5aa1b3f1b45025d75feef31ea4f911f1f8e5
jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java
@@ -1,10 +1,20 @@
package com.jcdm.main.om.productionOrde.controller;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.jcdm.main.bs.modelNumber.domain.BsModelNumber;
import com.jcdm.main.bs.modelNumber.service.IBsModelNumberService;
import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling;
import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService;
import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
import com.jcdm.main.webservice.service.ReceivingServices;
import org.apache.commons.lang3.StringUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -22,6 +32,8 @@
import com.jcdm.common.utils.poi.ExcelUtil;
import com.jcdm.common.core.page.TableDataInfo;
import static org.apache.commons.lang3.SystemUtils.getUserName;
/**
 * 生产工单Controller
 * 
@@ -34,6 +46,12 @@
{
    @Autowired
    private IOmProductionOrdeInfoService omProductionOrdeInfoService;
    @Autowired
    private IBsOrderSchedulingService bsOrderSchedulingService;
    @Autowired
    private IBsModelNumberService bsModelNumberService;
    /**
     * 查询生产工单列表
@@ -82,6 +100,54 @@
    }
    /**
     * 新增生产工单
     */
    @PostMapping("/orderSchedulingForBoxCode")
    public AjaxResult addOrderSchedulingForBoxCode(@RequestBody OmProductionOrdeInfo omProductionOrdeInfo)
    {
        //获取当前时间
        LocalDateTime date= LocalDateTime.now();
        //创建日期时间对象格式化器,日期格式类似: 2023-05-23 22:18:38
        DateTimeFormatter formatter= DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        //将时间转化为对应格式的字符串
        String fomateDate=date.format(formatter).toString();
        Integer startCode = Integer.parseInt(omProductionOrdeInfo.getStartCode());//开始编号
        Integer planQty = Math.toIntExact(omProductionOrdeInfo.getPlanQty());//计划数量
        String dateTimeRule = omProductionOrdeInfo.getDateTimeRule();
        String engineNo = "";
        if(planQty>0) {
            for (int i = 0; i < planQty; i++) {
                engineNo = omProductionOrdeInfo.getTypeZ() + " " + dateTimeRule + StringUtils.leftPad(String.valueOf(startCode), 3, "0");
                BsOrderScheduling bsOrderScheduling = new BsOrderScheduling();
                bsOrderScheduling.setOrderNo(omProductionOrdeInfo.getWorkOrderNo());
                bsOrderScheduling.setModel(omProductionOrdeInfo.getTypeZ());
                bsOrderScheduling.setEngineNo(engineNo);
                bsOrderScheduling.setProductionStatus("1");
                bsOrderScheduling.setOperator(getUserName());
                bsOrderScheduling.setOperateTime(fomateDate);
                bsOrderSchedulingService.insertBsOrderScheduling(bsOrderScheduling);
                startCode++;
            }
            //新增机型序号
            BsModelNumber bsModelNumber = new BsModelNumber();
            bsModelNumber.setModel(omProductionOrdeInfo.getTypeZ());
            bsModelNumber.setModelDate(dateTimeRule);
            bsModelNumber.setMaxnumValue((startCode - 1) + "");
            bsModelNumber.setSaveTime(fomateDate);
            bsModelNumberService.insertBsModelNumber(bsModelNumber);
        }
        //更新工单状态
        omProductionOrdeInfo.setOrderStatus("2");
        return toAjax(omProductionOrdeInfoService.updateOmProductionOrdeInfo(omProductionOrdeInfo));
    }
    /**
     * 修改生产工单
     */
    @PreAuthorize("@ss.hasPermi('om:productionOrde:edit')")