|
|
|
@ -658,6 +658,14 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
String shiftCode = productionRecord.getShiftCode();
|
|
|
|
|
String workCenterCode = productionRecord.getWorkCenterCode();
|
|
|
|
|
|
|
|
|
|
//查询工作中心
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean);
|
|
|
|
|
MesWorkCenter mesWorkCenter = mesWorkCenterRDao.getByProperty(ddlPackBean);
|
|
|
|
|
if (Objects.isNull(mesWorkCenter)) {
|
|
|
|
|
MesPcnException.throwMesBusiException("产线【%s】不存在",workCenterCode);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<MesShift> shiftList = mesShiftService.queryMesShift(organizeCode, workCenterCode);
|
|
|
|
|
// 如果当前班次是早班
|
|
|
|
|
if (CollectionUtils.isEmpty(shiftList)) {
|
|
|
|
@ -680,9 +688,11 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
|
|
|
|
|
workOrders = oldMesWorkOrders.stream().filter(workOrder -> beginDate.getTime() >= transfer(workOrder.getPlanStartTime()).getTime() && beginDate.getTime() <= transfer(workOrder.getPlanEndTime()).getTime()).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
MesWorkOrder bestWorkOrder = getBestWorkOrder(productionRecord, workOrders, mesWorkCenter);
|
|
|
|
|
|
|
|
|
|
String date = productionRecord.getLotNo();
|
|
|
|
|
// 如果找不到需要找 当天的其它班次
|
|
|
|
|
if (CollectionUtils.isEmpty(workOrders)) {
|
|
|
|
|
if (CollectionUtils.isEmpty(workOrders) || bestWorkOrder == null) {
|
|
|
|
|
// 如果开始时间大于结束时间,说明跨天了,跨天说明是晚班,需要找, 如果是晚班, 则找早中班的工单
|
|
|
|
|
if (currentShift.getStartTime().compareTo(currentShift.getEndTime()) > 0) {
|
|
|
|
|
// 如果比0点大,需要找日期前一天的班次的工单号,如果是0点前,date =lotNO 如果是0点后,则找lot的前一天
|
|
|
|
@ -783,11 +793,16 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
DdlPreparedPack.getInPackList( statusList,"reportStatus",ddlPackBean);
|
|
|
|
|
DdlPreparedPack.getIsNull("workOrderNo",ddlPackBean);
|
|
|
|
|
String workCenterCodes = configService.getCfgValue(organizeCode, "MES_PCN_REPORT_CENTER");
|
|
|
|
|
//String workCenterCodes ="B19CK01A";
|
|
|
|
|
|
|
|
|
|
if (!StringUtils.isEmpty(workCenterCodes)) {
|
|
|
|
|
List<String> centerList = Arrays.asList(workCenterCodes.split(","));
|
|
|
|
|
DdlPreparedPack.getNotInPack(centerList, "workCenterCode", ddlPackBean);
|
|
|
|
|
}
|
|
|
|
|
/*String workCenterCodes ="C06CK01B";
|
|
|
|
|
if (!StringUtils.isEmpty(workCenterCodes)) {
|
|
|
|
|
List<String> centerList = Arrays.asList(workCenterCodes.split(","));
|
|
|
|
|
DdlPreparedPack.getInPack(centerList, "workCenterCode", ddlPackBean);
|
|
|
|
|
}*/
|
|
|
|
|
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"modifyDatetime"}, ddlPackBean);
|
|
|
|
|
List<MesProductionRecord> mesProductionRecordList = productionRecordRao.findByHqlTopWhere(ddlPackBean, 1000);
|
|
|
|
|
List<MesProductionRecord> recordList = new ArrayList<>();
|
|
|
|
|