|
@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.rongwei.bscommon.sys.dao.ApsReportOutputDao;
|
|
|
import com.rongwei.bscommon.sys.service.ApsProcessOperationOutMaterService;
|
|
|
+import com.rongwei.bscommon.sys.service.ApsProcessOperationService;
|
|
|
import com.rongwei.bscommon.sys.service.ApsReportRecordsService;
|
|
|
import com.rongwei.bscommon.sys.utils.QRCodeGenerator;
|
|
|
+import com.rongwei.bsentity.domain.ApsProcessOperationDo;
|
|
|
import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
|
|
|
import com.rongwei.bsentity.domain.ApsReportOutputDo;
|
|
|
import com.rongwei.bsentity.domain.ApsReportRecordsDo;
|
|
@@ -42,6 +44,8 @@ public class ApsReportOutputServiceImpl extends ServiceImpl<ApsReportOutputDao,
|
|
|
private CXAdminFeginClient cxAdminFeginClient;
|
|
|
@Autowired
|
|
|
private ApsReportRecordsService apsReportRecordsService;
|
|
|
+ @Autowired
|
|
|
+ private ApsProcessOperationService apsProcessOperationService;
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
@@ -152,22 +156,69 @@ public class ApsReportOutputServiceImpl extends ServiceImpl<ApsReportOutputDao,
|
|
|
apsReportOutputDo.setQrcode(qrCode);
|
|
|
resList.add(apsReportOutputDo);
|
|
|
} else {//输出物料数量>1,或者单卷输出数量>1
|
|
|
- //分卷开始初始化值
|
|
|
- int j = 1;
|
|
|
- for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : list) {
|
|
|
- int outval = apsProcessOperationOutMaterDo.getOutval();
|
|
|
- for (int i = 1; i <= outval; i++) {
|
|
|
- //插入记录物料子表
|
|
|
- ApsReportOutputDo apsReportOutputDo = new ApsReportOutputDo();
|
|
|
+ //查询工序作业信息
|
|
|
+ ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(req.getProcessId());
|
|
|
+ //分切工序
|
|
|
+ if (apsProcessOperationDo.getProcess().equals("分切")) {
|
|
|
+ int j = 1;//初始化分切车次
|
|
|
+ for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : list) {
|
|
|
+ //每个输出物料的分切车次
|
|
|
+ Integer splittrainno = apsProcessOperationOutMaterDo.getSplittrainno();
|
|
|
+ //输出卷数
|
|
|
+ Integer outval = apsProcessOperationOutMaterDo.getOutval();
|
|
|
+ //每次分切的卷数
|
|
|
+ int count = outval / splittrainno;
|
|
|
+ //分切车次循环
|
|
|
+ for (int k = 0; k < splittrainno; k++) {
|
|
|
+ //分卷循环
|
|
|
+ for (int i = 1; i <= count; i++) {
|
|
|
+ //插入记录物料子表
|
|
|
+ ApsReportOutputDo apsReportOutputDo = new ApsReportOutputDo();
|
|
|
|
|
|
- apsReportOutputDo.setMainid(req.getMainId());
|
|
|
- apsReportOutputDo.setOutputid(apsProcessOperationOutMaterDo.getId());
|
|
|
- apsReportOutputDo.setOutputmaterial(apsProcessOperationOutMaterDo.getOutputmaterial());
|
|
|
- apsReportOutputDo.setLevel(req.getLevel());
|
|
|
- //生成批次号
|
|
|
- //不用走系统生成的批次号了,按照输入的批次号就行分卷就行
|
|
|
- String code = req.getInputBatchNumber() + "-" + j;
|
|
|
- j++;
|
|
|
+ apsReportOutputDo.setMainid(req.getMainId());
|
|
|
+ apsReportOutputDo.setOutputid(apsProcessOperationOutMaterDo.getId());
|
|
|
+ apsReportOutputDo.setOutputmaterial(apsProcessOperationOutMaterDo.getOutputmaterial());
|
|
|
+ apsReportOutputDo.setLevel(req.getLevel());
|
|
|
+ //生成批次号
|
|
|
+ String code = req.getInputBatchNumber() + "-" + j + "-" + i;
|
|
|
+
|
|
|
+ apsReportOutputDo.setOutputnumber(code);
|
|
|
+ JSONObject json = new JSONObject();
|
|
|
+ json.put("batchNumber", code);
|
|
|
+ //生成二维码
|
|
|
+ String qrCode = QRCodeGenerator.stringToQRCodeBase64(json.toJSONString(), 200, 200, "png");
|
|
|
+ apsReportOutputDo.setQrcode(qrCode);
|
|
|
+
|
|
|
+ apsReportOutputDo.setId(SecurityUtil.getUUID());
|
|
|
+ apsReportOutputDo.setThickness(apsProcessOperationOutMaterDo.getThickness());
|
|
|
+ apsReportOutputDo.setWidth(apsProcessOperationOutMaterDo.getProwidth());
|
|
|
+ apsReportOutputDo.setLength(apsProcessOperationOutMaterDo.getProlength());
|
|
|
+ apsReportOutputDo.setWeight(apsProcessOperationOutMaterDo.getSinglerollweight());
|
|
|
+ apsReportOutputDo.setInsepctionlevel(insepctionLevel);
|
|
|
+ apsReportOutputDo.setQualified(qualified);
|
|
|
+ resList.add(apsReportOutputDo);
|
|
|
+
|
|
|
+ }
|
|
|
+ j++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {//非分切工序
|
|
|
+ //分卷开始初始化值
|
|
|
+ int j = 1;
|
|
|
+ for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : list) {
|
|
|
+ int outval = apsProcessOperationOutMaterDo.getOutval();
|
|
|
+ for (int i = 1; i <= outval; i++) {
|
|
|
+ //插入记录物料子表
|
|
|
+ ApsReportOutputDo apsReportOutputDo = new ApsReportOutputDo();
|
|
|
+
|
|
|
+ apsReportOutputDo.setMainid(req.getMainId());
|
|
|
+ apsReportOutputDo.setOutputid(apsProcessOperationOutMaterDo.getId());
|
|
|
+ apsReportOutputDo.setOutputmaterial(apsProcessOperationOutMaterDo.getOutputmaterial());
|
|
|
+ apsReportOutputDo.setLevel(req.getLevel());
|
|
|
+ //生成批次号
|
|
|
+ //不用走系统生成的批次号了,按照输入的批次号就行分卷就行
|
|
|
+ String code = req.getInputBatchNumber() + "-" + j;
|
|
|
+ j++;
|
|
|
|
|
|
// //生成批次号
|
|
|
// SysSerialVo vo = new SysSerialVo();
|
|
@@ -179,21 +230,22 @@ public class ApsReportOutputServiceImpl extends ServiceImpl<ApsReportOutputDao,
|
|
|
// Map<String, Object> codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
|
|
|
// String code = codeData.get("code").toString();
|
|
|
|
|
|
- apsReportOutputDo.setOutputnumber(code);
|
|
|
- JSONObject json = new JSONObject();
|
|
|
- json.put("batchNumber", code);
|
|
|
- //生成二维码
|
|
|
- String qrCode = QRCodeGenerator.stringToQRCodeBase64(json.toJSONString(), 200, 200, "png");
|
|
|
- apsReportOutputDo.setQrcode(qrCode);
|
|
|
+ apsReportOutputDo.setOutputnumber(code);
|
|
|
+ JSONObject json = new JSONObject();
|
|
|
+ json.put("batchNumber", code);
|
|
|
+ //生成二维码
|
|
|
+ String qrCode = QRCodeGenerator.stringToQRCodeBase64(json.toJSONString(), 200, 200, "png");
|
|
|
+ apsReportOutputDo.setQrcode(qrCode);
|
|
|
|
|
|
- apsReportOutputDo.setId(SecurityUtil.getUUID());
|
|
|
- apsReportOutputDo.setThickness(apsProcessOperationOutMaterDo.getThickness());
|
|
|
- apsReportOutputDo.setWidth(apsProcessOperationOutMaterDo.getProwidth());
|
|
|
- apsReportOutputDo.setLength(apsProcessOperationOutMaterDo.getProlength());
|
|
|
- apsReportOutputDo.setWeight(apsProcessOperationOutMaterDo.getSinglerollweight());
|
|
|
- apsReportOutputDo.setInsepctionlevel(insepctionLevel);
|
|
|
- apsReportOutputDo.setQualified(qualified);
|
|
|
- resList.add(apsReportOutputDo);
|
|
|
+ apsReportOutputDo.setId(SecurityUtil.getUUID());
|
|
|
+ apsReportOutputDo.setThickness(apsProcessOperationOutMaterDo.getThickness());
|
|
|
+ apsReportOutputDo.setWidth(apsProcessOperationOutMaterDo.getProwidth());
|
|
|
+ apsReportOutputDo.setLength(apsProcessOperationOutMaterDo.getProlength());
|
|
|
+ apsReportOutputDo.setWeight(apsProcessOperationOutMaterDo.getSinglerollweight());
|
|
|
+ apsReportOutputDo.setInsepctionlevel(insepctionLevel);
|
|
|
+ apsReportOutputDo.setQualified(qualified);
|
|
|
+ resList.add(apsReportOutputDo);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|