Browse Source

问题修改

zhs 2 years ago
parent
commit
e53e81f970

+ 18 - 7
src/main/java/com/tld/controller/GsAccessController.java

@@ -1,5 +1,7 @@
 package com.tld.controller;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.tld.model.AskGoods;
 import com.tld.model.Dictionary;
 import com.tld.model.ReceiveGoods;
@@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.sql.SQLOutput;
 import java.util.List;
 import java.util.Map;
 
@@ -45,13 +48,21 @@ public class GsAccessController {
 
     /**
      * gs存入采购信息
-     * @param receiveGoods 参数
+     * @param jsonData 参数
      * @return 返回结果
      */
     @PostMapping("addReceiveGoods")
     @PassToken
-    public Map<String, Object> addReceiveGoods(@RequestBody Map<String,Object> map){
-        return receiveGoodsSerivce.addReceiveGoods(map);
+    public Map<String, Object> addReceiveGoods(@RequestBody List<Map<String,Object>> jsonData){
+        return receiveGoodsSerivce.addReceiveGoods(jsonData);
+    }
+
+
+    @PostMapping("test")
+    @PassToken
+    public void test(@RequestBody JSONObject jsonData){
+        //return receiveGoodsSerivce.addReceiveGoods(jsonData);
+        System.out.println(jsonData.toJSONString());
     }
 
     /**
@@ -66,14 +77,14 @@ public class GsAccessController {
     }
 
     /**
-     * 生产领料出库
-     * @param askGoods 参数
+     * 生产领料出库(要货申请单)
+     * @param mapList 参数
      * @return 返回结果
      */
     @PostMapping("addAskGoods")
     @PassToken
-    public Map<String, Object> addAskGoods(AskGoods askGoods){
-        return askGoodsService.addAskGoods(askGoods);
+    public Map<String, Object> addAskGoods(List<Map<String,Object>> mapList){
+        return askGoodsService.addAskGoods(mapList);
     }
 
 

+ 1 - 1
src/main/java/com/tld/controller/GsPlugOutController.java

@@ -30,7 +30,7 @@ public class GsPlugOutController {
     }
 
     /**
-     * 出库回传
+     * 出库回传---生产领用单
      * @param removalCode 参数
      */
     @GetMapping("plugOutRemoval")

+ 2 - 1
src/main/java/com/tld/mapper/AskGoodsMapper.java

@@ -64,7 +64,8 @@ public interface AskGoodsMapper {
 
     int getReturnRemovalCount();
 
-    Map<String, Object> plugOutRemoval(String removalCode);
+
+    List<Map<String, Object>> plugOutRemoval(String removalCode);
 
     List<Map<String, Object>> getRemovalz(String askGoodsId);
 

+ 2 - 1
src/main/java/com/tld/service/AskGoodsService.java

@@ -3,10 +3,11 @@ package com.tld.service;
 import com.tld.model.AskGoods;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 import java.util.Map;
 
 public interface AskGoodsService {
-    Map<String, Object> addAskGoods(AskGoods askGoods);
+    Map<String, Object> addAskGoods(List<Map<String,Object>> mapList);
 
     Map<String, Object> getAskGoodsfList(AskGoods askGoods);
 

+ 3 - 1
src/main/java/com/tld/service/ReceiveGoodsSerivce.java

@@ -1,8 +1,10 @@
 package com.tld.service;
 
 
+import com.alibaba.fastjson.JSONArray;
 import com.tld.model.ReceiveGoods;
 
+import java.util.List;
 import java.util.Map;
 
 public interface ReceiveGoodsSerivce {
@@ -10,7 +12,7 @@ public interface ReceiveGoodsSerivce {
 
     Map<String, Object> getPastReceiveGoods(ReceiveGoods receiveGoods);
 
-    Map<String, Object> addReceiveGoods(Map<String,Object> map);
+    Map<String, Object> addReceiveGoods(List<Map<String,Object>> jsonData);
 
     Map<String, Object> addReceiveGoodsConfirm(ReceiveGoods receiveGoods);
 }

+ 105 - 22
src/main/java/com/tld/service/impl/AskGoodsServiceImpl.java

@@ -1,17 +1,24 @@
 package com.tld.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.tld.excel.ExcelUtils;
 import com.tld.mapper.AskGoodsMapper;
+import com.tld.mapper.ErrorMapper;
 import com.tld.model.AskGoods;
+import com.tld.model.Error;
 import com.tld.model.Inventory;
 import com.tld.model.ReturRemoval;
 import com.tld.service.AskGoodsService;
+import com.tld.util.DateUtil;
+import com.tld.util.HttpClientUtil;
 import org.redisson.api.RLock;
 import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.http.HttpServletResponse;
 import java.text.SimpleDateFormat;
@@ -26,25 +33,58 @@ public class AskGoodsServiceImpl implements AskGoodsService {
     @Autowired
     private RedissonClient redissonClient;
 
+    @Autowired
+    private ErrorMapper errorMapper;
+
     @Override
-    public Map<String, Object> addAskGoods(AskGoods askGoods) {
+    @Transactional(rollbackFor = Exception.class)
+    public Map<String, Object> addAskGoods(List<Map<String,Object>> mapList) {
         Map<String, Object> map = new HashMap<>();
         try{
-            int count = askGoodsMapper.getAskGoods(askGoods);
-            if(count != 0){
-                askGoodsMapper.updateAskGoodsNum(askGoods);
-            } else {
-                if(askGoodsMapper.getAskGoodsf(askGoods) == 0){
-                    askGoodsMapper.addAskGoodsf(askGoods);
+            List<AskGoods> askGoodsList = new LinkedList<AskGoods>();
+
+            for(Map<String,Object> jsonMap:mapList) {
+                List<Map<String, Object>> list = (List) jsonMap.get("datalist");
+                for (Map<String, Object> element : list) {
+                    AskGoods ag = new AskGoods();
+                   //父表
+                    ag.setAskGoodsId(jsonMap.get("requestOrderId").toString());
+                    ag.setUniqueCode(jsonMap.get("requestOrderNo").toString());
+                    ag.setCompanyNumber(jsonMap.get("companyNo").toString());
+                    ag.setSqrq(jsonMap.get("requestDate").toString());//申请日期
+                    ag.setDepartmentId(jsonMap.get("useDepartment").toString());
+                    ag.setSourceType(jsonMap.get("sourceType").toString());
+                    ag.setMoveType(jsonMap.get("moveType").toString());
+
+                   //子表
+                    ag.setEntryNumber(element.get("entryNumber").toString());
+                    ag.setProductionCode(element.get("prodOrderNo").toString());
+                    ag.setMaterialId(element.get("materialId").toString());
+                    ag.setWbs(element.get("WBS").toString());
+                    ag.setMeasurementId(element.get("measUnitId").toString());
+                    ag.setNum(element.get("orderCount").toString());
+
+                    askGoodsList.add(ag);
                 }
-                askGoodsMapper.addAskGoods(askGoods);
             }
-            askGoodsMapper.addAskGoodsLog(askGoods);
-            map.put("msg", "200");
+            for(AskGoods askGoods : askGoodsList) {
+                int count = askGoodsMapper.getAskGoods(askGoods);
+                if (count != 0) {
+                    askGoodsMapper.updateAskGoodsNum(askGoods);
+                } else {
+                    if (askGoodsMapper.getAskGoodsf(askGoods) == 0) {
+                        askGoodsMapper.addAskGoodsf(askGoods);
+                    }
+                    askGoodsMapper.addAskGoods(askGoods);
+                }
+                askGoodsMapper.addAskGoodsLog(askGoods);
+            }
+            map.put("status", "0000");
+            map.put("msg","成功");
         }catch (Exception e){
             e.printStackTrace();
-            map.put("msg", "500");
-            map.put("errMsg", "失败");
+            map.put("status", "0009");
+            map.put("msg", "服务器请求异常,请稍后再试");
         }
         return map;
     }
@@ -198,19 +238,62 @@ public class AskGoodsServiceImpl implements AskGoodsService {
         return map;
     }
 
+    /**
+     * 出库回传
+     * @param removalCode
+     */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void plugOutRemoval(String removalCode) {
         try{
-            Map<String, Object> map = askGoodsMapper.plugOutRemoval(removalCode);
-            Calendar cal = Calendar.getInstance();
-            int year = cal.get(Calendar.YEAR);
-            int month = cal.get(Calendar.MONTH) + 1;
-            int day = cal.get(Calendar.DATE) ;
-            map.put("child", askGoodsMapper.getRemovalz(map.get("askGoodsId").toString()));
-            map.put("isNotRed", "0");
-            map.put("year", year);
-            map.put("month", month);
-            map.put("time", year + "-" + month + "-" + day);
+            List<Map<String, Object>> mapList = askGoodsMapper.plugOutRemoval(removalCode);
+            if(mapList.size() >0 ) {
+                JSONObject returnData = new JSONObject();
+
+                JSONObject strJson = new JSONObject();
+                //父表
+                strJson.put("askGoodsId", mapList.get(0).get("askGoodsId").toString());//要货单id
+                strJson.put("removalCode", mapList.get(0).get("removalCode").toString());//出库单编号
+                strJson.put("sourceType", mapList.get(0).get("sourceType").toString());//来源类型
+                strJson.put("moveType", mapList.get(0).get("moveType").toString());//移动类型
+                //子表
+                List<JSONObject> list = new LinkedList<>();
+                for(Map<String,Object> map:askGoodsMapper.getRemovalz(mapList.get(0).get("askGoodsId").toString())) {
+                    JSONObject BillItems = new JSONObject();
+                    BillItems.put("entryNumber", map.get("entryNumber"));//分录ID
+//                    BillItems.put("PurOrderID", returnWarehousing.getOrderNumber());//采购单id
+//                    BillItems.put("PurOrderItemID", returnWarehousing.getEntryNumber());//采购订单明细ID
+                    BillItems.put("Material", map.get("materialId"));//物料id
+                    BillItems.put("Quantity", map.get("num"));//数量
+                    BillItems.put("FlexField1", map.get("wbs"));//wbs
+                    BillItems.put("FlexField1Code", " ");//WBS编号
+                    BillItems.put("FlexField1Name", " ");//WBS名称
+
+                    list.add(BillItems);
+                }
+                strJson.put("BillItems", list);
+                returnData.put("strJson", JSON.toJSONString(strJson));
+                System.out.println(returnData);
+                HttpClientUtil httpClientUtil1 = new HttpClientUtil();
+                Map<String, Object> result = httpClientUtil1.doPost("http://localhost:3339/api/Values", returnData);
+                if (Integer.parseInt(result.get("msg").toString()) != 200) {
+                    //如果失败存入报错信息跟数据
+                    Error error = new Error()
+                            .setErrorInfo(result.get("data").toString())
+                            .setUrl("http://localhost:44303/api/Values")
+                            .setDataVal(strJson.toJSONString());
+                    errorMapper.addError(error);
+                }
+            }
+//            Calendar cal = Calendar.getInstance();
+//            int year = cal.get(Calendar.YEAR);
+//            int month = cal.get(Calendar.MONTH) + 1;
+//            int day = cal.get(Calendar.DATE) ;
+//            map.put("child", askGoodsMapper.getRemovalz(map.get("askGoodsId").toString()));
+//            map.put("isNotRed", "0");
+//            map.put("year", year);
+//            map.put("month", month);
+//            map.put("time", year + "-" + month + "-" + day);
         }catch (Exception e){
             e.printStackTrace();
         }

+ 2 - 2
src/main/java/com/tld/service/impl/ReceiveGoodsSerivceImpl.java

@@ -104,8 +104,8 @@ public class ReceiveGoodsSerivceImpl implements ReceiveGoodsSerivce {
             map.put("msg", "200");
         } catch (Exception e) {
             e.printStackTrace();
-            map.put("msg", "500");
-            map.put("errMsg", "服务器请求异常,请稍后再试");
+            map.put("status", "0009");
+            map.put("msg", "服务器请求异常,请稍后再试");
         }
         return map;
     }

+ 7 - 2
src/main/java/com/tld/util/HttpClientUtil.java

@@ -12,6 +12,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.tld.mapper.ErrorMapper;
 import com.tld.model.Error;
 import org.apache.http.Header;
+import org.apache.http.HttpEntity;
 import org.apache.http.NameValuePair;
 import org.apache.http.client.config.RequestConfig;
 import org.apache.http.client.entity.UrlEncodedFormEntity;
@@ -19,6 +20,7 @@ import org.apache.http.client.methods.CloseableHttpResponse;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.client.utils.URIBuilder;
+import org.apache.http.entity.BufferedHttpEntity;
 import org.apache.http.entity.ContentType;
 import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.CloseableHttpClient;
@@ -120,8 +122,11 @@ public class HttpClientUtil {
                 httpPost.setEntity(entity);
             }
             response = httpClient.execute(httpPost);
+            HttpEntity requestTemp=null;
+            requestTemp = response.getEntity();
+            requestTemp = new BufferedHttpEntity(requestTemp);
             // 执行http请求
-            String responseVal = EntityUtils.toString(response.getEntity(), "utf-8");
+            String responseVal = EntityUtils.toString(requestTemp, "utf-8");
             JSONObject jsonObject = JSON.parseObject(responseVal);
             if(JSON.parseObject(jsonObject.get("result").toString()).get("State").equals("0")){
                 //如果失败存入报错信息跟数据
@@ -131,7 +136,7 @@ public class HttpClientUtil {
                         .setDataVal(param.toString());
                 errorMapper.addError(error);
             }
-            resultString = EntityUtils.toString(response.getEntity(), "utf-8");
+            resultString = EntityUtils.toString(requestTemp, "utf-8");
             map.put("msg", response.getStatusLine().getStatusCode());
             map.put("data", resultString);
         } catch (Exception e) {