xiaochen %!s(int64=2) %!d(string=hai) anos
pai
achega
f24cec36ca

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

@@ -100,4 +100,6 @@ public interface AskGoodsMapper {
 
     void addAccess(@Param("names") String names, @Param("returnGsRemoval") String returnGsRemoval, @Param("accessType") String accessType);
 
+    void delPlugOutWarehousing(@Param("orderNumber") String orderNumber);
+
 }

+ 3 - 0
src/main/java/com/tld/mapper/MaterialClassMapper.java

@@ -18,4 +18,7 @@ public interface MaterialClassMapper {
     void updateMaterial(MaterialClass materialClass);
 
     String getMaterialClassStorageLocation(String storageLocationCode);
+
+    int getMaterialClassStorageLocationMaterial(String wllbCode);
+
 }

+ 4 - 0
src/main/java/com/tld/mapper/UserMaterialMapper.java

@@ -3,6 +3,7 @@ package com.tld.mapper;
 import com.tld.model.User;
 import com.tld.model.UserMaterial;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -17,4 +18,7 @@ public interface UserMaterialMapper {
     void delUserMaterial(String id);
 
     List<User> getUser();
+
+    int getMaterial(@Param("wllbCode") String wllbCode);
+
 }

+ 11 - 8
src/main/java/com/tld/service/impl/AskGoodsServiceImpl.java

@@ -122,7 +122,6 @@ public class AskGoodsServiceImpl implements AskGoodsService {
             List<String> scanNum = new LinkedList<>();
             for(AskGoods askGoods1 : list){
                 askGoods1.setUniqueCode(askGoods.getUniqueCode());
-                askGoods1.setAskGoodsId(askGoods.getAskGoodsId());
                 askGoods1.setWllbCode(askGoods1.getMaterialCode());
                 scanNum.add(askGoodsMapper.getScanNum(askGoods1));//扫描总数
             }
@@ -178,7 +177,7 @@ public class AskGoodsServiceImpl implements AskGoodsService {
             int alreadyNum =  askGoodsMapper.getAskInfoNumVitrual(askGoods);//已扫描总数
             int inventoryAlready =  askGoodsMapper.getInventoryAlready(askGoods);//库存已扫描数量
             int inventorySurplus = (Integer.parseInt(inventory.getAmount()) - Integer.parseInt(inventory.getAmountLock())) - inventoryAlready; //库存剩余数量
-            int surplusNum = Integer.parseInt(askGoods1.getNum()) - alreadyNum; //剩余要扫描数量
+            Double surplusNum = Double.parseDouble(askGoods1.getNum()) - alreadyNum; //剩余要扫描数量
 
             if(surplusNum >= inventorySurplus){
                 askGoods.setNum(String.valueOf(inventorySurplus));
@@ -214,7 +213,7 @@ public class AskGoodsServiceImpl implements AskGoodsService {
                     throw new Exception("库存不存在");
                 }
                 //如果出库库存等于虚拟表库存则删除此库存
-                if(Integer.parseInt(askGoods.getNum()) == Integer.parseInt(inventory.getAmount())){
+                if(Double.parseDouble(askGoods.getNum()) == Double.parseDouble(inventory.getAmount())){
                     askGoodsMapper.deleteInventory(inventory);
                 } else {
                     inventory.setAmount(askGoods.getNum());
@@ -326,11 +325,15 @@ public class AskGoodsServiceImpl implements AskGoodsService {
                     List<JSONObject>  data1 = (List<JSONObject>) JSONObject.parse(jsonObject1.get("data").toString());
                     for (JSONObject map : data1) {
                         if (map.get("State").toString().equals("0")){
-                            //如果失败存入报错信息跟数据
-                            error.setErrorInfo(map.get("FailReason").toString());
-                            error.setUrl("http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreateProductiveOutStock");
-                            error.setDataVal(map.toString());
-                            errorMapper.addError(error);
+                            for(JSONObject jsonObject2 : retunList){
+                                if(jsonObject2.get("WMSCode").toString().equals(map.get("WMSCode")) && jsonObject2.get("WareHouse").toString().equals(map.get("WareHouse"))){
+                                    //如果失败存入报错信息跟数据
+                                    error.setErrorInfo(map.get("FailReason").toString());
+                                    error.setUrl("http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreateProductiveOutStock");
+                                    error.setDataVal(jsonObject2.toString());
+                                    errorMapper.addError(error);
+                                }
+                            }
                         }
                     }
                 }

+ 12 - 0
src/main/java/com/tld/service/impl/MaterialClassServiceImpl.java

@@ -56,6 +56,12 @@ public class MaterialClassServiceImpl implements MaterialClassService {
     public Map<String, Object> addMaterialClass(MaterialClass materialClass, HttpServletRequest request) {
         Map<String, Object> map = new HashMap<>();
         try{
+            int count = materialClassMapper.getMaterialClassStorageLocationMaterial(materialClass.getWllbCode());
+            if (count == 0){
+                map.put("msg", "500");
+                map.put("errMsg","未查找到物料信息");
+                return map;
+            }
             String wllbCode = materialClassMapper.getMaterialClassStorageLocation(materialClass.getStorageLocationCode());
             if(!materialClass.getWllbCode().equals(wllbCode) && wllbCode != null){
                 map.put("msg", "500");
@@ -83,6 +89,12 @@ public class MaterialClassServiceImpl implements MaterialClassService {
     public Map<String, Object> updateMaterialClass(MaterialClass materialClass, HttpServletRequest request) {
         Map<String, Object> map = new HashMap<>();
         try{
+            int count = materialClassMapper.getMaterialClassStorageLocationMaterial(materialClass.getWllbCode());
+            if (count == 0){
+                map.put("msg", "500");
+                map.put("errMsg","未查找到物料信息");
+                return map ;
+            }
             String wllbCode = materialClassMapper.getMaterialClassStorageLocation(materialClass.getStorageLocationCode());
             if(!wllbCode.equals(materialClass.getWllbCode()) && !wllbCode.equals("")){
                 map.put("msg", "500");

+ 14 - 0
src/main/java/com/tld/service/impl/UserMaterialServiceImpl.java

@@ -43,6 +43,13 @@ public class UserMaterialServiceImpl implements UserMaterialService {
     public Map<String, Object> addUserMaterial(UserMaterial userMaterial, HttpServletRequest request) {
         Map<String, Object> map = new HashMap<>();
         try{
+            //查询物料信息
+            int count = userMaterialMapper.getMaterial(userMaterial.getMaterialId());
+            if (count == 0){
+                map.put("msg", "500");
+                map.put("errMsg", "未查找到物料信息");
+                return map;
+            }
             userMaterial.setModifyUser(request.getHeader("userId"));
             userMaterialMapper.addUserMaterial(userMaterial);
             map.put("msg", "200");
@@ -59,6 +66,13 @@ public class UserMaterialServiceImpl implements UserMaterialService {
     public Map<String, Object> updateUserMaterial(UserMaterial userMaterial, HttpServletRequest request) {
         Map<String, Object> map = new HashMap<>();
         try{
+            //查询物料信息
+            int count = userMaterialMapper.getMaterial(userMaterial.getMaterialId());
+            if (count == 0){
+                map.put("msg", "500");
+                map.put("errMsg", "未查找到物料信息");
+                return map;
+            }
             userMaterial.setModifyUser(request.getHeader("userId"));
             userMaterialMapper.updateUserMaterial(userMaterial);
             map.put("msg", "200");

+ 5 - 0
src/main/java/com/tld/service/impl/WarehousingServiceImpl.java

@@ -288,7 +288,12 @@ public class WarehousingServiceImpl implements WarehousingService {
                     }
                 }
                 //删除父子表信息
+                askGoodsMapper.delPlugOutWarehousing(orderNumber);
                 //添加记录到tld_access
+                String names = "入库回传" ;
+                String accessType = "1" ;
+                String returnGsRemoval = returnData.toString() ;
+                askGoodsMapper.addAccess(names,returnGsRemoval,accessType);
             }
         }catch (Exception e){
             e.printStackTrace();

+ 6 - 1
src/main/resources/mapper/AskGoodsMapper.xml

@@ -63,7 +63,8 @@
             b.ask_goods_code,
             b.company_number,
             c.name ,
-            c.code
+            c.code,
+            c.id AS departmentId
         FROM
             tld_ask_goods a
             JOIN tld_ask_goods_f b ON a.ask_goods_id = b.ask_goods_id
@@ -382,6 +383,10 @@
     <delete id="delRemovalz">
         delete from tld_return_gs_removal_z where document_id = #{removalCode}
     </delete>
+    <!-- 删除入库回传信息 -->
+    <delete id="delPlugOutWarehousing">
+        delete from tld_return_gs_warehousing where order_number = #{orderNumber}
+    </delete>
     <!-- 修改出库数量 -->
     <update id="updateOutNum">
         update tld_ask_goods

+ 3 - 0
src/main/resources/mapper/MaterialClassMapper.xml

@@ -88,4 +88,7 @@
     <select id="getMaterialClassStorageLocation" resultType="String">
         select DISTINCT wllb_code from tld_material_class where storage_location_code = #{storageLocationCode}
     </select>
+    <select id="getMaterialClassStorageLocationMaterial" resultType="int">
+        select COUNT(*) from tld_material where code = #{wllbCode}
+    </select>
 </mapper>

+ 6 - 1
src/main/resources/mapper/UserMaterialMapper.xml

@@ -5,6 +5,7 @@
     <!-- 查询用户绑定物料信息 -->
     <select id="getUserMaterial" resultType="com.tld.model.UserMaterial">
         select
+        distinct
             a.id,
             a.material_id,
             a.user_id,
@@ -16,7 +17,7 @@
             a.modify_time,
             f.user_name as modifyUser
         from tld_user_material a
-        left join tld_material b on a.material_id = b.tld_id
+        left join tld_material b on a.material_id = b.code
         left join tld_user c on a.user_id = c.id
         left join tld_user f on a.modify_user = f.id
         <trim prefix="WHERE" prefixOverrides="and |or">
@@ -70,4 +71,8 @@
         from tld_user a
         left join tld_role b on a.role = b.id
     </select>
+    <select id="getMaterial" resultType="java.lang.Integer">
+        select COUNT(*) from tld_material where code = #{wllbCode}
+    </select>
+
 </mapper>