Bladeren bron

新增二维码查询钢印码接口并放行

wangxichen 1 week geleden
bovenliggende
commit
9525c389a1

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

@@ -269,4 +269,20 @@ public class MesLaserService {
 		return String.format("%02d", day);
 	}
 
+	/**
+	 * 根据客户码查询钢印码
+	 * @param customerSn 客户码(21位)
+	 * @return 钢印码,未找到返回 null
+	 */
+	public String getSteelSnByCustomerSn(String customerSn) {
+		try {
+			String steelSn = jdbcTemplate.queryForObject(
+					"SELECT steel_sn FROM mes_product_laser WHERE customer_sn = ? LIMIT 1",
+					String.class, customerSn);
+			return steelSn;
+		} catch (EmptyResultDataAccessException e) {
+			return null;
+		}
+	}
+
 }

+ 37 - 0
src/main/java/com/jeesite/modules/mes/web/MesLaserController.java

@@ -242,4 +242,41 @@ public class MesLaserController extends BaseController {
 		}
 		return resp;
 	}
+
+	/**
+	 * 根据客户码查询钢印码(用于打印流转卡)
+	 * 请求参数(form):customerSn
+	 * 返回 data 为钢印码字符串
+	 */
+	@PostMapping(value = "getSteelSn")
+	@ResponseBody
+	public CommonResp<Map<String, String>> getSteelSn(HttpServletRequest request) {
+		CommonResp<Map<String, String>> resp = new CommonResp<>();
+		String customerSn = request.getParameter("customerSn");
+
+		if (StringUtils.isEmpty(customerSn)) {
+			resp.setResult(Global.FALSE);
+			resp.setMessage("customerSn 不能为空");
+			return resp;
+		}
+
+		try {
+			String steelSn = mesLaserService.getSteelSnByCustomerSn(customerSn);
+			if (steelSn != null) {
+				Map<String, String> data = new HashMap<>();
+				data.put("steelSn", steelSn);
+				resp.setData(data);
+				resp.setResult(Global.TRUE);
+				resp.setMessage("查询成功");
+			} else {
+				resp.setResult(Global.FALSE);
+				resp.setMessage("未找到该客户码对应的钢印码");
+			}
+		} catch (Exception e) {
+			logger.error("查询钢印码失败:customerSn=" + customerSn, e);
+			resp.setResult(Global.FALSE);
+			resp.setMessage("查询失败:" + e.getMessage());
+		}
+		return resp;
+	}
 }