JIS物料拉动演示问题修改

tags/yfai-pcn-ext-v2.3
gsz 8 months ago
parent 2bb948e6c4
commit 5fb9601736

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesNumberRuleMatchDispatchService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProduceSnExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesPullingOrderInfoService;
@ -51,6 +52,8 @@ public class MesPullingOrderInfoService implements IMesPullingOrderInfoService {
@Autowired
private IMesProduceSnExtService mesProduceSnExtService;
@Autowired
private IMesConfigService configService;
@Override
public ListPager<MesPullingOrderInfo> queryMesPullingOrderInfoByPager(MesPullingOrderInfo bean, Pager pager) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
@ -106,28 +109,42 @@ public class MesPullingOrderInfoService implements IMesPullingOrderInfoService {
MesPcnException.throwMesBusiException("扫描拉动单号【%s】拉动单状态不是【已确认】", bean.getPullingOrderNo());
}
//强过码 如果强过为true 不校验顺序 直接扫描完成修改状态为已扫描 todo
if ((!Objects.isNull(bean.getIsPass()) && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == bean.getIsPass())) {
//强过码 如果强过为true 不校验顺序 直接扫描完成修改状态为已扫描
//扫完单号 扫强过码校验通过后 单号顺序之前的单子变成无序 都可扫描
String spsPass = configService.getCfgValue(bean.getOrganizeCode(), MesPcnExtConstWords.SPS_STRONGER_PASS);
if (mesPullingOrderInfo.getIsPassCode()==CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()
||(!Objects.isNull(bean.getIsPass()) && spsPass.equals(bean.getIsPass()))) {
mesPullingOrderInfo.setPullOrderStatus(MesExtEnumUtil.PULL_ORDER_STATUS.JIS_PULL.getValue());
ConvertBean.serviceModelUpdate(mesPullingOrderInfo, userName);
mesPullingOrderInfoRepository.update(mesPullingOrderInfo);
//修改当前单号之前的为可强过
DdlPackBean packBeanPass= DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bean.getPullCode(), "pullCode", packBeanPass);
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.PULL_ORDER_STATUS.KITTING_PULL.getValue(), "pullOrderStatus", packBeanOne);
DdlPreparedPack.getStringSmallerNotEqualPack(bean.getPullingOrderNo(), "pullingOrderNo", packBeanPass);
DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBeanPass);
List<MesPullingOrderInfo> mesPullingOrderInfos = mesPullingOrderInfoRepository.findByHqlWhere(packBeanPass);
if (!CollectionUtils.isEmpty(mesPullingOrderInfos)){
for (MesPullingOrderInfo pullingOrderInfo : mesPullingOrderInfos) {
pullingOrderInfo.setIsPassCode(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
ConvertBean.serviceModelUpdate(pullingOrderInfo, userName);
}
mesPullingOrderInfoRepository.saveAll(mesPullingOrderInfos);
}
} else {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(bean.getPullCode(), "pullCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getNumEqualPack(bean.getPullOrderType(), "pullOrderType", packBean);
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.PULL_ORDER_STATUS.KITTING_PULL.getValue(), "pullOrderStatus", packBean);
// if (!StringUtil.isEmpty(bean.orderBy())) {
// packBean.setOrderByStr(bean.orderBy());
// } else {
//顺序校验 根据未扫描单号 1 、2 、3如果没有强过码 必须先扫1 再扫2 pullingOrderNo修改位workOrderNo
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"workOrderNo"}, packBean);
// }
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"pullingOrderNo"}, packBean);
List<MesPullingOrderInfo> pullingOrderInfos = mesPullingOrderInfoRepository.findByHqlWhere(packBean);
if (!CollectionUtils.isEmpty(pullingOrderInfos)) {
//按照排序 依次扫描,如果扫描不按照顺序 报错
MesPullingOrderInfo pullingOrderInfo = pullingOrderInfos.get(0);
if (pullingOrderInfo.getPullOrderStatus().equals(mesPullingOrderInfo.getPullOrderStatus())) {
if (pullingOrderInfo.getPullingOrderNo().equals(mesPullingOrderInfo.getPullingOrderNo())) {
mesPullingOrderInfo.setPullOrderStatus(MesExtEnumUtil.PULL_ORDER_STATUS.JIS_PULL.getValue());
ConvertBean.serviceModelUpdate(mesPullingOrderInfo, userName);
mesPullingOrderInfoRepository.update(mesPullingOrderInfo);

Loading…
Cancel
Save