|
@@ -1389,6 +1389,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public R checkAndSaveOrUpdateBlank(CheckAndSaveOrUpdateBlankReq req) {
|
|
|
+ //获取校验级别
|
|
|
+ Integer checkLevel = req.getCheckLevel();
|
|
|
+
|
|
|
//获取坯料计划内容
|
|
|
ApsBlankOrderDo apsBlankOrderDo = req.getApsBlankOrderDo();
|
|
|
//获取当前用户信息
|
|
@@ -1410,22 +1413,24 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //==============拼接工艺路线输出成品==============
|
|
|
- //查询坯料计划对应工艺路线的输出成品
|
|
|
- List<String> processOutputList = this.baseMapper.selectProcessByBlankId(apsBlankOrderDo.getId());
|
|
|
- if (processOutputList != null && processOutputList.size() > 0) {
|
|
|
- String outputProcessMaterial = "";
|
|
|
- //排序
|
|
|
- processOutputList.sort(String::compareTo);
|
|
|
- for (int i = 0; i < processOutputList.size(); i++) {
|
|
|
- outputProcessMaterial += "[" + (i + 1) + "]" + processOutputList.get(i);
|
|
|
- if (i < processOutputList.size() - 1) {
|
|
|
- outputProcessMaterial += ",\r\n";
|
|
|
+ if (checkLevel == 3) {
|
|
|
+ //==============拼接工艺路线输出成品==============
|
|
|
+ //查询坯料计划对应工艺路线的输出成品
|
|
|
+ List<String> processOutputList = this.baseMapper.selectProcessByBlankId(apsBlankOrderDo.getId());
|
|
|
+ if (processOutputList != null && processOutputList.size() > 0) {
|
|
|
+ String outputProcessMaterial = "";
|
|
|
+ //排序
|
|
|
+ processOutputList.sort(String::compareTo);
|
|
|
+ for (int i = 0; i < processOutputList.size(); i++) {
|
|
|
+ outputProcessMaterial += "[" + (i + 1) + "]" + processOutputList.get(i);
|
|
|
+ if (i < processOutputList.size() - 1) {
|
|
|
+ outputProcessMaterial += ",\r\n";
|
|
|
+ }
|
|
|
}
|
|
|
+ apsBlankOrderDo.setOutputmaterial(outputProcessMaterial);
|
|
|
+ } else {
|
|
|
+ return R.error("工艺路线没有输出成品");
|
|
|
}
|
|
|
- apsBlankOrderDo.setOutputmaterial(outputProcessMaterial);
|
|
|
- } else {
|
|
|
- return R.error("工艺路线没有输出成品");
|
|
|
}
|
|
|
|
|
|
//=============校验输出成品==============
|
|
@@ -1570,33 +1575,40 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //============校验工艺路线=============
|
|
|
- //如果坯料需求的坯料输出成品字段值不等于坯料需求的工艺输出成品字段值,错误提示:工艺路线输出成品与坯料输出成品不一致
|
|
|
- if (!apsBlankOrderDo.getOutputfinishproduct().equals(apsBlankOrderDo.getOutputmaterial())) {
|
|
|
- return R.error("工艺路线输出成品" + apsBlankOrderDo.getOutputmaterial() + "与坯料输出成品" + apsBlankOrderDo.getOutputfinishproduct() + "不一致");
|
|
|
+ if (checkLevel == 3) {
|
|
|
+ //============校验工艺路线=============
|
|
|
+ //如果坯料需求的坯料输出成品字段值不等于坯料需求的工艺输出成品字段值,错误提示:工艺路线输出成品与坯料输出成品不一致
|
|
|
+ if (!apsBlankOrderDo.getOutputfinishproduct().equals(apsBlankOrderDo.getOutputmaterial())) {
|
|
|
+ return R.error("工艺路线输出成品" + apsBlankOrderDo.getOutputmaterial() + "与坯料输出成品" + apsBlankOrderDo.getOutputfinishproduct() + "不一致");
|
|
|
+ }
|
|
|
}
|
|
|
- //如果坯料需求的是否备料=是,并且首道工序作业的是否坯料工序=是,错误提示:工艺路线错误,首道工序作业是坯料工序,备料不能作为输入物料
|
|
|
- //是否备料
|
|
|
- if (apsBlankOrderDo.getPreparematerial().equals("是")) {
|
|
|
- //查询坯料计划的工序作业
|
|
|
- List<ApsProcessOperationDo> processOperationList = apsProcessOperationService.list(new QueryWrapper<ApsProcessOperationDo>().lambda().eq(ApsProcessOperationDo::getBlankid, apsBlankOrderDo.getId()));
|
|
|
- for (ApsProcessOperationDo processOperationDo : processOperationList) {
|
|
|
- //没有前道工序作业ID
|
|
|
- if (ObjectUtil.isEmpty(processOperationDo.getPreviousprocessid())) {
|
|
|
- if (processOperationDo.getIfblankprocess().equals("是")) {
|
|
|
- return R.error("工艺路线错误,首道工序作业是坯料工序,备料不能作为输入物料");
|
|
|
+
|
|
|
+ if (checkLevel == 2 || checkLevel == 3) {
|
|
|
+ //如果坯料需求的是否备料=是,并且首道工序作业的是否坯料工序=是,错误提示:工艺路线错误,首道工序作业是坯料工序,备料不能作为输入物料
|
|
|
+ //是否备料
|
|
|
+ if (apsBlankOrderDo.getPreparematerial().equals("是")) {
|
|
|
+ //查询坯料计划的工序作业
|
|
|
+ List<ApsProcessOperationDo> processOperationList = apsProcessOperationService.list(new QueryWrapper<ApsProcessOperationDo>().lambda().eq(ApsProcessOperationDo::getBlankid, apsBlankOrderDo.getId()));
|
|
|
+ for (ApsProcessOperationDo processOperationDo : processOperationList) {
|
|
|
+ //没有前道工序作业ID
|
|
|
+ if (ObjectUtil.isEmpty(processOperationDo.getPreviousprocessid())) {
|
|
|
+ if (processOperationDo.getIfblankprocess().equals("是")) {
|
|
|
+ return R.error("工艺路线错误,首道工序作业是坯料工序,备料不能作为输入物料");
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
- break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //============校验工序作业=============
|
|
|
- Map<String, Object> params = new HashMap<>();
|
|
|
- params.put("BLANKID", apsBlankOrderDo.getId());
|
|
|
- R r = apsProcessOperationService.checkOperation(params);
|
|
|
- if (!(r.getCode().equals("200"))) {
|
|
|
- return R.error(r.getMsg());
|
|
|
+ if (checkLevel == 3) {
|
|
|
+ //============校验工序作业=============
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ params.put("BLANKID", apsBlankOrderDo.getId());
|
|
|
+ R r = apsProcessOperationService.checkOperation(params);
|
|
|
+ if (!(r.getCode().equals("200"))) {
|
|
|
+ return R.error(r.getMsg());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//更新或保存坯料计划和输出成品
|