|
|
|
@ -142,6 +142,9 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesPartProdGroupService partProdGroupService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesPrintedSnLogRepository printedSnLogRepository;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesWorkOrder insert(MesWorkOrder bean) {
|
|
|
|
|
//校验产线与工位的关系
|
|
|
|
@ -219,8 +222,16 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
boolean isSavePrintQueue = false;
|
|
|
|
|
|
|
|
|
|
//更新状态
|
|
|
|
|
if (result.getWorkOrderStatus().intValue() != bean.getWorkOrderStatus().intValue()) {
|
|
|
|
|
|
|
|
|
|
// 发布时创建工单打印队列
|
|
|
|
|
if (!Objects.equals(bean.getWorkOrderStatus(), result.getWorkOrderStatus()) && bean.getWorkOrderStatus() == MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue()) {
|
|
|
|
|
isSavePrintQueue = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
result.setWorkOrderStatus(bean.getWorkOrderStatus());
|
|
|
|
|
if (result.getWorkOrderStatus() == MesExtEnumUtil.ORDER_STATUS.CREATE.getValue()
|
|
|
|
|
&& bean.getWorkOrderStatus() == MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue()) {
|
|
|
|
@ -232,7 +243,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
mesWorkOrderToWmsService.insertBatch(mesWorkOrderToWmsService.saveMesWorkOrderToWms(result, bomList));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
updateMesWorkOrder(result,MesExtEnumUtil.WORK_ORDER_LOG_TYPE.UPDATE,0);
|
|
|
|
|
if (isSavePrintQueue) insertPrintQueue(result, null);
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -453,6 +467,8 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
|
|
|
|
|
if (workOrder.getWorkOrderType() != MesExtEnumUtil.ORDER_TYPE.SORT.getValue()) return null;
|
|
|
|
|
|
|
|
|
|
if (workOrder.getWorkOrderStatus() != MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue()) return null;
|
|
|
|
|
|
|
|
|
|
if (mesPartProdGroup == null) {
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(workOrder.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(workOrder.getPartProdGroupCode(), "partProdGroupCode", ddlPackBean);
|
|
|
|
@ -1172,16 +1188,28 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
insertPrintQueue(workOrder, null);
|
|
|
|
|
if (workOrder.getWorkOrderStatus() != MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue()) {
|
|
|
|
|
log.info("doSaveWorkOrderPrintQueue --- 工单:{} 不为{},无需新增打印队列", workOrder.getWorkOrderNo(), MesExtEnumUtil.ORDER_STATUS.RELEASE.getDescription());
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
insertPrintQueue(workOrder, null);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<Map<String, Object>> doReprintWorkOrder(Long[] ids, String organizeCode, String userName) {
|
|
|
|
|
|
|
|
|
|
// 根据id 获取工单数据
|
|
|
|
|
List<MesWorkOrder> mesWorkOrderList = getMesWorkOrderList(ids, organizeCode);
|
|
|
|
|
|
|
|
|
|
List<Map<String, Object>> resultMapList = packPrintResultMap(organizeCode, mesWorkOrderList, userName);
|
|
|
|
|
|
|
|
|
|
return resultMapList;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<Map<String, Object>> packPrintResultMap(String organizeCode, List<MesWorkOrder> mesWorkOrderList, String userName) {
|
|
|
|
|
// 根据工单号对工单分组
|
|
|
|
|
Map<String, MesWorkOrder> workOrderMapByWorkOrderNo = mesWorkOrderList.stream().collect(Collectors.toMap(MesWorkOrder::getWorkOrderNo, Function.identity(), (x, y) -> y));
|
|
|
|
|
|
|
|
|
@ -1209,6 +1237,9 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
// 返回结果
|
|
|
|
|
List<Map<String, Object>> resultMapList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
// 条码打印
|
|
|
|
|
List<MesPrintedSnLog> printedSnLogList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
for (MesWorkOrder mesWorkOrder : mesWorkOrderList) {
|
|
|
|
|
|
|
|
|
|
if (mesWorkOrder == null) {
|
|
|
|
@ -1262,12 +1293,38 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
MesException.throwMesBusiException("工单【%s】关联零件生产组【%s】打印模板【%s】策略类【%s】执行异常", mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getPartProdGroupCode(), labelTemplate.getTemplateCode(), labelTemplate.getMethodCode());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MesPrintedSnLog printedSnLog = new MesPrintedSnLog();
|
|
|
|
|
printedSnLog.setOrganizeCode(mesWorkOrder.getOrganizeCode());
|
|
|
|
|
printedSnLog.setWorkOrderNo(mesWorkOrder.getWorkOrderNo());
|
|
|
|
|
printedSnLog.setCustPartNo(mesWorkOrder.getCustPartNo());
|
|
|
|
|
ConvertBean.serviceModelInitialize(printedSnLog, userName);
|
|
|
|
|
printedSnLogList.add(printedSnLog);
|
|
|
|
|
|
|
|
|
|
resultMapList.addAll(snPrintModel.getPrintContextList());
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(printedSnLogList)) printedSnLogRepository.saveAll(printedSnLogList);
|
|
|
|
|
|
|
|
|
|
return resultMapList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<Map<String, Object>> doShowWorkOrderPrint(String partNo, String workCenterCode, String partProdGroupCode,
|
|
|
|
|
String carModelCode, String organizeCode, String userName) {
|
|
|
|
|
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, packBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(workCenterCode, MesExtConstWords.WORK_CENTER_CODE, packBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(partProdGroupCode, MesExtConstWords.PART_PROD_GROUP_CODE, packBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(carModelCode, MesExtConstWords.CAR_MODEL_CODE, packBean);
|
|
|
|
|
packBean.setOrderByStr(" order by createDatetime desc ");
|
|
|
|
|
MesWorkOrder workOrder = workOrderRepository.getByProperty(packBean);
|
|
|
|
|
|
|
|
|
|
List<MesWorkOrder> workOrderList = new ArrayList<>();
|
|
|
|
|
workOrderList.add(workOrder);
|
|
|
|
|
|
|
|
|
|
return packPrintResultMap(organizeCode, workOrderList, userName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Map<String, MesCustomerCarModel> getMesCustomerCarModelMap(String organizeCode, List<MesWorkOrder> workOrderList) {
|
|
|
|
|