cl
9 天以前 5b544fc8d6029a71669b3992c5cfea9a044aaf3f
jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java
@@ -12,11 +12,14 @@
import com.jcdm.common.core.domain.model.LoginUser;
import com.jcdm.common.utils.ServletUtils;
import com.jcdm.common.utils.StringUtils;
import com.jcdm.framework.websocket.WebSocketUsers;
import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfoExcelImport;
import com.jcdm.main.om.productionOrde.mapper.OmProductionOrdeInfoMapper;
import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
import com.jcdm.main.restful.factoryMes.service.RestfulService;
import com.kangaroohy.milo.model.ReadWriteEntity;
import com.kangaroohy.milo.service.MiloService;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.weaver.loadtime.Aj;
import org.slf4j.Logger;
@@ -54,6 +57,9 @@
    @Autowired
    private IOmProductionOrdeInfoService omProductionOrdeInfoService;
    @Autowired
    private MiloService miloService;
    /**
     * 查询生产工单列表
@@ -117,11 +123,8 @@
    {
        String paramProductNum = "";
        // 查询最新的工单信息
        List<OmProductionOrdeInfo> list = omProductionOrdeInfoService.list(new LambdaQueryWrapper<OmProductionOrdeInfo>().orderByAsc(OmProductionOrdeInfo::getCreateTime));
        if(list.size() > 0){
            paramProductNum = list.get(list.size()-1).getProductNum();
        }
        String orderJsonString = RestfulService.getProductionWorkOrderRequest(paramProductNum, "OP230");
        OmProductionOrdeInfo lastOrder = omProductionOrdeInfoService.getLastOrder();
        String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), "OP230");
        JSONObject jsonObject = new JSONObject(orderJsonString);
        // 从JSONObject中获取data对象
        JSONObject dataObject = jsonObject.getJSONObject("data");
@@ -153,6 +156,47 @@
        return AjaxResult.success(dataObject.getStr("productNum"));
    }
    @GetMapping("/mozuReceivingWorkOrders")
    public AjaxResult mozuReceivingWorkOrders(OmProductionOrdeInfo paramOrder)
    {
        String paramProductNum = "";
        OmProductionOrdeInfo lastOrder = omProductionOrdeInfoService.getLastOrder();
        String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), "OP230");
        JSONObject jsonObject = new JSONObject(orderJsonString);
        // 从JSONObject中获取data对象
        JSONObject dataObject = jsonObject.getJSONObject("data");
        String code = jsonObject.getStr("code");
        // 判断接单是否成功
        if(code.equals("success")){
            logger.info("请求工厂MES工单:入参pack{}出参pack:{}",paramProductNum,dataObject.getStr("productNum"));
            List<OmProductionOrdeInfo> check = omProductionOrdeInfoService.list(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum,dataObject.getStr("productNum")));
            if(check.size() == 0){
                try {
                    log.info("请求工厂MES工单:入参pack{}出参pack:{}", paramProductNum, dataObject.getStr("productNum"));
                    OmProductionOrdeInfo omProductionOrdeInfo = new OmProductionOrdeInfo();
                    omProductionOrdeInfo.setWorkOrderNo(dataObject.getStr("productionOrderNum"));
                    omProductionOrdeInfo.setProductNum(dataObject.getStr("productNum"));
                    omProductionOrdeInfo.setStationCode(dataObject.getStr("stationCode"));
                    omProductionOrdeInfo.setMaterialCode(dataObject.getStr("materialCode"));
                    omProductionOrdeInfo.setOnlineCompletionMark("0");
                    omProductionOrdeInfo.setSfResult("0");
                    omProductionOrdeInfo.setProductCode(dataObject.getStr("model"));
                    omProductionOrdeInfo.setCreateTime(new Date());
                    omProductionOrdeInfo.setCreateUser("工厂MES");
                    omProductionOrdeInfoService.save(omProductionOrdeInfo);
                    //写PLC
                    miloService.writeToOpcUa(ReadWriteEntity.builder().identifier("MOZU1." + paramOrder.getLineCode() + ".MES_WorkOrderNumber").value(dataObject.getStr("productionOrderNum")).build());
                    miloService.writeToOpcUa(ReadWriteEntity.builder().identifier("MOZU1." + paramOrder.getLineCode() + ".MES_ModuleCode").value(dataObject.getStr("productNum")).build());
                } catch (Exception e) {
                    throw new RuntimeException(e);
                }
            }
        }else {
            return AjaxResult.error("接单失败,请联系管理员");
        }
        return AjaxResult.success(dataObject.getStr("productNum"));
    }
    @GetMapping(value = "/jieBang/{id}")
    public AjaxResult jieBang(@PathVariable("id") Long id)
    {