17491 1 неделя назад
Родитель
Сommit
4d2df30d20

+ 25 - 0
src/main/java/com/jeesite/modules/mes/service/MesLaserService.java

@@ -186,6 +186,31 @@ public class MesLaserService {
 	}
 
 	/**
+	 * 客户码与钢印码直接绑定(不校验)。
+	 * 如果客户码已有绑定关系,会覆盖原有绑定;如果钢印码已绑定到其他客户码,也会覆盖。
+	 * @param customerSn 客户码
+	 * @param steelSn 钢印码
+	 */
+	@Transactional
+	public void bindSteelSnDirectly(String customerSn, String steelSn) {
+		// 先删除该客户码的旧绑定(如果存在)
+		jdbcTemplate.update(
+				"DELETE FROM mes_product_laser WHERE customer_sn = ?",
+				customerSn);
+
+		// 再删除该钢印码的旧绑定(如果存在)
+		jdbcTemplate.update(
+				"DELETE FROM mes_product_laser WHERE steel_sn = ?",
+				steelSn);
+
+		// 插入新的绑定关系
+		jdbcTemplate.update(
+				"INSERT INTO mes_product_laser(id,customer_sn,steel_sn,print_status,create_by,create_date,update_by,update_date) " +
+						"VALUES (?,?,?,1,'pda',now(),'pda',now())",
+				UUID.randomUUID().toString().replace("-", ""), customerSn, steelSn);
+	}
+
+	/**
 	 * 只生成客户编码,不做绑定(预留,正常流程走 genAndBindCustomerSn)
 	 */
 	@Transactional

+ 1 - 0
src/main/java/com/jeesite/modules/mes/util/CommonUitl.java

@@ -232,6 +232,7 @@ public class CommonUitl {
      * @param cateSn 产品类型编码
      * @return
      */
+
     public static Boolean checkProductSn(String sn,String cateSn){
         switch (cateSn){
             case "ZHXT":

+ 38 - 0
src/main/java/com/jeesite/modules/mes/web/MesPdaProductController.java

@@ -70,4 +70,42 @@ public class MesPdaProductController extends BaseController {
 		resp.setMessage("OK");
 		return resp;
 	}
+
+	/**
+	 * 客户码与钢印码直接绑定(不校验)。
+	 * 请求参数:sn=客户码,steelSn=钢印码
+	 */
+	@RequestMapping(value = "bindSteelSn", method = {RequestMethod.GET, RequestMethod.POST})
+	@ResponseBody
+	public CommonResp<Map<String, String>> bindSteelSn(@RequestParam("sn") String sn,
+			@RequestParam("steelSn") String steelSn) {
+		CommonResp<Map<String, String>> resp = new CommonResp<>();
+		Map<String, String> data = new HashMap<>();
+		resp.setData(data);
+
+		if (StringUtils.isBlank(sn)) {
+			resp.setResult(Global.FALSE);
+			resp.setMessage("客户码不能为空");
+			return resp;
+		}
+
+		if (StringUtils.isBlank(steelSn)) {
+			resp.setResult(Global.FALSE);
+			resp.setMessage("钢印码不能为空");
+			return resp;
+		}
+
+		try {
+			mesLaserService.bindSteelSnDirectly(sn, steelSn);
+			data.put("sn", sn);
+			data.put("steelSn", steelSn);
+			resp.setResult(Global.TRUE);
+			resp.setMessage("绑定成功");
+		} catch (Exception e) {
+			resp.setResult(Global.FALSE);
+			resp.setMessage("绑定失败,请联系管理员");
+		}
+
+		return resp;
+	}
 }