工单演示问题修复

tags/yfai-mes-ext-v1.0
jun 11 months ago
parent 9f4b6b049b
commit c9075c7803

@ -16,7 +16,7 @@ public interface IMesWorkOrderService extends IBaseMesService<MesWorkOrder> {
void doProductReportExt(MesWorkOrder mesWorkOrder); void doProductReportExt(MesWorkOrder mesWorkOrder);
void deleteUnSortOrder(String userName,String organizeCode); void deleteUnSortOrder(String userName, String organizeCode, List<String> partNoList);
List<MesWorkOrder> sumMesWorkOrderQtyToSap(String organizeCode); List<MesWorkOrder> sumMesWorkOrderQtyToSap(String organizeCode);

@ -4,6 +4,7 @@ import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderService;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderToSapService; import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderToSapService;
import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt; import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.excel.MesExcelTool; import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.excel.MesExcelTool;
import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
@ -22,11 +23,13 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
@Api(description = "工单主页面") @Api(description = "工单主页面")
@RestController @RestController
@ -46,11 +49,18 @@ public class MesWorkOrderController extends BaseMesController<MesWorkOrder> {
MesExcelTool excelTool = new MesExcelTool(entityManager, RedisCacheTool.getImppRedis()); MesExcelTool excelTool = new MesExcelTool(entityManager, RedisCacheTool.getImppRedis());
List<MesWorkOrderModel> beanList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), MesWorkOrderModel.class); List<MesWorkOrderModel> beanList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), MesWorkOrderModel.class);
if(CollectionUtils.isEmpty(beanList)){
MesException.throwMesBusiException("导入数据不存在");
}
String userName = AuthUtil.getSessionUser().getUserName(); String userName = AuthUtil.getSessionUser().getUserName();
String organizeCode = AuthUtil.getOrganize().getOrganizeCode(); String organizeCode = AuthUtil.getOrganize().getOrganizeCode();
//非排序工单导入前删除 //非排序工单导入前删除
if (MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue() == type) { if (MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue() == type) {
mesWorkOrderService.deleteUnSortOrder(userName,organizeCode); List<String> partNoList = beanList.stream().map(MesWorkOrderModel::getPartNo).filter(partNo -> !StringUtils.isEmpty(partNo)).distinct().collect(Collectors.toList());
if(CollectionUtils.isEmpty(partNoList)){
MesException.throwMesBusiException("导入物料信息数据无效");
}
mesWorkOrderService.deleteUnSortOrder(userName,organizeCode,partNoList);
} }
List<MesWorkOrder> mesWorkOrderList = new ArrayList<>(); List<MesWorkOrder> mesWorkOrderList = new ArrayList<>();
// 导入数据初始化 // 导入数据初始化

@ -232,7 +232,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
if (result.getWorkOrderStatus() >= MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()) { if (result.getWorkOrderStatus() >= MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()) {
if (!Objects.equals(bean.getPartNo(), result.getPartNo())) { if (!Objects.equals(bean.getPartNo(), result.getPartNo())) {
MesException.throwMesBusiException(String.format("工单状态为【%s】不允许修改物料", MesException.throwMesBusiException(String.format("工单状态为【%s】不允许修改物料",
MesExtEnumUtil.ORDER_TYPE.valueOfDescription(result.getWorkOrderStatus()))); MesExtEnumUtil.ORDER_STATUS.valueOfDescription(result.getWorkOrderStatus())));
} }
} }
@ -249,12 +249,6 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
} }
//更新状态 //更新状态
if (bean.getWorkOrderStatus() > 0) { if (bean.getWorkOrderStatus() > 0) {
if (MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue() == bean.getWorkOrderStatus()) {
if (MesExtEnumUtil.ORDER_STATUS.CREATE.getValue() != result.getWorkOrderStatus()) {
MesException.throwMesBusiException(String.format("工单状态为【%s】不为创建不允许发布",
MesExtEnumUtil.ORDER_TYPE.valueOfDescription(result.getWorkOrderStatus())));
}
}
result.setWorkOrderStatus(bean.getWorkOrderStatus()); result.setWorkOrderStatus(bean.getWorkOrderStatus());
} }
ConvertBean.serviceModelInitialize(bean, AuthUtil.getSessionUser().getUserName()); ConvertBean.serviceModelInitialize(bean, AuthUtil.getSessionUser().getUserName());
@ -309,19 +303,15 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.SORT.getValue()) { if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.SORT.getValue()) {
ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空"); ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空");
//若工单类型为排序 标识为 N E P S //若工单类型为排序 标识为 N E P S
if (item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getValue() && if (!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue().equals(item.getOrderFlag())&&
item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue() && !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue().equals(item.getOrderFlag())&&
item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue() && !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getValue().equals(item.getOrderFlag())&&
item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue()) { !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag())){
throw ImppExceptionBuilder.newInstance() MesException.throwMesBusiException(String.format("工单标识为【%s】请选择 【%s】、【%s】、【%s】、【%s】 标识",
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) item.getOrderFlag(), MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue()
.setErrorDetail(String.format("工单标识为【%s】请选择 【%s】、【%s】、【%s】、【%s】 标识", , MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue(),
item.getOrderFlag(), MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getDescription() MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getValue(),
, MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getDescription(), MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue()));
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getDescription(),
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getDescription()))
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.build();
} }
if (StringUtil.isEmpty(item.getPlanStartTime()) || StringUtil.isEmpty(item.getPlanEndTime())) { if (StringUtil.isEmpty(item.getPlanStartTime()) || StringUtil.isEmpty(item.getPlanEndTime())) {
packPlanTime(item); packPlanTime(item);
@ -354,15 +344,13 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
} else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) { } else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空"); ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空");
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空"); ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
if (item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue() && if (!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue().equals(item.getOrderFlag())&&
item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue()) { !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue().equals(item.getOrderFlag())&&
throw ImppExceptionBuilder.newInstance() !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag())){
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) MesException.throwMesBusiException(String.format("工单标识为【%s】请选择 【%s】、【%s】、【%s】 标识",
.setErrorDetail(String.format("工单标识为【%s】请选择 【%s】、【%s】 标识", item.getOrderFlag(), MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue()
item.getOrderFlag(), MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getDescription(), , MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue(),
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getDescription())) MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue()));
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.build();
} }
if (StringUtil.isEmpty(item.getPlanStartTime()) || StringUtil.isEmpty(item.getPlanEndTime())) { if (StringUtil.isEmpty(item.getPlanStartTime()) || StringUtil.isEmpty(item.getPlanEndTime())) {
packPlanTime(item); packPlanTime(item);
@ -731,8 +719,9 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
} }
@Override @Override
public void deleteUnSortOrder(String userName, String organizeCode) { public void deleteUnSortOrder(String userName, String organizeCode, List<String> partNoList) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(partNoList, "partNo", ddlPackBean);
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue(), "workOrderType", ddlPackBean); DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue(), "workOrderType", ddlPackBean);
DdlPreparedPack.getStringSmallerNotEqualPack(TimeTool.getToday(), "planStartTime", ddlPackBean); DdlPreparedPack.getStringSmallerNotEqualPack(TimeTool.getToday(), "planStartTime", ddlPackBean);
DdlPreparedPack.getNumberSmallerPack(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue(), "workOrderStatus", ddlPackBean); DdlPreparedPack.getNumberSmallerPack(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue(), "workOrderStatus", ddlPackBean);

Loading…
Cancel
Save