Просмотр исходного кода

Merge branch 'master' of http://git.dongkesoft.com:9001/iBOSS-2.0-Mini/iboss-server-mdm

zhoux 1 год назад
Родитель
Сommit
b20ee7a9bf

+ 10 - 0
src/main/java/com/dk/mdm/controller/pur/PurchaseController.java

@@ -115,4 +115,14 @@ public class PurchaseController{
     public ResponseResultVO<Boolean> insertInbound(@RequestBody  PurchaseVO Purchasevo) {
         return purchaseService.insertInbound(Purchasevo);
     }
+
+    /**
+     * @desc   : 采购跟踪
+     * @author : 常皓宁
+     * @date   : 2024/4/22 10:19
+     */
+    @PostMapping("select_track_report")
+    public ResponseResultVO<PageList> selectTrackReport(@RequestBody Map<String, Object> param) {
+        return purchaseService.selectTrackReport(param);
+    }
 }

+ 8 - 0
src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.xml

@@ -241,6 +241,9 @@
             <if test="staffName != null and staffName != ''">
                 AND tms.staff_name LIKE concat('%',my_ex.likequery(#{staffName}),'%')
             </if>
+            <if test="whName != null and whName != ''">
+                AND tmw.wh_name LIKE concat('%',my_ex.likequery(#{whName}),'%')
+            </if>
             <if test="staffId != null and staffId != ''">
                 AND tpi.staff_id = #{staffId}::uuid
             </if>
@@ -253,6 +256,7 @@
             <if test="makeStaff != null and makeStaff != ''">
                 AND tpi.make_staff = #{makeStaff}
             </if>
+
             <if test="makeTime != null">
                 AND tpi.make_time = #{makeTime}
             </if>
@@ -277,6 +281,10 @@
             <if test="staffIdList != null and staffIdList.size() > 0">
                 AND tms.staff_id  =any(#{staffIdList, typeHandler=uuidListTypeHandler})
             </if>
+            <if test="intoDateStart != null and intoDateEnd != null">
+                AND tpi.into_date &gt;= #{intoDateStart}::timestamp with time zone
+                AND tpi.into_date &lt; #{intoDateEnd}::timestamp with time zone + interval '1 day'
+            </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'

+ 8 - 0
src/main/java/com/dk/mdm/mapper/pur/PurchaseMapper.java

@@ -10,6 +10,7 @@ import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Map;
 
 /**
 *  采购订单 Mapper
@@ -68,5 +69,12 @@ public interface PurchaseMapper extends BaseMapper<Purchase>{
 
     Purchase selectPurchaseByRighting(PurchaseQuery purchaseQuery);
 
+    /**
+     * @desc   : 采购跟踪
+     * @author : 常皓宁
+     * @date   : 2024/4/22 10:19
+     */
+    Map<String, Object> selectTrackReport(Map param);
+
 }
 

+ 5 - 0
src/main/java/com/dk/mdm/mapper/pur/PurchaseMapper.xml

@@ -768,4 +768,9 @@
     </update>
 
 
+    <!-- 采购跟踪-->
+    <select id="selectTrackReport" resultType="java.util.Map">
+        SELECT *
+        FROM dkic_b.f_query_pur_for_track(#{purId}::uuid)
+    </select>
 </mapper>

+ 48 - 8
src/main/java/com/dk/mdm/mapper/report/ReportMapper.xml

@@ -994,13 +994,7 @@
     </select>
 
 
-    <sql id="ConditionSalesTrackingReport">
-        <where>
-            <if test="cpId != null">
-                tpo.cp_id = #{cpId}
-            </if>
-        </where>
-    </sql>
+
 
     <sql id="ConditionPurTrackingReport">
         <where>
@@ -1050,6 +1044,10 @@
             ,tpo.make_time AS "makeTime"
             ,tms.staff_name as "staffName"
             ,tmo.org_name   as "orgName"
+            ,tmrp.sum_amt_rec AS "sumAmtRec"
+            ,tmrp.sum_should_handle AS "sumShouldHandle"
+            ,tmrp.sum_use_payment_residue  AS "sumUsePaymentResidue"
+            ,tmrp.sum_waive_amt AS "sumWaiveAmt"
         FROM
             dkic_b.t_psi_order tpo
         left join dkic_b.t_mst_customer tmc on tpo.cus_id = tmc.cus_id
@@ -1058,13 +1056,45 @@
         left join sys.t_data_kind as tdk3 on tpo.out_status = tdk3.kind_code
         left join dkic_b.t_mst_staff tms on tpo.staff_id = tms.staff_id
         left join dkic_b.t_mst_org tmo on tpo.org_id = tmo.org_id
+        left join dkic_b.t_mac_rec_pay tmrp on  tmrp.biznis_id = tpo.order_id
         <include refid="ConditionSalesTrackingReport"/>
-        order by  tpo.op_create_time desc
+        <if test="sort!=null and sort == 'balanceDesc'">
+            ORDER BY  tpo.make_time  desc
+        </if>
+        <if test="sort!=null and sort == 'balanceAsc'">
+            ORDER BY  tpo.make_time  asc
+        </if>
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}
         </if>
     </select>
 
+    <sql id="ConditionSalesTrackingReport">
+        <where>
+            <if test="orderNo != null">
+                tpo.order_no = #{orderNo}
+            </if>
+            <if test="cusName != null">
+                tmc.cus_name  = #{cusName}
+            </if>
+            <if test="cpId != null">
+                tpo.cp_id = #{cpId}
+            </if>
+            <if test="createtimeStart != null and createtimeEnd != null">
+                AND tpo.op_create_time &gt;= #{createtimeStart}::timestamp with time zone
+                AND tpo.op_create_time &lt; #{createtimeEnd}::timestamp with time zone + interval '1 day'
+            </if>
+            <if  test="searchText != null">
+                AND (tpo.order_no  like concat('%', my_ex.likequery(#{searchText}) , '%')
+                OR tmc.cus_code   like concat('%', my_ex.likequery(#{searchText}) , '%')
+                OR tmc.cus_name   like concat('%', my_ex.likequery(#{searchText}) , '%')
+                OR tmc.cus_phone   like concat('%', my_ex.likequery(#{searchText}) , '%')
+                OR tpo.address_full   like concat('%', my_ex.likequery(#{searchText}) , '%')
+                OR  tpo.remarks like concat('%', my_ex.likequery(#{searchText}) , '%')
+                )
+            </if>
+        </where>
+    </sql>
 
 
     <select id="getSalesTrackingReportCount" resultType="java.lang.Long">
@@ -1091,6 +1121,8 @@
                T."outingQty",
                T."priceSale",
                T."itemQty",
+               T."sumQuantity",
+               T."sumAmount",
                T."sumAmtRec",
                T."sumShouldHandle",
                T."sumUsePaymentResidue",
@@ -1117,6 +1149,8 @@
                     tpo.outing_qty AS "outingQty",
                     tpoi.price_sale AS "priceSale",
                     tpoi.item_qty AS "itemQty",
+                    tpo.sum_quantity AS "sumQuantity",
+                    tpo.sum_amount AS "sumAmount",
                     0.00 AS "sumAmtRec",
                     0.00 AS "sumShouldHandle",
                     0.00 AS "sumUsePaymentResidue",
@@ -1154,6 +1188,8 @@
                     WHEN tpobi.out_status = '出库状态-出库中' THEN
                     tpobi.outing_qty ELSE tpobi.out_qty
                     END AS "itemQty",
+                    0.00 AS "sumQuantity",
+                    0.00 AS "sumAmount",
                     0.00 AS "sumAmtRec",
                     0.00 AS "sumShouldHandle",
                     0.00 AS "sumUsePaymentResidue",
@@ -1190,6 +1226,8 @@
                     WHEN tpobi.out_status = '出库状态-出库中' THEN
                     tpobi.outing_qty ELSE tpobi.out_qty
                     END AS "itemQty",
+                    0.00 AS "sumQuantity",
+                    0.00 AS "sumAmount",
                     0.00 AS "sumAmtRec",
                     0.00 AS "sumShouldHandle",
                     0.00 AS "sumUsePaymentResidue",
@@ -1222,6 +1260,8 @@
                     NULL AS "outingQty",
                     NULL AS "priceSale",
                     NULL AS "itemQty",
+                    0.00 AS "sumQuantity",
+		            0.00 AS "sumAmount",
                     tmrp.sum_amt_rec AS "sumAmtRec",
                     tmrp.sum_should_handle AS "sumShouldHandle",
                     tmrp.sum_use_payment_residue AS "sumUsePaymentResidue",

+ 14 - 7
src/main/java/com/dk/mdm/model/query/ivt/InboundQuery.java

@@ -116,13 +116,6 @@ public class InboundQuery extends PageInfo<InboundQuery>{
 
 
 
-    /**
-     * 入库日期
-     */
-    @ApiModelProperty(value = "入库日期")
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDate intoDate;
 
 
     /**
@@ -208,6 +201,20 @@ public class InboundQuery extends PageInfo<InboundQuery>{
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private LocalDate makeTimeEnd;
 
+    @ApiModelProperty(value = "入库时间开始")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate intoDateStart;
+
+    @ApiModelProperty(value = "入库时间结束")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate intoDateEnd;
+
+    /**
+     * 收货仓库
+     */
+    @Excel(name = "仓库")
+    @ApiModelProperty(value = "收货仓库")
+    private String whName;
     /**
      * 商品型号
      */

+ 3 - 0
src/main/java/com/dk/mdm/model/vo/ivt/OutboundItemVO.java

@@ -229,6 +229,9 @@ public class OutboundItemVO {
     @ApiModelProperty(value = "新建编辑标识true:新建,false:编辑")
     private Boolean addOrEditFlag;
 
+    @ApiModelProperty(value = "可以输入负数出库标识")
+    private Boolean canNegativeFlag;
+
     private static final long serialVersionUID = 1L;
 
 }

+ 1 - 1
src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseService.java

@@ -319,7 +319,7 @@ public class InboundPurchaseService extends BaseService<Inbound> {
             for (InboundItemVO inboundItemVO : inboundVO.getItemList()) {
                 InboundItem inboundItem = new InboundItem();
                 inboundItem.setItemId(inboundItemVO.getItemId());
-                if (inboundItemVO.getRemarks() != null || inboundItemVO.getRemarks() != " ") {
+                if (inboundItemVO.getRemarks() != null && inboundItemVO.getRemarks() != "") {
                     inboundItem.setRemarks(inboundItemVO.getRemarks());
                     inboundItemMapper.update(inboundItem,
                             new UpdateWrapper<InboundItem>().lambda()

+ 18 - 0
src/main/java/com/dk/mdm/service/pur/PurchaseService.java

@@ -1,5 +1,6 @@
 package com.dk.mdm.service.pur;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.dk.common.exception.BaseBusinessException;
 import com.dk.common.infrastructure.annotaiton.Pagination;
@@ -386,4 +387,21 @@ public class PurchaseService extends BaseService<Purchase> {
         return InboundItemVOList;
 
     }
+
+    /**
+     * @desc   : 采购跟踪
+     * @author : 常皓宁
+     * @date   : 2024/4/22 10:19
+     */
+    public ResponseResultVO<PageList> selectTrackReport(Map<String, Object> param) {
+        // 获取组合商品
+        Map<String, Object> map = purchaseMapper.selectTrackReport(param);
+        JSONObject sku = JSONObject.parseObject(map.get("f_query_pur_for_track").toString());
+        // 定义返回值
+        PageList data = new PageList<>();
+        List dataList = sku.get("data") != null ? JSONObject.parseArray(sku.get("data").toString()).toJavaList(Map.class) : new ArrayList();
+        // 组装返回值
+        data.setList(dataList);
+        return ResponseResultUtil.success(data);
+    }
 }