工单演示问题修复

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 deleteUnSortOrder(String userName,String organizeCode);
void deleteUnSortOrder(String userName, String organizeCode, List<String> partNoList);
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.apiservice.config.AuthUtilExt;
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.platform.common.convert.ConvertBean;
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.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Api(description = "工单主页面")
@RestController
@ -46,11 +49,18 @@ public class MesWorkOrderController extends BaseMesController<MesWorkOrder> {
MesExcelTool excelTool = new MesExcelTool(entityManager, RedisCacheTool.getImppRedis());
List<MesWorkOrderModel> beanList = excelTool.importData(file.getOriginalFilename(), file.getInputStream(), MesWorkOrderModel.class);
if(CollectionUtils.isEmpty(beanList)){
MesException.throwMesBusiException("导入数据不存在");
}
String userName = AuthUtil.getSessionUser().getUserName();
String organizeCode = AuthUtil.getOrganize().getOrganizeCode();
//非排序工单导入前删除
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<>();
// 导入数据初始化

@ -232,7 +232,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
if (result.getWorkOrderStatus() >= MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()) {
if (!Objects.equals(bean.getPartNo(), result.getPartNo())) {
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 (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());
}
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()) {
ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空");
//若工单类型为排序 标识为 N E P S
if (item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getValue() &&
item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue() &&
item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue() &&
item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue()) {
throw ImppExceptionBuilder.newInstance()
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode())
.setErrorDetail(String.format("工单标识为【%s】请选择 【%s】、【%s】、【%s】、【%s】 标识",
item.getOrderFlag(), MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getDescription()
, MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getDescription(),
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getDescription(),
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getDescription()))
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.build();
if (!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue().equals(item.getOrderFlag())&&
!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue().equals(item.getOrderFlag())&&
!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getValue().equals(item.getOrderFlag())&&
!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag())){
MesException.throwMesBusiException(String.format("工单标识为【%s】请选择 【%s】、【%s】、【%s】、【%s】 标识",
item.getOrderFlag(), MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue()
, MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue(),
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.S.getValue(),
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue()));
}
if (StringUtil.isEmpty(item.getPlanStartTime()) || StringUtil.isEmpty(item.getPlanEndTime())) {
packPlanTime(item);
@ -354,15 +344,13 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
} else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空");
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
if (item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue() &&
item.getOrderFlag() != MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue()) {
throw ImppExceptionBuilder.newInstance()
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode())
.setErrorDetail(String.format("工单标识为【%s】请选择 【%s】、【%s】 标识",
item.getOrderFlag(), MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getDescription(),
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getDescription()))
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.build();
if (!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue().equals(item.getOrderFlag())&&
!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue().equals(item.getOrderFlag())&&
!MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(item.getOrderFlag())){
MesException.throwMesBusiException(String.format("工单标识为【%s】请选择 【%s】、【%s】、【%s】 标识",
item.getOrderFlag(), MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.E.getValue()
, MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue(),
MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue()));
}
if (StringUtil.isEmpty(item.getPlanStartTime()) || StringUtil.isEmpty(item.getPlanEndTime())) {
packPlanTime(item);
@ -731,8 +719,9 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
}
@Override
public void deleteUnSortOrder(String userName, String organizeCode) {
public void deleteUnSortOrder(String userName, String organizeCode, List<String> partNoList) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(partNoList, "partNo", ddlPackBean);
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue(), "workOrderType", ddlPackBean);
DdlPreparedPack.getStringSmallerNotEqualPack(TimeTool.getToday(), "planStartTime", ddlPackBean);
DdlPreparedPack.getNumberSmallerPack(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue(), "workOrderStatus", ddlPackBean);

Loading…
Cancel
Save