Merge branch 'dev_temp_xw_202503120000_45558' into dev

dev
xiangwei.zhang 2 months ago
commit f33390859e

@ -15,5 +15,5 @@ import java.util.List;
public interface IMesProductionRecordDao {
@ApiOperation("查询汇报的加工记录")
List<MesProductionRecord> findMesProductionRecordNoReport(String organizeCode, Integer workOrderType, Integer pageSize, List<String> workCenterList);
List<MesProductionRecord> findMesProductionRecordNoReport(String organizeCode, Integer workOrderType, Integer pageSize, List<String> workCenterList, boolean isHasOrder);
}

@ -32,7 +32,7 @@ public class MesProductionRecordImpl implements IMesProductionRecordDao {
private EntityManager entityManager;
@Override
public List<MesProductionRecord> findMesProductionRecordNoReport(String organizeCode, Integer workOrderType, Integer pageSize, List<String> workCenterList) {
public List<MesProductionRecord> findMesProductionRecordNoReport(String organizeCode, Integer workOrderType, Integer pageSize, List<String> workCenterList, boolean isHasOrder) {
StringBuilder hql = new StringBuilder();
hql.append(" select record from MesProductionRecord record left join MesWorkCenter center on record.workCenterCode = center.workCenterCode where 1=1");
hql.append(" and record.organizeCode = :organizeCode and record.isValid = :isValid and record.isDeleted = :isDeleted ");
@ -44,6 +44,11 @@ public class MesProductionRecordImpl implements IMesProductionRecordDao {
if(MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue() == workOrderType){
hql.append(" order by record.reportStatus asc,record.modifyDatetime asc ");
}else{
if (isHasOrder) {
hql.append(" and record.workOrderNo !='' and record.workOrderNo is not null ");
} else {
hql.append(" and (record.workOrderNo = '' or record.workOrderNo is null) ");
}
hql.append(" order by record.modifyDatetime asc ");
}
Query hqlQuery = entityManager.createQuery(hql.toString(), MesProductionRecord.class);

@ -552,8 +552,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
MesWorkOrder oldMesWorkOrder = getBestWorkOrder(productionRecord, oldMesWorkOrderList, mesWorkCenter);
if (oldMesWorkOrder == null) {
LOGGER.error(String.format("未找到匹配的加工单, 条码=%s", productionRecord.getCustSn()));
return;
//throw new ImppBusiException(String.format("未找到匹配的加工单"));
throw new ImppBusiException(String.format("未找到匹配的加工单"));
}
//获取生产版本
@ -1243,14 +1242,17 @@ public class MesWorkOrderService implements IMesWorkOrderService {
@Override
public void doMesWorkOrderNoSortReport(String organizeCode, Integer pageSize, String userName) {
String workCenterCodes = configService.getCfgValue(organizeCode, "MES_PCN_REPORT_CENTER");
//查询所有非排序工单
List<MesProductionRecord> recordNoReportList = mesProductionRecordDao.findMesProductionRecordNoReport(organizeCode, MesExtEnumUtil.WORK_CENTER_TYPE.NOSORT.getValue(), pageSize, !StringUtils.isEmpty(workCenterCodes) ? Arrays.asList(workCenterCodes.split(",")) : null);
if (CollectionUtils.isEmpty(recordNoReportList)) {
LOGGER.error("非排序加工单加工记录中没有数据,无需处理");
return;
//查询非排序工单 有工单
List<MesProductionRecord> recordNoReportHasOrderNoList = mesProductionRecordDao.findMesProductionRecordNoReport(organizeCode, MesExtEnumUtil.WORK_CENTER_TYPE.NOSORT.getValue(), pageSize, !StringUtils.isEmpty(workCenterCodes) ? Arrays.asList(workCenterCodes.split(",")) : null, true);
if (CollectionUtils.isEmpty(recordNoReportHasOrderNoList)) {
LOGGER.error("非排序有加工单加工记录中没有数据,无需处理");
}
List<MesProductionRecord> recordNoReportNotHasOrderNoList = recordNoReportList.stream().filter(item -> StringUtils.isEmpty(item.getWorkOrderNo())).collect(Collectors.toList());
List<MesProductionRecord> recordNoReportHasOrderNoList = recordNoReportList.stream().filter(item -> !StringUtils.isEmpty(item.getWorkOrderNo())).collect(Collectors.toList());
//查询非排序工单 有工单
List<MesProductionRecord> recordNoReportNotHasOrderNoList = mesProductionRecordDao.findMesProductionRecordNoReport(organizeCode, MesExtEnumUtil.WORK_CENTER_TYPE.NOSORT.getValue(), pageSize, !StringUtils.isEmpty(workCenterCodes) ? Arrays.asList(workCenterCodes.split(",")) : null, false);
if (CollectionUtils.isEmpty(recordNoReportNotHasOrderNoList)) {
LOGGER.error("非排序无加工单加工记录中没有数据,无需处理");
}
//处理无工单加工记录
if(!CollectionUtils.isEmpty(recordNoReportNotHasOrderNoList)){
for (MesProductionRecord mesProductionRecord : recordNoReportNotHasOrderNoList) {
@ -1474,7 +1476,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
}
public MesWorkOrderSortReportModel initMesWorkOrderSortReportModel(String organizeCode, Integer pageSize, String userName) {
MesWorkOrderSortReportModel model = new MesWorkOrderSortReportModel(organizeCode, userName, mesProductionRecordDao.findMesProductionRecordNoReport(organizeCode, MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue(), pageSize,null));
MesWorkOrderSortReportModel model = new MesWorkOrderSortReportModel(organizeCode, userName, mesProductionRecordDao.findMesProductionRecordNoReport(organizeCode, MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue(), pageSize,null,true));
model.setMesWorkOrderList(workOrderExtService.getWorkOrderList(organizeCode, model.getWorkOrderList()));
model.setMesMoveRuleList(mesMoveRuleService.findMesMoveRuleByPartProdGroupCode(model.getPartProdGroupCodeList(), organizeCode,MesExtEnumUtil.MOVE_RULE_GROUP_TYPE.MOVE_RULE_GROUP_TYPE_20.getValue()));
model.setMesWorkOrderPartList(findMesWorkOrderPartByOrderNo(organizeCode, model.getWorkOrderList()));

Loading…
Cancel
Save