koushanshan 2 лет назад
Родитель
Сommit
26cf9677df

+ 23 - 0
src/main/java/com/dk/mdm/controller/ivt/outBound/OutboundOtherController.java

@@ -5,6 +5,7 @@ import com.dk.common.model.pojo.PageList;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.common.service.BaseService;
 import com.dk.mdm.model.pojo.ivt.Outbound;
+import com.dk.mdm.model.query.ivt.InboundQuery;
 import com.dk.mdm.model.query.ivt.OutboundQuery;
 import com.dk.mdm.model.response.ivt.InboundResponse;
 import com.dk.mdm.model.vo.ivt.InboundVO;
@@ -144,4 +145,26 @@ public class OutboundOtherController {
         return inboundService.selectByUpdate(id);
     }
 
+    /**
+     * @desc   : 条件查询 --- web端出库办理用
+     * @date   : 2024/3/7 14:09
+     * @author : 寇珊珊
+     */
+    @ApiOperation(value = "条件查询", notes = "条件查询")
+    @PostMapping({"select_outbound"})
+    public ResponseResultVO<PageList<InboundResponse>> selectOutbound(@Valid @RequestBody OutboundQuery outboundQuery) {
+        return outboundOtherService.selectOutbound(outboundQuery);
+    }
+
+    /**
+     * @desc   : 条件查询 --- web端出库办理用
+     * @date   : 2024/3/7 14:09
+     * @author : 寇珊珊
+     */
+    @ApiOperation(value = "明细信息条件查询web端出库办理用", notes = "明细信息条件查询web端出库办理用")
+    @PostMapping({"select_outbound_item/{id}"})
+    public ResponseResultVO<Map<String, Object>> selectOutboundItem(@PathVariable String id) {
+        return outboundOtherService.selectOutboundItem(id);
+    }
+
 }

+ 50 - 2
src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.xml

@@ -738,6 +738,9 @@
             <if test="staffIdList != null and staffIdList.size() > 0">
                 AND tms.staff_id  =any(#{staffIdList, typeHandler=uuidListTypeHandler})
             </if>
+            <if test="flgValidList != null and flgValidList.size()>0">
+                AND tpi.flg_valid =any(#{flgValidList, typeHandler=BooleanListTypeHandler})
+            </if>
         </where>
         union all
         select
@@ -788,6 +791,9 @@
             <if test="staffIdList != null and staffIdList.size() > 0">
                 AND tms.staff_id  =any(#{staffIdList, typeHandler=uuidListTypeHandler})
             </if>
+            <if test="flgValidList != null and flgValidList.size()>0">
+                AND tpo.flg_valid =any(#{flgValidList, typeHandler=BooleanListTypeHandler})
+            </if>
         </where>
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}
@@ -821,13 +827,34 @@
                 AND (tpi.into_type = '入库类型-其他入库'
                 or tpi.into_type =  '入库类型-采购入库')
             </if>
-            <if test="intoStatus != null and intoStatus != '' ">
-                AND tpi.into_status LIKE concat('%',my_ex.likequery(#{intoStatus}),'%')
+            <if test=" intoStatus != null and intoStatus != '' ">
+                AND  tpi.into_status LIKE concat('%',my_ex.likequery(#{intoStatus}),'%')
             </if>
             <if test="makeTimeStart != null and makeTimeEnd != null">
                 AND tpi.make_time &gt;= #{makeTimeStart}::timestamp with time zone
                 AND tpi.make_time &lt; #{makeTimeEnd}::timestamp with time zone + interval '1 day'
             </if>
+            <if test="intoNo != null and intoNo != ''">
+                AND tpi.into_no LIKE concat('%',my_ex.likequery(#{intoNo}),'%')
+            </if>
+            <if test="cusPhone != null and cusPhone != ''">
+                AND tmc.cus_phone LIKE concat('%',my_ex.likequery(#{cusPhone}),'%')
+            </if>
+            <if test="cusName != null and cusName != ''">
+                AND tmc.cus_name LIKE concat('%',my_ex.likequery(#{cusName}),'%')
+            </if>
+            <if test="supId != null and supId != ''">
+                AND tpi.sup_id = #{supId}::uuid
+            </if>
+            <if test="orgIdList != null and orgIdList.size() > 0">
+                AND tmo.org_id  =any(#{orgIdList, typeHandler=uuidListTypeHandler})
+            </if>
+            <if test="staffIdList != null and staffIdList.size() > 0">
+                AND tms.staff_id  =any(#{staffIdList, typeHandler=uuidListTypeHandler})
+            </if>
+            <if test="flgValidList != null and flgValidList.size()>0">
+                AND tpi.flg_valid =any(#{flgValidList, typeHandler=BooleanListTypeHandler})
+            </if>
         </where>
         union all
         select
@@ -860,6 +887,27 @@
                 AND tpo.make_time &gt;= #{makeTimeStart}::timestamp with time zone
                 AND tpo.make_time &lt; #{makeTimeEnd}::timestamp with time zone + interval '1 day'
             </if>
+            <if test="intoNo != null and intoNo != ''">
+                AND tpo.out_no LIKE concat('%',my_ex.likequery(#{intoNo}),'%')
+            </if>
+            <if test="cusPhone != null and cusPhone != ''">
+                AND tmc.cus_phone LIKE concat('%',my_ex.likequery(#{cusPhone}),'%')
+            </if>
+            <if test="cusName != null and cusName != ''">
+                AND tmc.cus_name LIKE concat('%',my_ex.likequery(#{cusName}),'%')
+            </if>
+            <if test="supId != null and supId != ''">
+                AND tpo.sup_id = #{supId}::uuid
+            </if>
+            <if test="orgIdList != null and orgIdList.size() > 0">
+                AND tmo.org_id  =any(#{orgIdList, typeHandler=uuidListTypeHandler})
+            </if>
+            <if test="staffIdList != null and staffIdList.size() > 0">
+                AND tms.staff_id  =any(#{staffIdList, typeHandler=uuidListTypeHandler})
+            </if>
+            <if test="flgValidList != null and flgValidList.size()>0">
+                AND tpo.flg_valid =any(#{flgValidList, typeHandler=BooleanListTypeHandler})
+            </if>
         </where>
         ) tt
     </select>

+ 10 - 0
src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.java

@@ -2,7 +2,9 @@ package com.dk.mdm.mapper.ivt;
 
 import com.dk.mdm.model.pojo.ivt.OutboundItem;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.query.ivt.InboundItemQuery;
 import com.dk.mdm.model.query.ivt.OutboundItemQuery;
+import com.dk.mdm.model.response.ivt.InboundItemResponse;
 import com.dk.mdm.model.response.ivt.OutboundItemResponse;
 import com.dk.mdm.model.vo.ivt.OutboundItemVO;
 import org.apache.ibatis.annotations.Param;
@@ -71,6 +73,14 @@ public interface OutboundItemMapper extends BaseMapper<OutboundItem>{
      */
     int  updateReturnMessage(OutboundItem outboundItem);
 
+    /**
+     * @desc   : 条件查询 --- web端出库办理用
+     * @date   : 2024/3/23 9:24
+     * @author : 寇珊珊
+     */
+    List<OutboundItemResponse> selectOutboundItem(OutboundItemQuery outboundItemQuery);
+
+
 
 }
 

+ 215 - 117
src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.xml

@@ -5,7 +5,8 @@
     <!-- 通用设置 -->
     <!-- 通用查询列 -->
     <sql id="Base_Column_List">
-        item_id, out_id, out_type, from_id, from_item_id, item_index, sku_id, price_out, non_std_code,
+        item_id
+        , out_id, out_type, from_id, from_item_id, item_index, sku_id, price_out, non_std_code,
         out_status, outing_qty, outing_amt, out_qty, out_amt, return_qty, return_amt, remarks,
         inv_id, cost_price, cost_amt, flg_valid, cp_id, op_create_time, op_create_user_id,
         op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user,
@@ -13,7 +14,10 @@
     </sql>
 
     <sql id="Base_Column_List_Response">
-        tpoi.item_id, tpoi.out_id, tpoi.out_type, tpoi.from_id, tpoi.from_item_id, tpoi.item_index,
+        tpoi
+        .
+        item_id
+        , tpoi.out_id, tpoi.out_type, tpoi.from_id, tpoi.from_item_id, tpoi.item_index,
         tpoi.sku_id, tpoi.price_out, tpoi.non_std_code, tpoi.out_status, tpoi.outing_qty, tpoi.outing_amt,
         tpoi.out_qty, tpoi.out_amt, tpoi.return_qty, tpoi.return_amt, tpoi.remarks, tpoi.inv_id,
         tpoi.cost_price, tpoi.cost_amt, tpoi.flg_valid, tpoi.cp_id,
@@ -24,64 +28,64 @@
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.ivt.OutboundItem">
         <id column="item_id" property="itemId"/>
-                <result column="out_id" property="outId" typeHandler="UuidTypeHandler"/>
-                <result column="out_type" property="outType"/>
-                <result column="from_id" property="fromId" typeHandler="UuidTypeHandler"/>
-                <result column="from_item_id" property="fromItemId" typeHandler="UuidTypeHandler"/>
-                <result column="item_index" property="itemIndex"/>
-                <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
-                <result column="price_out" property="priceOut"/>
-                <result column="non_std_code" property="nonStdCode"/>
-                <result column="out_status" property="outStatus"/>
-                <result column="outing_qty" property="outingQty"/>
-                <result column="outing_amt" property="outingAmt"/>
-                <result column="out_qty" property="outQty"/>
-                <result column="out_amt" property="outAmt"/>
-                <result column="return_qty" property="returnQty"/>
-                <result column="return_amt" property="returnAmt"/>
-                <result column="remarks" property="remarks"/>
-                <result column="inv_id" property="invId" typeHandler="UuidTypeHandler"/>
-                <result column="cost_price" property="costPrice"/>
-                <result column="cost_amt" property="costAmt"/>
-                <result column="flg_valid" property="flgValid"/>
-                <result column="cp_id" property="cpId"/>
-            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
-                <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
-            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
-                <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
-                <result column="op_app_code" property="opAppCode"/>
-            <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
-                <result column="op_db_user" property="opDbUser"/>
-                <result column="s_out_id" property="sOutId" typeHandler="UuidTypeHandler"/>
-                <result column="s_out_item_id" property="sOutItemId" typeHandler="UuidTypeHandler"/>
-                <result column="s_order_id" property="sOrderId" typeHandler="UuidTypeHandler"/>
-                <result column="s_order_item_id" property="sOrderItemId" typeHandler="UuidTypeHandler"/>
+        <result column="out_id" property="outId" typeHandler="UuidTypeHandler"/>
+        <result column="out_type" property="outType"/>
+        <result column="from_id" property="fromId" typeHandler="UuidTypeHandler"/>
+        <result column="from_item_id" property="fromItemId" typeHandler="UuidTypeHandler"/>
+        <result column="item_index" property="itemIndex"/>
+        <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
+        <result column="price_out" property="priceOut"/>
+        <result column="non_std_code" property="nonStdCode"/>
+        <result column="out_status" property="outStatus"/>
+        <result column="outing_qty" property="outingQty"/>
+        <result column="outing_amt" property="outingAmt"/>
+        <result column="out_qty" property="outQty"/>
+        <result column="out_amt" property="outAmt"/>
+        <result column="return_qty" property="returnQty"/>
+        <result column="return_amt" property="returnAmt"/>
+        <result column="remarks" property="remarks"/>
+        <result column="inv_id" property="invId" typeHandler="UuidTypeHandler"/>
+        <result column="cost_price" property="costPrice"/>
+        <result column="cost_amt" property="costAmt"/>
+        <result column="flg_valid" property="flgValid"/>
+        <result column="cp_id" property="cpId"/>
+        <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+        <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+        <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+        <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+        <result column="op_app_code" property="opAppCode"/>
+        <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+        <result column="op_db_user" property="opDbUser"/>
+        <result column="s_out_id" property="sOutId" typeHandler="UuidTypeHandler"/>
+        <result column="s_out_item_id" property="sOutItemId" typeHandler="UuidTypeHandler"/>
+        <result column="s_order_id" property="sOrderId" typeHandler="UuidTypeHandler"/>
+        <result column="s_order_item_id" property="sOrderItemId" typeHandler="UuidTypeHandler"/>
     </resultMap>
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMapResponse" type="com.dk.mdm.model.response.ivt.OutboundItemResponse">
         <id column="item_id" property="itemId"/>
-                <result column="out_id" property="outId" typeHandler="UuidTypeHandler"/>
-                <result column="out_type" property="outType"/>
-                <result column="from_id" property="fromId" typeHandler="UuidTypeHandler"/>
-                <result column="from_item_id" property="fromItemId" typeHandler="UuidTypeHandler"/>
-                <result column="item_index" property="itemIndex"/>
-                <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
-                <result column="price_out" property="priceOut"/>
-                <result column="non_std_code" property="nonStdCode"/>
-                <result column="out_status" property="outStatus"/>
-                <result column="outing_qty" property="outingQty"/>
-                <result column="outing_amt" property="outingAmt"/>
-                <result column="out_qty" property="outQty"/>
-                <result column="out_amt" property="outAmt"/>
-                <result column="return_qty" property="returnQty"/>
-                <result column="return_amt" property="returnAmt"/>
-                <result column="remarks" property="remarks"/>
-                <result column="inv_id" property="invId" typeHandler="UuidTypeHandler"/>
-                <result column="cost_price" property="costPrice"/>
-                <result column="cost_amt" property="costAmt"/>
-                <result column="flg_valid" property="flgValid"/>
-                <result column="cp_id" property="cpId"/>
+        <result column="out_id" property="outId" typeHandler="UuidTypeHandler"/>
+        <result column="out_type" property="outType"/>
+        <result column="from_id" property="fromId" typeHandler="UuidTypeHandler"/>
+        <result column="from_item_id" property="fromItemId" typeHandler="UuidTypeHandler"/>
+        <result column="item_index" property="itemIndex"/>
+        <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
+        <result column="price_out" property="priceOut"/>
+        <result column="non_std_code" property="nonStdCode"/>
+        <result column="out_status" property="outStatus"/>
+        <result column="outing_qty" property="outingQty"/>
+        <result column="outing_amt" property="outingAmt"/>
+        <result column="out_qty" property="outQty"/>
+        <result column="out_amt" property="outAmt"/>
+        <result column="return_qty" property="returnQty"/>
+        <result column="return_amt" property="returnAmt"/>
+        <result column="remarks" property="remarks"/>
+        <result column="inv_id" property="invId" typeHandler="UuidTypeHandler"/>
+        <result column="cost_price" property="costPrice"/>
+        <result column="cost_amt" property="costAmt"/>
+        <result column="flg_valid" property="flgValid"/>
+        <result column="cp_id" property="cpId"/>
         <result column="s_out_id" property="sOutId" typeHandler="UuidTypeHandler"/>
         <result column="s_out_item_id" property="sOutItemId" typeHandler="UuidTypeHandler"/>
         <result column="s_order_id" property="sOrderId" typeHandler="UuidTypeHandler"/>
@@ -168,40 +172,40 @@
     <!-- 查询表t_psi_outbound_item,(条件查询+分页)列表 -->
     <select id="selectByCond" resultMap="BaseResultMapResponse">
         SELECT tpoi.item_id,
-               tpoi.out_id,
-               tpoi.out_type,
-               tpoi.from_id,
-               tpoi.from_item_id,
-               tpoi.item_index,
-               tpoi.sku_id,
-               tmgs.sku_code                                    as "skuCode",
-               tmgs.sku_model                                   as "skuModel",
-               tmgs.sku_name                                    as "skuName",
-               tpoi.price_out,
-               tpoi.non_std_code,
-               tpoi.out_status,
-               tpoi.outing_qty,
-               tpoi.outing_amt,
-               tpoi.out_qty,
-               tpoi.out_amt,
-               tpoi.return_qty,
-               tpoi.return_amt,
-               tpoi.remarks,
-               tpoi.inv_id,
-               tpoi.cost_price,
-               tpoi.cost_amt,
-               tpoi.flg_valid,
-               tpoi.cp_id,
-               tpi.wh_id                                     as  "whId",
-                tpi.inv_qty                                     as  "invQty",
-                tpi.usable_qty                                  as  "usableQty",
-               tmw.wh_name                                      as "whName",
-               sys.f_get_name_i18n(tdk.kind_name_i18n, #{i18n}) as "outStatusName"
+        tpoi.out_id,
+        tpoi.out_type,
+        tpoi.from_id,
+        tpoi.from_item_id,
+        tpoi.item_index,
+        tpoi.sku_id,
+        tmgs.sku_code as "skuCode",
+        tmgs.sku_model as "skuModel",
+        tmgs.sku_name as "skuName",
+        tpoi.price_out,
+        tpoi.non_std_code,
+        tpoi.out_status,
+        tpoi.outing_qty,
+        tpoi.outing_amt,
+        tpoi.out_qty,
+        tpoi.out_amt,
+        tpoi.return_qty,
+        tpoi.return_amt,
+        tpoi.remarks,
+        tpoi.inv_id,
+        tpoi.cost_price,
+        tpoi.cost_amt,
+        tpoi.flg_valid,
+        tpoi.cp_id,
+        tpi.wh_id as "whId",
+        tpi.inv_qty as "invQty",
+        tpi.usable_qty as "usableQty",
+        tmw.wh_name as "whName",
+        sys.f_get_name_i18n(tdk.kind_name_i18n, #{i18n}) as "outStatusName"
         FROM dkic_b.t_psi_outbound_item as tpoi
-                 left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = tpoi.sku_id
-                 left join dkic_b.t_psi_inventory as tpi on tpi.inv_id = tpoi.inv_id
-                 left join dkic_b.t_mst_warehouse as tmw on tmw.wh_id = tpi.wh_id
-                 left join sys.t_data_kind as tdk on tdk.kind_code = tpoi.out_status
+        left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = tpoi.sku_id
+        left join dkic_b.t_psi_inventory as tpi on tpi.inv_id = tpoi.inv_id
+        left join dkic_b.t_mst_warehouse as tmw on tmw.wh_id = tpi.wh_id
+        left join sys.t_data_kind as tdk on tdk.kind_code = tpoi.out_status
         <include refid="Condition"/>
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}
@@ -316,23 +320,23 @@
                t.from_id,
                t.item_index,
                t.sku_id,
-               tmgs.sku_code                                  as "skuCode",
-               tmgs.sku_model                                 as "skuModel",
-               tmgs.sku_name                                  as "skuName",
-               tpoi.item_qty                                  as "orderQty",
+               tmgs.sku_code                                                             as "skuCode",
+               tmgs.sku_model                                                            as "skuModel",
+               tmgs.sku_name                                                             as "skuName",
+               tpoi.item_qty                                                             as "orderQty",
                tpoi.item_qty - tpoi.outing_qty - tpoi.out_qty + t.outing_qty + t.out_qty as "canOutingQty",
                t.price_out,
-               t.outing_qty + t.out_qty                       as outing_qty,
-               t.outing_amt + t.out_amt                       as outing_amt,
+               t.outing_qty + t.out_qty                                                  as outing_qty,
+               t.outing_amt + t.out_amt                                                  as outing_amt,
                t.out_qty,
                t.out_amt,
                t.non_std_code,
                t.remarks,
                t.inv_id,
-               tpi.wh_id                                      as "whId",
-               tpi.inv_qty                                    as "invQty",
-               tpi.usable_qty                                 as "usableQty",
-               tmw.wh_name                                    as "whName"
+               tpi.wh_id                                                                 as "whId",
+               tpi.inv_qty                                                               as "invQty",
+               tpi.usable_qty                                                            as "usableQty",
+               tmw.wh_name                                                               as "whName"
         FROM dkic_b.t_psi_outbound_item as t
                  left join dkic_b.t_psi_order_item as tpoi on tpoi.item_id = t.from_item_id
                  left join dkic_b.t_mst_goods_sku tmgs on tpoi.sku_id = tmgs.sku_id
@@ -345,17 +349,17 @@
 
     <!-- 获取出库信息(新建退货用) -->
     <select id="selectByCondForReturn" resultMap="BaseResultMapResponse">
-        SELECT t.out_id                                       as "sOutId",
-               t.item_id                                      as "sOutItemId",
+        SELECT t.out_id                                   as "sOutId",
+               t.item_id                                  as "sOutItemId",
                t.sku_id,
-               tmgs.sku_code                                  as "skuCode",
-               tmgs.sku_model                                 as "skuModel",
-               tmgs.sku_name                                  as "skuName",
-               t.out_qty                                      as "outboundOutQty",
-               t.out_qty - t.return_qty                       as "canReturnQty",
-               - (t.out_qty - t.return_qty)                   as outing_qty,
+               tmgs.sku_code                              as "skuCode",
+               tmgs.sku_model                             as "skuModel",
+               tmgs.sku_name                              as "skuName",
+               t.out_qty                                  as "outboundOutQty",
+               t.out_qty - t.return_qty                   as "canReturnQty",
+               - (t.out_qty - t.return_qty)               as outing_qty,
                t.price_out,
-               - t.price_out * (t.out_qty - t.return_qty)     as outing_amt,
+               - t.price_out * (t.out_qty - t.return_qty) as outing_amt,
                t.inv_id,
                t.non_std_code,
                t.remarks
@@ -378,19 +382,19 @@
                t.s_order_item_id,
                t.item_index,
                t.sku_id,
-               tmgs.sku_code                  as "skuCode",
-               tmgs.sku_model                 as "skuModel",
-               tmgs.sku_name                  as "skuName",
-               COALESCE(tpobi.out_qty, 0)     as "outboundOutQty",
+               tmgs.sku_code                                                                         as "skuCode",
+               tmgs.sku_model                                                                        as "skuModel",
+               tmgs.sku_name                                                                         as "skuName",
+               COALESCE(tpobi.out_qty, 0)                                                            as "outboundOutQty",
                COALESCE(tpobi.out_qty, 0) - COALESCE(tpobi.return_qty, 0) + t.outing_qty + t.out_qty as "canReturnQty",
                t.inv_id,
                tpi.wh_id,
-               tpi.inv_qty                    as "invQty",
-               tpi.usable_qty                 as "usableQty",
-               tmw.wh_name                    as "whName",
+               tpi.inv_qty                                                                           as "invQty",
+               tpi.usable_qty                                                                        as "usableQty",
+               tmw.wh_name                                                                           as "whName",
                t.price_out,
-               t.outing_qty + t.out_qty       as outing_qty,
-               t.outing_amt + t.out_amt       as outing_amt,
+               t.outing_qty + t.out_qty                                                              as outing_qty,
+               t.outing_amt + t.out_amt                                                              as outing_amt,
                t.non_std_code,
                t.remarks
         FROM dkic_b.t_psi_outbound_item as t
@@ -416,7 +420,101 @@
             </if>
         </set>
         where item_id = #{itemId,typeHandler=UuidTypeHandler}
-        and  out_qty >= return_qty
+        and out_qty >= return_qty
     </update>
 
+
+    <!-- 出库办理显示字段 -->
+    <sql id="Base_Column_List_Response_Out">
+        tpoi.item_id ,
+        tpoi.out_id ,
+        tpoi.out_type ,
+        tpoi.from_id,
+        tpoi.from_item_id,
+        tpoi.item_index,
+        tpoi.sku_id,
+        tpoi.price_out,
+        tpoi.non_std_code,
+        tpoi.out_status ,
+        tpoi.outing_qty ,
+        tpoi.outing_amt ,
+        tpoi.out_qty ,
+        tpoi.out_amt ,
+        tpoi.return_qty,
+        tpoi.return_amt,
+        tpoi.remarks,
+        tpoi.inv_id,
+        tpoi.cost_price,
+        tpoi.cost_amt
+    </sql>
+    <sql id="Base_Column_List_Response_Into">
+        tpii.item_id ,
+        tpii.into_id as out_id,
+        tpii.into_type as out_type,
+        tpii.from_id,
+        tpii.from_item_id,
+        tpii.item_index,
+        tpii.sku_id,
+        tpii.price_into as price_out,
+        tpii.non_std_code,
+        tpii.into_status,
+        tpii.intoing_qty as outing_qty ,
+        tpii.intoing_amt as outing_amt ,
+        tpii.into_qty as out_qty ,
+        tpii.into_amt as out_amt ,
+        tpii.return_qty,
+        tpii.return_amt,
+        tpii.remarks,
+        tpii.inv_id,
+        tpii.cost_price,
+        tpii.cost_amt
+    </sql>
+    <!--条件查询 web端出库办理用-->
+    <select id="selectOutboundItem" resultMap="BaseResultMapResponse">
+        select
+        <include refid="Base_Column_List_Response_Out"/>
+        ,tmgs.sku_code as "skuCode"
+        ,tmgs.sku_model as "skuModel"
+        ,tmgs.sku_name as "skuName"
+        ,tmgs.sku_spec as "skuSpec"
+        ,tmgb.brand_name as "brandName"
+        ,tmgb.short_name as "shortName"
+        from dkic_b.t_psi_outbound_item tpoi
+        <include refid="Select_Inbound_Join_Table_Out"/>
+        <where>
+            tpoi.flg_valid
+            <if test="outId != null and outId != ''">
+                AND tpoi.out_id = #{outId}::uuid
+            </if>
+        </where>
+        union all
+        SELECT
+        <include refid="Base_Column_List_Response_Into"/>
+        ,tmgs.sku_code as "skuCode"
+        ,tmgs.sku_model as "skuModel"
+        ,tmgs.sku_name as "skuName"
+        ,tmgs.sku_spec as "skuSpec"
+        ,tmgb.brand_name as "brandName"
+        ,tmgb.short_name as "shortName"
+        FROM dkic_b.t_psi_inbound_item tpii
+        <include refid="Select_Inbound_Join_Table_Into"/>
+        <where>
+            tpii.flg_valid
+            <if test="outId != null and outId != ''">
+                AND tpii.into_id = #{outId}::uuid
+            </if>
+        </where>
+    </select>
+    <!--出库办理显示出库关联表-->
+    <sql id="Select_Inbound_Join_Table_Out">
+        left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = tpoi.sku_id
+        left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id = tmgs.brand_id
+        left join dkic_b.t_psi_inventory tpi on tpi.inv_id = tpoi.inv_id
+    </sql>
+    <sql id="Select_Inbound_Join_Table_Into">
+        left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = tpii.sku_id
+        left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id = tmgs.brand_id
+        left join dkic_b.t_psi_inventory tpi on tpi.inv_id = tpii.inv_id
+    </sql>
+
 </mapper>

+ 14 - 0
src/main/java/com/dk/mdm/mapper/ivt/OutboundMapper.java

@@ -58,5 +58,19 @@ public interface OutboundMapper extends BaseMapper<Outbound>{
      * @author : 寇珊珊
      */
     int  updateReturnMessage(Outbound outbound);
+
+    /**
+     * @desc   : 条件查询 --- web端出库办理用
+     * @date   : 2024/3/23 9:24
+     * @author : 寇珊珊
+     */
+    List<OutboundResponse> selectOutbound(OutboundQuery outboundQuery);
+
+    /**
+     * @desc   : 条件查询 --- web端出库办理用查个数
+     * @date   : 2024/3/23 9:24
+     * @author : 寇珊珊
+     */
+    Long selectOutboundCond(OutboundQuery outboundQuery);
 }
 

+ 294 - 0
src/main/java/com/dk/mdm/mapper/ivt/OutboundMapper.xml

@@ -572,4 +572,298 @@
         where out_id = #{outId,typeHandler=UuidTypeHandler}
         and  out_qty >= return_qty
     </update>
+
+
+    <!-- 出库办理显示字段 -->
+    <sql id="Base_Column_List_Response_Out">
+        tpo.out_id  ,
+        tpo.out_no  ,
+        tpo.out_type ,
+        tpo.from_id,
+        tpo.from_no,
+        tpo.org_id,
+        tpo.staff_id,
+        tpo.cus_id,
+        tpo.sup_id,
+        tpo.out_status,
+        tpo.outing_qty ,
+        tpo.outing_amt,
+        tpo.out_qty ,
+        tpo.out_amt ,
+        tpo.return_qty,
+        tpo.return_amt,
+        tpo.out_date ,
+        tpo.remarks,
+        tpo.annex_paths,
+        tpo.make_staff,
+        tpo.make_time,
+        tpo.out_reason
+    </sql>
+    <sql id="Base_Column_List_Response_Into">
+        tpi.into_id as out_id,
+        tpi.into_no as out_no,
+        tpi.into_type as out_type,
+        tpi.from_id,
+        tpi.from_no,
+        tpi.org_id,
+        tpi.staff_id,
+        tpi.cus_id,
+        tpi.sup_id,
+        tpi.into_status as out_status ,
+        tpi.intoing_qty as outing_qty ,
+        tpi.intoing_amt as outing_amt ,
+        tpi.into_qty as out_qty ,
+        tpi.into_amt as out_amt,
+        tpi.return_qty,
+        tpi.return_amt,
+        tpi.into_date as out_date,
+        tpi.remarks,
+        tpi.annex_paths,
+        tpi.make_staff,
+        tpi.make_time,
+        tpi.into_reason as out_reason
+    </sql>
+    <!-- 条件查询 web端入库办理用,-->
+    <select id="selectOutbound" resultMap="BaseResultMapResponse">
+        select
+        <include refid="Base_Column_List_Response_Out"/>,
+        tmo.org_name AS "orgName",
+        tmp.sup_name AS "supplierName",
+        tms.staff_name AS "staffName",
+        tms.staff_name AS "makeStaffName",
+        tmc.cus_name                                      as "cusName",
+        tmc.cus_phone                                     as "cusPhone",
+        tmc.cus_from                                      as "cusFrom",
+        makestaff.staff_name                              as "makeStaffName",
+        sys.f_get_name_i18n(tdktype.kind_name_i18n, 'zh_CN') AS  "outTypeName",
+        sys.f_get_name_i18n(tdk.kind_name_i18n, 'zh_CN') AS  "outStatusName",
+        tmd.data_value                                   as out_reason_name
+        from dkic_b.t_psi_outbound tpo
+        <include refid="Select_Inbound_Join_Table_Out"/>
+        <where>
+            <if test="outTypes != null and outTypes.size()>0">
+                AND tpo.out_type =any(#{outTypes,typeHandler=StringListTypeHandler})
+            </if>
+            <if test="outTypes == null || outTypes.size()==0">
+                AND (tpo.out_type = '出库类型-其他出库'
+                or tpo.out_type =  '出库类型-销售出库')
+            </if>
+            <if test="outStatus != null and outStatus != '' ">
+                AND  tpo.out_status LIKE concat('%',my_ex.likequery(#{outStatus}),'%')
+            </if>
+            <if test="makeTimeStart != null and makeTimeEnd != null">
+                AND tpo.make_time &gt;= #{makeTimeStart}::timestamp with time zone
+                AND tpo.make_time &lt; #{makeTimeEnd}::timestamp with time zone + interval '1 day'
+            </if>
+            <if test="outNo != null and outNo != ''">
+                AND tpo.out_no LIKE concat('%',my_ex.likequery(#{outNo}),'%')
+            </if>
+            <if test="cusPhone != null and cusPhone != ''">
+                AND tmc.cus_phone LIKE concat('%',my_ex.likequery(#{cusPhone}),'%')
+            </if>
+            <if test="cusName != null and cusName != ''">
+                AND tmc.cus_name LIKE concat('%',my_ex.likequery(#{cusName}),'%')
+            </if>
+            <if test="supId != null and supId != ''">
+                AND tpo.sup_id = #{supId}::uuid
+            </if>
+            <if test="orgIdList != null and orgIdList.size() > 0">
+                AND tmo.org_id  =any(#{orgIdList, typeHandler=uuidListTypeHandler})
+            </if>
+            <if test="staffIdList != null and staffIdList.size() > 0">
+                AND tms.staff_id  =any(#{staffIdList, typeHandler=uuidListTypeHandler})
+            </if>
+            <if test="flgValidList != null and flgValidList.size()>0">
+                AND tpo.flg_valid =any(#{flgValidList, typeHandler=BooleanListTypeHandler})
+            </if>
+        </where>
+        union all
+        SELECT
+        <include refid="Base_Column_List_Response_Into"/>,
+        tmo.org_name AS "orgName",
+        tmp.sup_name AS "supplierName",
+        tms.staff_name AS "staffName",
+        tms.staff_name AS "makeStaffName",
+        tmc.cus_name                                      as "cusName",
+        tmc.cus_phone                                     as "cusPhone",
+        tmc.cus_from                                      as "cusFrom",
+        makestaff.staff_name                              as "makeStaffName",
+        sys.f_get_name_i18n(tdktype.kind_name_i18n, 'zh_CN') AS  "outTypeName",
+        sys.f_get_name_i18n(tdk.kind_name_i18n, 'zh_CN') AS  "outStatusName",
+        tmd.data_value                                   as out_reason_name
+        FROM dkic_b.t_psi_inbound tpi
+        <include refid="Select_Inbound_Join_Table_Into"/>
+        <where>
+            <if test="outTypes != null and outTypes.size()>0">
+                AND tpi.into_type =any(#{outTypes,typeHandler=StringListTypeHandler})
+            </if>
+            <if test="outTypes == null || outTypes.size()==0">
+                AND tpi.into_type = '入库类型-采退入库'
+            </if>
+            <if test="intoStatus != null and intoStatus != '' ">
+                AND  tpi.into_status LIKE concat('%',my_ex.likequery(#{intoStatus}),'%')
+            </if>
+            <if test="makeTimeStart != null and makeTimeEnd != null">
+                AND tpi.make_time &gt;= #{makeTimeStart}::timestamp with time zone
+                AND tpi.make_time &lt; #{makeTimeEnd}::timestamp with time zone + interval '1 day'
+            </if>
+            <if test="outNo != null and outNo != ''">
+                AND tpi.into_no LIKE concat('%',my_ex.likequery(#{outNo}),'%')
+            </if>
+            <if test="cusPhone != null and cusPhone != ''">
+                AND tmc.cus_phone LIKE concat('%',my_ex.likequery(#{cusPhone}),'%')
+            </if>
+            <if test="cusName != null and cusName != ''">
+                AND tmc.cus_name LIKE concat('%',my_ex.likequery(#{cusName}),'%')
+            </if>
+            <if test="supId != null and supId != ''">
+                AND tpi.sup_id = #{supId}::uuid
+            </if>
+            <if test="orgIdList != null and orgIdList.size() > 0">
+                AND tmo.org_id  =any(#{orgIdList, typeHandler=uuidListTypeHandler})
+            </if>
+            <if test="staffIdList != null and staffIdList.size() > 0">
+                AND tms.staff_id  =any(#{staffIdList, typeHandler=uuidListTypeHandler})
+            </if>
+            <if test="flgValidList != null and flgValidList.size()>0">
+                AND tpi.flg_valid =any(#{flgValidList, typeHandler=BooleanListTypeHandler})
+            </if>
+        </where>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+    <!--  条件查询 web端入库办理用个数 -->
+    <select id="selectOutboundCond" resultType="Long">
+        SELECT
+        count(1) from (
+        select
+        <include refid="Base_Column_List_Response_Out"/>,
+        tmo.org_name AS "orgName",
+        tmp.sup_name AS "supplierName",
+        tms.staff_name AS "staffName",
+        tms.staff_name AS "makeStaffName",
+        tmc.cus_name                                      as "cusName",
+        tmc.cus_phone                                     as "cusPhone",
+        tmc.cus_from                                      as "cusFrom",
+        makestaff.staff_name                              as "makeStaffName",
+        sys.f_get_name_i18n(tdktype.kind_name_i18n, 'zh_CN') AS  "outTypeName",
+        sys.f_get_name_i18n(tdk.kind_name_i18n, 'zh_CN') AS  "outStatusName",
+        tmd.data_value                                   as out_reason_name
+        from dkic_b.t_psi_outbound tpo
+        <include refid="Select_Inbound_Join_Table_Out"/>
+        <where>
+            <if test="outTypes != null and outTypes.size()>0">
+                AND tpo.out_type =any(#{outTypes,typeHandler=StringListTypeHandler})
+            </if>
+            <if test="outTypes == null || outTypes.size()==0">
+                AND (tpo.out_type = '出库类型-其他出库'
+                or tpo.out_type =  '出库类型-销售出库')
+            </if>
+            <if test="outStatus != null and outStatus != '' ">
+                AND  tpo.out_status LIKE concat('%',my_ex.likequery(#{outStatus}),'%')
+            </if>
+            <if test="makeTimeStart != null and makeTimeEnd != null">
+                AND tpo.make_time &gt;= #{makeTimeStart}::timestamp with time zone
+                AND tpo.make_time &lt; #{makeTimeEnd}::timestamp with time zone + interval '1 day'
+            </if>
+            <if test="outNo != null and outNo != ''">
+                AND tpo.out_no LIKE concat('%',my_ex.likequery(#{outNo}),'%')
+            </if>
+            <if test="cusPhone != null and cusPhone != ''">
+                AND tmc.cus_phone LIKE concat('%',my_ex.likequery(#{cusPhone}),'%')
+            </if>
+            <if test="cusName != null and cusName != ''">
+                AND tmc.cus_name LIKE concat('%',my_ex.likequery(#{cusName}),'%')
+            </if>
+            <if test="supId != null and supId != ''">
+                AND tpo.sup_id = #{supId}::uuid
+            </if>
+            <if test="orgIdList != null and orgIdList.size() > 0">
+                AND tmo.org_id  =any(#{orgIdList, typeHandler=uuidListTypeHandler})
+            </if>
+            <if test="staffIdList != null and staffIdList.size() > 0">
+                AND tms.staff_id  =any(#{staffIdList, typeHandler=uuidListTypeHandler})
+            </if>
+            <if test="flgValidList != null and flgValidList.size()>0">
+                AND tpo.flg_valid =any(#{flgValidList, typeHandler=BooleanListTypeHandler})
+            </if>
+        </where>
+        union all
+        SELECT
+        <include refid="Base_Column_List_Response_Into"/>,
+        tmo.org_name AS "orgName",
+        tmp.sup_name AS "supplierName",
+        tms.staff_name AS "staffName",
+        tms.staff_name AS "makeStaffName",
+        tmc.cus_name                                      as "cusName",
+        tmc.cus_phone                                     as "cusPhone",
+        tmc.cus_from                                      as "cusFrom",
+        makestaff.staff_name                              as "makeStaffName",
+        sys.f_get_name_i18n(tdktype.kind_name_i18n, 'zh_CN') AS  "outTypeName",
+        sys.f_get_name_i18n(tdk.kind_name_i18n, 'zh_CN') AS  "outStatusName",
+        tmd.data_value                                   as out_reason_name
+        FROM dkic_b.t_psi_inbound tpi
+        <include refid="Select_Inbound_Join_Table_Into"/>
+        <where>
+            <if test="outTypes != null and outTypes.size()>0">
+                AND tpi.into_type =any(#{outTypes,typeHandler=StringListTypeHandler})
+            </if>
+            <if test="outTypes == null || outTypes.size()==0">
+                AND tpi.into_type = '入库类型-采退入库'
+            </if>
+            <if test="intoStatus != null and intoStatus != '' ">
+                AND  tpi.into_status LIKE concat('%',my_ex.likequery(#{intoStatus}),'%')
+            </if>
+            <if test="makeTimeStart != null and makeTimeEnd != null">
+                AND tpi.make_time &gt;= #{makeTimeStart}::timestamp with time zone
+                AND tpi.make_time &lt; #{makeTimeEnd}::timestamp with time zone + interval '1 day'
+            </if>
+            <if test="outNo != null and outNo != ''">
+                AND tpi.into_no LIKE concat('%',my_ex.likequery(#{outNo}),'%')
+            </if>
+            <if test="cusPhone != null and cusPhone != ''">
+                AND tmc.cus_phone LIKE concat('%',my_ex.likequery(#{cusPhone}),'%')
+            </if>
+            <if test="cusName != null and cusName != ''">
+                AND tmc.cus_name LIKE concat('%',my_ex.likequery(#{cusName}),'%')
+            </if>
+            <if test="supId != null and supId != ''">
+                AND tpi.sup_id = #{supId}::uuid
+            </if>
+            <if test="orgIdList != null and orgIdList.size() > 0">
+                AND tmo.org_id  =any(#{orgIdList, typeHandler=uuidListTypeHandler})
+            </if>
+            <if test="staffIdList != null and staffIdList.size() > 0">
+                AND tms.staff_id  =any(#{staffIdList, typeHandler=uuidListTypeHandler})
+            </if>
+            <if test="flgValidList != null and flgValidList.size()>0">
+                AND tpi.flg_valid =any(#{flgValidList, typeHandler=BooleanListTypeHandler})
+            </if>
+        </where>
+        ) tt
+    </select>
+    <!--出库办理显示出库关联表-->
+    <sql id="Select_Inbound_Join_Table_Out">
+        Left join dkic_b.t_mst_org tmo on tmo.org_id = tpo.org_id
+        Left join dkic_b.t_mst_supplier tmp on tmp.sup_id = tpo.sup_id
+        Left join dkic_b.t_mst_staff tms on tms.staff_id = tpo.staff_id
+        Left join dkic_b.t_mst_staff makestaff on makestaff.staff_id = tpo.make_staff
+        LEFT JOIN sys.t_data_kind tdk   ON tdk.kind_code = tpo.out_status
+        LEFT JOIN sys.t_data_kind tdktype   ON tdktype.kind_code = tpo.out_type
+        left join dkic_b.t_mst_customer tmc on tpo.cus_id = tmc.cus_id
+        left join dkic_b.t_mst_dictionary_data tmd on tmd.data_id = tpo.out_reason
+    </sql>
+    <!--出库办理显示入库关联表-->
+    <sql id="Select_Inbound_Join_Table_Into">
+        Left join dkic_b.t_mst_org tmo on tmo.org_id = tpi.org_id
+        Left join dkic_b.t_mst_supplier tmp on tmp.sup_id = tpi.sup_id
+        Left join dkic_b.t_mst_staff tms on tms.staff_id = tpi.staff_id
+        Left join dkic_b.t_mst_staff makestaff on makestaff.staff_id = tpi.make_staff
+        LEFT JOIN sys.t_data_kind tdk   ON tdk.kind_code = tpi.into_status
+        LEFT JOIN sys.t_data_kind tdktype   ON tdktype.kind_code = tpi.into_type
+        left join dkic_b.t_mst_customer tmc on tpi.cus_id = tmc.cus_id
+        left join dkic_b.t_mst_dictionary_data tmd on tmd.data_id = tpi.into_reason
+    </sql>
+
 </mapper>

+ 6 - 0
src/main/java/com/dk/mdm/model/query/ivt/OutboundQuery.java

@@ -285,6 +285,12 @@ public class OutboundQuery extends PageInfo<OutboundQuery> {
     @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
     private List<Boolean> flgValidList;
 
+    @ApiModelProperty(value = "出库类型")
+    @TableField(typeHandler = StringListTypeHandler.class)
+    private List<String> outTypes;
+
+
+
     /*
      * 相关属性
      * @TableField(exist = false)

+ 30 - 0
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundOtherService.java

@@ -18,8 +18,11 @@ import com.dk.mdm.mapper.ivt.OutboundMapper;
 import com.dk.mdm.model.pojo.ivt.InboundItem;
 import com.dk.mdm.model.pojo.ivt.Outbound;
 import com.dk.mdm.model.pojo.ivt.OutboundItem;
+import com.dk.mdm.model.query.ivt.InboundItemQuery;
+import com.dk.mdm.model.query.ivt.InboundQuery;
 import com.dk.mdm.model.query.ivt.OutboundItemQuery;
 import com.dk.mdm.model.query.ivt.OutboundQuery;
+import com.dk.mdm.model.response.ivt.InboundItemResponse;
 import com.dk.mdm.model.response.ivt.InboundResponse;
 import com.dk.mdm.model.response.ivt.OutboundItemResponse;
 import com.dk.mdm.model.response.ivt.OutboundResponse;
@@ -756,4 +759,31 @@ public class OutboundOtherService extends BaseService<Outbound> {
     }
 
 
+    /**
+     * @desc : 条件查询 --- web端入库办理用
+     * @date : 2024/3/23 9:24
+     * @author : 寇珊珊
+     */
+    @Pagination
+    public ResponseResultVO<PageList<InboundResponse>> selectOutbound(OutboundQuery outboundQuery) {
+        return super.mergeListWithCount(outboundQuery, outboundMapper.selectOutbound(outboundQuery),
+                outboundMapper.selectOutboundCond(outboundQuery));
+    }
+
+    /**
+     * @desc : 查询明细查询 --- web端入库办理用
+     * @date : 2024/3/9 15:43
+     * @author : 寇珊珊
+     */
+    public ResponseResultVO<Map<String, Object>> selectOutboundItem(String id) {
+        Map<String, Object> result = new HashMap<>();
+        // 商品明细
+        List<OutboundItemResponse> outboundItemResponseList = outboundItemMapper.selectOutboundItem(new OutboundItemQuery().setOutId(id));
+        result.put("itemList", outboundItemResponseList);
+        // 收款
+
+        // 附件
+        return ResponseResultUtil.success(result);
+    }
+
 }