报工问题修改

tags/yfai-pcn-ext-v1.0
微笑着面对明天 11 months ago
parent f87281c0a0
commit 434c87fde3

@ -35,4 +35,7 @@ public interface IMesProductionRecordService {
@ApiOperation(value = "根据零件条码,物料编码,工序代码,工艺代码查询加工记录信息")
List<MesProductionRecord> findProductionRecordList(String organizeCode, String productSn, String partNo, String processCode, String craftCode);
void updateProductionRecord(String organizeCode, String userName, String sn);
void updateProductionRecord(String organizeCode, String userName, String sn, String errorMsg);
}

@ -1,6 +1,7 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionRecordService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderService;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
@ -45,6 +46,8 @@ public class MesReportNoSortJob extends BaseMesScheduleJob {
@Autowired
private MesProductionRecordRepository productionRecordRao;
@Autowired
private IMesProductionRecordService productionRecordService;
public MesReportNoSortJob() {
super(MesReportNoSortJob.class, "非排序报工JOB");
@ -85,7 +88,7 @@ public class MesReportNoSortJob extends BaseMesScheduleJob {
} catch (ImppBusiException e) {
LOGGER.error("条码:{}报工失败", unReportMesProduceSn.get(0).getProductSn(), e.getErrorDetail());
//updateProductionRecord(organizeCode, userName, unReportMesProduceSn.get(0).getProductSn(), e.getErrorDetail());
productionRecordService.updateProductionRecord(organizeCode, userName, unReportMesProduceSn.get(0).getProductSn(), e.getErrorDetail());
}
}
@ -101,7 +104,7 @@ public class MesReportNoSortJob extends BaseMesScheduleJob {
} catch (ImppBusiException e) {
LOGGER.error("条码:{}报工失败", unReportMesProduceSn.get(0).getProductSn(), e.getErrorDetail());
//updateProductionRecord(organizeCode, userName, unReportMesProduceSn.get(0).getProductSn(), e.getErrorDetail());
productionRecordService.updateProductionRecord(organizeCode, userName, unReportMesProduceSn.get(0).getProductSn(), e.getErrorDetail());
}
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionRecordService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
@ -206,5 +207,20 @@ public class MesProductionRecordService implements IMesProductionRecordService {
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.PRODUCT_SN, MesPcnExtConstWords.PART_NO, MesPcnExtConstWords.PROCESS_CODE, MesPcnExtConstWords.CRAFT_CODE},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), productSn, partNo, processCode, craftCode});
}
@Override
public void updateProductionRecord(String organizeCode, String userName, String sn) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(sn, "productSn", ddlPackBean);
productionRecordRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime","reportStatus"},
new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue() },ddlPackBean);
}
@Override
public void updateProductionRecord(String organizeCode, String userName, String sn, String errorMsg) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(sn, "productSn", ddlPackBean);
productionRecordRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime","reportStatus", "remark"},
new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue(), errorMsg },ddlPackBean);
}
}

@ -426,8 +426,8 @@ public class MesWorkOrderService implements IMesWorkOrderService {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(sn, "custSn", ddlPackBean);
productionRecordRao.updateByProperties(new String[]{"modifyUser", "modifyDatetime","reportStatus"},
new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_50.getValue()},ddlPackBean);
productionRecordRao.updateByProperties(new String[]{"modifyUser", "modifyDatetime"},
new Object[]{userName, TimeTool.getNowTime(true)},ddlPackBean);
}
@Override
public void doProductReportByRecord(MesProductionRecord productionRecord, String organizeCode, String userName) {
@ -436,7 +436,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
//根据物料获取已发布的工单
MesWorkOrder oldMesWorkOrder = getMesWorkOrder(productionRecord, organizeCode);
if (oldMesWorkOrder == null) {
//updateProductionRecord(organizeCode, userName, productionRecord.getProductSn());
updateProductionRecord(organizeCode, userName, productionRecord.getProductSn());
return;
}
@ -451,7 +451,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
LOGGER.info("此次报工的条码【{}】,工单【{}】", productionRecord.getProductSn(), productionRecord.getWorkOrderNo());
List<MesWorkOrder> oldMesWorkOrders = getMesWorkOrders(productionRecord, organizeCode, null);
if (CollectionUtils.isEmpty(oldMesWorkOrders)) {
//updateProductionRecord(organizeCode, userName, productionRecord.getProductSn());
updateProductionRecord(organizeCode, userName, productionRecord.getProductSn());
return;
}
report(productionRecord, organizeCode, userName, oldMesWorkOrders.get(0));
@ -633,7 +633,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
DdlPreparedPack.getStringEqualPack(productionRecord.getWorkOrderNo(), "workOrderNo", ddlPackBean);
}
DdlPreparedPack.getInPackList(list, "workOrderStatus", ddlPackBean);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"createDatetime"}, ddlPackBean);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"modifyDatetime"}, ddlPackBean);
// 新增班次逻辑
//DdlPreparedPack.
List<MesWorkOrder> oldMesWorkOrders = workOrderRepository.findByHqlWhere(ddlPackBean);
@ -680,6 +680,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
}
@Override
public List<MesProductionRecord> getUnReportMesProduceSn(String organizeCode) {
//1.获取生产加工记录production_record表中report_status为待汇报状态的工单
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
List<Integer> statusList = Stream.of(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue(), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue()).collect(Collectors.toList());
@ -690,10 +691,17 @@ public class MesWorkOrderService implements IMesWorkOrderService {
List<String> centerList = Arrays.asList(workCenterCodes.split(","));
DdlPreparedPack.getInPackList(centerList, "workCenterCode",ddlPackBean);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"createDatetime"}, ddlPackBean);
List<MesProductionRecord> mesProductionRecordList = productionRecordRao.findByHqlTopWhere(ddlPackBean, 1);
return mesProductionRecordList;
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"modifyDatetime"}, ddlPackBean);
List<MesProductionRecord> mesProductionRecordList = productionRecordRao.findByHqlTopWhere(ddlPackBean, 10);
List<MesProductionRecord> recordList = new ArrayList<>();
// 根据零件号分组
if(!CollectionUtils.isEmpty(mesProductionRecordList)) {
Map<String, List<MesProductionRecord>> map = mesProductionRecordList.stream().collect(Collectors.groupingBy(MesProductionRecord::getPartNo));
map.forEach((k, v) -> {
recordList.add(v.get(0));
});
}
return recordList;
}
@Override
@ -708,10 +716,17 @@ public class MesWorkOrderService implements IMesWorkOrderService {
List<String> centerList = Arrays.asList(workCenterCodes.split(","));
DdlPreparedPack.getInPackList(centerList, "workCenterCode",ddlPackBean);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"createDatetime"}, ddlPackBean);
List<MesProductionRecord> mesProductionRecordList = productionRecordRao.findByHqlTopWhere(ddlPackBean, 1);
return mesProductionRecordList;
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"modifyDatetime"}, ddlPackBean);
List<MesProductionRecord> mesProductionRecordList = productionRecordRao.findByHqlTopWhere(ddlPackBean, 10);
List<MesProductionRecord> recordList = new ArrayList<>();
// 根据零件号分组
if(!CollectionUtils.isEmpty(mesProductionRecordList)) {
Map<String, List<MesProductionRecord>> map = mesProductionRecordList.stream().collect(Collectors.groupingBy(MesProductionRecord::getPartNo));
map.forEach((k, v) -> {
recordList.add(v.get(0));
});
}
return recordList;
}

Loading…
Cancel
Save