瀏覽代碼

问题修改

zhs 2 年之前
父節點
當前提交
938d843070

+ 1 - 0
src/main/java/com/tld/mapper/DeliveryMapper.java

@@ -42,4 +42,5 @@ public interface DeliveryMapper {
 
     void delDelivery(@Param("id") String id);
 
+    List<Inventory> getMaterialCk(AskGoods askGoods);
 }

+ 4 - 0
src/main/java/com/tld/model/Delivery.java

@@ -99,6 +99,10 @@ public class Delivery implements Serializable {
      * 出库单id
      */
     private String storageCode;
+    /**
+     * 库位编号
+     */
+    private String storageLocationCode;
     /**
      * 开始时间
      */

+ 5 - 4
src/main/java/com/tld/service/impl/DeliveryServiceImpl.java

@@ -61,7 +61,7 @@ public class DeliveryServiceImpl implements DeliveryService {
                 for(Inventory inventory : deliveryMapper.getInventory(storageLocationCode, delivery)){
                     int occupy = deliveryMapper.getVitrual(inventory);
                     if(occupy == 0){
-                        if(inventory.getAmount().equals(delivery.getOutNum())){
+                        if(Double.parseDouble(inventory.getAmount()) == Double.parseDouble(delivery.getOutNum())){
                             list.add(inventory);
                             map.put("data", list);
                             map.put("msg", "200");
@@ -72,7 +72,7 @@ public class DeliveryServiceImpl implements DeliveryService {
                 map.put("data", list);
             } else if(materialClass.getPartType().equals("半成品")){
                 List<Inventory> list = new LinkedList<>();
-                for(Inventory inventory : deliveryMapper.getInventory(delivery.getStorageCode(), delivery)){
+                for(Inventory inventory : deliveryMapper.getInventory(delivery.getStorageLocationCode(), delivery)){
                     int productNum = deliveryMapper.getProductNumVitrual(inventory);
                     if(Integer.parseInt(inventory.getAmount()) < 0){
                         map.put("msg", "500");
@@ -89,8 +89,9 @@ public class DeliveryServiceImpl implements DeliveryService {
                 List<Inventory> list = new LinkedList<>();
                 AskGoods askGoods = new AskGoods()
                         .setCompanyNumber(delivery.getCompanyNumber())
-                        .setMaterialId(delivery.getMaterialId());
-                for(Inventory inventory : askGoodsMapper.getMaterialCk(askGoods)){
+                        .setMaterialId(delivery.getMaterialId())
+                        .setWbs(delivery.getWbs());
+                for(Inventory inventory : deliveryMapper.getMaterialCk(askGoods)){
                     AskGoods askGoods1 = askGoodsMapper.getAsk(inventory);
                     if(askGoods1 != null){
                         if(Double.parseDouble(askGoods1.getNum()) != Double.parseDouble(inventory.getAmount())){

+ 2 - 2
src/main/resources/mapper/AskGoodsMapper.xml

@@ -111,8 +111,8 @@
                a.scrq,
                b.storage_location_name               as storageLocationName
         from tld_inventory a
-                 join tld_storage_location b on a.storage_location_code = b.storage_location_code
-                 join tld_warehouse c on b.warehouse_where = c.tld_id
+         join tld_storage_location b on a.storage_location_code = b.storage_location_code
+         join tld_warehouse c on b.warehouse_where = c.tld_id
         where a.material_id = #{materialId}
           and a.account_sleeve = #{companyNumber}
           and a.hold = '0'

+ 31 - 2
src/main/resources/mapper/DeliveryMapper.xml

@@ -46,7 +46,7 @@
             a.wllb_class,
             a.library_type,
             a.material_id,
-            (a.amount - ifnull(a.amount_lock, 0)) as amount,
+            0 + (a.amount - a.amount_lock) as amount,
             a.wbs,
             a.serial,
             a.wllb_code,
@@ -58,7 +58,7 @@
         FROM tld_inventory a
         LEFT JOIN tld_storage_location b on a.storage_location_code = b.storage_location_code
         WHERE #{storageLocationCode} LIKE CONCAT( '%', CONCAT( a.storage_location_code, ',' ), '%' )
-          AND a.material_id = #{delivery.materialId} AND a.hold = '0' AND a.wbs = #{delivery.wbs}
+          AND a.material_id = #{delivery.materialId} AND a.hold = '0' AND a.wbs = #{delivery.wbs} and a.account_sleeve = #{item.companyNumber}
         <if test="delivery.attribute != null and delivery.attribute != ''">
             and a.attribute = #{delivery.attribute}
         </if>
@@ -172,5 +172,34 @@
     <delete id="delDelivery">
         delete from  tld_delivery where id = #{id}
     </delete>
+    <!-- 物料库位选择 -->
+    <select id="getMaterialCk" resultType="com.tld.model.Inventory">
+        select a.storage_location_code,
+               a.wllb_class,
+               a.library_type,
+               a.material_id,
+               (a.amount - ifnull(a.amount_lock, 0)) as amount,
+               a.total,
+               a.totime,
+               a.hold,
+               a.amount_lock,
+               a.account_sleeve,
+               a.wbs,
+               a.supplier_id,
+               a.serial,
+               a.wllb_code,
+               a.produc_date,
+               a.scrq,
+               b.storage_location_name as storageLocationName
+        from tld_inventory a
+        join tld_storage_location b on a.storage_location_code = b.storage_location_code
+        join tld_warehouse c on b.warehouse_where = c.tld_id
+        where a.material_id = #{materialId}
+          and a.account_sleeve = #{companyNumber}
+          and a.hold = '0'
+          and (c.warehouse_type = '0' or c.warehouse_type = '1' or c.warehouse_type = '2')
+          and a.wbs = #{wbs}
+        order by a.produc_date
+    </select>
 
 </mapper>