合并 test-temp-castle-2412271558-44316 44316 排序工单BOM拆分逻辑更新 --- 解决冲突

dev-temp-xw-202501031219-44700
王杰 4 months ago
commit 3db69d968e

@ -69,7 +69,7 @@ public interface IMesBomService extends IBaseMesService<MesBom> {
* @param partNo * @param partNo
* @return * @return
*/ */
MesBom findBom(String organizeCode,String partNo); MesBom findBom(String organizeCode, String partNo);
@ApiOperation(value = "bom反向查询") @ApiOperation(value = "bom反向查询")
List<MesBom> queryMesBomReverse(MesBom mesBom); List<MesBom> queryMesBomReverse(MesBom mesBom);

@ -41,8 +41,8 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
private IMesConfigService mesConfigService; private IMesConfigService mesConfigService;
protected void setPackQueryBean(MesBom bean, DdlPackBean packBean) { protected void setPackQueryBean(MesBom bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getBomVersion(), "bomVersion", packBean); DdlPreparedPack.getStringEqualPack(bean.getBomVersion(), MesExtConstWords.BOM_VERSION, packBean);
DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringLikerPack(bean.getPartNo(), MesExtConstWords.PART_NO, packBean);
} }
@Override @Override
@ -66,7 +66,7 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
organize.setName("LML"); organize.setName("LML");
// organize.setName(AuthUtil.getOrganize().getName()); // organize.setName(AuthUtil.getOrganize().getName());
List<MesBom> bomList = baseRDao.findByProperty(new String[]{MesConstWords.IS_VALID, MesConstWords.IS_DELETED, MesConstWords.ORGANIZE_CODE, "partNo"}, List<MesBom> bomList = baseRDao.findByProperty(new String[]{MesConstWords.IS_VALID, MesConstWords.IS_DELETED, MesConstWords.ORGANIZE_CODE, MesExtConstWords.PART_NO},
new Object[]{CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.IS_DEAL.NO.getValue(), bom.getOrganizeCode(), bom.getPartNo()}); new Object[]{CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.IS_DEAL.NO.getValue(), bom.getOrganizeCode(), bom.getPartNo()});
if (!CollectionUtils.isEmpty(bomList)) { if (!CollectionUtils.isEmpty(bomList)) {
@ -92,10 +92,10 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
organize.setName(AuthUtil.getOrganize().getName()); organize.setName(AuthUtil.getOrganize().getName());
//organize.setName("zxw"); //organize.setName("zxw");
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bom.getOrganizeCode()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(bom.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bom.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringEqualPack(bom.getPartNo(), MesExtConstWords.PART_NO, packBean);
DdlPreparedPack.getStringEqualPack(bom.getBomVersion(), "bomVersion", packBean); DdlPreparedPack.getStringEqualPack(bom.getBomVersion(), MesExtConstWords.BOM_VERSION, packBean);
DdlPreparedPack.getStringEqualPack(bom.getBomCode(), "bomCode", packBean); DdlPreparedPack.getStringEqualPack(bom.getBomCode(), MesExtConstWords.BOM_CODE, packBean);
DdlPreparedPack.getStringSmallerPack(bom.getEffStartTime(), "effStartTime", packBean); DdlPreparedPack.getStringSmallerPack(bom.getEffStartTime(), MesExtConstWords.EFF_START_TIME, packBean);
@ -128,10 +128,10 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
organize.setName(AuthUtil.getOrganize().getName()); organize.setName(AuthUtil.getOrganize().getName());
//organize.setName("zxw"); //organize.setName("zxw");
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bom.getOrganizeCode()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(bom.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bom.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringEqualPack(bom.getPartNo(), MesExtConstWords.PART_NO, packBean);
DdlPreparedPack.getStringEqualPack(bom.getBomVersion(), "bomVersion", packBean); DdlPreparedPack.getStringEqualPack(bom.getBomVersion(), MesExtConstWords.BOM_VERSION, packBean);
DdlPreparedPack.getStringEqualPack(bom.getBomCode(), "bomCode", packBean); DdlPreparedPack.getStringEqualPack(bom.getBomCode(), MesExtConstWords.BOM_CODE, packBean);
DdlPreparedPack.getStringSmallerPack(bom.getEffStartTime(), "effStartTime", packBean); DdlPreparedPack.getStringSmallerPack(bom.getEffStartTime(), MesExtConstWords.EFF_START_TIME, packBean);
packBean.setOrderByStr(" order by createDatetime desc "); packBean.setOrderByStr(" order by createDatetime desc ");
pager = PagerHelper.getPager(pager, baseRDao.findByHqlWhereCount(packBean)); pager = PagerHelper.getPager(pager, baseRDao.findByHqlWhereCount(packBean));
@ -146,10 +146,10 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
//报表使用的方法 //报表使用的方法
public List<MesBom> findMesBomByPartNoAndBomVersion(String partNo, String organizeCode, String bomVersion, String bomCode, String effStartTime) { public List<MesBom> findMesBomByPartNoAndBomVersion(String partNo, String organizeCode, String bomVersion, String bomCode, String effStartTime) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean); DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, ddlPackBean);
DdlPreparedPack.getStringEqualPack(bomVersion, "bomVersion", ddlPackBean); DdlPreparedPack.getStringEqualPack(bomVersion, MesExtConstWords.BOM_VERSION, ddlPackBean);
DdlPreparedPack.getStringEqualPack(bomCode, "bomCode", ddlPackBean); DdlPreparedPack.getStringEqualPack(bomCode, MesExtConstWords.BOM_CODE, ddlPackBean);
DdlPreparedPack.getStringSmallerPack(effStartTime, "effStartTime", ddlPackBean); DdlPreparedPack.getStringSmallerPack(effStartTime, MesExtConstWords.EFF_START_TIME, ddlPackBean);
DdlPreparedPack.getOrderBy(null, null, ddlPackBean); DdlPreparedPack.getOrderBy(null, null, ddlPackBean);
List<MesBom> mesBoms = baseRDao.findByHqlWhere(ddlPackBean); List<MesBom> mesBoms = baseRDao.findByHqlWhere(ddlPackBean);
if (CollectionUtils.isEmpty(mesBoms)) { if (CollectionUtils.isEmpty(mesBoms)) {
@ -166,8 +166,10 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
Boolean isWithEffEndTime = (null != config && !StringUtils.isEmpty(config.getCfgValue()) && config.getCfgValue().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValueStr())) ? true : false; Boolean isWithEffEndTime = (null != config && !StringUtils.isEmpty(config.getCfgValue()) && config.getCfgValue().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValueStr())) ? true : false;
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean); DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, ddlPackBean);
DdlPreparedPack.getStringEqualPack(bomVersion, "bomVersion", ddlPackBean); if (!StringUtils.isEmpty(bomVersion)) {
DdlPreparedPack.getStringEqualPack(bomVersion, MesExtConstWords.BOM_VERSION, ddlPackBean);
}
DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_START_TIME, ddlPackBean); DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_START_TIME, ddlPackBean);
if (isWithEffEndTime) DdlPreparedPack.getStringBiggerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_END_TIME, ddlPackBean); if (isWithEffEndTime) DdlPreparedPack.getStringBiggerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_END_TIME, ddlPackBean);
DdlPreparedPack.getOrderBy(MesExtConstWords.EFF_START_TIME, CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), ddlPackBean); DdlPreparedPack.getOrderBy(MesExtConstWords.EFF_START_TIME, CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), ddlPackBean);
@ -179,9 +181,9 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
String bomCode = mesBom.getBomCode(); String bomCode = mesBom.getBomCode();
String effStartTime = mesBom.getEffStartTime(); String effStartTime = mesBom.getEffStartTime();
DdlPackBean ddlPackBean1= DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean ddlPackBean1= DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean1); DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, ddlPackBean1);
DdlPreparedPack.getStringEqualPack(bomCode, "bomCode", ddlPackBean1); DdlPreparedPack.getStringEqualPack(bomCode, MesExtConstWords.BOM_CODE, ddlPackBean1);
DdlPreparedPack.getStringEqualPack(effStartTime, "effStartTime", ddlPackBean1); DdlPreparedPack.getStringEqualPack(effStartTime, MesExtConstWords.EFF_START_TIME, ddlPackBean1);
return baseRDao.findByHqlWhere(ddlPackBean); return baseRDao.findByHqlWhere(ddlPackBean);
} }
@ -227,20 +229,26 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
@Override @Override
public MesBom findBom(String organizeCode, String bomVersion, String partNo) { public MesBom findBom(String organizeCode, String bomVersion, String partNo) {
DdlPackBean bomPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean bomPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", bomPackBean); DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, bomPackBean);
DdlPreparedPack.getStringEqualPack(bomVersion, "bomVersion", bomPackBean); DdlPreparedPack.getStringEqualPack(bomVersion, MesExtConstWords.BOM_VERSION, bomPackBean);
DdlPreparedPack.getOrderBy("effStartTime", CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), bomPackBean); DdlPreparedPack.getOrderBy(MesExtConstWords.EFF_START_TIME, CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), bomPackBean);
List<MesBom> bomList = this.baseRDao.findByHqlTopWhere(bomPackBean,1); List<MesBom> bomList = this.baseRDao.findByHqlTopWhere(bomPackBean,1);
return bomList.isEmpty() ? null : bomList.get(0); return bomList.isEmpty() ? null : bomList.get(0);
} }
@Override @Override
public MesBom findBom(String organizeCode, String partNo) { public MesBom findBom(String organizeCode, String partNo) {
//MES汇报查询BOM是否携带结束查询条件
MesConfig config = mesConfigService.getCfgValueByCode(organizeCode, MesExtConstWords.MES_REPORT_FIND_BOM_WITH_EFFENDTIME);
Boolean isWithEffEndTime = (null != config && !StringUtils.isEmpty(config.getCfgValue()) && config.getCfgValue().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValueStr())) ? true : false;
DdlPackBean bomPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean bomPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", bomPackBean); DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, bomPackBean);
DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), "effStartTime", bomPackBean); DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_START_TIME, bomPackBean);
DdlPreparedPack.getStringBiggerPack(TimeTool.getNowTime(true), "effEndTime", bomPackBean); if (isWithEffEndTime){
DdlPreparedPack.getOrderBy("effStartTime", CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), bomPackBean); DdlPreparedPack.getStringBiggerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_END_TIME, bomPackBean);
}
DdlPreparedPack.getOrderBy(MesExtConstWords.EFF_START_TIME, CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), bomPackBean);
List<MesBom> bomList = this.baseRDao.findByHqlTopWhere(bomPackBean,1); List<MesBom> bomList = this.baseRDao.findByHqlTopWhere(bomPackBean,1);
return bomList.isEmpty() ? null : bomList.get(0); return bomList.isEmpty() ? null : bomList.get(0);
} }
@ -249,8 +257,8 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
public List<MesBom> queryMesBomReverse(MesBom mesBom) { public List<MesBom> queryMesBomReverse(MesBom mesBom) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesBom.getOrganizeCode()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesBom.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(mesBom.getPartNo(), "itemPartNo", packBean); DdlPreparedPack.getStringEqualPack(mesBom.getPartNo(), "itemPartNo", packBean);
DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), "effStartTime", packBean); DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_START_TIME, packBean);
DdlPreparedPack.getOrderBy("effStartTime", CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), packBean); DdlPreparedPack.getOrderBy(MesExtConstWords.EFF_START_TIME, CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), packBean);
List<MesBom> mesBomList = baseRDao.findByHqlWhere(packBean); List<MesBom> mesBomList = baseRDao.findByHqlWhere(packBean);
if(CollectionUtils.isEmpty(mesBomList)){ if(CollectionUtils.isEmpty(mesBomList)){
return new ArrayList<>(); return new ArrayList<>();
@ -271,8 +279,8 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "itemPartNo", packBean); DdlPreparedPack.getStringEqualPack(partNo, "itemPartNo", packBean);
DdlPreparedPack.getStringEqualPack("X", "partType", packBean); DdlPreparedPack.getStringEqualPack("X", "partType", packBean);
DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), "effStartTime", packBean); DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_START_TIME, packBean);
DdlPreparedPack.getOrderBy("effStartTime", CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), packBean); DdlPreparedPack.getOrderBy(MesExtConstWords.EFF_START_TIME, CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), packBean);
List<MesBom> mesBomList = baseRDao.findByHqlWhere(packBean); List<MesBom> mesBomList = baseRDao.findByHqlWhere(packBean);
if(CollectionUtils.isEmpty(mesBomList)) return; if(CollectionUtils.isEmpty(mesBomList)) return;
Map<String, List<MesBom>> mesBomMap = mesBomList.stream().collect(Collectors.groupingBy(bom -> bom.getPartNo() + bom.getItemPartNo())); Map<String, List<MesBom>> mesBomMap = mesBomList.stream().collect(Collectors.groupingBy(bom -> bom.getPartNo() + bom.getItemPartNo()));

@ -19,7 +19,6 @@ import cn.estsh.i3plus.pojo.mes.repository.*;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.util.Strings;
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 org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
@ -384,7 +383,7 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
//客户ptr信息 //客户ptr信息
StringBuilder ptrInfos = new StringBuilder(); StringBuilder ptrInfos = new StringBuilder();
String ptrInfo = mesWorkOrder.getPtrInfo(); String ptrInfo = mesWorkOrder.getPtrInfo();
List<String> custPtrPartList = Arrays.asList(ptrInfo.replaceAll("_","").split("\\|")); List<String> custPtrPartList = Arrays.asList(ptrInfo.split("\\|"));
boolean ptrFlag = false; boolean ptrFlag = false;
boolean custFlag = false; boolean custFlag = false;
boolean fOrderFlag = false; boolean fOrderFlag = false;
@ -851,7 +850,6 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
} }
private List<MesBom> getPlatBom(MesBom mesBom,String partNo, String effectiveTime,String organizeCode) { private List<MesBom> getPlatBom(MesBom mesBom,String partNo, String effectiveTime,String organizeCode) {
//MES汇报查询BOM是否携带结束查询条件 //MES汇报查询BOM是否携带结束查询条件
MesConfig config = mesConfigService.getCfgValueByCode(organizeCode, MesExtConstWords.MES_REPORT_FIND_BOM_WITH_EFFENDTIME); MesConfig config = mesConfigService.getCfgValueByCode(organizeCode, MesExtConstWords.MES_REPORT_FIND_BOM_WITH_EFFENDTIME);
Boolean isWithEffEndTime = (null != config && !org.springframework.util.StringUtils.isEmpty(config.getCfgValue()) && config.getCfgValue().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValueStr())) ? true : false; Boolean isWithEffEndTime = (null != config && !org.springframework.util.StringUtils.isEmpty(config.getCfgValue()) && config.getCfgValue().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValueStr())) ? true : false;

Loading…
Cancel
Save