|
|
|
@ -18,6 +18,8 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Propagation;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
|
@ -80,49 +82,52 @@ public class MesFunctionPackageProgressService extends BaseSwsService implements
|
|
|
|
|
resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(packageDataContext.getPackageNo());
|
|
|
|
|
|
|
|
|
|
if (null == packageDataContext) {
|
|
|
|
|
return doPackResultMap(reqBean, resultBean, resultMap,
|
|
|
|
|
return packResultMap(reqBean, resultBean, resultMap,
|
|
|
|
|
String.format("生产线[%s]工位[%s]强制打包失败,参数异常!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (CollectionUtils.isEmpty(packageDataContextMap) || !packageDataContextMap.containsKey(packageDataContext.getPartNo())) {
|
|
|
|
|
return doPackResultMap(reqBean, resultBean, resultMap,
|
|
|
|
|
return packResultMap(reqBean, resultBean, resultMap,
|
|
|
|
|
String.format("生产线[%s]工位[%s]强制打包失败,当前已无零件号[%s]未封箱状态的包装信息!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), packageDataContext.getPartNo()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<MesPackageDataContext> packageDataContextList = JSONObject.parseArray(packageDataContextMap.get(packageDataContext.getPartNo()), MesPackageDataContext.class);
|
|
|
|
|
if (CollectionUtils.isEmpty(packageDataContextList) || !packageDataContextList.get(0).getPackageNo().equals(packageDataContext.getPackageNo())) {
|
|
|
|
|
return doPackResultMap(reqBean, resultBean, resultMap,
|
|
|
|
|
return packResultMap(reqBean, resultBean, resultMap,
|
|
|
|
|
String.format("生产线[%s]工位[%s]强制打包失败,打包进度列表中已经不存在包装条码[%s],请刷新重试!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), packageDataContext.getPackageNo()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MesPackage packageDb = packageNoGenerateStepService.getMesPackage(reqBean.getOrganizeCode(), packageDataContextList.get(0).getPackageId());
|
|
|
|
|
if (null == packageDb) {
|
|
|
|
|
return doPackResultMap(reqBean, resultBean, resultMap,
|
|
|
|
|
return packResultMap(reqBean, resultBean, resultMap,
|
|
|
|
|
String.format("生产线[%s]工位[%s]强制打包失败,包装条码[%s]信息已经不存在,请刷新重试!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), packageDataContext.getPackageNo()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
StepResult stepResult = StepResult.getSuccessComplete();
|
|
|
|
|
try {
|
|
|
|
|
doForcePrint(reqBean, resultBean, stepResult, packageDataContextList, packageDb, packageDataContextMap);
|
|
|
|
|
packageNoGenerateStepService.doForcePrint(reqBean, resultBean, stepResult, packageDataContextList, packageDb);
|
|
|
|
|
} catch (ImppBusiException e) {
|
|
|
|
|
stepResult.msg(e.getMessage());
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
stepResult.msg(e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
if (!StringUtils.isEmpty(stepResult.getMsg())) {
|
|
|
|
|
return doPackResultMap(reqBean, resultBean, resultMap,
|
|
|
|
|
return packResultMap(reqBean, resultBean, resultMap,
|
|
|
|
|
String.format("生产线[%s]工位[%s]强制打包失败,%s", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), stepResult.getMsg()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
packageDataContextMap.remove(packageDataContext.getPartNo());
|
|
|
|
|
productionCustomContextStepService.dispatchPackageDataContext(reqBean, packageDataContextMap);
|
|
|
|
|
|
|
|
|
|
resultList = resultList.stream().filter(o -> (null != o && !o.getPackageNo().equals(packageDataContext.getPackageNo()))).collect(Collectors.toList());
|
|
|
|
|
if (CollectionUtils.isEmpty(resultList)) resultMap.remove(MesPcnExtConstWords.DATA);
|
|
|
|
|
else resultMap.put(MesPcnExtConstWords.DATA, resultList);
|
|
|
|
|
resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT.getValue());
|
|
|
|
|
return doPackResultMap(reqBean, resultBean, resultMap, String.format("零件号[%s]强制封箱成功!", packageDataContext.getPartNo()));
|
|
|
|
|
return packResultMap(reqBean, resultBean, resultMap, String.format("零件号[%s]强制封箱成功!", packageDataContext.getPartNo()));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Object doPackResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map<String, Object> resultMap, String message) {
|
|
|
|
|
private Object packResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map<String, Object> resultMap, String message) {
|
|
|
|
|
this.sendMessage(reqBean, resultBean, message, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
|
|
|
|
|
resultMap.put(MesPcnExtConstWords.MESSAGE, message);
|
|
|
|
|
return resultMap;
|
|
|
|
@ -130,14 +135,8 @@ public class MesFunctionPackageProgressService extends BaseSwsService implements
|
|
|
|
|
|
|
|
|
|
private void doForcePrint(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult,
|
|
|
|
|
List<MesPackageDataContext> packageDataContextList, MesPackage packageDb, Map<String, String> packageDataContextMap) {
|
|
|
|
|
packageNoGenerateStepService.savePackageDb(reqBean, packageDb, packageDataContextList.size(), true, false);
|
|
|
|
|
List<MesPackage> packageList = new ArrayList<>();
|
|
|
|
|
packageList.add(packageDb);
|
|
|
|
|
MesProduceSnPrintModel printModel = packageNoGenerateStepService.printProduceSn(reqBean, resultBean, stepResult, packageDataContextList.get(0), null, null, packageList, true);
|
|
|
|
|
packageNoGenerateStepService.doPrint(reqBean, printModel);
|
|
|
|
|
packageNoGenerateStepService.savePackageDbById(reqBean, packageDb);
|
|
|
|
|
packageDataContextMap.remove(packageDb.getPartNo());
|
|
|
|
|
productionCustomContextStepService.dispatchPackageDataContext(reqBean, packageDataContextMap);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|