浏览代码

pda限制范围修改

liuwei 2 月之前
父节点
当前提交
d924355cb5
共有 1 个文件被更改,包括 25 次插入 和 21 次删除
  1. 25 21
      src/main/java/com/jeesite/modules/mes/web/MesMaterialRkController.java

+ 25 - 21
src/main/java/com/jeesite/modules/mes/web/MesMaterialRkController.java

@@ -230,24 +230,28 @@ public class MesMaterialRkController extends BaseController {
 		}
 		String unit=list.get(0).getUnit();
 
-		// 入库前校验:必须已报检且已来料检查,否则不允许入库
-		MesMaterialReport reportQuery = new MesMaterialReport();
-		reportQuery.setSn(materialCode.trim());
-		reportQuery.setStatus(DataEntity.STATUS_NORMAL);
-		MesMaterialReport report = mesMaterialReportService.findInfo(reportQuery);
-		if (report == null) {
-			resp.setResult(Global.FALSE);
-			resp.setMessage("该来料码未报检,无法入库!");
-			return resp;
-		}
-		MesMaterialCheckRecord checkQuery = new MesMaterialCheckRecord();
-		checkQuery.setSn(materialCode.trim());
-		checkQuery.setStatus(DataEntity.STATUS_NORMAL);
-		MesMaterialCheckRecord checkRecord = mesMaterialCheckRecordService.findInfo(checkQuery);
-		if (checkRecord == null) {
-			resp.setResult(Global.FALSE);
-			resp.setMessage("该来料码未检查,无法入库!");
-			return resp;
+		// 入库(无生产订单号)才校验报检/检查;领料传 orderId,不做该限制
+		boolean isInbound = StringUtils.isBlank(orderId);
+		MesMaterialCheckRecord checkRecord = null;
+		if (isInbound) {
+			MesMaterialReport reportQuery = new MesMaterialReport();
+			reportQuery.setSn(materialCode.trim());
+			reportQuery.setStatus(DataEntity.STATUS_NORMAL);
+			MesMaterialReport report = mesMaterialReportService.findInfo(reportQuery);
+			if (report == null) {
+				resp.setResult(Global.FALSE);
+				resp.setMessage("该来料码未报检,无法入库!");
+				return resp;
+			}
+			MesMaterialCheckRecord checkQuery = new MesMaterialCheckRecord();
+			checkQuery.setSn(materialCode.trim());
+			checkQuery.setStatus(DataEntity.STATUS_NORMAL);
+			checkRecord = mesMaterialCheckRecordService.findInfo(checkQuery);
+			if (checkRecord == null) {
+				resp.setResult(Global.FALSE);
+				resp.setMessage("该来料码未检查,无法入库!");
+				return resp;
+			}
 		}
 
 		HashMap<String, Object> data = new HashMap<>();
@@ -263,11 +267,11 @@ public class MesMaterialRkController extends BaseController {
 		data.put("unit", unit);                         // 单位
 
 		// 按来料码关联来料检查记录,带回合格/不合格数量,仅供 PDA 入库页初始显示(不覆盖手填,不参与 mesToErp)
-		String hgQty = StringUtils.defaultIfBlank(checkRecord.getHgQty(), "");
-		String bhgQty = StringUtils.defaultIfBlank(checkRecord.getBhgQty(), "");
+		String hgQty = checkRecord != null ? StringUtils.defaultIfBlank(checkRecord.getHgQty(), "") : "";
+		String bhgQty = checkRecord != null ? StringUtils.defaultIfBlank(checkRecord.getBhgQty(), "") : "";
 		data.put("hgQty", hgQty);   // 合格数量(来自检查记录)
 		data.put("bhgQty", bhgQty); // 不合格数量(来自检查记录)
-		if (orderId!=null){
+		if (StringUtils.isNotBlank(orderId)){
 			mesMaterialBl = mesMaterialLlService.findBlByMoAndItem(orderId, erpSn);
 			if (mesMaterialBl == null) {
 				throw new ServiceException(text("未找到对应备料信息!"));