报工问题修改

tags/yfai-pcn-ext-v1.0
微笑着面对明天 11 months ago
parent 28a6c74ad8
commit 86c8b2f9ea

@ -124,6 +124,9 @@ public class MesProdShiftRecordController {
return StationKvBeanUtil.addStationKvBeanList(new ArrayList<>(),
new StationKvBean("shiftGroup", "班组", record.getShiftGroup()),
new StationKvBean("shiftCode", "班次", record.getShiftCode()));
new StationKvBean("shiftGroupName", "班组名称", record.getShiftGroup()),
new StationKvBean("shiftCode", "班次", record.getShiftCode()),
new StationKvBean("shiftName", "班次名称", record.getShiftName()))
;
}
}

@ -76,7 +76,7 @@ public class MesReportNoSortJob extends BaseMesScheduleJob {
private void handlerNoOrder(String organizeCode, String userName) {
List<MesProductionRecord> unReportMesProduceSn = workOrderService.getUnReportMesProduceSn(organizeCode);
if (CollectionUtils.isEmpty(unReportMesProduceSn)) {
LOGGER.error("没有加工记录,无需处理");
LOGGER.error("无加工单加工记录中没有数据,无需处理");
return;
}
try {
@ -92,7 +92,7 @@ public class MesReportNoSortJob extends BaseMesScheduleJob {
private void handlerHasOrder(String organizeCode, String userName) {
List<MesProductionRecord> unReportMesProduceSn = workOrderService.getUnReportHasOrderMesProduceSn(organizeCode);
if (CollectionUtils.isEmpty(unReportMesProduceSn)) {
LOGGER.error("有加工记录,无需处理");
LOGGER.error("有加工单加工记录中没有数据,无需处理");
return;
}
try {

@ -103,6 +103,9 @@ public class MesProdShiftRecordServiceImpl implements IMesProdShiftRecordService
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getShiftGroup(), "shiftGroup", packBean);
if (bean.getWorkStatus() != null) {
DdlPreparedPack.getNumEqualPack(bean.getWorkStatus(), "workStatus", packBean);
}
packBean.setOrderByStr(bean.orderBy());
return mesProdShiftRecordRDao.getByProperty(packBean);

@ -448,6 +448,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
//新增初始化 todo
// 根据
//根据物料获取已发布的工单
LOGGER.info("此次报工的条码【{}】,工单【{}】", productionRecord.getProductSn(), productionRecord.getWorkOrderNo());
List<MesWorkOrder> oldMesWorkOrders = getMesWorkOrders(productionRecord, organizeCode, null);
if (CollectionUtils.isEmpty(oldMesWorkOrders)) {
//updateProductionRecord(organizeCode, userName, productionRecord.getProductSn());
@ -484,6 +485,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
productionRecord.getPartNo(), mesProductVersion.getProductVersion()));
}
oldMesWorkOrder.setNum(oldMesWorkOrder.getNum() == null ? 1 : oldMesWorkOrder.getNum() + 1);
LOGGER.info("工单报工原数量【{}】", oldMesWorkOrder.getReportedQty());
oldMesWorkOrder.setReportedQty(MathOperation.add(oldMesWorkOrder.getNum(), oldMesWorkOrder.getReportedQty()));
//更新SAP计划完成数量
saveMesProductPlan(oldMesWorkOrder, false, true);
@ -499,6 +501,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
} else {
oldMesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
}
LOGGER.info("工单报工后数量【{}】", oldMesWorkOrder.getReportedQty());
ConvertBean.serviceModelUpdate(oldMesWorkOrder, userName);
workOrderRepository.saveAndFlush(oldMesWorkOrder);
//保存数据

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.station;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesProdShiftRecordService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionCustomContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
@ -14,6 +15,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesFile;
import cn.estsh.i3plus.pojo.mes.bean.MesProdShiftRecord;
import cn.estsh.i3plus.pojo.mes.bean.MesStateMachineStatus;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
import cn.estsh.i3plus.pojo.mes.model.AttrBean;
@ -56,6 +58,9 @@ public class MesProductionNoSortModuleService extends BaseModuleService {
private IMesProductionCustomContextStepService productionCustomContextStepService;
@Autowired
private IMesProdShiftRecordService mesProdShiftRecordService;
@Autowired
private MesFileRepository mesFileRepository;
@Override
@ -66,9 +71,11 @@ public class MesProductionNoSortModuleService extends BaseModuleService {
//获取上下文信息
MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getEquipmentVariableList(reqBean, MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PRODUCTION.getValue());
MesWorkCell mesWorkCell = productionProcessContext.getWorkCell();
/**
*
*/
List<StationKvBean> prodShiftDataContext = getShiftRecordStationKvBeans(reqBean);
// 获取班次信息
List<StationKvBean> prodShiftDataContext = productionCustomContextStepService.getProdShiftDataContext(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode());
MesProdShiftContext mesProdShiftKvBean = productionCustomContextStepService.getMesProdShiftKvBean(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode());
if (CollectionUtils.isEmpty(prodShiftDataContext)) {
@ -97,6 +104,23 @@ public class MesProductionNoSortModuleService extends BaseModuleService {
}
private List<StationKvBean> getShiftRecordStationKvBeans(StationRequestBean reqBean) {
// 获取班次信息 redis
List<StationKvBean> prodShiftDataContext = productionCustomContextStepService.getProdShiftDataContext(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode());
if (CollectionUtils.isEmpty(prodShiftDataContext)) {
MesProdShiftRecord shiftRecord = new MesProdShiftRecord();
shiftRecord.setWorkCenterCode(reqBean.getWorkCenterCode());
shiftRecord.setWorkStatus(MesExtEnumUtil.WORK_STATUS.START.getValue());
// 查询数据库
MesProdShiftRecord prodShiftRecord = mesProdShiftRecordService.queryMesProdShiftRecord(shiftRecord);
if (prodShiftRecord != null) {
prodShiftDataContext = getProdShiftData(prodShiftRecord);
productionCustomContextStepService.saveProdShiftDataContext(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(),prodShiftDataContext);
}
}
return prodShiftDataContext;
}
private StationResultBean getStationResultBean(StationRequestBean reqBean, List<List<StationKvBean>> moduleContentContext, List<StationKvBean> prodShiftDataContext) {
StationResultBean resultBean = new StationResultBean();
resultBean.setBusiType(MesPcnEnumUtil.STATION_BUSI_TYPE.MODULE_CONTENT.getValue());
@ -160,5 +184,14 @@ public class MesProductionNoSortModuleService extends BaseModuleService {
init(reqBean);
return true;
}
//封装展示组件班组班次内容
private List<StationKvBean> getProdShiftData(MesProdShiftRecord record) {
return StationKvBeanUtil.addStationKvBeanList(new ArrayList<>(),
new StationKvBean("shiftGroup", "班组", record.getShiftGroup()),
new StationKvBean("shiftGroupName", "班组名称", record.getShiftGroup()),
new StationKvBean("shiftCode", "班次", record.getShiftCode()),
new StationKvBean("shiftName", "班次名称", record.getShiftName()))
;
}
}

@ -78,7 +78,9 @@ public class MesMouldRecordGenerateStepService extends BaseStepService {
private void saveMouldRecord(StationRequestBean reqBean, StationResultBean resultBean, MesProductionProcessContext productionProcessContext, List<MesProductionPsOutContext> mesProduceSns, MesEquipVariableCollectContext mesFirstMouldNoCollectContext, MesEquipVariableCollectContext mesMouldNoCollectContext) {
List<MesProdMouldRecord> mesProdMouldRecords = new ArrayList<>();
for (MesProduceSn mesProduceSn : mesProduceSns) {
MesScanMonitorContext mesScanMonitorContext = productionProcessContextStepService.doHandleScanMonitorContext(reqBean, true);
Long moduleId = mesScanMonitorContext.getMouldRecordId();
// 获取工位设备信息
MesCellEquipContext mesCellEquipContext = productionProcessContext.getCurCellEquip();
@ -91,26 +93,22 @@ public class MesMouldRecordGenerateStepService extends BaseStepService {
} else if (mesFirstMouldNoCollectContext == null && mesMouldNoCollectContext != null) {
mouldNo = mesMouldNoCollectContext.getEquipVariableValue();
}
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getStringEqualPack(equipmentCode, "equipmentCode", packBean);
DdlPreparedPack.getStringEqualPack(mouldNo, "mouldNo", packBean);
MesMouldMappingCfg mesMouldMappingCfg = mesMouldMappingCfgRepository.getByProperty(packBean);
MesProdMouldRecord mesProductionRecord = getMesProdMouldRecord(mesCellEquipContext, mouldNo, mesMouldMappingCfg);
MesProdMouldRecord mesProductionRecord = getMesProdMouldRecord(mesCellEquipContext, mouldNo, moduleId);
ConvertBean.serviceModelInitialize(mesProductionRecord, reqBean.getUserInfo());
mesProdMouldRecords.add(mesProductionRecord);
}
mesProdMouldRecordRepository.saveAll(mesProdMouldRecords);
}
private MesProdMouldRecord getMesProdMouldRecord(MesCellEquipContext mesCellEquipContext, String mouldNo, MesMouldMappingCfg mesMouldMappingCfg) {
private MesProdMouldRecord getMesProdMouldRecord(MesCellEquipContext mesCellEquipContext, String mouldNo, Long mouldId) {
MesProdMouldRecord mesProdMouldRecord = new MesProdMouldRecord();
mesProdMouldRecord.setEquipId(mesCellEquipContext.getEquipId());
mesProdMouldRecord.setMeterName(mesMouldMappingCfg == null ? null : mesMouldMappingCfg.getMeterName());
mesProdMouldRecord.setAssetNum(mesMouldMappingCfg == null ? null : mesMouldMappingCfg.getAssetNum());
mesProdMouldRecord.setId(mouldId);
/* mesProdMouldRecord.setMeterName(mesMouldMappingCfg == null ? null : mesMouldMappingCfg.getMeterName());
mesProdMouldRecord.setAssetNum(mesMouldMappingCfg == null ? null : mesMouldMappingCfg.getAssetNum());*/
mesProdMouldRecord.setMouldNo(mouldNo);
mesProdMouldRecord.setEquipmentCode(mesCellEquipContext.getEquipmentCode());
return mesProdMouldRecord;

@ -111,11 +111,16 @@ public class MesProductionRecordGenerateStepService extends BaseStepService {
private void saveProductionRecordData(StationRequestBean reqBean, String mouldNo, List<MesProdRuleContext> prodRuleContextList,
MesProductionProcessContext productionProcessContext, MesProductionPsOutContext productionPsOutContext, Map<Integer, MesProdRuleContext> prMap, MesCellEquipContext cellEquipContext) {
MesScanMonitorContext mesScanMonitorContext = productionProcessContextStepService.doHandleScanMonitorContext(reqBean, true);
MesProdRuleContext prodRuleContext = CollectionUtils.isEmpty(prMap) ? null : prMap.get(productionPsOutContext.getForeignKey());
MesProductionRecord productionRecord = new MesProductionRecord();
BeanUtils.copyProperties(productionPsOutContext, productionRecord);
productionRecord.setMouldRecordId(mesScanMonitorContext.getMouldRecordId());
productionRecord.setStartDateTime(mesScanMonitorContext.getStartDateTime());
productionRecord.setMouldNo(mouldNo);
productionRecord.setEquipmentCode(cellEquipContext.getEquipmentCode());
productionRecord.setEquipmentName(cellEquipContext.getEquipmentName());

Loading…
Cancel
Save