mesmove 增加 erp生产线值

tags/yfai-mes-ext-v1.0
王杰 10 months ago
parent f3c87a4e87
commit 15debc5dfb

@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
import io.swagger.annotations.ApiOperation;
/**
* @Description:
@ -10,5 +11,10 @@ import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
*/
public interface IMesWorkCenterService extends IBaseMesService<MesWorkCenter> {
@ApiOperation(value = "根据生产线代码查询生产线信息")
MesWorkCenter getWorkCenterDb(String organizeCode, String workCenterCode);
@ApiOperation(value = "根据生产线代码查询生产线信息的ERP生产线代码")
String getErpWorkCenterCode(String organizeCode, String workCenterCode);
}

@ -1,16 +1,24 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkCenterService;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
import cn.estsh.i3plus.pojo.mes.repository.MesWorkCenterRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@Service
@Slf4j
public class MesWorkCenterService extends BaseMesService<MesWorkCenter> implements IMesWorkCenterService {
@Autowired
private MesWorkCenterRepository workCenterRepository;
@Override
protected void setPackQueryBean(MesWorkCenter bean, DdlPackBean packBean) {
DdlPreparedPack.getStringLikerPack(bean.getErpWorkCenter(), "erpWorkCenter", packBean);
@ -19,4 +27,18 @@ public class MesWorkCenterService extends BaseMesService<MesWorkCenter> implemen
DdlPreparedPack.getNumEqualPack(bean.getCenterType(), "centerType", packBean);
}
@Override
public MesWorkCenter getWorkCenterDb(String organizeCode, String workCenterCode) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workCenterCode)) return null;
return workCenterRepository.getByProperty(
new String[]{MesExtConstWords.ORGANIZE_CODE, MesExtConstWords.IS_DELETED, MesExtConstWords.IS_VALID, MesExtConstWords.WORK_CENTER_CODE},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workCenterCode});
}
@Override
public String getErpWorkCenterCode(String organizeCode, String workCenterCode) {
MesWorkCenter workCenterDb = getWorkCenterDb(organizeCode, workCenterCode);
return null != workCenterDb ? workCenterDb.getErpWorkCenter() : null;
}
}

@ -2,8 +2,8 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.*;
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesWorkOrderDao;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
import cn.estsh.i3plus.ext.mes.apiservice.utils.BeanMapUtilsExt;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.mes.apiservice.util.DateUtil;
@ -108,6 +108,9 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
private MesPartRepository mesPartRDao;
@Autowired
private IMesWorkCenterService workCenterService;
@Autowired
private MesWorkCenterPartRelationRepository partRelationRao;
@Override
public MesWorkOrder insert(MesWorkOrder bean) {
@ -990,7 +993,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
}
//成品移库
if (isMove) {
MesMove move = createMove(mesPartSap, mesProdRuleSortCfg.getSrcErpLocation(), mesProdRuleSortCfg.getDestErpLocation(), mesWorkOrder.getOrganizeCode(), mesWorkOrderNew.getNum(), sn, MesExtEnumUtil.MOVE_TYPE.FINISH_PRODUCTS_MOVE.getValue());
MesMove move = createMove(mesPartSap, mesProdRuleSortCfg.getSrcErpLocation(), mesProdRuleSortCfg.getDestErpLocation(), mesWorkOrder.getOrganizeCode(), mesWorkOrder.getWorkCenterCode(), mesWorkOrderNew.getNum(), sn, MesExtEnumUtil.MOVE_TYPE.FINISH_PRODUCTS_MOVE.getValue());
move.setMatnr(mesWorkOrder.getPartNo());
mesMoveList.add(move);
}
@ -1136,7 +1139,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
if (mesPartSapMap.containsKey(mesBom.getItemPartNo())) {
mesPartSap = mesPartSapMap.get(mesBom.getItemPartNo()).iterator().next();
}
MesMove move = createMove(mesPartSap, moveRule.getErpSrcLocateNo(), moveRule.getErpDestLocateNo(), mesBom.getOrganizeCode(), mesBom.getItemQty(), "", MesExtEnumUtil.MOVE_TYPE.RAW_MATERIAL_MOVE.getValue());
MesMove move = createMove(mesPartSap, moveRule.getErpSrcLocateNo(), moveRule.getErpDestLocateNo(), mesBom.getOrganizeCode(), mesWorkOrder.getWorkCenterCode(), mesBom.getItemQty(), "", MesExtEnumUtil.MOVE_TYPE.RAW_MATERIAL_MOVE.getValue());
move.setMatnr(mesBom.getItemPartNo());
mesMoveList.add(move);
}
@ -1237,7 +1240,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
return mesWorkOrderRDao.findByHqlWhere(packBean);
}
private MesMove createMove(MesPartSap mesPart, String source, String target, String org, double qty, String sn, Integer moveType) {
private MesMove createMove(MesPartSap mesPart, String source, String target, String org, String workCenterCode, double qty, String sn, Integer moveType) {
MesMove move = new MesMove();
if (!Objects.isNull(mesPart)) {
move.setMeins(mesPart.getUnit());
@ -1251,6 +1254,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
move.setProductSn(sn);
move.setMoveType(moveType);
move.setPostTime(TimeTool.getTimeShortWithColon());
move.setWorkCenter(workCenterService.getErpWorkCenterCode(org, workCenterCode));
ConvertBean.serviceModelInitialize(move, AuthUtil.getSessionUser().getUserName());
return move;
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.ext.mes.api.base.IMesConfigService;
import cn.estsh.i3plus.ext.mes.api.base.IMesPartSapService;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkCenterService;
import cn.estsh.i3plus.ext.mes.api.busi.IMesInputDefectRecordService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService;
@ -61,6 +62,9 @@ public class MesInputDefectRecordServiceImpl implements IMesInputDefectRecordSer
@Autowired
private IMesPartSapService mesPartSapService;
@Autowired
private IMesWorkCenterService workCenterService;
@Override
public void savePartInspection(MesProduceSn mesProduceSn, String userName, MesDefectType mesDefect,String defectLocation) {
MesPartSap mesPartSap = mesPartSapService.getMesPartSapByPartNo(mesProduceSn.getPartNo(), mesProduceSn.getOrganizeCode());
@ -134,6 +138,7 @@ public class MesInputDefectRecordServiceImpl implements IMesInputDefectRecordSer
move.setPartInspectionId(partInspectionId);
move.setMoveType(MesExtEnumUtil.MOVE_TYPE.SUSPICIOUS_MOVE.getValue());
move.setProductSn(mesProduceSn.getProductSn());
move.setWorkCenter(workCenterService.getErpWorkCenterCode(mesProduceSn.getOrganizeCode(), mesProduceSn.getWorkCenterCode()));
ConvertBean.serviceModelInitialize(move, AuthUtil.getSessionUser().getUserName());
moveRepository.insert(move);
}

Loading…
Cancel
Save