zhs 2 лет назад
Родитель
Сommit
2453eece6c

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

@@ -43,4 +43,8 @@ public interface DeliveryMapper {
     void delDelivery(@Param("id") String id);
 
     List<Inventory> getMaterialCk(AskGoods askGoods);
+
+    int getDeliveryScan(AskGoods askGoods);
+
+    int getScanSum(Delivery delivery1);
 }

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

@@ -127,4 +127,8 @@ public class Delivery implements Serializable {
      * 属性
      */
     private String attribute;
+    /**
+     * 物料类型
+     */
+    private String partType;
 }

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

@@ -38,7 +38,13 @@ public class DeliveryServiceImpl implements DeliveryService {
         Map<String, Object> map = new HashMap<>();
         try{
             List<Delivery> list = deliveryMapper.getDelivery(delivery);
+            Map<String, Object> mapVal = new HashMap<>();
+            for(Delivery delivery1 : list){
+                int sumScan = deliveryMapper.getScanSum(delivery1);
+                mapVal.put(delivery1.getDeliveryId() + delivery1.getMaterialId(), sumScan);
+            }
             map.put("data", list);
+            map.put("scan", mapVal);
             map.put("msg", "200");
         }catch (Exception e) {
             map.put("msg", "500");
@@ -219,6 +225,12 @@ public class DeliveryServiceImpl implements DeliveryService {
     public Map<String, Object> addVitrual(AskGoods askGoods) {
         Map<String, Object> map = new HashMap<>();
         try{
+            int mapValScan = deliveryMapper.getDeliveryScan(askGoods);
+            if(mapValScan != 0){
+                map.put("msg", "500");
+                map.put("errMsg", "已扫描!");
+                return map;
+            }
             Map<String, Object> mapVal = deliveryMapper.getScanIsNot(askGoods);
             if(Double.parseDouble(mapVal.get("amount").toString()) - Double.parseDouble(mapVal.get("vitrualNum").toString()) == 0){
                 map.put("msg", "500");

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

@@ -20,7 +20,8 @@
             b.source_type,
             b.move_type,
             c.name as materialName,
-            c.code as materialCode
+            c.code as materialCode,
+            c.part_type as partType
         from tld_delivery a
         join tld_delivery_f b on a.delivery_id = b.delivery_id
         left join tld_material c on a.material_id = c.tld_id
@@ -210,5 +211,32 @@
           and a.wbs = #{wbs}
         order by a.produc_date
     </select>
-
+    <!-- 查询销售出库是否扫描 -->
+    <select id="getDeliveryScan" resultType="int">
+        select count(*) from tld_ask_goods_vitrual
+        <trim prefix="WHERE" prefixOverrides="and |or">
+            <if test="serial != null and serial != ''">
+                and serial = #{serial}
+            </if>
+            <if test="supplierId != null and supplierId != ''">
+                and supplier_id = #{supplierId}
+            </if>
+            <if test="wllbCode != null and wllbCode != ''">
+                and wllb_code = #{wllbCode}
+            </if>
+            <if test="producDate != null and producDate != ''">
+                and produc_date = #{producDate}
+            </if>
+        </trim>
+    </select>
+    <!-- 查询指定销售单物料已扫数量 -->
+    <select id="getScanSum" resultType="int">
+        SELECT
+            ifnull(sum( a.num ), 0)
+        FROM
+            tld_ask_goods_vitrual a
+            join tld_material b on a.wllb_code = b.code
+        WHERE
+            a.ask_goods_id = #{deliveryId} and b.tld_id = #{materialId}
+    </select>
 </mapper>