问题清单修复

tags/yfai-mes-ext-v1.0
jun 10 months ago
parent 1de19ae114
commit a5873a9388

@ -39,6 +39,9 @@ public interface IMesWorkOrderService extends IBaseMesService<MesWorkOrder> {
@ApiOperation("反向冲销")
void doReportWorkReversal(WmsProductModel model);
@ApiOperation("重新打开")
void doReopen(String[] ids,String userName,String organizeCode);
List<MesProductionRecord> getPreDayReportMesProductionRecord(String organizeCode , List<MesShift> mesShiftList, String workCenterCode);
List<MesProduceSn> getPreDayReportMesProduceSn(String organizeCode ,List<MesProductionRecord> mesProductionRecordList );

@ -92,13 +92,15 @@ class sapToMesCcscTaskResult {
if (resultWorkMap.size() > 0) {
String work_center_code = resultWorkMap.get(0).get("work_center_code")
String work_cell_code = resultWorkMap.get(0).get("work_cell_code")
long workOrderId = Long.valueOf(resultWorkMap.get(0).get("id")+"")
LOGGER.info("-------- filterData Start QMS同步MES_CCSC任务检测结果 70{}",work_center_code)
String logUpdateSql="update mes_comunication_log set is_deleted = 1 " +
" where organize_code= '"+organizeCode+"' and work_center_code= '"+work_center_code+"' " +
" and work_cell_code= '"+work_cell_code+"' and parameter_name= '"+part_no+"'; "
insertSqlList.add(logUpdateSql);
//CCSC
String workOrderUpdate = "";
if (taskResult.equals("2")) { //1: 2:
String insertSql = String.format(" INSERT INTO mes_comunication_log " +
"(`parameter_name`,`parameter_desc`,`value`,`status`,`work_cell_code`,`work_center_code`, " +
@ -118,8 +120,11 @@ class sapToMesCcscTaskResult {
mesInputDefectRecordService.savePartInspection(mesProduceSn, "JOB",mesDefect,"A01")
}
}
workOrderUpdate = "update mes_work_order set ccsc_status = 20,work_order_status=40 where id= "+workOrderId+"; "
}else{
workOrderUpdate = "update mes_work_order set ccsc_status = 10 where id= "+workOrderId+"; "
}
insertSqlList.add(workOrderUpdate);
}
}

@ -183,5 +183,19 @@ public class MesWorkOrderController extends BaseMesController<MesWorkOrder> {
}
}
@PutMapping(value = "/reopen")
@ApiOperation(value = "重新打开")
public ResultBean doReopen(String[] ids) {
try {
ValidatorBean.checkNotNull(ids);
mesWorkOrderService.doReopen(ids, AuthUtil.getSessionUser().getUserName(),AuthUtil.getOrganizeCode());
return ResultBean.success("反向冲销成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -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());

Loading…
Cancel
Save