Browse Source

问题修改

xiaochen 2 years ago
parent
commit
c891191b8d

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

@@ -83,7 +83,6 @@ public interface InviteMapper {
 
     int getCountDelivery(@Param("deliveryOrderId") String deliveryOrderId);
 
-
     void updDelivery(@Param("deliveryOrderId") String deliveryOrderId);
 
     void addDeliverys(Map<String, Object> list);
@@ -97,4 +96,6 @@ public interface InviteMapper {
     void otherShipments(List<Map<String, Object>> mapList);
 
     void sStoresRequisition(List<Map<String, Object>> mapList);
+
+    void updStatus(@Param("deliveryOrderId") String deliveryOrderId, @Param("entryNumber") String entryNumber, @Param("materialId") String materialId, @Param("status") String status);
 }

+ 18 - 4
src/main/java/com/tld/service/impl/InviteServiceImpl.java

@@ -232,17 +232,31 @@ public class InviteServiceImpl implements InviteService {
         Map<String, Object> map = new HashMap<>();
         try {
             for (Map<String, Object> list : mapList) {
-                if (list.get("operationType").toString().equals("2")){
-                    //查询子表数据根据交货单id
+                //operationType=1删除并修改
+                //父表deliveryOrderId是唯一的子表
+                if (list.get("operationType").toString().equals("1")){
+                    //查询子表数据是否有已经出库的
                     int count =  inviteMapper.getCountDelivery(list.get("deliveryOrderId").toString());
-                    //是否存在
+                    //是否存在   没有可以改
                     if (count == 0){
                         //修改父子表信息
                         inviteMapper.updDelivery(list.get("deliveryOrderId").toString());
                         //添加
                         inviteMapper.addDeliverys(list);
                     }
-                }else {
+                }else if (list.get("operationType").toString().equals("2")){//强制完成/非强制完成
+                    List<Map<String, Object>> datalist = (List<Map<String, Object>>) list.get("datalist");
+                    for (Map<String, Object> stringObjectMap : datalist) {
+                        //进行强制完成0否1是
+                        if (Double.parseDouble(stringObjectMap.get("gsCancelDeliveryCount").toString()) > 0 ){//修改该状态为1 变为强制完成
+                            String status = "1" ;
+                            inviteMapper.updStatus(stringObjectMap.get("deliveryOrderId").toString(),stringObjectMap.get("entryNumber").toString(),stringObjectMap.get("materialId").toString(),status);
+                        }else { //修改状态为0 改为取消强制完成
+                            String status = "0" ;
+                            inviteMapper.updStatus(stringObjectMap.get("deliveryOrderId").toString(),stringObjectMap.get("entryNumber").toString(),stringObjectMap.get("materialId").toString(),status);
+                        }
+                    }
+                } else {
                     //添加
                     inviteMapper.addDeliverys(list);
                 }

+ 1 - 0
src/main/resources/mapper/DeliveryMapper.xml

@@ -27,6 +27,7 @@
         join tld_delivery_f b on a.delivery_id = b.delivery_id
         left join tld_material c on a.material_id = c.tld_id
         where (a.gs_delivery_num - a.gs_cancel_num) != a.out_num
+        and a.status != '1'
         <if test="deliveryId != null and deliveryId != ''">
             and a.delivery_id = #{deliveryId}
         </if>

+ 10 - 5
src/main/resources/mapper/InviteMapper.xml

@@ -368,16 +368,16 @@
         values
             (#{deliveryOrderId},#{deliveryOrderNo},#{companyNumber},#{customerNo},#{docDate},#{deloveryGoodsType},#{sourceType},#{moveType})
         ;
-        insert into tld_delivery ( delivery_id, entry_number, material_id, wbs, measurement_id, gs_delivery_num, gs_cancel_num, out_num )
+        insert into tld_delivery ( delivery_id, entry_number, material_id, wbs, measurement_id, gs_delivery_num, gs_cancel_num, out_num,status )
         values
         <foreach collection="datalist" index="index" item="items" separator=",">
-            (#{items.deliveryOrderId},#{items.entryNumber},#{items.materialId},#{items.WBS},#{items.measUnitId},#{items.gsDeliveryCount},#{items.gsCancelDeliveryCount},0)
+            (#{items.deliveryOrderId},#{items.entryNumber},#{items.materialId},#{items.WBS},#{items.measUnitId},#{items.gsDeliveryCount},#{items.gsCancelDeliveryCount},0,0)
         </foreach>
         ;
-        insert into tld_delivery_log (delivery_id, delivery_code, company_number, customer_code, bills_time, delivery_type,source_type,move_type, entry_number, material_id, wbs, measurement_id, gs_delivery_num, gs_cancel_num, out_num )
+        insert into tld_delivery_log (delivery_id, delivery_code, company_number, customer_code, bills_time, delivery_type,source_type,move_type, entry_number, material_id, wbs, measurement_id, gs_delivery_num, gs_cancel_num, out_num ,status)
         values
         <foreach collection="datalist" index="index" item="items" separator=",">
-            (#{deliveryOrderId},#{deliveryOrderNo},#{companyNumber},#{customerNo},#{docDate},#{deloveryGoodsType},#{sourceType},#{moveType},#{items.entryNumber},#{items.materialId},#{items.WBS},#{items.measUnitId},#{items.gsDeliveryCount},#{items.gsCancelDeliveryCount},0)
+            (#{deliveryOrderId},#{deliveryOrderNo},#{companyNumber},#{customerNo},#{docDate},#{deloveryGoodsType},#{sourceType},#{moveType},#{items.entryNumber},#{items.materialId},#{items.WBS},#{items.measUnitId},#{items.gsDeliveryCount},#{items.gsCancelDeliveryCount},0,0)
         </foreach>
         ;
     </insert>
@@ -550,13 +550,18 @@
         </trim>
     </select>
     <select id="getCountDelivery" resultType="java.lang.Integer">
-        select COUNT(*) from  tld_delivery where delivery_id = #{deliveryOrderId} and out_num > 0
+        select COUNT(*) from  tld_delivery where delivery_id = #{deliveryOrderId} and (out_num+0)  <![CDATA[>]]>  0
     </select>
     <!-- 修改出库数量 -->
     <update id="updateOutNum">
         update tld_invite
         set out_num = ifnull(out_num,0) + #{num} where material_id = #{materialId} and ask_goods_id = #{askGoodsId}
     </update>
+    <!--修改交货单状态-->
+    <update id="updStatus">
+        update tld_delivery
+        set status = #{status} where delivery_id = #{deliveryOrderId} and entry_number = #{entryNumber} and material_id = #{materialId}
+    </update>
     <!-- 查询要料申请单 -->
     <select id="getDelAskGoods" resultType="java.util.Map">
         select * from tld_invite where id = #{id}