Browse Source

Merge branch 'master' of http://123.57.213.14:3001/zgzt/dosb-java

guoqiang 1 month ago
parent
commit
49c7b3fb10

+ 61 - 43
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/billet/billetOriginalProductRecord/controller/BilletOriginalProductRecordController.java

@@ -227,32 +227,38 @@ public class BilletOriginalProductRecordController extends JeecgController<Bille
 
 	 @ApiOperation(value="钢坯原始生产记录查询", notes="钢坯原始生产记录查询")
 	 @GetMapping(value = "/queryBilletRecordByCcmNo")
-	 public Result<List<BilletOriginalProductRecord>> queryHeatsActualsByCcmNo(@RequestParam(name="ccmNo", required = false) String ccmNo) {
-
-		 String classShiftGroup = String.format("class:shift:group:%s", ccmNo); // 班组
-		 String classShift = String.format("class:shift:%s",ccmNo); // 班别
-		 String shift = !oConvertUtils.getString(redisTemplate.opsForValue().get(classShift)).isEmpty() ? oConvertUtils.getString(redisTemplate.opsForValue().get(classShift)) : "";
-		 String shiftGroup = !oConvertUtils.getString(redisTemplate.opsForValue().get(classShiftGroup)).isEmpty() ? oConvertUtils.getString(redisTemplate.opsForValue().get(classShiftGroup)) : "";
-
-		 if (oConvertUtils.isEmpty(shiftGroup) || oConvertUtils.isEmpty(shift)){
-			 return Result.error("班组班别获取为空,钢坯原始生产记录查询失败!");
-		 }
-		 // 根据ccmNo、shift、shiftGroup查询最新的交班记录
-		 LambdaQueryWrapper<BilletHotsendChangeShift> queryWrapper = new LambdaQueryWrapper<>();
-		 queryWrapper.eq(BilletHotsendChangeShift::getCcmNo, ccmNo)
-				 .eq(BilletHotsendChangeShift::getShift, shift)
-				 .eq(BilletHotsendChangeShift::getShiftGroup, shiftGroup)
-				 .isNull(BilletHotsendChangeShift::getChangeShiftTime)
-				 .orderByDesc(BilletHotsendChangeShift::getCreateTime)
-				 .last("limit 1");
-		 BilletHotsendChangeShift billetHotsendChangeShift = billetHotsendChangeShiftService.getOne(queryWrapper);
-		 if (billetHotsendChangeShift == null){
-			 log.info("{}{}", "钢坯原始生产记录,交班记录为空!", ccmNo + "失败时间:" + new Date());
-			 return Result.error("交班信息为空,钢坯原始生产记录查询失败!");
+	 public Result<List<BilletOriginalProductRecord>> queryHeatsActualsByCcmNo(@RequestParam(name="ccmNo", required = false) String ccmNo,
+																			   @RequestParam(name="changeShiftId", required = false) String changeShiftId,
+																			   @RequestParam(name="queryType") String queryType) {
+		 List<BilletOriginalProductRecord> billetOriginalProductRecords = new ArrayList<>();
+		 BilletHotsendChangeShift billetHotsendChangeShift;
+		 if ("1".equals(queryType)){
+			 String classShiftGroup = String.format("class:shift:group:%s", ccmNo); // 班组
+			 String classShift = String.format("class:shift:%s",ccmNo); // 班别
+			 String shift = !oConvertUtils.getString(redisTemplate.opsForValue().get(classShift)).isEmpty() ? oConvertUtils.getString(redisTemplate.opsForValue().get(classShift)) : "";
+			 String shiftGroup = !oConvertUtils.getString(redisTemplate.opsForValue().get(classShiftGroup)).isEmpty() ? oConvertUtils.getString(redisTemplate.opsForValue().get(classShiftGroup)) : "";
+
+			 if (oConvertUtils.isEmpty(shiftGroup) || oConvertUtils.isEmpty(shift)){
+				 return Result.error("班组班别获取为空,钢坯原始生产记录查询失败!");
+			 }
+			 // 根据ccmNo、shift、shiftGroup查询最新的交班记录
+			 LambdaQueryWrapper<BilletHotsendChangeShift> queryWrapper = new LambdaQueryWrapper<>();
+			 queryWrapper.eq(BilletHotsendChangeShift::getCcmNo, ccmNo)
+					 .eq(BilletHotsendChangeShift::getShift, shift)
+					 .eq(BilletHotsendChangeShift::getShiftGroup, shiftGroup)
+					 .isNull(BilletHotsendChangeShift::getChangeShiftTime)
+					 .orderByDesc(BilletHotsendChangeShift::getCreateTime)
+					 .last("limit 1");
+			 billetHotsendChangeShift = billetHotsendChangeShiftService.getOne(queryWrapper);
+			 if (billetHotsendChangeShift == null){
+				 log.info("{}{}", "钢坯原始生产记录,交班记录为空!", ccmNo + "失败时间:" + new Date());
+				 return Result.error("交班信息为空,钢坯原始生产记录查询失败!");
+			 }
+		 }else {
+			 billetHotsendChangeShift = billetHotsendChangeShiftService.getById(changeShiftId);
 		 }
 		 //1、 获取当班浇筑炉次详细信息
-		 List<BilletOriginalProductRecord> billetOriginalProductRecords = new ArrayList<>();
-		 List<HeatsActualsInfo> heatsActualsInfoList = queryCurrentHeatsActualsInfo(ccmNo, shift, shiftGroup, billetHotsendChangeShift.getCreateTime());
+		 List<HeatsActualsInfo> heatsActualsInfoList = queryCurrentHeatsActualsInfo(ccmNo, billetHotsendChangeShift.getShift(), billetHotsendChangeShift.getShiftGroup(), billetHotsendChangeShift.getCreateTime(), billetHotsendChangeShift.getChangeShiftTime(), queryType);
 		 log.info("原始生产记录,当班浇筑炉次数据信息: " + JSON.toJSON(heatsActualsInfoList));
 		 if (oConvertUtils.listIsNotEmpty(heatsActualsInfoList)){
 			 //2、把获取到的当班浇筑炉次信息heatsActualsInfoList保存到原始生产记录表
@@ -275,10 +281,11 @@ public class BilletOriginalProductRecordController extends JeecgController<Bille
 				 String totalInfoJson = x.getTotalInfo();
 				 if (oConvertUtils.isEmpty(totalInfoJson)){
 					 billetOriginalProductRecord.setAmount(0);// 合计
+				 }else {
+					 JSONObject json = JSON.parseObject(totalInfoJson);
+					 Integer totalCount = json.getInteger("totalCount");
+					 billetOriginalProductRecord.setAmount(totalCount);// 合计
 				 }
-				 JSONObject json = JSON.parseObject(totalInfoJson);
-				 Integer totalCount = json.getInteger("totalCount");
-				 billetOriginalProductRecord.setAmount(totalCount);// 合计
 				 billetOriginalProductRecord.setRollClubOneDetails(x.getDirectRolling());// 直轧热送棒一
 				 billetOriginalProductRecord.setHotChargeLength(x.getHotCharge());
 				 billetOriginalProductRecord.setStackLength(x.getStacking());
@@ -287,14 +294,25 @@ public class BilletOriginalProductRecordController extends JeecgController<Bille
 				 billetOriginalProductRecords.add(billetOriginalProductRecord);
 			 });
 			 log.info("钢坯原始生产记录信息: " + JSON.toJSON(billetOriginalProductRecords));
-			 billetOriginalProductRecordService.saveBatch(billetOriginalProductRecords);
+			 try {
+				 // 批量保存
+				 billetOriginalProductRecordService.saveBatch(billetOriginalProductRecords);
+			 } catch (Exception e) {
+				 log.error("保存钢坯原始生产记录失败", e);
+				 return Result.error("钢坯原始生产记录数据保存失败,请重试");
+			 }
+		 }
+		 QueryWrapper<BilletOriginalProductRecord> queryWrapper3 = new QueryWrapper<>();
+		 queryWrapper3.eq("ccm_no", ccmNo)
+				 .eq("shift", billetHotsendChangeShift.getShift())
+				 .eq("shift_group", billetHotsendChangeShift.getShiftGroup());
+		 if ("1".equals(queryType)){
+			 queryWrapper3.between("create_time", billetHotsendChangeShift.getCreateTime(), new Date());
+		 }else {
+			 queryWrapper3.between("create_time", billetHotsendChangeShift.getCreateTime(), billetHotsendChangeShift.getChangeShiftTime());
 		 }
 		 // 通过铸机号、班组、班别、交班开始时间 查询钢坯生产原始记录
-		 List<BilletOriginalProductRecord> billetOriginalProductRecordList = billetOriginalProductRecordService.list(new QueryWrapper<BilletOriginalProductRecord>()
-				 .eq("ccm_no", ccmNo)
-				 .eq("shift", shift)
-				 .eq("shift_group", shiftGroup)
-				 .between("create_time", billetHotsendChangeShift.getCreateTime(), new Date()));
+		 List<BilletOriginalProductRecord> billetOriginalProductRecordList = billetOriginalProductRecordService.list(queryWrapper3);
 		 return Result.OK(billetOriginalProductRecordList);
 	 }
 
@@ -305,18 +323,22 @@ public class BilletOriginalProductRecordController extends JeecgController<Bille
 	  * @param shiftGroup
 	  * @return
 	  */
-	 private List<HeatsActualsInfo> queryCurrentHeatsActualsInfo(String ccmNo, String shift, String shiftGroup, Date createTime) {
+	 private List<HeatsActualsInfo> queryCurrentHeatsActualsInfo(String ccmNo, String shift, String shiftGroup, Date shiftStartTime, Date shiftEndTime, String queryType) {
 		 List<HeatsActualsInfo> heatsActualsInfoList = new ArrayList<>();
 		 //根据ccmNo、shift、shiftGroup、大于billetHotsendChangeShift的创建时间 查询所有炉次传递单BilletHotsend
 		 LambdaQueryWrapper<BilletHotsend> queryWrapper1 = new LambdaQueryWrapper<>();
 		 queryWrapper1.eq(BilletHotsend::getCcmNo, ccmNo)
 				 .eq(BilletHotsend::getShift, shift)
-				 .eq(BilletHotsend::getShiftGroup, shiftGroup)
-				 .between(BilletHotsend::getCreateTime, createTime, new Date())
-				 .orderByDesc(BilletHotsend::getCreateTime);
+				 .eq(BilletHotsend::getShiftGroup, shiftGroup);
+		 if ("1".equals(queryType)){
+			 queryWrapper1.between(BilletHotsend::getCreateTime, shiftStartTime, new Date());
+		 }else {
+			 queryWrapper1.between(BilletHotsend::getCreateTime, shiftStartTime, shiftEndTime);
+		 }
+		 queryWrapper1.orderByDesc(BilletHotsend::getCreateTime);
 		 List<BilletHotsend> billetHotsendList = billetHotsendBaseService.list(queryWrapper1);
 		 if (oConvertUtils.listIsEmpty(billetHotsendList)){
-			 log.info("{}{}", "钢坯原始生产记录,炉次传递单为空!", ccmNo + "失败时间:" + new Date());
+			 log.info("{}{}", "钢坯原始生产记录查询失败,炉次传递单为空!", ccmNo + "失败时间:" + new Date());
 			 return heatsActualsInfoList;
 		 }
 		 List<String> distinctHeatNoList = billetHotsendList.stream()
@@ -358,11 +380,7 @@ public class BilletOriginalProductRecordController extends JeecgController<Bille
 			 heatsActualsInfo.setShiftGroup(x.getShiftGroup());
 			 heatsActualsInfo.setShift(x.getShift());
 			 heatsActualsInfo.setHeatNo(x.getHeatNo());
-
-			 String brandNum = String.format("billet:basic:info:brand:num:%s", ccmNo); // 牌号
-			 String brandNumStr = !oConvertUtils.getString(redisTemplate.opsForValue().get(brandNum)).isEmpty() ? oConvertUtils.getString(redisTemplate.opsForValue().get(brandNum)) : "";
-
-			 heatsActualsInfo.setBrandNum(brandNumStr);
+			 heatsActualsInfo.setBrandNum(x.getBrandNum());// 牌号 钢种
 			 // 根据铸机号、炉号查询钢坯实绩信息BilletBasicInfo
 			 LambdaQueryWrapper<BilletBasicInfo> queryWrapper2 = new LambdaQueryWrapper<>();
 			 queryWrapper2.eq(BilletBasicInfo::getCcmNo, x.getCcmNo())

+ 1 - 1
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/billet/storageBill/controller/StorageBillController.java

@@ -2339,7 +2339,7 @@ public class StorageBillController extends JeecgController<StorageBill, IStorage
 										long rollDeputyCrossCount = list.stream()
 												.filter(billet -> "roll_deputy_cross".equals(billet.getBelongTable()))
 												.count();
-										groupResult.put("rollDeputyCrossCount", (int) rollClubTwoCount);
+										groupResult.put("rollDeputyCrossCount", (int) rollDeputyCrossCount);
 										// 棒三统计
 										long rollClubThreeCount = list.stream()
 												.filter(billet -> "roll_club_three".equals(billet.getBelongTable()))