新建工单调WMS生成工单BOM

tags/yfai-mes-ext-v1.0
yxw 1 year ago
parent 4124b2dfd8
commit dc188542fe

@ -27,6 +27,7 @@ import cn.estsh.i3plus.ext.mes.pojo.model.GenerateWorkOrderDto;
import cn.estsh.i3plus.ext.mes.pojo.model.WorkOrderPageVo;
import cn.estsh.i3plus.ext.mes.pojo.model.WorkOrderQueryDto;
import cn.estsh.i3plus.ext.mes.pojo.model.bu3.SxOutPutStatisticsModel;
import cn.estsh.i3plus.ext.mes.pojo.model.jx.SxGenerateWorkOrderBomModel;
import cn.estsh.i3plus.ext.mes.pojo.repository.*;
import cn.estsh.i3plus.ext.mes.pojo.util.ConvertBeanExt;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
@ -217,7 +218,27 @@ public class BuWorkOrderExtService implements IBuWorkOrderExtService {
mesWorkOrderExt.setOrderNo(getOrderNo(userName,organizeCode));
mesWorkOrderExt.setWorkOrderSource(MesExtEnumUtil.WORK_ORDER_SOURCE.MANUALLY_GENERATE.getValue());
if (workOrderDto.getWorkOrderType() == MesExtEnumUtil.WORK_ORDER_TYPE.STANDARD_ORDER.getValue()) {
SxGenerateWorkOrderBomModel sxGenerateWorkOrderBomModel = new SxGenerateWorkOrderBomModel();
sxGenerateWorkOrderBomModel.setUserName(userName);
sxGenerateWorkOrderBomModel.setOrganizeCode(workOrderDto.getOrganizeCode());
SxGenerateWorkOrderBomModel.WorkOrderModel workOrderModel = new SxGenerateWorkOrderBomModel.WorkOrderModel(mesWorkOrderExt.getOrderNo(), workOrderDto.getPartNo(), workOrderDto.getQty());
sxGenerateWorkOrderBomModel.addWorkOrderModel(workOrderModel);
// 调WMS生成工单BOM
BaseResultBean baseResultBean = wmsWorkOrderBomCheckCloud.doGenerateWorkOrderBom(sxGenerateWorkOrderBomModel);
if (!baseResultBean.success) {
throw ImppExceptionBuilder.newInstance().setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail(baseResultBean.getErrorMsg())
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.build();
}
}
// 绑定条码
doBindSn(workOrderDto, addWorkOrder(mesWorkOrderExt), data);
}
private void doBindSn(GenerateWorkOrderDto workOrderDto, MesWorkOrderExt mesWorkOrderExt, Object data) {
@ -939,6 +960,7 @@ public class BuWorkOrderExtService implements IBuWorkOrderExtService {
@Transactional(rollbackFor = Exception.class)
public void importGenerate(List<ExcelWorkOrderDto> mesWorkOrderExtList) {
SxGenerateWorkOrderBomModel sxGenerateWorkOrderBomModel = new SxGenerateWorkOrderBomModel();
MesWorkCenter mesWorkCenter = null;
@ -1046,7 +1068,27 @@ public class BuWorkOrderExtService implements IBuWorkOrderExtService {
i++;
if (mesWorkOrderExt.getWorkOrderType() == MesExtEnumUtil.WORK_ORDER_TYPE.STANDARD_ORDER.getValue()) {
sxGenerateWorkOrderBomModel.setUserName(AuthUtil.getSessionUser().getUserName());
sxGenerateWorkOrderBomModel.setOrganizeCode(organizeCode);
SxGenerateWorkOrderBomModel.WorkOrderModel workOrderModel = new SxGenerateWorkOrderBomModel.WorkOrderModel(mesWorkOrderExt.getOrderNo(), mesWorkOrderExt.getPartNo(), mesWorkOrderExt.getQty());
sxGenerateWorkOrderBomModel.addWorkOrderModel(workOrderModel);
}
}
if (!CollectionUtils.isEmpty(sxGenerateWorkOrderBomModel.getWorkOrderModelList())) {
// 调WMS生成工单BOM
BaseResultBean baseResultBean = wmsWorkOrderBomCheckCloud.doGenerateWorkOrderBom(sxGenerateWorkOrderBomModel);
if (!baseResultBean.success) {
throw ImppExceptionBuilder.newInstance().setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail(baseResultBean.getErrorMsg())
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.build();
}
}
}
/**

@ -1,11 +1,14 @@
package cn.estsh.i3plus.ext.mes.icloud.sdk;
import cn.estsh.i3plus.ext.mes.icloud.sdkfallback.WmsWorkOrderBomCheckFallbackFactory;
import cn.estsh.i3plus.ext.mes.pojo.model.jx.SxGenerateWorkOrderBomModel;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(name = "i3wms",
@ -16,4 +19,7 @@ public interface IWmsWorkOrderBomCheckCloud {
@GetMapping(value = "/ext/base/get-wms-work-order-bom")
BaseResultBean getWorkOrderBom(@RequestParam(MesExtConstWords.WORK_ORDER_NO) String workOrderNo,
@RequestParam(MesExtConstWords.ORGANIZE_CODE) String organizeCode);
@PostMapping(value = "/ext/base/generate-work-order-bom")
BaseResultBean doGenerateWorkOrderBom(@RequestBody SxGenerateWorkOrderBomModel model);
}

@ -1,10 +1,12 @@
package cn.estsh.i3plus.ext.mes.icloud.sdkfallback;
import cn.estsh.i3plus.ext.mes.icloud.sdk.IWmsWorkOrderBomCheckCloud;
import cn.estsh.i3plus.ext.mes.pojo.model.jx.SxGenerateWorkOrderBomModel;
import cn.estsh.i3plus.pojo.base.bean.BaseFallBackBean;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
@Component
public class WmsWorkOrderBomCheckFallbackFactory extends BaseFallBackBean implements FallbackFactory<IWmsWorkOrderBomCheckCloud> {
@ -15,6 +17,11 @@ public class WmsWorkOrderBomCheckFallbackFactory extends BaseFallBackBean implem
public BaseResultBean getWorkOrderBom(String workOrderBom, String organizeCode) {
return makeBaseFallBack("微服调用出错", throwable);
}
@Override
public BaseResultBean doGenerateWorkOrderBom(@RequestBody SxGenerateWorkOrderBomModel model) {
return makeBaseFallBack("微服调用出错", throwable);
}
};
}
}

@ -0,0 +1,57 @@
package cn.estsh.i3plus.ext.mes.pojo.model.jx;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @description: model
* @author: jiaqi.hou
* @date: 2022/06/22
*/
@Data
@Api("生成工单BOM model")
public class SxGenerateWorkOrderBomModel implements Serializable {
private static final long serialVersionUID = 5505049563478175586L;
@ApiParam(value = "工单信息")
private List<WorkOrderModel> workOrderModelList = new ArrayList<>();
@ApiParam(value = "工厂代码")
private String organizeCode;
@ApiParam(value = "操作人")
private String userName;
@Data
public static class WorkOrderModel{
@ApiParam("工单号")
public String workOrderNo;
@ApiParam("物料编码")
public String partNo;
@ApiParam("计划数量")
public Double qty;
public WorkOrderModel(String workOrderNo, String partNo, Double qty) {
this.workOrderNo = workOrderNo;
this.partNo = partNo;
this.qty = qty;
}
public WorkOrderModel() {
}
}
public SxGenerateWorkOrderBomModel addWorkOrderModel(WorkOrderModel model) {
workOrderModelList.add(model);
return this;
}
}
Loading…
Cancel
Save