|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesCorssOrganizeErrorProofingService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesCorssOrganizeErrorProofingDao;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesCrossOrganizeCfgService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesCrossOrganizeCfgDao;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException;
|
|
|
|
|
import cn.estsh.i3plus.mes.apiservice.util.DateUtil;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
@ -9,10 +9,10 @@ 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;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesCorssOrganizeErrorProofing;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesCorssOrganizeErrorProofingLog;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesCrossOrganizeCfg;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesCrossOrganizeCfgLog;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.IMesCorssOrganizeErrorProofingLogRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.IMesCrossOrganizeCfgLogRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
|
|
|
|
|
import cn.estsh.impp.framework.boot.util.ValidatorBean;
|
|
|
|
@ -22,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -34,26 +33,26 @@ import java.util.List;
|
|
|
|
|
**/
|
|
|
|
|
@Service
|
|
|
|
|
@Slf4j
|
|
|
|
|
public class MesCorssOrganizeErrorProofingServiceImpl extends BaseMesService<MesCorssOrganizeErrorProofing> implements IMesCorssOrganizeErrorProofingService {
|
|
|
|
|
public class MesCrossOrganizeCfgServiceImpl extends BaseMesService<MesCrossOrganizeCfg> implements IMesCrossOrganizeCfgService {
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesCorssOrganizeErrorProofingDao mesCorssOrganizeErrorProofingDao;
|
|
|
|
|
private IMesCrossOrganizeCfgDao mesCrossOrganizeCfgDao;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesProduceSnRepository mesProduceSnRepository;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesCorssOrganizeErrorProofingLogRepository mesCorssOrganizeErrorProofingLogRepository;
|
|
|
|
|
private IMesCrossOrganizeCfgLogRepository mesCrossOrganizeCfgLogRepository;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected void setPackQueryBean(MesCorssOrganizeErrorProofing bean, DdlPackBean packBean) {
|
|
|
|
|
protected void setPackQueryBean(MesCrossOrganizeCfg bean, DdlPackBean packBean) {
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(bean.getSrcOrganizeCode(), "srcOrganizeCode", packBean);
|
|
|
|
|
DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean);
|
|
|
|
|
DdlPreparedPack.getStringLikerPack(bean.getPartName(), "partName", packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected void onInsertBean(MesCorssOrganizeErrorProofing item) {
|
|
|
|
|
protected void onInsertBean(MesCrossOrganizeCfg item) {
|
|
|
|
|
// 数据校验
|
|
|
|
|
checkData(item);
|
|
|
|
|
|
|
|
|
@ -66,7 +65,7 @@ public class MesCorssOrganizeErrorProofingServiceImpl extends BaseMesService<Mes
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected void onUpdateBean(MesCorssOrganizeErrorProofing item) {
|
|
|
|
|
protected void onUpdateBean(MesCrossOrganizeCfg item) {
|
|
|
|
|
// 数据校验
|
|
|
|
|
checkData(item);
|
|
|
|
|
|
|
|
|
@ -80,33 +79,33 @@ public class MesCorssOrganizeErrorProofingServiceImpl extends BaseMesService<Mes
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void doMesCorssOrganizeErrorProofing(String organizeCode, Integer pageSize, String userName) {
|
|
|
|
|
List<MesCorssOrganizeErrorProofing> corssOrganizeErrorProofingList = baseRDao.findByHqlWhere(DdlPackBean.getDdlPackBean(organizeCode));
|
|
|
|
|
if (CollectionUtils.isEmpty(corssOrganizeErrorProofingList)) {
|
|
|
|
|
public void doMesCrossOrganizeCfg(String organizeCode, Integer pageSize, String userName) {
|
|
|
|
|
List<MesCrossOrganizeCfg> crossOrganizeCfgList = baseRDao.findByHqlWhere(DdlPackBean.getDdlPackBean(organizeCode));
|
|
|
|
|
if (CollectionUtils.isEmpty(crossOrganizeCfgList)) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
//循环处理数据
|
|
|
|
|
for (MesCorssOrganizeErrorProofing organizeErrorProofing : corssOrganizeErrorProofingList) {
|
|
|
|
|
for (MesCrossOrganizeCfg crossOrganizeCfg : crossOrganizeCfgList) {
|
|
|
|
|
//查询待同步的数据
|
|
|
|
|
List<MesProduceSn> produceSnList = mesCorssOrganizeErrorProofingDao.findMesProduceSnByOrganizeCodeAndPart(organizeErrorProofing, pageSize);
|
|
|
|
|
List<MesProduceSn> produceSnList = mesCrossOrganizeCfgDao.findMesProduceSnByOrganizeCodeAndPart(crossOrganizeCfg, pageSize);
|
|
|
|
|
int transSize = 0;
|
|
|
|
|
if (!CollectionUtils.isEmpty(produceSnList)) {
|
|
|
|
|
//插入条码
|
|
|
|
|
insertMesProduceSn(organizeErrorProofing, produceSnList);
|
|
|
|
|
insertMesProduceSn(crossOrganizeCfg, produceSnList);
|
|
|
|
|
//最后同步条码创建时间
|
|
|
|
|
String createDatetime = produceSnList.get(produceSnList.size() - 1).getCreateDatetime();
|
|
|
|
|
organizeErrorProofing.setLastCreateDatetime(TimeTool.pareDateToString(DateUtil.addMinutes(TimeTool.parseDate(createDatetime), -10)));
|
|
|
|
|
crossOrganizeCfg.setLastCreateDatetime(TimeTool.pareDateToString(DateUtil.addMinutes(TimeTool.parseDate(createDatetime), -10)));
|
|
|
|
|
transSize = produceSnList.size();
|
|
|
|
|
}
|
|
|
|
|
organizeErrorProofing.setLastExeTime(TimeTool.getNowTime(true));
|
|
|
|
|
crossOrganizeCfg.setLastExeTime(TimeTool.getNowTime(true));
|
|
|
|
|
//更新数据
|
|
|
|
|
baseRDao.update(organizeErrorProofing);
|
|
|
|
|
baseRDao.update(crossOrganizeCfg);
|
|
|
|
|
//保存记录
|
|
|
|
|
saveLog(userName, organizeErrorProofing, transSize);
|
|
|
|
|
saveLog(userName, crossOrganizeCfg, transSize);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void checkData(MesCorssOrganizeErrorProofing item) {
|
|
|
|
|
private void checkData(MesCrossOrganizeCfg item) {
|
|
|
|
|
ValidatorBean.checkNotNull(item.getSrcOrganizeCode(), "源工厂代码不能为空");
|
|
|
|
|
ValidatorBean.checkNotNull(item.getPartNo(), "零件号不能为空");
|
|
|
|
|
if (item.getSrcOrganizeCode().equalsIgnoreCase(item.getOrganizeCode())) {
|
|
|
|
@ -114,20 +113,20 @@ public class MesCorssOrganizeErrorProofingServiceImpl extends BaseMesService<Mes
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void saveLog(String userName, MesCorssOrganizeErrorProofing organizeErrorProofing, int transSize) {
|
|
|
|
|
MesCorssOrganizeErrorProofingLog mesCorssOrganizeErrorProofingLog = new MesCorssOrganizeErrorProofingLog();
|
|
|
|
|
BeanUtils.copyProperties(organizeErrorProofing, mesCorssOrganizeErrorProofingLog, "id");
|
|
|
|
|
mesCorssOrganizeErrorProofingLog.setTransSize(transSize);
|
|
|
|
|
ConvertBean.serviceModelInitialize(mesCorssOrganizeErrorProofingLog, userName);
|
|
|
|
|
mesCorssOrganizeErrorProofingLogRepository.insert(mesCorssOrganizeErrorProofingLog);
|
|
|
|
|
private void saveLog(String userName, MesCrossOrganizeCfg crossOrganizeCfg, int transSize) {
|
|
|
|
|
MesCrossOrganizeCfgLog mesCrossOrganizeCfgLog = new MesCrossOrganizeCfgLog();
|
|
|
|
|
BeanUtils.copyProperties(crossOrganizeCfg, mesCrossOrganizeCfgLog, "id");
|
|
|
|
|
mesCrossOrganizeCfgLog.setTransSize(transSize);
|
|
|
|
|
ConvertBean.serviceModelInitialize(mesCrossOrganizeCfgLog, userName);
|
|
|
|
|
mesCrossOrganizeCfgLogRepository.insert(mesCrossOrganizeCfgLog);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void insertMesProduceSn(MesCorssOrganizeErrorProofing organizeErrorProofing, List<MesProduceSn> produceSnList) {
|
|
|
|
|
private void insertMesProduceSn(MesCrossOrganizeCfg crossOrganizeCfg, List<MesProduceSn> produceSnList) {
|
|
|
|
|
//数据持久化
|
|
|
|
|
for (MesProduceSn produceSn : produceSnList) {
|
|
|
|
|
MesProduceSn saveDbProduceSn = new MesProduceSn();
|
|
|
|
|
BeanUtils.copyProperties(produceSn, saveDbProduceSn, "id");
|
|
|
|
|
saveDbProduceSn.setOrganizeCode(organizeErrorProofing.getOrganizeCode());
|
|
|
|
|
saveDbProduceSn.setOrganizeCode(crossOrganizeCfg.getOrganizeCode());
|
|
|
|
|
saveDbProduceSn.setSnType(MesExtEnumUtil.PRODUCE_SN_TYPE.CORSS_ORGANIZE.getValue());
|
|
|
|
|
saveDbProduceSn.setDescription(produceSn.getOrganizeCode());
|
|
|
|
|
saveDbProduceSn.setSystemSyncStatus(CommonEnumUtil.FALSE);
|