diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesWorkOrderController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesWorkOrderController.java index 372d013..9113498 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesWorkOrderController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesWorkOrderController.java @@ -8,6 +8,7 @@ import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; +import cn.estsh.i3plus.pojo.mes.model.MesWorkOrderModel; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.pojo.model.wms.WmsProductModel; import cn.estsh.impp.framework.boot.auth.AuthUtil; @@ -18,11 +19,13 @@ import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.util.ArrayList; import java.util.List; @Api(description = "工单主页面") @@ -41,26 +44,26 @@ public class MesWorkOrderController extends BaseMesController { public ResultBean importMesWorkOrderExcel(@RequestParam("file") MultipartFile file, @RequestParam("status") Integer type) { try { MesExcelTool excelTool = new MesExcelTool(entityManager, RedisCacheTool.getImppRedis()); - List beanList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), MesWorkOrder.class); + List beanList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), MesWorkOrderModel.class); - // 校验导入数据 - validateImport(beanList); String userName = AuthUtil.getSessionUser().getUserName(); String organizeCode = AuthUtil.getOrganize().getOrganizeCode(); //非排序工单导入前删除 if (MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue() == type) { mesWorkOrderService.deleteUnSortOrder(userName,organizeCode); } + List mesWorkOrderList = new ArrayList<>(); // 导入数据初始化 - for (MesWorkOrder bean : beanList) { - bean.setWorkOrderType(type); - ConvertBean.serviceModelInitialize(bean, userName); - bean.setOrganizeCode(organizeCode); + for (MesWorkOrderModel bean : beanList) { + MesWorkOrder mesWorkOrder = new MesWorkOrder(); + BeanUtils.copyProperties(bean, mesWorkOrder); + mesWorkOrder.setWorkOrderType(type); + ConvertBean.serviceModelInitialize(mesWorkOrder, userName); + mesWorkOrder.setOrganizeCode(organizeCode); + mesWorkOrderList.add(mesWorkOrder); } - baseService.insertBatch(beanList); + baseService.insertBatch(mesWorkOrderList); - // 导入后 - afterImport(beanList); return ResultBean.success("导入成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException e) { return ResultBean.fail(e); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java index 6381bdf..40ecfb2 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java @@ -293,6 +293,7 @@ public class MesWorkOrderService extends BaseMesService implements // 数据校验 ValidatorBean.checkNotNull(item.getWorkOrderType(), "工单类型不能为空"); ValidatorBean.checkNotNull(item.getWorkCenterCode(), "产线不能为空"); + ValidatorBean.checkNotNull(item.getPartNo(), "零件号不能为空"); ValidatorBean.checkNotNull(item.getShiftCode(), "班次不能为空");