|
@@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.json.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.rongwei.bscommon.sys.dao.ApsBlankOrderDao;
|
|
|
import com.rongwei.bscommon.sys.dao.ApsProcessOperationDao;
|
|
|
import com.rongwei.bscommon.sys.service.*;
|
|
|
import com.rongwei.bsentity.domain.*;
|
|
@@ -41,6 +42,9 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
@Autowired
|
|
|
private ApsProcessOperationDao apsProcessOperationDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ApsBlankOrderDao apsBlankOrderDao;
|
|
|
+
|
|
|
@Autowired
|
|
|
ApsCraftRouteStepService apsCraftRouteStepService;
|
|
|
|
|
@@ -202,7 +206,12 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
apsProcessOperationDo.setSinglerollweight(outMaterDo.getSinglerollweight());
|
|
|
Integer planInRall = outMaterDo.getPlanrollnum() - outMaterDo.getPlanstockrollnum() - outMaterDo.getPlanprodrollnum();
|
|
|
apsProcessOperationDo.setPlaninrall(planInRall);
|
|
|
- apsProcessOperationDo.setPlanprocessrall(planInRall);
|
|
|
+ //输入物料ID对应前道工序作业输出物料只有一个后道工序作业),则不可编辑,自动计算=计划输入卷数
|
|
|
+ if (apsCraftRouteStepDoList1.size() == 1) {
|
|
|
+ apsProcessOperationDo.setPlanprocessrall(processVo.get(0).getPlanprocessrall());
|
|
|
+ } else {
|
|
|
+ apsProcessOperationDo.setPlanprocessrall(0);
|
|
|
+ }
|
|
|
apsProcessOperationDo.setUnfinishroll(planInRall);
|
|
|
apsProcessOperationDo.setBlankid(blanckdata.getStr("ID"));
|
|
|
apsProcessOperationDo.setCraftstepid(apsCraftRouteStepDo1.getId());
|
|
@@ -214,6 +223,8 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
previousProcessVo.setProcessId(processId);
|
|
|
previousProcessVo.setProcessName(apsProcessOperationDo.getProcessname());
|
|
|
previousProcessVo.setPreviousstepid(apsCraftRouteStepDo1.getId());
|
|
|
+ previousProcessVo.setPlanprocessrall(apsProcessOperationDo.getPlanprocessrall());
|
|
|
+
|
|
|
//本道工序的输出
|
|
|
map.put("CRAFTSTEPID", apsCraftRouteStepDo1.getId());
|
|
|
List<ApsCraftRouteOutMaterRequestDo> apsCraftRouteOutMaterRequestDo = apsCraftRouteOutMaterRequestService.listByMap(map).stream().collect(Collectors.toList());
|
|
@@ -249,17 +260,18 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
apsProcessOperationOutMaterDo.setRipcutnum(1);
|
|
|
apsProcessOperationOutMaterDo.setCrosscutnum(1);
|
|
|
apsProcessOperationOutMaterDo.setOutval(1);
|
|
|
- apsProcessOperationOutMaterDo.setPlanrollnum(blanckdata.getInt("ROLLNUM"));
|
|
|
+ apsProcessOperationOutMaterDo.setPlanrollnum(apsProcessOperationDo.getPlanprocessrall());
|
|
|
//输入物料的输入单卷重*该输出物料的宽度/输入物料的宽度/该输出物料的横切分卷数
|
|
|
- String singlerollweight = df.format(outMaterDo.getSinglerollweight().multiply(wval == null ? BigDecimal.valueOf(1) : wval).divide(outMaterDo.getProwidth() == null ? BigDecimal.valueOf(1) : outMaterDo.getProwidth(), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
- apsProcessOperationOutMaterDo.setSinglerollweight(new BigDecimal(singlerollweight));
|
|
|
+// String singlerollweight = df.format(outMaterDo.getSinglerollweight().multiply(wval == null ? BigDecimal.valueOf(1) : wval).divide(outMaterDo.getProwidth() == null ? BigDecimal.valueOf(1) : outMaterDo.getProwidth(), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+// apsProcessOperationOutMaterDo.setSinglerollweight(new BigDecimal(singlerollweight));
|
|
|
+ apsProcessOperationOutMaterDo.setSinglerollweight(outMaterDo.getSinglerollweight());
|
|
|
apsProcessOperationOutMaterDo.setNumunit(blanckdata.getStr("NUMBERUNIT"));
|
|
|
apsProcessOperationOutMaterDo.setPlanstockrollnum(0);
|
|
|
apsProcessOperationOutMaterDo.setPlanprodrollnum(0);
|
|
|
apsProcessOperationOutMaterDo.setMainid(processId);
|
|
|
apsProcessOperationOutMaterDo.setBlankid(blanckdata.getStr("ID"));
|
|
|
//输出物料
|
|
|
- String outputMeter = getOutMeterInfo(outProducttype, outMeter, outMetalstate, tval, wval, lval, apsProcessOperationOutMaterDo.getThickoffset(), apsProcessOperationOutMaterDo.getWidthoffset(), apsProcessOperationOutMaterDo.getLengthoffset()) + singlerollweight + UNIT_MAP.getOrDefault(blanckdata.getStr("NUMBERUNIT"), "");
|
|
|
+ String outputMeter = getOutMeterInfo(outProducttype, outMeter, outMetalstate, tval, wval, lval, apsProcessOperationOutMaterDo.getThickoffset(), apsProcessOperationOutMaterDo.getWidthoffset(), apsProcessOperationOutMaterDo.getLengthoffset()) + outMaterDo.getSinglerollweight() + UNIT_MAP.getOrDefault(blanckdata.getStr("NUMBERUNIT"), "");
|
|
|
apsProcessOperationOutMaterDo.setOutputmaterial(outputMeter + "*" + blanckdata.getInt("ROLLNUM") + "卷");
|
|
|
apsProcessOperationDo.setPlanoutput("[1]" + outputMeter + "*" + blanckdata.getInt("ROLLNUM") + "卷");
|
|
|
//输出成品
|
|
@@ -350,6 +362,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
previousProcessVo.setProcessId(processId);
|
|
|
previousProcessVo.setProcessName(apsProcessOperationDo.getProcessname());
|
|
|
previousProcessVo.setPreviousstepid(apsCraftRouteStepDo.getId());
|
|
|
+ previousProcessVo.setPlanprocessrall(blanckdata.getInt("ROLLNUM"));
|
|
|
|
|
|
//本道工序的输出
|
|
|
map.put("CRAFTSTEPID", apsCraftRouteStepDo.getId());
|
|
@@ -388,15 +401,16 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
apsProcessOperationOutMaterDo.setOutval(1);
|
|
|
apsProcessOperationOutMaterDo.setPlanrollnum(blanckdata.getInt("ROLLNUM"));
|
|
|
//输入物料的输入单卷重*该输出物料的宽度/输入物料的宽度/该输出物料的横切分卷数
|
|
|
- String singlerollweight = df.format(blanckdata.getBigDecimal("SINGLEROLLWEIGHT").multiply(wval == null ? BigDecimal.valueOf(1) : wval).divide(blanckdata.getBigDecimal("PROWIDTH") == null ? BigDecimal.valueOf(1) : blanckdata.getBigDecimal("PROWIDTH"), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
- apsProcessOperationOutMaterDo.setSinglerollweight(new BigDecimal(singlerollweight));
|
|
|
+// String singlerollweight = df.format(blanckdata.getBigDecimal("SINGLEROLLWEIGHT").multiply(wval == null ? BigDecimal.valueOf(1) : wval).divide(blanckdata.getBigDecimal("PROWIDTH") == null ? BigDecimal.valueOf(1) : blanckdata.getBigDecimal("PROWIDTH"), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+// apsProcessOperationOutMaterDo.setSinglerollweight(new BigDecimal(singlerollweight));
|
|
|
+ apsProcessOperationOutMaterDo.setSinglerollweight(blanckdata.getBigDecimal("SINGLEROLLWEIGHT"));
|
|
|
apsProcessOperationOutMaterDo.setNumunit(blanckdata.getStr("NUMBERUNIT"));
|
|
|
apsProcessOperationOutMaterDo.setPlanstockrollnum(0);
|
|
|
apsProcessOperationOutMaterDo.setPlanprodrollnum(0);
|
|
|
apsProcessOperationOutMaterDo.setMainid(processId);
|
|
|
apsProcessOperationOutMaterDo.setBlankid(blanckdata.getStr("ID"));
|
|
|
//输出物料
|
|
|
- String outputMeter = getOutMeterInfo(outProducttype, outMeter, outMetalstate, tval, wval, lval, apsProcessOperationOutMaterDo.getThickoffset(), apsProcessOperationOutMaterDo.getWidthoffset(), apsProcessOperationOutMaterDo.getLengthoffset()) + singlerollweight + UNIT_MAP.getOrDefault(blanckdata.getStr("NUMBERUNIT"), "");
|
|
|
+ String outputMeter = getOutMeterInfo(outProducttype, outMeter, outMetalstate, tval, wval, lval, apsProcessOperationOutMaterDo.getThickoffset(), apsProcessOperationOutMaterDo.getWidthoffset(), apsProcessOperationOutMaterDo.getLengthoffset()) + blanckdata.getBigDecimal("SINGLEROLLWEIGHT") + UNIT_MAP.getOrDefault(blanckdata.getStr("NUMBERUNIT"), "");
|
|
|
apsProcessOperationOutMaterDo.setOutputmaterial(outputMeter + "*" + blanckdata.getInt("ROLLNUM") + "卷");
|
|
|
apsProcessOperationDo.setPlanoutput("[1]" + outputMeter + "*" + blanckdata.getInt("ROLLNUM") + "卷");
|
|
|
//输出成品
|
|
@@ -473,6 +487,8 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
boolean bool4 = sysMindMappingService.saveOrUpdateBatch(sysMindMappingDos);
|
|
|
|
|
|
if (bool1 && bool2 && bool3 && bool4) {
|
|
|
+ //更新坯料计划的所选工艺路线
|
|
|
+ apsBlankOrderDao.upCraftrouteId(blanckdata.getStr("ID"), craftrouteid);
|
|
|
// r.setCode("200");
|
|
|
// r.putData(apsCraftRouteStepDoList);
|
|
|
return R.ok();
|
|
@@ -570,6 +586,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
public List<ApsProcessOperationOutMaterDo> resetProcessOperation(List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDoList) {
|
|
|
List<ApsProcessOperationOutMaterDo> operationOutMaterDos = new ArrayList<>();//递归的数据源
|
|
|
try {
|
|
|
+// List<ApsProcessOperationDo> processOperationDos = apsProcessOperationDao.getProcessOperation(apsProcessOperationOutMaterDoList.get(0).getBlankid());
|
|
|
List<ApsProcessOperationDo> apsProcessOperationDoList = new ArrayList<>();
|
|
|
List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDoNewList = new ArrayList<>();
|
|
|
for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : apsProcessOperationOutMaterDoList) {
|
|
@@ -589,7 +606,12 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
apsProcessOperationDo.setSinglerollweight(apsProcessOperationOutMaterDo.getSinglerollweight());
|
|
|
Integer planinrall = apsProcessOperationOutMaterDo.getPlanrollnum() - apsProcessOperationOutMaterDo.getPlanstockrollnum() - apsProcessOperationOutMaterDo.getPlanprodrollnum();
|
|
|
apsProcessOperationDo.setPlaninrall(planinrall);
|
|
|
- apsProcessOperationDo.setPlanprocessrall(planinrall);
|
|
|
+ //输入物料ID对应前道工序作业输出物料只有一个后道工序作业),则不可编辑,自动计算=计划输入卷数
|
|
|
+ if (apsProcessOperationDos.size() == 1) {
|
|
|
+ apsProcessOperationDo.setPlanprocessrall(planinrall);
|
|
|
+// ApsProcessOperationDo operationDo = processOperationDos.stream().filter(item -> item.getId().equals(apsProcessOperationDo.getPreviousprocessid())).findFirst().get();
|
|
|
+// apsProcessOperationDo.setPlanprocessrall(operationDo.getPlanprocessrall());
|
|
|
+ }
|
|
|
apsProcessOperationDo.setUnfinishroll(planinrall - apsProcessOperationDo.getCheckoutroll());
|
|
|
String meterInput = getInMeterInfo(apsProcessOperationOutMaterDo.getProducttype(), apsProcessOperationOutMaterDo.getMetal(), apsProcessOperationOutMaterDo.getMetalstate(), apsProcessOperationOutMaterDo.getThickness(), apsProcessOperationOutMaterDo.getProwidth(), apsProcessOperationOutMaterDo.getProlength());
|
|
|
apsProcessOperationDo.setPlaninput(meterInput + apsProcessOperationOutMaterDo.getSinglerollweight() + UNIT_MAP.getOrDefault(apsProcessOperationOutMaterDo.getNumunit(), ""));
|
|
@@ -624,12 +646,14 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
apsProcessOperationOutMaterDo1.setProwidth(wval);
|
|
|
BigDecimal lval = changeSize(apsProcessOperationOutMaterDo.getProlength(), apsProcessOperationOutMaterDo1.getLengthrule(), apsProcessOperationOutMaterDo1.getLengthchange());
|
|
|
apsProcessOperationOutMaterDo1.setProlength(lval);
|
|
|
- apsProcessOperationOutMaterDo1.setPlanrollnum(planinrall * apsProcessOperationOutMaterDo1.getOutval());
|
|
|
+// apsProcessOperationOutMaterDo1.setPlanrollnum(planinrall * apsProcessOperationOutMaterDo1.getOutval());
|
|
|
+ apsProcessOperationOutMaterDo1.setPlanrollnum(apsProcessOperationDo.getPlanprocessrall());
|
|
|
//输入物料的输入单卷重*该输出物料的宽度/输入物料的宽度/该输出物料的横切分卷数
|
|
|
- String singlerollweight = df.format(apsProcessOperationOutMaterDo.getSinglerollweight().multiply(wval == null ? BigDecimal.valueOf(1) : wval).divide(apsProcessOperationOutMaterDo.getProwidth() == null ? BigDecimal.valueOf(1) : apsProcessOperationOutMaterDo.getProwidth(), 2, BigDecimal.ROUND_HALF_UP).divide(new BigDecimal(apsProcessOperationOutMaterDo1.getCrosscutnum().toString()), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
- apsProcessOperationOutMaterDo1.setSinglerollweight(new BigDecimal(singlerollweight));
|
|
|
+// String singlerollweight = df.format(apsProcessOperationOutMaterDo.getSinglerollweight().multiply(wval == null ? BigDecimal.valueOf(1) : wval).divide(apsProcessOperationOutMaterDo.getProwidth() == null ? BigDecimal.valueOf(1) : apsProcessOperationOutMaterDo.getProwidth(), 2, BigDecimal.ROUND_HALF_UP).divide(new BigDecimal(apsProcessOperationOutMaterDo1.getCrosscutnum().toString()), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
+// apsProcessOperationOutMaterDo1.setSinglerollweight(new BigDecimal(singlerollweight));
|
|
|
+ apsProcessOperationOutMaterDo1.setSinglerollweight(apsProcessOperationOutMaterDo.getSinglerollweight());
|
|
|
//输出物料
|
|
|
- String outputMeter = getOutMeterInfo(outProducttype, outMeter, outMetalstate, tval, wval, lval, apsProcessOperationOutMaterDo1.getThickoffset(), apsProcessOperationOutMaterDo1.getWidthoffset(), apsProcessOperationOutMaterDo.getLengthoffset()) + singlerollweight + UNIT_MAP.getOrDefault(apsProcessOperationDo.getNumunit(), "");
|
|
|
+ String outputMeter = getOutMeterInfo(outProducttype, outMeter, outMetalstate, tval, wval, lval, apsProcessOperationOutMaterDo1.getThickoffset(), apsProcessOperationOutMaterDo1.getWidthoffset(), apsProcessOperationOutMaterDo.getLengthoffset()) + apsProcessOperationOutMaterDo.getSinglerollweight() + UNIT_MAP.getOrDefault(apsProcessOperationDo.getNumunit(), "");
|
|
|
apsProcessOperationOutMaterDo1.setOutputmaterial(outputMeter + "*" + (planinrall * apsProcessOperationOutMaterDo1.getOutval()) + "卷");
|
|
|
planoutputList.add(outputMeter + "*" + (planinrall * apsProcessOperationOutMaterDo1.getOutval()) + "卷");
|
|
|
apsProcessOperationOutMaterDo1.setOutmaterrequest(outputMeter);
|