|
|
|
@ -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);
|
|
|
|
|