Merge remote-tracking branch 'origin/uat-temp-nht-2502060000-44953' into test

tags/yfai-mes-ext-v3.1 yfai-mes-ext-v3.1
王杰 3 months ago
commit f41716f70a

@ -3,6 +3,10 @@ package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate; import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateFieldInfo;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateFieldValue;
import java.util.List;
/** /**
* @Description : * @Description :
@ -16,4 +20,12 @@ public interface IMesLabelTemplateService extends IBaseMesService<MesLabelTempla
ListPager queryMesLabelTemplateAndParamListByPager(MesLabelTemplate labelTemplate, Pager pager); ListPager queryMesLabelTemplateAndParamListByPager(MesLabelTemplate labelTemplate, Pager pager);
MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode); MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode);
List<MesLabelTemplateFieldInfo> queryMesLabelTemplateParamField(MesLabelTemplateFieldInfo request);
void saveMesLabelTemplateParamField(List<MesLabelTemplateFieldInfo> templateFieldInfos);
List<MesLabelTemplateFieldValue> queryMesLabelTemplateParamPartValue(String partNo, String labelTemplate, String organizeCode);
void saveMesLabelTemplateParamPartValue(List<MesLabelTemplateFieldValue> templateFieldValues);
} }

@ -7,6 +7,8 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate; import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateFieldInfo;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateFieldValue;
import cn.estsh.i3plus.pojo.mes.bean.MesSpotCheckOrder; import cn.estsh.i3plus.pojo.mes.bean.MesSpotCheckOrder;
import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppBusiException;
@ -18,9 +20,9 @@ import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.formula.functions.T; import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import java.util.List;
/** /**
* @Description : * @Description :
@ -50,4 +52,53 @@ public class MesLabelTemplateController extends BaseMesController<MesLabelTempla
} }
} }
@GetMapping("/query-param-field")
@ApiOperation(value = "查询模板明细字段信息")
public ResultBean queryMesLabelTemplateParamField(MesLabelTemplateFieldInfo request) {
try {
return ResultBean.success("查询成功").setResultList(mesLabelTemplateService.queryMesLabelTemplateParamField(request));
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping("/save-param-field")
@ApiOperation(value = "保存模板明细字段信息")
public ResultBean saveMesLabelTemplateParamField(@RequestBody List<MesLabelTemplateFieldInfo> templateFieldInfos) {
try {
mesLabelTemplateService.saveMesLabelTemplateParamField(templateFieldInfos);
return ResultBean.success("保存成功");
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/query-param-part-value")
@ApiOperation(value = "查询模板明细字段零件内容")
public ResultBean queryMesLabelTemplateParamPartValue(String partNo, String labelTemplate, String organizeCode) {
try {
return ResultBean.success("查询成功").setResultList(mesLabelTemplateService.queryMesLabelTemplateParamPartValue(partNo, labelTemplate, organizeCode));
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping("/save-param-field-value")
@ApiOperation(value = "保存模板明细字段零件内容")
public ResultBean saveMesLabelTemplateParamPartValue(@RequestBody List<MesLabelTemplateFieldValue> templateFieldValues) {
try {
mesLabelTemplateService.saveMesLabelTemplateParamPartValue(templateFieldValues);
return ResultBean.success("保存成功");
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
} }

@ -1,7 +1,9 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesLabelTemplateService; import cn.estsh.i3plus.ext.mes.api.base.IMesLabelTemplateService;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords; import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.util.MesPcnConstWords; import cn.estsh.i3plus.platform.common.util.MesPcnConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.bean.ListPager;
@ -11,14 +13,23 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate; import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateFieldInfo;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateFieldValue;
import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateParam; import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplateParam;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateFieldInfoRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateFieldValueRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateParamRepository; import cn.estsh.i3plus.pojo.mes.repository.MesLabelTemplateParamRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesPartRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.util.CollectionUtils; import org.apache.shiro.util.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.TreeMap;
/** /**
* @Description : * @Description :
@ -33,6 +44,13 @@ public class MesLabelTemplateServiceImpl extends BaseMesService<MesLabelTemplate
@Autowired @Autowired
private MesLabelTemplateParamRepository mesLabelTemplateParamRDao; private MesLabelTemplateParamRepository mesLabelTemplateParamRDao;
@Autowired
private MesLabelTemplateFieldInfoRepository labelTemplateFieldInfoRDao;
@Autowired
private MesPartRepository mesPartRepository;
@Autowired
private MesLabelTemplateFieldValueRepository labelTemplateFieldValueRDao;
@Override @Override
protected void setPackQueryBean(MesLabelTemplate bean, DdlPackBean packBean) { protected void setPackQueryBean(MesLabelTemplate bean, DdlPackBean packBean) {
@ -79,4 +97,205 @@ public class MesLabelTemplateServiceImpl extends BaseMesService<MesLabelTemplate
} }
return mesLabelTemplate; return mesLabelTemplate;
} }
@Override
public List<MesLabelTemplateFieldInfo> queryMesLabelTemplateParamField(MesLabelTemplateFieldInfo request) {
List<MesLabelTemplateFieldInfo> result = new ArrayList<>();
// 根据模板代码查询模板参数信息
List<MesLabelTemplateParam> templateParamList = mesLabelTemplateParamRDao.findByProperty(
new String[]{"templateCode", MesPcnConstWords.IS_VALID, MesPcnConstWords.IS_DELETED, MesExtConstWords.ORGANIZE_CODE},
new Object[]{request.getTemplateCode(), CommonEnumUtil.IS_VAILD.VAILD.getValue(),
CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),request.getOrganizeCode()});
if (CollectionUtils.isEmpty(templateParamList)) {
return result;
}
Map<String, MesLabelTemplateParam> templateParamMap = new TreeMap<>();
for (MesLabelTemplateParam param : templateParamList) {
templateParamMap.putIfAbsent(param.getTemplateParam(), param);
}
List<MesLabelTemplateFieldInfo> templateFieldInfos = labelTemplateFieldInfoRDao.findByProperty(
new String[]{"templateCode", MesPcnConstWords.IS_VALID, MesPcnConstWords.IS_DELETED, MesExtConstWords.ORGANIZE_CODE},
new Object[]{request.getTemplateCode(), CommonEnumUtil.IS_VAILD.VAILD.getValue(),
CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),request.getOrganizeCode()});
if (!CollectionUtils.isEmpty(templateFieldInfos)) {
for (MesLabelTemplateFieldInfo templateFieldInfo : templateFieldInfos) {
if (StringUtil.isEmpty(templateFieldInfo.getTemplateParam())) {
continue;
}
if (templateParamMap.remove(templateFieldInfo.getTemplateParam()) != null) {
result.add(templateFieldInfo);
}
}
}
for (Map.Entry<String, MesLabelTemplateParam> entry : templateParamMap.entrySet()) {
MesLabelTemplateParam param = entry.getValue();
MesLabelTemplateFieldInfo fieldInfo = new MesLabelTemplateFieldInfo();
fieldInfo.setTemplateId(param.getTemplateId());
fieldInfo.setTemplateParam(param.getTemplateParam());
fieldInfo.setTemplateCode(param.getTemplateCode());
fieldInfo.setOrganizeCode(param.getOrganizeCode());
result.add(fieldInfo);
}
return result;
}
@Override
public void saveMesLabelTemplateParamField(List<MesLabelTemplateFieldInfo> templateFieldInfos) {
if (CollectionUtils.isEmpty(templateFieldInfos)) {
return;
}
MesLabelTemplateFieldInfo request = templateFieldInfos.get(0);
final String username = request.getCreateUser();
if (StringUtil.isEmpty(username)) {
MesException.throwMesBusiException("用户名不能为空");
}
Map<String, MesLabelTemplateFieldInfo> templateFieldInfoMap = new TreeMap<>();
for (MesLabelTemplateFieldInfo info : templateFieldInfos) {
templateFieldInfoMap.putIfAbsent(info.getTemplateParam(), info);
}
List<MesLabelTemplateFieldInfo> saveFieldInfos = new ArrayList<>();
List<MesLabelTemplateFieldInfo> oldFieldInfos = labelTemplateFieldInfoRDao.findByProperty(
new String[]{"templateCode", MesExtConstWords.ORGANIZE_CODE},
new Object[]{request.getTemplateCode(), request.getOrganizeCode()});
if (!CollectionUtils.isEmpty(oldFieldInfos)) {
for (MesLabelTemplateFieldInfo oldFieldInfo : oldFieldInfos) {
if (StringUtil.isEmpty(oldFieldInfo.getTemplateParam())) {
oldFieldInfo.setIsValid(CommonEnumUtil.IS_VAILD.INVAILD.getValue());
oldFieldInfo.setRemark("模板参数字段名为空");
saveFieldInfos.add(oldFieldInfo);
continue;
}
MesLabelTemplateFieldInfo templateFieldInfo = templateFieldInfoMap.remove(oldFieldInfo.getTemplateParam());
if (templateFieldInfo != null) {
oldFieldInfo.setTemplateId(templateFieldInfo.getTemplateId());
oldFieldInfo.setTemplateFieldType(templateFieldInfo.getTemplateFieldType());
oldFieldInfo.setTemplateFieldText(templateFieldInfo.getTemplateFieldText());
oldFieldInfo.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
oldFieldInfo.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
} else {
oldFieldInfo.setIsValid(CommonEnumUtil.IS_VAILD.INVAILD.getValue());
oldFieldInfo.setRemark("模板参数字段被移除");
}
ConvertBean.serviceModelUpdate(oldFieldInfo, username);
saveFieldInfos.add(oldFieldInfo);
}
}
for (Map.Entry<String, MesLabelTemplateFieldInfo> entry : templateFieldInfoMap.entrySet()) {
MesLabelTemplateFieldInfo fieldInfo = entry.getValue();
ConvertBean.serviceModelInitialize(fieldInfo, username);
saveFieldInfos.add(fieldInfo);
}
labelTemplateFieldInfoRDao.saveAll(saveFieldInfos);
}
@Override
public List<MesLabelTemplateFieldValue> queryMesLabelTemplateParamPartValue(String partNo, String labelTemplate, String organizeCode) {
if (StringUtil.isEmpty(labelTemplate)) {
MesException.throwMesBusiException("零件号【%s】未维护\"零件条码匹配模板\"字段值", partNo);
}
List<MesLabelTemplateFieldValue> result = new ArrayList<>();
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean);
List<MesLabelTemplateFieldInfo> templateFieldInfos = labelTemplateFieldInfoRDao.findByProperty(
new String[]{"templateCode", "templateFieldType", MesPcnConstWords.IS_VALID, MesPcnConstWords.IS_DELETED, MesExtConstWords.ORGANIZE_CODE},
new Object[]{labelTemplate, MesExtEnumUtil.LABEL_TEMPLATE_FIELD_TYPE.CUSTOM.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(),
CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), organizeCode});
Map<String, MesLabelTemplateFieldInfo> templateFieldInfoMap = new TreeMap<>();
for (MesLabelTemplateFieldInfo info : templateFieldInfos) {
templateFieldInfoMap.putIfAbsent(info.getTemplateParam(), info);
}
List<MesLabelTemplateFieldValue> fieldValueList = labelTemplateFieldValueRDao.findByProperty(
new String[]{"partNo", "templateCode", MesPcnConstWords.IS_VALID, MesPcnConstWords.IS_DELETED, MesExtConstWords.ORGANIZE_CODE},
new Object[]{partNo, labelTemplate, CommonEnumUtil.IS_VAILD.VAILD.getValue(),
CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), organizeCode});
if (!CollectionUtils.isEmpty(fieldValueList)) {
for (MesLabelTemplateFieldValue fieldValue : fieldValueList) {
if (StringUtil.isEmpty(fieldValue.getTemplateParam())) {
continue;
}
MesLabelTemplateFieldInfo templateFieldInfo = templateFieldInfoMap.remove(fieldValue.getTemplateParam());
if (templateFieldInfo != null) {
MesLabelTemplateFieldValue field = new MesLabelTemplateFieldValue();
field.setPartNo(partNo);
field.setTemplateCode(templateFieldInfo.getTemplateCode());
field.setTemplateParam(templateFieldInfo.getTemplateParam());
field.setTemplateFieldText(templateFieldInfo.getTemplateFieldText());
field.setFieldValue(fieldValue.getFieldValue());
field.setOrganizeCode(organizeCode);
result.add(field);
}
}
}
for (Map.Entry<String, MesLabelTemplateFieldInfo> entry : templateFieldInfoMap.entrySet()) {
MesLabelTemplateFieldInfo fieldInfo = entry.getValue();
MesLabelTemplateFieldValue fieldValue = new MesLabelTemplateFieldValue();
fieldValue.setPartNo(partNo);
fieldValue.setTemplateCode(fieldInfo.getTemplateCode());
fieldValue.setTemplateParam(fieldInfo.getTemplateParam());
fieldValue.setTemplateFieldText(fieldInfo.getTemplateFieldText());
fieldValue.setOrganizeCode(organizeCode);
result.add(fieldValue);
}
return result;
}
@Override
public void saveMesLabelTemplateParamPartValue(List<MesLabelTemplateFieldValue> templateFieldValues) {
if (CollectionUtils.isEmpty(templateFieldValues)) {
return;
}
MesLabelTemplateFieldValue request = templateFieldValues.get(0);
final String username = request.getCreateUser();
if (StringUtil.isEmpty(username)) {
MesException.throwMesBusiException("用户名不能为空");
}
Map<String, MesLabelTemplateFieldValue> templateFieldInfoMap = new TreeMap<>();
for (MesLabelTemplateFieldValue value : templateFieldValues) {
templateFieldInfoMap.putIfAbsent(value.getTemplateParam(), value);
}
List<MesLabelTemplateFieldValue> saveFieldValues = new ArrayList<>();
List<MesLabelTemplateFieldValue> oldFieldValues = labelTemplateFieldValueRDao.findByProperty(
new String[]{"partNo", "templateCode", MesExtConstWords.ORGANIZE_CODE},
new Object[]{request.getPartNo(), request.getTemplateCode(), request.getOrganizeCode()});
if (!CollectionUtils.isEmpty(oldFieldValues)) {
for (MesLabelTemplateFieldValue oldFieldValue : oldFieldValues) {
if (StringUtil.isEmpty(oldFieldValue.getTemplateParam())) {
oldFieldValue.setIsValid(CommonEnumUtil.IS_VAILD.INVAILD.getValue());
oldFieldValue.setRemark("模板参数字段名为空");
saveFieldValues.add(oldFieldValue);
continue;
}
MesLabelTemplateFieldValue templateFieldInfo = templateFieldInfoMap.remove(oldFieldValue.getTemplateParam());
if (templateFieldInfo != null) {
oldFieldValue.setFieldValue(templateFieldInfo.getFieldValue());
oldFieldValue.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
oldFieldValue.setIsDeleted(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
} else {
oldFieldValue.setIsValid(CommonEnumUtil.IS_VAILD.INVAILD.getValue());
oldFieldValue.setRemark("模板参数字段被移除");
}
ConvertBean.serviceModelUpdate(oldFieldValue, username);
saveFieldValues.add(oldFieldValue);
}
}
for (Map.Entry<String, MesLabelTemplateFieldValue> entry : templateFieldInfoMap.entrySet()) {
MesLabelTemplateFieldValue fieldInfo = entry.getValue();
ConvertBean.serviceModelInitialize(fieldInfo, username);
saveFieldValues.add(fieldInfo);
}
labelTemplateFieldValueRDao.saveAll(saveFieldValues);
}
} }

Loading…
Cancel
Save