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

dev-temp-xw-202501150000-44852
王杰 4 months ago
commit c343f0bda6

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

@ -41,8 +41,8 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
private IMesConfigService mesConfigService;
protected void setPackQueryBean(MesBom bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getBomVersion(), "bomVersion", packBean);
DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean);
DdlPreparedPack.getStringEqualPack(bean.getBomVersion(), MesExtConstWords.BOM_VERSION, packBean);
DdlPreparedPack.getStringLikerPack(bean.getPartNo(), MesExtConstWords.PART_NO, packBean);
}
@Override
@ -66,7 +66,7 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
organize.setName("LML");
// 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()});
if (!CollectionUtils.isEmpty(bomList)) {
@ -92,10 +92,10 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
organize.setName(AuthUtil.getOrganize().getName());
//organize.setName("zxw");
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bom.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bom.getPartNo(), "partNo", packBean);
DdlPreparedPack.getStringEqualPack(bom.getBomVersion(), "bomVersion", packBean);
DdlPreparedPack.getStringEqualPack(bom.getBomCode(), "bomCode", packBean);
DdlPreparedPack.getStringSmallerPack(bom.getEffStartTime(), "effStartTime", packBean);
DdlPreparedPack.getStringEqualPack(bom.getPartNo(), MesExtConstWords.PART_NO, packBean);
DdlPreparedPack.getStringEqualPack(bom.getBomVersion(), MesExtConstWords.BOM_VERSION, packBean);
DdlPreparedPack.getStringEqualPack(bom.getBomCode(), MesExtConstWords.BOM_CODE, 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("zxw");
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bom.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bom.getPartNo(), "partNo", packBean);
DdlPreparedPack.getStringEqualPack(bom.getBomVersion(), "bomVersion", packBean);
DdlPreparedPack.getStringEqualPack(bom.getBomCode(), "bomCode", packBean);
DdlPreparedPack.getStringSmallerPack(bom.getEffStartTime(), "effStartTime", packBean);
DdlPreparedPack.getStringEqualPack(bom.getPartNo(), MesExtConstWords.PART_NO, packBean);
DdlPreparedPack.getStringEqualPack(bom.getBomVersion(), MesExtConstWords.BOM_VERSION, packBean);
DdlPreparedPack.getStringEqualPack(bom.getBomCode(), MesExtConstWords.BOM_CODE, packBean);
DdlPreparedPack.getStringSmallerPack(bom.getEffStartTime(), MesExtConstWords.EFF_START_TIME, packBean);
packBean.setOrderByStr(" order by createDatetime desc ");
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) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean);
DdlPreparedPack.getStringEqualPack(bomVersion, "bomVersion", ddlPackBean);
DdlPreparedPack.getStringEqualPack(bomCode, "bomCode", ddlPackBean);
DdlPreparedPack.getStringSmallerPack(effStartTime, "effStartTime", ddlPackBean);
DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, ddlPackBean);
DdlPreparedPack.getStringEqualPack(bomVersion, MesExtConstWords.BOM_VERSION, ddlPackBean);
DdlPreparedPack.getStringEqualPack(bomCode, MesExtConstWords.BOM_CODE, ddlPackBean);
DdlPreparedPack.getStringSmallerPack(effStartTime, MesExtConstWords.EFF_START_TIME, ddlPackBean);
DdlPreparedPack.getOrderBy(null, null, ddlPackBean);
List<MesBom> mesBoms = baseRDao.findByHqlWhere(ddlPackBean);
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;
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean);
DdlPreparedPack.getStringEqualPack(bomVersion, "bomVersion", ddlPackBean);
DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, ddlPackBean);
if (!StringUtils.isEmpty(bomVersion)) {
DdlPreparedPack.getStringEqualPack(bomVersion, MesExtConstWords.BOM_VERSION, ddlPackBean);
}
DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_START_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);
@ -179,9 +181,9 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
String bomCode = mesBom.getBomCode();
String effStartTime = mesBom.getEffStartTime();
DdlPackBean ddlPackBean1= DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean1);
DdlPreparedPack.getStringEqualPack(bomCode, "bomCode", ddlPackBean1);
DdlPreparedPack.getStringEqualPack(effStartTime, "effStartTime", ddlPackBean1);
DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, ddlPackBean1);
DdlPreparedPack.getStringEqualPack(bomCode, MesExtConstWords.BOM_CODE, ddlPackBean1);
DdlPreparedPack.getStringEqualPack(effStartTime, MesExtConstWords.EFF_START_TIME, ddlPackBean1);
return baseRDao.findByHqlWhere(ddlPackBean);
}
@ -227,20 +229,26 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
@Override
public MesBom findBom(String organizeCode, String bomVersion, String partNo) {
DdlPackBean bomPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", bomPackBean);
DdlPreparedPack.getStringEqualPack(bomVersion, "bomVersion", bomPackBean);
DdlPreparedPack.getOrderBy("effStartTime", CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), bomPackBean);
DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, bomPackBean);
DdlPreparedPack.getStringEqualPack(bomVersion, MesExtConstWords.BOM_VERSION, bomPackBean);
DdlPreparedPack.getOrderBy(MesExtConstWords.EFF_START_TIME, CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), bomPackBean);
List<MesBom> bomList = this.baseRDao.findByHqlTopWhere(bomPackBean,1);
return bomList.isEmpty() ? null : bomList.get(0);
}
@Override
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);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", bomPackBean);
DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), "effStartTime", bomPackBean);
DdlPreparedPack.getStringBiggerPack(TimeTool.getNowTime(true), "effEndTime", bomPackBean);
DdlPreparedPack.getOrderBy("effStartTime", CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), bomPackBean);
DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, bomPackBean);
DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_START_TIME, bomPackBean);
if (isWithEffEndTime){
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);
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) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesBom.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(mesBom.getPartNo(), "itemPartNo", packBean);
DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), "effStartTime", packBean);
DdlPreparedPack.getOrderBy("effStartTime", CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), packBean);
DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_START_TIME, packBean);
DdlPreparedPack.getOrderBy(MesExtConstWords.EFF_START_TIME, CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), packBean);
List<MesBom> mesBomList = baseRDao.findByHqlWhere(packBean);
if(CollectionUtils.isEmpty(mesBomList)){
return new ArrayList<>();
@ -271,8 +279,8 @@ public class MesBomService extends BaseMesService<MesBom> implements IMesBomServ
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "itemPartNo", packBean);
DdlPreparedPack.getStringEqualPack("X", "partType", packBean);
DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), "effStartTime", packBean);
DdlPreparedPack.getOrderBy("effStartTime", CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), packBean);
DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_START_TIME, packBean);
DdlPreparedPack.getOrderBy(MesExtConstWords.EFF_START_TIME, CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), packBean);
List<MesBom> mesBomList = baseRDao.findByHqlWhere(packBean);
if(CollectionUtils.isEmpty(mesBomList)) return;
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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@ -384,7 +383,7 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
//客户ptr信息
StringBuilder ptrInfos = new StringBuilder();
String ptrInfo = mesWorkOrder.getPtrInfo();
List<String> custPtrPartList = Arrays.asList(ptrInfo.replaceAll("_","").split("\\|"));
List<String> custPtrPartList = Arrays.asList(ptrInfo.split("\\|"));
boolean ptrFlag = false;
boolean custFlag = 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) {
//MES汇报查询BOM是否携带结束查询条件
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;

@ -181,6 +181,8 @@ public class MesExtConstWords {
public static final String SYNC_TO_WMS = "syncToWms";
//BOM版本
public static final String BOM_VERSION = "bomVersion";
//BOM代码
public static final String BOM_CODE = "bomCode";
//生效时间
public static final String EFF_START_TIME = "effStartTime";
//失效时间

Loading…
Cancel
Save