排序推单

uat-temp-wj-shenshanorder
王杰 4 months ago
parent 346f8a7bac
commit 0819b960e2

@ -104,12 +104,12 @@ public interface IMesProductionCustomContextStepService {
void removePackageDataContext(StationRequestBean reqBean);
@ApiOperation(value = "获取排序线工单队列推送锁数据")
List<String> getSortQueuePushLockContext(String orgainzeCode, String workCenterCode);
String getSortQueuePushLockContext(StationRequestBean reqBean, String queuePushId);
@ApiOperation(value = "保存排序线工单队列推送锁数据")
Boolean dispatchSortQueuePushLockContext(String organizeCode, String workCenterCode, Object queuePushId);
Boolean dispatchSortQueuePushLockContext(StationRequestBean reqBean, String queuePushId);
@ApiOperation(value = "删除排序线工单队列推送锁数据")
void removeSortQueuePushLockContext(String orgainzeCode, String workCenterCode, String queuePushId);
void removeSortQueuePushLockContext(StationRequestBean reqBean, String queuePushId);
}

@ -39,6 +39,6 @@ public interface IMesQueueOrderPushService {
ListPager<MesQueueOrderPush> queryQueueOrderPushListPager(Map<String, String> paramMap, List<String> pushSourceCodeList, Pager pager);
@ApiOperation(value = "根据条件修改生产队列工位推送信息状态")
void saveQueueOrderPushStatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer queueStatus);
void saveQueueOrderPushStatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer queueStatus, String targerWorkCellCode);
}

@ -12,7 +12,6 @@ import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesPart;
import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPush;
import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPushCellCfg;
import cn.estsh.i3plus.pojo.mes.repository.MesQueueOrderPushCellCfgRepository;
@ -168,11 +167,12 @@ public class MesQueueOrderPushService implements IMesQueueOrderPushService {
//根据条件修改生产队列工位推送信息状态
@Override
public void saveQueueOrderPushStatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer queueStatus) {
public void saveQueueOrderPushStatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer queueStatus, String targerWorkCellCode) {
if (StringUtils.isEmpty(userInfo) || StringUtils.isEmpty(queueStatus)) return;
queueOrderPushRepository.updateByPropertiesNoSync(
new String[]{MesPcnExtConstWords.QUEUE_STATUS, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME},
new Object[]{queueStatus, userInfo, TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), MesPcnExtConstWords.EMPTY},
new String[]{MesPcnExtConstWords.QUEUE_STATUS, MesPcnExtConstWords.TARGET_WORK_CELL_CODE,
MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME},
new Object[]{queueStatus, targerWorkCellCode, userInfo, TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), MesPcnExtConstWords.EMPTY},
packBean);
}

@ -140,7 +140,7 @@ public class MesSendEquipParamsCmdStepService extends BaseStepService {
List<Long> sourceIdList = null;
for (MesProdRuleContext prodRuleContext : prodRuleContextList) {
if (StringUtils.isEmpty(prodRuleContext.getAssemblyDataJson())) continue;
List<Long> itemIdList = prodRuleContext.getSortAssemblyDataContext().stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getSourceId()))).map(MesProductionAssemblySortContext::getSourceId).collect(Collectors.toList());
List<Long> itemIdList = prodRuleContext.getSortAssemblyDataContext().stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPid()))).map(MesProductionAssemblySortContext::getPid).collect(Collectors.toList());
if (CollectionUtils.isEmpty(itemIdList)) continue;
if (CollectionUtils.isEmpty(sourceIdList)) sourceIdList = new ArrayList<>();
sourceIdList.addAll(itemIdList);

@ -131,8 +131,8 @@ public class MesWorkOrderQueueAcceptStepService extends BaseStepService {
} else {
//当前遍历中的代码考虑加锁; 获取不到锁的情况下退出循环
if (!tryLock(reqBean.getWorkCenterCode(), queueOrderPush.getPushSourceCode())) break;
List<String> queuePushIdList = productionCustomContextStepService.getSortQueuePushLockContext(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode());
if (!CollectionUtils.isEmpty(queuePushIdList) && queuePushIdList.contains(queueOrderPush.getId().toString())) continue;
productionCustomContextStepService.getSortQueuePushLockContext(reqBean, reqBean.getWorkCenterCode());
// if (!CollectionUtils.isEmpty(queuePushIdList) && queuePushIdList.contains(queueOrderPush.getId().toString())) continue;
}
}

@ -89,7 +89,7 @@ public class MesWorkOrderQueueSavePushStepService extends BaseStepService {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(reqBean.getOrganizeCode());
if (idList.size() == 1) DdlPreparedPack.getNumEqualPack(idList.get(0), MesPcnExtConstWords.ID, packBean);
else DdlPreparedPack.getInPackList(idList, MesPcnExtConstWords.ID, packBean);
queueOrderPushService.saveQueueOrderPushStatusByDdlPackBean(packBean, reqBean.getUserInfo(), MesExtEnumUtil.QUEUE_ORDER_STATUS.FINISH.getValue());
queueOrderPushService.saveQueueOrderPushStatusByDdlPackBean(packBean, reqBean.getUserInfo(), MesExtEnumUtil.QUEUE_ORDER_STATUS.FINISH.getValue(), reqBean.getWorkCellCode());
}
//写入队列信息,默认状态为已完成

@ -297,25 +297,24 @@ public class MesProductionCustomContextStepService extends BaseStepService imple
}
//排序线工单队列推送锁数据KEY 【PS:生产线级别】
private String getSortQueuePushLockContextKey(String orgainzeCode, String workCenterCode) { return new StringJoiner(MesPcnExtConstWords.COLON).add(orgainzeCode).add(workCenterCode).add(MesPcnExtConstWords.QUEUE_PUSH_LOCK_CONTEXT).toString(); }
private String getSortQueuePushLockContextKey(StationRequestBean reqBean) { return new StringJoiner(MesPcnExtConstWords.COLON).add(reqBean.getOrganizeCode()).add(reqBean.getWorkCenterCode()).add(MesPcnExtConstWords.QUEUE_PUSH_LOCK_CONTEXT).toString(); }
//获取排序线工单队列推送锁数据
@Override
public List<String> getSortQueuePushLockContext(String orgainzeCode, String workCenterCode) {
return getFsmBusiList(orgainzeCode, getSortQueuePushLockContextKey(orgainzeCode, workCenterCode));
public String getSortQueuePushLockContext(StationRequestBean reqBean, String queuePushId) {
return getFsmBusiData(reqBean.getOrganizeCode(), getSortQueuePushLockContextKey(reqBean), queuePushId);
}
//保存排序线工单队列推送锁数据
@Override
public Boolean dispatchSortQueuePushLockContext(String organizeCode, String workCenterCode, Object queuePushId) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workCenterCode) || StringUtils.isEmpty(queuePushId)) return false;
return dispatchFsmBusiList(organizeCode, getSortQueuePushLockContextKey(organizeCode, workCenterCode), queuePushId);
public Boolean dispatchSortQueuePushLockContext(StationRequestBean reqBean, String queuePushId) {
return dispatchFsmBusiList(reqBean.getOrganizeCode(), getSortQueuePushLockContextKey(reqBean), queuePushId);
}
//删除排序线工单队列推送锁数据
@Override
public void removeSortQueuePushLockContext(String orgainzeCode, String workCenterCode, String queuePushId) {
removeFsmBusiList(orgainzeCode, getSortQueuePushLockContextKey(orgainzeCode, workCenterCode), queuePushId);
public void removeSortQueuePushLockContext(StationRequestBean reqBean, String queuePushId) {
removeFsmBusiList(reqBean.getOrganizeCode(), getSortQueuePushLockContextKey(reqBean), queuePushId);
}
}

@ -359,6 +359,8 @@ public class MesPcnExtConstWords {
public static final String SHIPPING_GROUP_NAME = "shippingGroupName";
//队列状态
public static final String QUEUE_STATUS = "queueStatus";
//目标工位
public static final String TARGET_WORK_CELL_CODE = "targetWorkCellCode";
//工艺顺序号
public static final String PROCESS_SEQ = "processSeq";
//推送来源代码

Loading…
Cancel
Save