生产控制选择工单时,查询零件条件无效

tags/yfai-pcn-ext-v2.3
jun 8 months ago
parent d8335872e4
commit 4051f5889f

@ -25,7 +25,6 @@ import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import cn.estsh.i3plus.pojo.mes.repository.*;
import cn.estsh.i3plus.pojo.mes.repository.shipping.MesWorkOrderToWmsRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.hutool.core.date.DatePattern;
@ -33,7 +32,6 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.format.DateParser;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
@ -94,8 +92,6 @@ public class MesWorkOrderService implements IMesWorkOrderService {
@Autowired
private MesWorkOrderLogRepository mesWorkOrderLogRepository;
@Autowired
private MesWorkOrderToWmsRepository mesWorkOrderToWmsRDao;
@Autowired
private MesShiftRepository mesShiftRepository;
@Autowired
private IMesConfigService configService;
@ -190,6 +186,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
DdlPreparedPack.getStringLikerPack(workOrder.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringLikerPack(workOrder.getWorkCellCode(), "workCellCode", packBean);
DdlPreparedPack.getStringLikerPack(workOrder.getWorkOrderNo(), "workOrderNo", packBean);
DdlPreparedPack.getStringLikerPack(workOrder.getPartNo(), "partNo", packBean);
if (!StringUtils.isEmpty(workOrder.getWorkOrderStatus()))
DdlPreparedPack.getNumEqualPack(workOrder.getWorkOrderStatus(), "workOrderStatus", packBean);
@ -815,20 +812,6 @@ public class MesWorkOrderService implements IMesWorkOrderService {
return df.format(cal.getTime()).substring(0, 10);
}
private MesProductVersion getMesProductVersion(MesWorkOrder item, MesWorkCenter mesWorkCenter) {
DdlPackBean ddlPackBean;
ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", ddlPackBean);
DdlPreparedPack.getStringEqualPack(mesWorkCenter.getErpWorkCenter(), "workCenterCode", ddlPackBean);
ddlPackBean.setOrderByStr(" order by createDatetime desc ");
MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean);
if (Objects.isNull(mesProductVersion)) {
MesPcnException.throwMesBusiException("物料【%s】工作中心【%s】对应的生产版本信息不存在", item.getPartNo(),
mesWorkCenter.getErpWorkCenter());
}
return mesProductVersion;
}
@Override
public List<MesProductionRecord> getUnReportMesProduceSn(String organizeCode) {
@ -1211,7 +1194,6 @@ public class MesWorkOrderService implements IMesWorkOrderService {
//校验标识
//若工单类型为排序
List<MesWorkOrderToWms> saveMesWorkOrderToWms = new ArrayList<>();
if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
//校验产线类型和工单类型是否匹配
if (!Objects.equals(mesWorkCenter.getCenterType(), MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue())) {
@ -1230,18 +1212,12 @@ public class MesWorkOrderService implements IMesWorkOrderService {
if (org.springframework.util.CollectionUtils.isEmpty(bomList)) {
continue;
}
//发送工单信息给WMS
saveMesWorkOrderToWms.addAll(saveMesWorkOrderToWms(item, bomList));
}
item.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
item.setFid(UUID.randomUUID().toString());
ConvertBean.serviceModelInitialize(item, userName);
MesWorkOrder mesWorkOrder = workOrderRepository.insert(item);
//保存发送WMS数据
if (CollectionUtils.isNotEmpty(saveMesWorkOrderToWms)) {
mesWorkOrderToWmsRDao.saveAll(saveMesWorkOrderToWms);
}
saveMesWorkOrderLog(mesWorkOrder,MesExtEnumUtil.WORK_ORDER_LOG_TYPE.INSERT.getValue(),item.getQty());
mesWorkOrderList.add(mesWorkOrder);
}
@ -1249,36 +1225,8 @@ public class MesWorkOrderService implements IMesWorkOrderService {
return mesWorkOrderList;
}
public void deleteUnSortOrder(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);
workOrderRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "workOrderStatus"},
new Object[]{"CLOSE_JOB", TimeTool.getNowTime(true), MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue()}, ddlPackBean);
}
public List<MesWorkOrderToWms> saveMesWorkOrderToWms(MesWorkOrder mesWorkOrder, List<MesBom> mesBomList) {
List<MesWorkOrderToWms> mesWorkOrderToWmsList = new ArrayList<>();
MesWorkOrderToWms mesWorkOrderToWms = null;
for (MesBom mesBom : mesBomList) {
mesWorkOrderToWms = new MesWorkOrderToWms();
BeanUtils.copyProperties(mesWorkOrder, mesWorkOrderToWms, "id");
mesWorkOrderToWms.setUnit(mesBom.getUnit());
mesWorkOrderToWms.setItemPartNo(mesBom.getItemPartNo());
mesWorkOrderToWms.setItemPartName(mesBom.getItemPartName());
mesWorkOrderToWms.setItemUnit(mesBom.getItemUnit());
mesWorkOrderToWms.setItemQty(MathOperation.mul(mesWorkOrder.getQty(), mesBom.getItemQty()));
ConvertBean.serviceModelInitialize(mesWorkOrderToWms, mesWorkOrderToWms.getCreateUser());
mesWorkOrderToWmsList.add(mesWorkOrderToWms);
}
return mesWorkOrderToWmsList;
}
private MesProductVersion checkMesProductVersion(MesWorkOrder item) {
DdlPackBean ddlPackBean;
ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", ddlPackBean);
DdlPreparedPack.getStringEqualPack(item.getErpWorkCenter(), "workCenterCode", ddlPackBean);
MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean);

Loading…
Cancel
Save