跨工厂防错表名修改

tags/yfai-mes-ext-v1.0
jun 12 months ago
parent f3ee1d1ab9
commit 8eb0dd64e5

@ -1,17 +0,0 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesCorssOrganizeErrorProofing;
import io.swagger.annotations.ApiOperation;
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/7/4 16:49
* @Modify:
**/
public interface IMesCorssOrganizeErrorProofingService extends IBaseMesService<MesCorssOrganizeErrorProofing> {
@ApiOperation("跨工厂防错JOB")
void doMesCorssOrganizeErrorProofing(String organizeCode ,Integer pageSize,String userName);
}

@ -0,0 +1,17 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesCrossOrganizeCfg;
import io.swagger.annotations.ApiOperation;
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/7/4 16:49
* @Modify:
**/
public interface IMesCrossOrganizeCfgService extends IBaseMesService<MesCrossOrganizeCfg> {
@ApiOperation("跨工厂防错JOB")
void doMesCrossOrganizeCfg(String organizeCode ,Integer pageSize,String userName);
}

@ -1,7 +1,7 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesCorssOrganizeErrorProofing;
import cn.estsh.i3plus.pojo.mes.bean.MesCrossOrganizeCfg;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -15,6 +15,6 @@ import org.springframework.web.bind.annotation.RestController;
**/
@Api(tags = "跨工厂防错")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesCorssOrganizeErrorProofing")
public class MesCorssOrganizeErrorProofingController extends BaseMesController<MesCorssOrganizeErrorProofing> {
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesCrossOrganizeCfg")
public class MesCrossOrganizeCfgController extends BaseMesController<MesCrossOrganizeCfg> {
}

@ -67,7 +67,7 @@ public class MesWhiteListController extends MesBaseController {
private IMesQmsSuspiciousService qmsSuspiciousService;
@Autowired
private IMesCorssOrganizeErrorProofingService mesCorssOrganizeErrorProofingService;
private IMesCrossOrganizeCfgService mesCrossOrganizeCfgService;
@PostMapping(value = "/meter/main-data")
@ApiOperation(value = "Maximo仪表主数据", notes = "Maximo仪表主数据")
@ -113,12 +113,12 @@ public class MesWhiteListController extends MesBaseController {
return ResultBean.success().setSuccess(true);
}
@GetMapping(value = "/doMesCorssOrganizeErrorProofing")
@GetMapping(value = "/doMesCrossOrganizeCfg")
@ApiOperation(value = "跨工厂防错JOB")
public ResultBean doMesCorssOrganizeErrorProofing(String organizeCode, Integer pageSize) {
public ResultBean doMesCrossOrganizeCfg(String organizeCode, Integer pageSize) {
//统计数据
try {
mesCorssOrganizeErrorProofingService.doMesCorssOrganizeErrorProofing(organizeCode, pageSize, "job");
mesCrossOrganizeCfgService.doMesCrossOrganizeCfg(organizeCode, pageSize, "job");
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {

@ -1,6 +1,6 @@
package cn.estsh.i3plus.ext.mes.apiservice.dao;
import cn.estsh.i3plus.pojo.mes.bean.MesCorssOrganizeErrorProofing;
import cn.estsh.i3plus.pojo.mes.bean.MesCrossOrganizeCfg;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import io.swagger.annotations.ApiOperation;
@ -13,8 +13,8 @@ import java.util.List;
* @CreateDate 2024/7/4 18:03
* @Modify:
**/
public interface IMesCorssOrganizeErrorProofingDao {
public interface IMesCrossOrganizeCfgDao {
@ApiOperation("根据工厂物料,查询产品条码信息")
List<MesProduceSn> findMesProduceSnByOrganizeCodeAndPart(MesCorssOrganizeErrorProofing mesCorssOrganizeErrorProofing, Integer pageSize);
List<MesProduceSn> findMesProduceSnByOrganizeCodeAndPart(MesCrossOrganizeCfg mesCrossOrganizeCfg, Integer pageSize);
}

@ -1,9 +1,9 @@
package cn.estsh.i3plus.ext.mes.apiservice.daoimpl;
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesCorssOrganizeErrorProofingDao;
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesCrossOrganizeCfgDao;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesCorssOrganizeErrorProofing;
import cn.estsh.i3plus.pojo.mes.bean.MesCrossOrganizeCfg;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -22,13 +22,13 @@ import java.util.List;
* @Modify:
**/
@Service
public class MesCorssOrganizeErrorProofingDaoImpl implements IMesCorssOrganizeErrorProofingDao {
public class MesCrossOrganizeCfgDaoImpl implements IMesCrossOrganizeCfgDao {
@Autowired
private EntityManager entityManager;
@Override
public List<MesProduceSn> findMesProduceSnByOrganizeCodeAndPart(MesCorssOrganizeErrorProofing mesCorssOrganizeErrorProofing, Integer pageSize) {
public List<MesProduceSn> findMesProduceSnByOrganizeCodeAndPart(MesCrossOrganizeCfg mesCrossOrganizeCfg, Integer pageSize) {
String sql = "select srcSn from MesProduceSn srcSn left join MesProduceSn destSn on srcSn.serialNumber = destSn.serialNumber " +
" and destSn.organizeCode=:destOrganizeCode and destSn.isDeleted=:isDeleted and destSn.isValid = :isValid " +
" where srcSn.createDatetime >= :createDatetime and srcSn.organizeCode = :srcOrganizeCode " +
@ -36,15 +36,15 @@ public class MesCorssOrganizeErrorProofingDaoImpl implements IMesCorssOrganizeEr
" and srcSn.snStatus in (10,20) and srcSn.qcStatus in (10,15) and destSn.serialNumber is null " +
" order by srcSn.createDatetime asc";
Query query = entityManager.createQuery(sql, MesProduceSn.class);
query.setParameter("srcOrganizeCode", mesCorssOrganizeErrorProofing.getSrcOrganizeCode());
query.setParameter("destOrganizeCode", mesCorssOrganizeErrorProofing.getOrganizeCode());
query.setParameter("srcOrganizeCode", mesCrossOrganizeCfg.getSrcOrganizeCode());
query.setParameter("destOrganizeCode", mesCrossOrganizeCfg.getOrganizeCode());
query.setParameter("isValid", CommonEnumUtil.VALID);
query.setParameter("isDeleted", CommonEnumUtil.FALSE);
query.setParameter("partNo", mesCorssOrganizeErrorProofing.getPartNo());
if (StringUtils.isEmpty(mesCorssOrganizeErrorProofing.getLastCreateDatetime())) {
query.setParameter("partNo", mesCrossOrganizeCfg.getPartNo());
if (StringUtils.isEmpty(mesCrossOrganizeCfg.getLastCreateDatetime())) {
query.setParameter("createDatetime", TimeTool.pareDateToString(new Date(0)));
} else {
query.setParameter("createDatetime", mesCorssOrganizeErrorProofing.getLastCreateDatetime());
query.setParameter("createDatetime", mesCrossOrganizeCfg.getLastCreateDatetime());
}
query.setFirstResult(0).setMaxResults(pageSize);
return query.getResultList();

@ -1,7 +1,7 @@
package cn.estsh.i3plus.ext.mes.apiservice.schedulejob;
import cn.estsh.i3plus.ext.mes.api.base.IMesCorssOrganizeErrorProofingService;
import cn.estsh.i3plus.ext.mes.api.base.IMesCrossOrganizeCfgService;
import cn.estsh.i3plus.mes.apiservice.schedulejob.BaseMesScheduleJob;
import cn.estsh.i3plus.platform.common.tool.JsonUtilTool;
import cn.estsh.i3plus.pojo.model.wms.WmsJobParamModel;
@ -27,13 +27,13 @@ import java.util.List;
@DisallowConcurrentExecution
@Component
@ApiOperation("跨工厂防错JOB")
public class MesCorssOrganizeErrorProofingJob extends BaseMesScheduleJob {
public class MesCrossOrganizeCfgJob extends BaseMesScheduleJob {
@Autowired
private IMesCorssOrganizeErrorProofingService mesCorssOrganizeErrorProofingService;
private IMesCrossOrganizeCfgService mesCrossOrganizeCfgService;
public MesCorssOrganizeErrorProofingJob() {
super(MesCorssOrganizeErrorProofingJob.class, "跨工厂防错JOB");
public MesCrossOrganizeCfgJob() {
super(MesCrossOrganizeCfgJob.class, "跨工厂防错JOB");
}
@Override
@ -41,10 +41,9 @@ public class MesCorssOrganizeErrorProofingJob extends BaseMesScheduleJob {
List<WmsJobParamModel> wmsJobParamModelList = JsonUtilTool.toList(this.getJobParam(), WmsJobParamModel.class);
if (!CollectionUtils.isEmpty(wmsJobParamModelList)) {
for (WmsJobParamModel wmsJobParamModel : wmsJobParamModelList) {
//统计数据
try {
long startTime = System.currentTimeMillis();
mesCorssOrganizeErrorProofingService.doMesCorssOrganizeErrorProofing(wmsJobParamModel.getOrganizeCode(), wmsJobParamModel.getPageSize(), "job");
mesCrossOrganizeCfgService.doMesCrossOrganizeCfg(wmsJobParamModel.getOrganizeCode(), wmsJobParamModel.getPageSize(), "job");
long endTime = System.currentTimeMillis();
log.info("工厂{}跨工厂防错job --- END --- 耗时: {} ms", wmsJobParamModel.getOrganizeCode(), endTime - startTime);
} catch (Exception e) {

@ -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);
Loading…
Cancel
Save