Jelajahi Sumber

亿道次元EIS 增加接口 仓库条码对接-朗华

xiaost 1 tahun lalu
induk
melakukan
93c23fd119

+ 16 - 0
src/main/java/com/uas/eis/controller/MESDataController.java

@@ -4,7 +4,9 @@ import com.uas.eis.sdk.entity.ApiResult;
 import com.uas.eis.sdk.resp.ApiResponse;
 import com.uas.eis.service.MESDataService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
@@ -147,4 +149,18 @@ public class MESDataController {
         List<Map<Object,Object>> list = mesDataService.oqcitemsamples(accessKey,requestId,data);
         return ApiResponse.successRsp("0","Success",requestId,list);
     }
+
+
+    /**
+     * 条码写入BARCODEIO 表
+     * @param request
+     * @param json
+     * @return
+     */
+    @RequestMapping(value = "/api/mes/barcode" , method = RequestMethod.POST)
+    public ApiResult<Map<Object,Object>> barcode(HttpServletRequest request, @RequestBody String json){
+        String accessKey = request.getHeader("AccessKey");
+        String requestId = request.getHeader("RequestId");
+        return mesDataService.barcode(accessKey,requestId,json);
+    }
 }

+ 4 - 0
src/main/java/com/uas/eis/service/MESDataService.java

@@ -1,5 +1,7 @@
 package com.uas.eis.service;
 
+import com.uas.eis.sdk.entity.ApiResult;
+
 import java.util.List;
 import java.util.Map;
 
@@ -28,4 +30,6 @@ public interface MESDataService {
 	List<Map<Object,Object>> makeserial(String accessKey, String requestId, String data);
 
 	List<Map<Object,Object>> oqcitemsamples(String accessKey, String requestId, String data);
+
+	ApiResult<Map<Object,Object>> barcode(String accessKey, String requestId, String data);
 }

+ 53 - 4
src/main/java/com/uas/eis/serviceImpl/MESDataServiceImpl.java

@@ -6,11 +6,9 @@ import com.uas.eis.dto.DataCenter;
 import com.uas.eis.entity.ErrorMessage;
 import com.uas.eis.exception.ApiSystemException;
 import com.uas.eis.sdk.entity.ApiResult;
+import com.uas.eis.sdk.resp.ApiResponse;
 import com.uas.eis.service.MESDataService;
-import com.uas.eis.utils.BaseUtil;
-import com.uas.eis.utils.Constant;
-import com.uas.eis.utils.DateUtil;
-import com.uas.eis.utils.SqlUtil;
+import com.uas.eis.utils.*;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -21,6 +19,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.logging.Logger;
 
 @Service
 public class MESDataServiceImpl implements MESDataService {
@@ -453,6 +452,56 @@ public class MESDataServiceImpl implements MESDataService {
 		return relist;
 	}
 
+	@Override
+	public ApiResult<Map<Object,Object>> barcode(String accessKey, String requestId, String data) {
+		String AE_MASTER = checkAccessKey(accessKey, requestId);
+		SpObserver.putSp(AE_MASTER);
+		Map<Object, Object> map = BaseUtil.parseFormStoreToMap(data);
+		try {
+			if(!StringUtil.hasText(map.get("outno"))){
+				return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(),requestId,"传参异常,出库单号不能为空!");
+			}
+			if("ADD".equals(map.get("action"))){
+				if(!StringUtil.hasText(map.get("barlist"))){
+					return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(),requestId,"传参操作类型:"+map.get("type")+"是写入,barlist 不允许为空");
+				}
+				List<Map<Object,Object>> barlist = BaseUtil.parseGridStoreToMaps(map.get("barlist").toString());
+				List<Map<Object,Object>> datab = new ArrayList<>();
+				for(Map<Object,Object> mp : barlist){
+					Map<Object,Object> mapb = new HashMap<>();
+					mapb.put("ACTION","W");
+					mapb.put("ERPID",mp.get("bar_id"));
+					mapb.put("BAR_CODE",mp.get("bar_code"));
+					mapb.put("BAR_PRODCODE",mp.get("bar_prodcode"));
+					mapb.put("BAR_QTY",mp.get("bar_qty"));
+					mapb.put("BAR_LOTNO",mp.get("bar_lotno"));
+					mapb.put("BAR_DC",mp.get("bar_dc"));
+					mapb.put("BAR_OUTNO",mp.get("bar_outno"));
+					mapb.put("BAR_MACODE",mp.get("bar_macode"));
+					mapb.put("BAR_BATCHQTY",mp.get("bar_batchqty"));
+					datab.add(mapb);
+				}
+				baseDao.execute(SqlUtil.getInsertSqlbyGridStore(datab,"TEMP_BARCODE"));
+			}else if("DEL".equals(map.get("action"))){
+				Map<Object,Object> mapb = new HashMap<>();
+				mapb.put("ACTION","D");
+				mapb.put("ERPID",0);
+				mapb.put("BAR_OUTNO",map.get("outno"));
+				baseDao.execute(SqlUtil.getInsertSqlByMap(mapb,"TEMP_BARCODE"));
+			}else{
+				return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(),requestId,"传参操作类型:"+map.get("action")+"错误,只能是ADD或者DEL");
+			}
+		}catch (Exception e){
+			e.printStackTrace();
+			if(e.getMessage().length() > 500) {
+				return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(), requestId, "异常错误," + e.getMessage().substring(0, 500));
+			}else{
+				return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(), requestId, "异常错误," + e.getMessage());
+			}
+		}
+		return ApiResponse.successRsp("0",requestId,"操作成功");
+
+	}
 	private String checkAccessKey(String accessKey,String requestId){
 		Object accessSecret_O = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_SECRET", "AE_KEY='"+accessKey+"'");
 		Object AE_MASTER = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_MASTER", "AE_KEY='"+accessKey+"'");