fix(检验计划同步接口):同一个检验计划升级版本

This commit is contained in:
liaohechuan 2024-12-04 14:31:48 +08:00
parent 036bf44265
commit a897720d63

View File

@ -3,8 +3,10 @@ package com.foreverwin.iep.qms.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.iep.common.base.FrontPage;
@ -402,7 +404,6 @@ public class QmsQcPlanServiceImpl extends ServiceImpl<QmsQcPlanMapper, QmsQcPlan
@Override
@Transactional(rollbackFor = Exception.class)
public String saveOrUpdateSapExaminePlan(ZQmsQcPlanItf zQmsQcPlanItf) {
LocalDateTime nowLocalDateTime = LocalDateTime.now();
String responseStatus = "S";
String responseDescription = "成功";
// 初始化
@ -472,6 +473,23 @@ public class QmsQcPlanServiceImpl extends ServiceImpl<QmsQcPlanMapper, QmsQcPlan
responseDescription = "抛送至SPC[TO_SPC]传参错误,应为0:不抛送,1:要抛送!";
return responseDescription;
}
// 升级版本
// 获取当前检验计划的所有版本并根据版本降序
List<QmsQcPlan> qmsQcPlanList = baseMapper.selectList(new QueryWrapper<QmsQcPlan>()
.eq("SITE", zQmsQcPlanItf.getSite())
.eq("QC_PLAN", zQmsQcPlanItf.getQcPlan())
.orderByDesc("CAST(REVISION AS UNSIGNED)")
);
if (CollectionUtils.isNotEmpty(qmsQcPlanList)) {
// 当前版本全都设置为N
for (QmsQcPlan qmsQcPlan : qmsQcPlanList) {
qmsQcPlan.setCurrentRevision("N");
qmsQcPlan.setUpdater(zQmsQcPlanItf.getCreator());
qmsQcPlan.setDateUpdate(zQmsQcPlanItf.getDateCreate());
}
// 设置最大版本
zQmsQcPlanItf.setRevision(String.valueOf(Integer.parseInt(qmsQcPlanList.get(0).getRevision()) + 1));
}
// 检验计划
QmsQcPlan qmsQcPlan = new QmsQcPlan();
// 属性copy
@ -481,16 +499,7 @@ public class QmsQcPlanServiceImpl extends ServiceImpl<QmsQcPlanMapper, QmsQcPlan
qmsQcPlan.setInspecFreqBo(QmsInspecFreq.genHandle(zQmsQcPlanItf.getSite(), zQmsQcPlanItf.getInspecFreqId()));
}
qmsQcPlan.setSamplePlan(zQmsQcPlanItf.getSamplePlanId());
QmsQcPlan qmsQcPlanSelect = super.getById(qmsQcPlan.getHandle());
if (qmsQcPlanSelect == null) {
qmsQcPlan.setCreator("SAP");
qmsQcPlan.setDateCreate(nowLocalDateTime);
} else {
qmsQcPlan.setCreator(qmsQcPlanSelect.getCreator());
qmsQcPlan.setDateCreate(qmsQcPlanSelect.getDateCreate());
}
qmsQcPlan.setUpdater("SAP");
qmsQcPlan.setDateUpdate(nowLocalDateTime);
qmsQcPlanList.add(qmsQcPlan);
// 明细
List<QmsQcPlanDetail> qmsQcPlanDetailList = new ArrayList<>();
List<ZQmsQcPlanDetailItf> zQmsQcPlanDetailItfList = zQmsQcPlanItf.getZQmsQcPlanDetailItfList();
@ -601,17 +610,17 @@ public class QmsQcPlanServiceImpl extends ServiceImpl<QmsQcPlanMapper, QmsQcPlan
qmsQcPlanTarget.setHandle(QmsQcPlanTarget.genHandle(zQmsQcPlanItf.getSite(), zQmsQcPlanItf.getQcPlan(), qmsQcPlanTarget.getTargetBo(), "0"));
QmsQcPlanTarget qmsQcPlanTargetSelect = qmsQcPlanTargetService.getById(qmsQcPlanTarget.getHandle());
if (qmsQcPlanTargetSelect == null) {
qmsQcPlanTarget.setCreator("SAP");
qmsQcPlanTarget.setDateCreate(nowLocalDateTime);
qmsQcPlanTarget.setCreator(zQmsQcPlanItf.getCreator());
qmsQcPlanTarget.setDateCreate(zQmsQcPlanItf.getDateCreate());
} else {
qmsQcPlanTarget.setCreator(qmsQcPlanTargetSelect.getCreator());
qmsQcPlanTarget.setDateCreate(qmsQcPlanTargetSelect.getDateCreate());
}
qmsQcPlanTarget.setUpdater("SAP");
qmsQcPlanTarget.setDateUpdate(nowLocalDateTime);
qmsQcPlanTarget.setUpdater(zQmsQcPlanItf.getCreator());
qmsQcPlanTarget.setDateUpdate(zQmsQcPlanItf.getDateCreate());
super.saveOrUpdate(qmsQcPlan);
qmsQcPlanDetailService.saveOrUpdateBatch(qmsQcPlanDetailList);
super.saveOrUpdateBatch(qmsQcPlanList);
qmsQcPlanDetailService.saveBatch(qmsQcPlanDetailList);
qmsQcPlanTargetService.saveOrUpdate(qmsQcPlanTarget);
} catch (Exception e) {
e.printStackTrace();