|
@@ -5,10 +5,7 @@ import cn.hutool.json.JSONObject;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.rongwei.bscommon.sys.dao.ApsProcessOperationDao;
|
|
|
import com.rongwei.bscommon.sys.service.*;
|
|
|
-import com.rongwei.bsentity.domain.ApsCraftRouteOutMaterRequestDo;
|
|
|
-import com.rongwei.bsentity.domain.ApsCraftRouteStepDo;
|
|
|
-import com.rongwei.bsentity.domain.ApsProcessOperationDo;
|
|
|
-import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
|
|
|
+import com.rongwei.bsentity.domain.*;
|
|
|
import com.rongwei.bsentity.vo.PreviousProcessVo;
|
|
|
import com.rongwei.rwcommon.base.R;
|
|
|
import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
@@ -50,6 +47,9 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
@Autowired
|
|
|
ApsProcessOperationOutMaterService apsProcessOperationOutMaterService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ ApsProcessOperationEquService apsProcessOperationEquService;
|
|
|
+
|
|
|
private final static Map<String, String> UNIT_MAP = new HashMap<String, String>() {{
|
|
|
put("kg", "公斤");
|
|
|
put("ton", "吨");
|
|
@@ -108,6 +108,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
List<PreviousProcessVo> newProcessIds = new ArrayList<>();//前道工序信息
|
|
|
List<ApsProcessOperationDo> apsProcessOperationDoList = new ArrayList<>();
|
|
|
List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDoList = new ArrayList<>();
|
|
|
+ List<ApsProcessOperationEquDo> apsProcessOperationEquDoList = new ArrayList<>();
|
|
|
for (ApsCraftRouteStepDo apsCraftRouteStepDo : apsCraftRouteStepDoList) {
|
|
|
if (overRouteStepIds.contains(apsCraftRouteStepDo.getId())) {
|
|
|
continue;
|
|
@@ -145,6 +146,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
apsProcessOperationDo.setPlaninrall(outMaterDo.getPlanrollnum() - outMaterDo.getPlanstockrollnum() - outMaterDo.getPlanprodrollnum());
|
|
|
apsProcessOperationDo.setPlanprocessrall(outMaterDo.getPlanrollnum() - outMaterDo.getPlanstockrollnum() - outMaterDo.getPlanprodrollnum());
|
|
|
apsProcessOperationDo.setBlankid(blanckdata.getStr("ID"));
|
|
|
+ apsProcessOperationDo.setCraftstepid(apsCraftRouteStepDo1.getId());
|
|
|
if (outMaterDo.getThickrule().equals("自定义") || outMaterDo.getWidthrule().equals("自定义") || outMaterDo.getLengthrule().equals("自定义")) {
|
|
|
apsProcessOperationDo.setChangeinmeter("1");//输入物料是否可编辑
|
|
|
}
|
|
@@ -185,6 +187,34 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
apsProcessOperationOutMaterDo.setBlankid(blanckdata.getStr("ID"));
|
|
|
previousProcessVo.setApsProcessOperationOutMaterDo(apsProcessOperationOutMaterDo);
|
|
|
|
|
|
+
|
|
|
+ //本道工序的可选设备
|
|
|
+ List<ApsCraftRouteStepEquDo> apsCraftRouteStepEquDos = apsCraftRouteStepEquService.listByMap(map).stream().collect(Collectors.toList());
|
|
|
+ List<String> equIdList = new ArrayList<>();//设备
|
|
|
+ List<String> equGroupIdList = new ArrayList<>();//资源组
|
|
|
+ for (ApsCraftRouteStepEquDo apsCraftRouteStepEquDo : apsCraftRouteStepEquDos) {
|
|
|
+ ApsProcessOperationEquDo apsProcessOperationEquDo;
|
|
|
+ apsProcessOperationEquDo = BeanUtil.toBean(apsCraftRouteStepEquDo, ApsProcessOperationEquDo.class);
|
|
|
+ apsProcessOperationEquDo.setId(SecurityUtil.getUUID());
|
|
|
+ apsProcessOperationEquDo.setBlankid(blanckdata.getStr("ID"));
|
|
|
+ apsProcessOperationEquDo.setMainid(processId);
|
|
|
+ if (apsProcessOperationEquDo.getResourcetype().equals("资源组")) {
|
|
|
+ if (!equGroupIdList.contains(apsProcessOperationEquDo.getResourceid())) {
|
|
|
+ equGroupIdList.add(apsProcessOperationEquDo.getResourceid());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (!equIdList.contains(apsProcessOperationEquDo.getResourceid())) {
|
|
|
+ equIdList.add(apsProcessOperationEquDo.getResourceid());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ apsProcessOperationEquDoList.add(apsProcessOperationEquDo);
|
|
|
+ }
|
|
|
+ //可选设备IDS
|
|
|
+ if (equIdList.size() > 0 || equGroupIdList.size() > 0) {
|
|
|
+ apsProcessOperationDo.setCanchoosedeviceid(getChooseequids(equIdList, equGroupIdList));
|
|
|
+ }
|
|
|
+
|
|
|
newProcessIds.add(previousProcessVo);
|
|
|
apsProcessOperationDoList.add(apsProcessOperationDo);
|
|
|
apsProcessOperationOutMaterDoList.add(apsProcessOperationOutMaterDo);
|
|
@@ -210,11 +240,13 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
apsProcessOperationDo.setPlaninrall(blanckdata.getInt("ROLLNUM"));
|
|
|
apsProcessOperationDo.setPlanprocessrall(blanckdata.getInt("ROLLNUM"));
|
|
|
apsProcessOperationDo.setBlankid(blanckdata.getStr("ID"));
|
|
|
+ apsProcessOperationDo.setCraftstepid(apsCraftRouteStepDo.getId());
|
|
|
|
|
|
//本道工序信息
|
|
|
previousProcessVo.setProcessId(processId);
|
|
|
previousProcessVo.setProcessName(apsProcessOperationDo.getProcessname());
|
|
|
previousProcessVo.setPreviousstepid(apsCraftRouteStepDo.getId());
|
|
|
+
|
|
|
//本道工序的输出
|
|
|
map.put("CRAFTSTEPID", apsCraftRouteStepDo.getId());
|
|
|
List<ApsCraftRouteOutMaterRequestDo> apsCraftRouteOutMaterRequestDo = apsCraftRouteOutMaterRequestService.listByMap(map).stream().collect(Collectors.toList());
|
|
@@ -247,6 +279,33 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
apsProcessOperationOutMaterDo.setBlankid(blanckdata.getStr("ID"));
|
|
|
previousProcessVo.setApsProcessOperationOutMaterDo(apsProcessOperationOutMaterDo);
|
|
|
|
|
|
+ //本道工序的可选设备
|
|
|
+ List<ApsCraftRouteStepEquDo> apsCraftRouteStepEquDos = apsCraftRouteStepEquService.listByMap(map).stream().collect(Collectors.toList());
|
|
|
+ List<String> equIdList = new ArrayList<>();//设备
|
|
|
+ List<String> equGroupIdList = new ArrayList<>();//资源组
|
|
|
+ for (ApsCraftRouteStepEquDo apsCraftRouteStepEquDo : apsCraftRouteStepEquDos) {
|
|
|
+ ApsProcessOperationEquDo apsProcessOperationEquDo;
|
|
|
+ apsProcessOperationEquDo = BeanUtil.toBean(apsCraftRouteStepEquDo, ApsProcessOperationEquDo.class);
|
|
|
+ apsProcessOperationEquDo.setId(SecurityUtil.getUUID());
|
|
|
+ apsProcessOperationEquDo.setBlankid(blanckdata.getStr("ID"));
|
|
|
+ apsProcessOperationEquDo.setMainid(processId);
|
|
|
+ if (apsProcessOperationEquDo.getResourcetype().equals("资源组")) {
|
|
|
+ if (!equGroupIdList.contains(apsProcessOperationEquDo.getResourceid())) {
|
|
|
+ equGroupIdList.add(apsProcessOperationEquDo.getResourceid());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (!equIdList.contains(apsProcessOperationEquDo.getResourceid())) {
|
|
|
+ equIdList.add(apsProcessOperationEquDo.getResourceid());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ apsProcessOperationEquDoList.add(apsProcessOperationEquDo);
|
|
|
+ }
|
|
|
+ //可选设备IDS
|
|
|
+ if (equIdList.size() > 0 || equGroupIdList.size() > 0) {
|
|
|
+ apsProcessOperationDo.setCanchoosedeviceid(getChooseequids(equIdList, equGroupIdList));
|
|
|
+ }
|
|
|
+
|
|
|
newProcessIds.add(previousProcessVo);
|
|
|
apsProcessOperationDoList.add(apsProcessOperationDo);
|
|
|
apsProcessOperationOutMaterDoList.add(apsProcessOperationOutMaterDo);
|
|
@@ -254,10 +313,13 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// return R.ok();
|
|
|
+
|
|
|
boolean bool1 = apsProcessOperationService.saveOrUpdateBatch(apsProcessOperationDoList);
|
|
|
boolean bool2 = apsProcessOperationOutMaterService.saveOrUpdateBatch(apsProcessOperationOutMaterDoList);
|
|
|
+ boolean bool3 = apsProcessOperationEquService.saveOrUpdateBatch(apsProcessOperationEquDoList);
|
|
|
|
|
|
- if (bool1 && bool2) {
|
|
|
+ if (bool1 && bool2 && bool3) {
|
|
|
// r.setCode("200");
|
|
|
// r.putData(apsCraftRouteStepDoList);
|
|
|
return R.ok();
|
|
@@ -281,6 +343,8 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
apsProcessOperationDao.updateProcessOperation(blankid);
|
|
|
//工序作业输出物料
|
|
|
apsProcessOperationDao.updateProcessOperationOutMeter(blankid);
|
|
|
+ //工序作业可选设备
|
|
|
+ apsProcessOperationDao.updateProcessOperationOEqu(blankid);
|
|
|
}
|
|
|
|
|
|
//工艺步骤管理/物料输出规则
|
|
@@ -332,4 +396,24 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
}
|
|
|
return newVal;
|
|
|
}
|
|
|
+
|
|
|
+ //获取可选设备IDS
|
|
|
+ private String getChooseequids(List<String> equIds, List<String> equGroupIds) {
|
|
|
+ //资源组下所有的设备IDS
|
|
|
+ if (equGroupIds.size() > 0) {
|
|
|
+ List<Map<String, Object>> equGroupIdList = apsProcessOperationDao.getEquGroupIds();
|
|
|
+ for (String groupid : equGroupIds) {
|
|
|
+ List<Map<String, Object>> equGroupIds1 = equGroupIdList.stream().filter(equgroup -> equgroup.get("MAINID").toString().equals(groupid)).collect(Collectors.toList());
|
|
|
+ if (equGroupIds1.size() > 0) {
|
|
|
+ String equIdStr = equGroupIds1.get(0).get("EQUIDS").toString();
|
|
|
+ for (String equid : Arrays.asList(equIdStr.split(","))) {
|
|
|
+ if (!equIds.contains(equid)) {
|
|
|
+ equIds.add(equid);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return String.join(",", equIds);
|
|
|
+ }
|
|
|
}
|