Browse Source

转出货赋值默认的仓库资料

guq 7 years ago
parent
commit
25a0027cc2

+ 3 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/mapper/ProdInOutMapper.java

@@ -6,6 +6,7 @@ import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.storage.po.ProdInOut;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.HashMap;
 import java.util.List;
 
 public interface ProdInOutMapper extends CommonBaseMapper<ProdInOut> {
@@ -40,4 +41,6 @@ public interface ProdInOutMapper extends CommonBaseMapper<ProdInOut> {
     String validateBatchOpen(List<DocBaseDTO> baseDTOs);
 
     void updatePiTotal(Long id);
+
+    List<HashMap<String, Object>> getWareHouseByCode(@Param("code") String code, @Param("companyId") Long companyId);
 }

+ 20 - 3
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java

@@ -30,9 +30,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * @author: guq
@@ -462,6 +460,13 @@ public class SaleServiceImpl implements SaleService{
             prodIODetail.setCompanyId(companyId);
             //本次转单数
             prodIODetail.setPd_outqty(saleDetail.getSd_qty() - saleDetail.getSd_yqty());
+            //获取物料默认仓库
+            Map<String, Object> warehouse = getWareHouseByCode(saleDetail.getSd_prodcode());
+            if (null != warehouse) {
+                prodIODetail.setPd_whid(warehouse.get("pr_whid") == null ? 0 : Integer.valueOf(warehouse.get("pr_whid").toString()));
+                prodIODetail.setPd_whcode(String.valueOf(warehouse.get("pr_whcode")));
+                prodIODetail.setPd_whname(String.valueOf(warehouse.get("pr_whname")));
+            }
             prodIODetailMapper.insertSelective(prodIODetail);
             //更新已转数
             saleDetail.setSd_yqty(saleDetail.getSd_qty());
@@ -573,4 +578,16 @@ public class SaleServiceImpl implements SaleService{
         return baseDTO;
     }
 
+    private Map<String, Object> getWareHouseByCode(String code) {
+        if (StringUtils.isEmpty(code)) {
+            return null;
+        }
+        Long companyId = BaseContextHolder.getCompanyId();
+        List<HashMap<String, Object>> list = prodInOutMapper.getWareHouseByCode(code, companyId);
+        if (null != list) {
+            return list.get(0);
+        }
+        return null;
+    }
+
 }

+ 4 - 0
applications/sale/sale-server/src/main/resources/mapper/ProdInOutMapper.xml

@@ -545,4 +545,8 @@ update ProdInOut SET
 			where pi_id =#{id}
   </update>
 
+  <select id="getWareHouseByCode" resultType="java.util.HashMap">
+    select pr_whid,pr_whcode,pr_whname from product where pr_code=#{code} and companyid=#{companyId} and pr_statuscode='OPEN'
+  </select>
+
 </mapper>