|
|
|
@ -112,6 +112,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesWorkCenterPartRelationRepository partRelationRao;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesCcscTaskService mesCcscTaskService;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesWorkOrder insert(MesWorkOrder bean) {
|
|
|
|
|
//校验产线与工位的关系
|
|
|
|
@ -1052,6 +1056,38 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
|
mesProductOffLineService.insertBatch(mesProductOffLineList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void doReopen(String[] ids,String userName,String organizeCode) {
|
|
|
|
|
//获取工单信息
|
|
|
|
|
List<MesWorkOrder> mesWorkOrderList = getMesWorkOrderList(ids, organizeCode);
|
|
|
|
|
//数据更新
|
|
|
|
|
for (MesWorkOrder mesWorkOrder : mesWorkOrderList) {
|
|
|
|
|
if (MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue() != mesWorkOrder.getWorkOrderStatus()) {
|
|
|
|
|
MesException.throwMesBusiException("工单【%S】状态不为关闭,请检查数据", mesWorkOrder.getWorkOrderNo());
|
|
|
|
|
}
|
|
|
|
|
if (!MesExtEnumUtil.OK_NOK.NOK.getValue().equals(mesWorkOrder.getCcscStatus())) {
|
|
|
|
|
MesException.throwMesBusiException("工单【%S】CCSC状态不为NOK,请检查数据", mesWorkOrder.getWorkOrderNo());
|
|
|
|
|
}
|
|
|
|
|
if (mesWorkOrder.getUnCompleteQty() <= 0) {
|
|
|
|
|
MesException.throwMesBusiException("工单【%s】未完成数量小于等于0,请检查数据", mesWorkOrder.getWorkOrderNo());
|
|
|
|
|
}
|
|
|
|
|
//更新工单状态
|
|
|
|
|
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
|
|
|
|
|
mesWorkOrder.setCcscStatus("");
|
|
|
|
|
updateMesWorkOrder(mesWorkOrder,MesExtEnumUtil.WORK_ORDER_LOG_TYPE.UPDATE,mesWorkOrder.getQty());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<MesWorkOrder> getMesWorkOrderList(String[] ids, String organizeCode) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getInPack(String.join(",", ids),"id",packBean);
|
|
|
|
|
List<MesWorkOrder> mesWorkOrderList = baseRDao.findByHqlWhere(packBean);
|
|
|
|
|
if (CollectionUtils.isEmpty(mesWorkOrderList)) {
|
|
|
|
|
MesException.throwMesBusiException("选择工单信息不存在");
|
|
|
|
|
}
|
|
|
|
|
return mesWorkOrderList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void updateMesWorkOrder(MesWorkOrder mesWorkOrder,MesExtEnumUtil.WORK_ORDER_LOG_TYPE type,double qty) {
|
|
|
|
|
//修改工单,需要重新同步
|
|
|
|
|
mesWorkOrder.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
|
|
|
|