guoqiang 1 kuukausi sitten
vanhempi
sitoutus
fbc4b86f2c

+ 34 - 2
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/actualControl/billetActual/billetActual/controller/BilletBasicInfoController.java

@@ -85,11 +85,43 @@ public class BilletBasicInfoController extends JeecgController<BilletBasicInfo,
 	@AutoLog(value = "钢坯基础信息-添加")
 	@ApiOperation(value="钢坯基础信息-添加", notes="钢坯基础信息-添加")
 	@PostMapping(value = "/add")
-	public Result<?> add(@RequestBody BilletBasicInfo billetBasicInfo) {
-		billetBasicInfoService.save(billetBasicInfo);
+	public Result<?> add(@RequestBody BilletBasicInfo billetBasicInfo,
+						 @RequestParam(name="number", defaultValue="1") Integer number) {
+		// 查询该炉号最后一条钢坯记录
+		BilletBasicInfo lastBilletBasicInfo = billetBasicInfoService.getOne(new QueryWrapper<BilletBasicInfo>().eq("ccm_no", billetBasicInfo.getCcmNo()).eq("heat_no", billetBasicInfo.getHeatNo()).orderByDesc("create_time"));
+		if (number == 1) {
+			if (oConvertUtils.isNotEmpty(lastBilletBasicInfo)) {
+				billetBasicInfo.setHeatnoIndex(lastBilletBasicInfo.getHeatnoIndex() + 1);
+				billetBasicInfo.setStrandnoIndex(lastBilletBasicInfo.getStrandnoIndex() + 1);
+			} else {
+				billetBasicInfo.setHeatnoIndex(1);
+				// 随机生成坯号
+				String billetNo = generateUniqueBilletNo(billetBasicInfo.getCcmNo(), billetBasicInfo.getHeatNo());
+				billetBasicInfo.setBilletNo(billetNo);
+			}
+			billetBasicInfoService.save(billetBasicInfo);
+		} else { // 多条补录
+			for (int i = 0; i < number; i++) {
+				billetBasicInfo.setId(null);
+				billetBasicInfoService.save(billetBasicInfo);
+			}
+		}
 		return Result.OK("添加成功!");
 	}
 
+	/**
+	 * 生成唯一的坯号
+	 *
+	 * @return 坯号
+	 */
+	private String generateUniqueBilletNo(Integer ccmNo, String heatNo) {
+		String billetNo;
+		do {
+			billetNo = heatNo +  (int)(Math.random() * 10000);
+		} while (billetBasicInfoService.exists(new QueryWrapper<BilletBasicInfo>().eq("billet_no", billetNo). eq("ccm_no", ccmNo)));
+		return billetNo;
+	}
+
 	/**
 	 *  编辑
 	 *

+ 3 - 0
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/actualControl/billetActual/billetActual/service/IBilletBasicInfoService.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.actualControl.billetActual.billetActual.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.actualControl.billetActual.billetActual.entity.BilletBasicInfo;
 import org.jeecg.modules.billet.billetHotsend.entity.RulerDefaultConfig;
@@ -22,4 +23,6 @@ public interface IBilletBasicInfoService extends IService<BilletBasicInfo> {
     List<Integer> queryBilletLengthList(Integer ccmNo, String heatNo);
 
     List<BilletHotsendTypeConfig> queryBilletNameList(String ccmNo);
+
+    boolean exists(QueryWrapper<BilletBasicInfo> billetNo);
 }