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

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

# Conflicts:
#	src/main/java/com/dk/mdm/mapper/sale/OrderItemMapper.java
#	src/main/java/com/dk/mdm/mapper/sale/OrderItemMapper.xml
koushanshan 2 лет назад
Родитель
Сommit
205c8df849
34 измененных файлов с 654 добавлено и 160 удалено
  1. 10 0
      src/main/java/com/dk/mdm/controller/ivt/inbound/InboundPurchaseController.java
  2. 11 0
      src/main/java/com/dk/mdm/controller/ivt/outBound/OutboundSaleOrderController.java
  3. 18 1
      src/main/java/com/dk/mdm/controller/mst/MenuFrequencyController.java
  4. 21 0
      src/main/java/com/dk/mdm/controller/sale/OrderItemController.java
  5. 22 0
      src/main/java/com/dk/mdm/infrastructure/convert/mst/MenuFrequencyConvert.java
  6. 4 1
      src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.xml
  7. 26 5
      src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.xml
  8. 7 0
      src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.java
  9. 63 31
      src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.xml
  10. 6 0
      src/main/java/com/dk/mdm/mapper/ivt/OutboundMapper.java
  11. 75 15
      src/main/java/com/dk/mdm/mapper/ivt/OutboundMapper.xml
  12. 1 19
      src/main/java/com/dk/mdm/mapper/mac/RecPayMapper.xml
  13. 17 26
      src/main/java/com/dk/mdm/mapper/mst/ComMenuMapper.xml
  14. 7 1
      src/main/java/com/dk/mdm/mapper/mst/MenuFrequencyMapper.java
  15. 41 30
      src/main/java/com/dk/mdm/mapper/mst/MenuFrequencyMapper.xml
  16. 25 0
      src/main/java/com/dk/mdm/mapper/pur/PurchaseItemMapper.xml
  17. 16 0
      src/main/java/com/dk/mdm/mapper/sale/OrderItemMapper.java
  18. 120 0
      src/main/java/com/dk/mdm/mapper/sale/OrderItemMapper.xml
  19. 32 2
      src/main/java/com/dk/mdm/mapper/sale/OrderMapper.xml
  20. 1 1
      src/main/java/com/dk/mdm/model/pojo/mst/ComMenu.java
  21. 1 1
      src/main/java/com/dk/mdm/model/pojo/mst/MenuFrequency.java
  22. 3 0
      src/main/java/com/dk/mdm/model/query/sale/OrderItemQuery.java
  23. 4 0
      src/main/java/com/dk/mdm/model/response/ivt/InboundItemResponse.java
  24. 2 2
      src/main/java/com/dk/mdm/model/response/ivt/OutboundResponse.java
  25. 8 0
      src/main/java/com/dk/mdm/model/response/mst/ComMenuResponse.java
  26. 8 0
      src/main/java/com/dk/mdm/model/response/mst/MenuFrequencyResponse.java
  27. 8 0
      src/main/java/com/dk/mdm/model/response/pur/PurchaseItemResponse.java
  28. 12 0
      src/main/java/com/dk/mdm/model/response/sale/OrderItemResponse.java
  29. 25 9
      src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleOrderService.java
  30. 1 1
      src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleReturnService.java
  31. 4 4
      src/main/java/com/dk/mdm/service/mac/AccountService.java
  32. 11 11
      src/main/java/com/dk/mdm/service/mac/RecPayService.java
  33. 23 0
      src/main/java/com/dk/mdm/service/mst/MenuFrequencyService.java
  34. 21 0
      src/main/java/com/dk/mdm/service/sale/OrderItemService.java

+ 10 - 0
src/main/java/com/dk/mdm/controller/ivt/inbound/InboundPurchaseController.java

@@ -49,6 +49,16 @@ public class InboundPurchaseController {
         return inheritedPurchaseService.selectByCond(inboundQuery);
     }
 
+    /**
+     * @desc : 查看来源单据,总单加明细  采购入库用
+     * @author : 王英杰
+     * @date : 2024/3/6 10:36
+     */
+    @PostMapping({"/{id}"})
+    public ResponseResultVO selectById(@PathVariable String id) {
+        return inboundService.selectById(id);
+    }
+
 
     /**
      * @desc   : 明细信息条件查询

+ 11 - 0
src/main/java/com/dk/mdm/controller/ivt/outBound/OutboundSaleOrderController.java

@@ -135,6 +135,17 @@ public class OutboundSaleOrderController {
     }
 
     /**
+     * @desc : 获取销售出库信息(新建退货用)
+     * @author : 付斌
+     * @date : 2024-03-03 9:28
+     */
+    @ApiOperation(value = "编辑出库单", notes = "编辑出库单")
+    @PostMapping({"get_out_for_return/{id}"})
+    public ResponseResultVO<?> getOutForReturn(@PathVariable String id) {
+        return outboundSaleOrderService.getOutForReturn(id);
+    }
+
+    /**
      * @desc : 查询出库明细(货物、附件)
      * @author : 付斌
      * @date : 2024/3/6 10:36

+ 18 - 1
src/main/java/com/dk/mdm/controller/mst/MenuFrequencyController.java

@@ -1,8 +1,15 @@
 package com.dk.mdm.controller.mst;
 
+import com.dk.common.model.vo.mst.OrgVO;
+import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.model.pojo.mst.MenuFrequency;
 import com.dk.common.controller.BaseController;
 import com.dk.common.service.BaseService;
+import com.dk.mdm.model.vo.mst.MenuFrequencyVO;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
@@ -11,7 +18,7 @@ import com.dk.mdm.service.mst.MenuFrequencyService;
 
 @Api(tags = "用户功能频率API接口")
 @RestController
-@RequestMapping("/menuFrequency")
+@RequestMapping("/mst/menuFrequency")
 public class MenuFrequencyController{
 
     public BaseService<MenuFrequency> getService() {
@@ -21,4 +28,14 @@ public class MenuFrequencyController{
     @Autowired
     private MenuFrequencyService menuFrequencyService;
 
+    /**
+     * @desc   : 保存用户功能频率
+     * @author : 周兴
+     * @date   : 2024/3/28 9:13
+     */
+    @ApiOperation( value = "保存用户功能频率", notes = "保存用户功能频率" )
+    @PostMapping({"save"})
+    public ResponseResultVO<?> save(@RequestBody MenuFrequencyVO menuFrequencyVO) {
+        return menuFrequencyService.save(menuFrequencyVO);
+    }
 }

+ 21 - 0
src/main/java/com/dk/mdm/controller/sale/OrderItemController.java

@@ -1,8 +1,15 @@
 package com.dk.mdm.controller.sale;
 
+import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.model.pojo.sale.OrderItem;
 import com.dk.common.controller.BaseController;
 import com.dk.common.service.BaseService;
+import com.dk.mdm.model.query.sale.OrderItemQuery;
+import com.dk.mdm.model.response.sale.OrderItemResponse;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
@@ -21,4 +28,18 @@ public class OrderItemController{
     @Autowired
     private OrderItemService orderItemService;
 
+    /**
+     * @desc   : 以销定采查询销售订单接口(新建编辑使用)
+     * @date   : 2023/8/18 15:34
+     * @author : 寇珊珊
+     */
+    @ApiOperation(
+            value = "以销定采查询销售订单接口(新建编辑使用)",
+            notes = "以销定采查询销售订单接口(新建编辑使用)"
+    )
+    @PostMapping("purchase_based_on_sale_select_order")
+    public ResponseResultVO<PageList<OrderItemResponse>> purchaseBasedOnSaleSelectOrder(@RequestBody OrderItemQuery orderItemQuery) {
+        return orderItemService.purchaseBasedOnSaleSelectOrder(orderItemQuery);
+    }
+
 }

+ 22 - 0
src/main/java/com/dk/mdm/infrastructure/convert/mst/MenuFrequencyConvert.java

@@ -0,0 +1,22 @@
+package com.dk.mdm.infrastructure.convert.mst;
+
+import com.dk.mdm.model.pojo.mst.MenuFrequency;
+import com.dk.mdm.model.vo.mst.MenuFrequencyVO;
+import org.mapstruct.Mapper;
+
+/**
+ * @desc   : Staff转换类
+ * @author : admin
+ * @date   : 2023/1/9 10:37
+ */
+@Mapper(componentModel = "spring")
+public interface MenuFrequencyConvert {
+
+    /**
+     * @desc   : 转换vo为pojo
+     * @author : admin
+     * @date   : 2023/1/9 10:37
+     */
+    MenuFrequency convertToPo(MenuFrequencyVO menuFrequencyVO);
+
+}

+ 4 - 1
src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.xml

@@ -137,6 +137,8 @@
         <result column="sPurItemIntoAmt" property="sPurItemIntoAmt"/>
         <result column="sPurItemReturnQty" property="sPurItemReturnQty"/>
         <result column="sPurItemReturnAmt" property="sPurItemReturnAmt"/>
+        <result column="usableQty" property="usableQty"/>
+        <result column="nonStdCode" property="nonStdCode"/>
 
     </resultMap>
 
@@ -476,7 +478,8 @@
         ,tppi.return_qty as "sPurItemReturnQty"
         ,tppi.return_amt as "sPurItemReturnAmt"
 
-
+        ,tpi.usable_qty AS "usableQty"
+        ,tpi.non_std_code AS "nonStdCode"
         FROM dkic_b.t_psi_inbound_item tpii
         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

+ 26 - 5
src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.xml

@@ -190,8 +190,11 @@
         <result column="outing_qty" property="outingQty"/>
         <result column="price_std" property="priceStd"/>
         <result column="into_item_id" property="intoItemId"/>
+        <result column="inv_id" property="invId"/>
+        <result column="wh_id" property="whId"/>
+        <result column="inv_qty" property="invQty"/>
+        <result column="usable_qty" property="usableQty"/>
         <result column="wh_name" property="whName"/>
-        <result column="wh_code" property="whCode"/>
 
     </resultMap>
 
@@ -520,8 +523,12 @@
 --         tpit.outing_qty AS list_outing_qty
 --         ,
         tmgs.price_standard AS list_price_std,
-        tmw.wh_name AS list_wh_name,
-        tmw.wh_code AS list_wh_code
+
+        i.inv_id  as list_inv_id,
+        i.wh_id as list_wh_id,
+        i.inv_qty    as list_inv_qty,
+        i.usable_qty  as list_usable_qty,
+        i.wh_name     as list_wh_name
     </sql>
 
 
@@ -533,8 +540,22 @@
         FROM dkic_b.t_psi_inbound  tpi
         left  join dkic_b.t_psi_inbound_item tpii  on tpi.into_id = tpii.into_id
         left  join  dkic_b.t_mst_warehouse tmw on  tmw.wh_id =   tpii.wh_id
-        left join  dkic_b.t_mst_goods_sku  tmgs on tmgs.sku_id = tpii.sku_id
---         left join  dkic_b.t_psi_inventory  tpit on tpit.sku_id = tpii.sku_id
+        inner join  dkic_b.t_mst_goods_sku  tmgs on tmgs.sku_id = tpii.sku_id
+        left join(SELECT T.*
+        FROM (select tpi.inv_id,
+        tpi.wh_id,
+        tpi.inv_qty,
+        tpi.usable_qty,
+        tpi.sku_id,
+        tpi.non_std_code,
+        tpi.cp_id,
+        tmw.wh_name,
+        rank()
+        over (partition by tpi.cp_id,tpi.sku_id,tpi.non_std_code order by tpi.inv_id) as RK
+        from dkic_b.t_psi_inventory as tpi
+        left join dkic_b.t_mst_warehouse as tmw on tmw.wh_id = tpi.wh_id) T
+        WHERE T.RK = 1) as i
+        on i.sku_id = tpii.sku_id and i.non_std_code = tpii.non_std_code and i.cp_id = tpii.cp_id
         <include refid="Condition"/>
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}

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

@@ -44,6 +44,13 @@ public interface OutboundItemMapper extends BaseMapper<OutboundItem>{
     List<OutboundItemResponse> selectByCondForOutEdit(String id);
 
     /**
+     * @desc   : 获取出库信息(新建退货用)
+     * @author : 付斌
+     * @date   : 2024-03-28 14:43
+     */
+    List<OutboundItemResponse> selectByCondForReturn(OutboundItemQuery orderQuery);
+
+    /**
      * @desc   : 获取退货信息(退货编辑用)
      * @author : 付斌
      * @date   : 2024-03-12 11:07

+ 63 - 31
src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.xml

@@ -310,37 +310,62 @@
 
     <!-- 根据条件进行查询(出库编辑用) -->
     <select id="selectByCondForOutEdit" resultMap="BaseResultMapResponse">
-        SELECT tpoi.item_id,
-               tpoi.out_id,
-               tpoi.from_item_id,
-               tpoi.from_id,
-               tpoi.item_index,
-               tpoi.sku_id,
+        SELECT t.item_id,
+               t.out_id,
+               t.from_item_id,
+               t.from_id,
+               t.item_index,
+               t.sku_id,
                tmgs.sku_code                                  as "skuCode",
                tmgs.sku_model                                 as "skuModel",
                tmgs.sku_name                                  as "skuName",
-               tpoi1.item_qty                                  as "orderQty",
-               tpoi1.item_qty - tpoi1.outing_qty + tpoi.outing_qty as "canOutingQty",
-               tpoi.outing_qty,
-               tpoi.price_out,
-               tpoi.outing_amt,
-               tpoi.out_qty,
-               tpoi.out_amt,
-               tpoi.non_std_code,
-               tpoi.remarks,
-               tpoi.inv_id,
+               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.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"
-        FROM dkic_b.t_psi_outbound_item as tpoi
-                 left join dkic_b.t_psi_order_item as tpoi1 on tpoi1.item_id = tpoi.from_item_id
-                 left join dkic_b.t_mst_goods_sku tmgs on tpoi1.sku_id = tmgs.sku_id
-                 left join dkic_b.t_psi_inventory as tpi on tpi.inv_id = tpoi.inv_id
+        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
+                 left join dkic_b.t_psi_inventory as tpi on tpi.inv_id = t.inv_id
                  left join dkic_b.t_mst_warehouse as tmw on tmw.wh_id = tpi.wh_id
-        where tpoi.flg_valid
-          and tpoi.out_id = #{id}::uuid
-        order by tpoi.item_index
+        where t.flg_valid
+          and t.out_id = #{id}::uuid
+        order by t.item_index
+    </select>
+
+    <!-- 获取出库信息(新建退货用) -->
+    <select id="selectByCondForReturn" resultMap="BaseResultMapResponse">
+        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,
+               t.price_out,
+               - t.price_out * (t.out_qty - t.return_qty)     as outing_amt,
+               t.inv_id,
+               t.non_std_code,
+               t.remarks
+        FROM dkic_b.t_psi_outbound_item as t
+                 inner join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = t.sku_id
+        where t.flg_valid
+          and t.out_type = '出库类型-销售出库'
+          and t.out_qty > t.return_qty
+          and t.out_id = #{outId}::uuid
+        order by t.item_index
     </select>
 
     <!-- 根据条件进行查询(退货编辑用) -->
@@ -353,19 +378,26 @@
                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",
-               tpobi.out_qty                                   as "outboundOutQty",
-               tpobi.out_qty - tpobi.return_qty - t.outing_qty as "canReturnQty",
-               t.outing_qty,
+               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",
                t.price_out,
-               t.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
-                 left join dkic_b.t_psi_outbound_item as tpobi on tpobi.item_id = t.s_out_item_id
                  left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = t.sku_id
+                 left join dkic_b.t_psi_inventory tpi on tpi.inv_id = t.inv_id
+                 left join dkic_b.t_mst_warehouse tmw on tmw.wh_id = tpi.wh_id
+                 left join dkic_b.t_psi_outbound_item as tpobi on tpobi.item_id = t.s_out_item_id
         where t.flg_valid
           and t.out_id = #{id}::uuid
         order by t.item_index

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

@@ -37,6 +37,12 @@ public interface OutboundMapper extends BaseMapper<Outbound>{
      */
     OutboundResponse selectById(String id);
 
+    /**
+     * @desc   : 获取出库信息(新建退货用)
+     * @author : 付斌
+     * @date   : 2024-03-29 9:11
+     */
+    OutboundResponse selectByIdForReturn(String id);
 
     /**
      * @desc   : 根据传入的信息查询数据(销售退货出库办理用)

+ 75 - 15
src/main/java/com/dk/mdm/mapper/ivt/OutboundMapper.xml

@@ -235,7 +235,7 @@
                t.out_type,
                t.from_id,
                t.from_no,
-               t.from_no                                         as "orderNo",
+               t.from_no                                         as "biznisNo",
                t.org_id,
                tmo.org_name                                      as "orgName",
                t.staff_id,
@@ -247,7 +247,7 @@
                tmc.cus_from                                      as "cusFrom",
                tmc.contact_phone                                 as "contactPhone",
                tmc.address_full                                  as "addressFull",
-               tmdd.data_value                                   as "cusFromName",
+               tmdd.data_value                                   as cus_from_name,
                t.sup_id,
                tmp.sup_name                                      AS "supplierName",
                t.out_status,
@@ -324,16 +324,16 @@
                tmc.cus_from                                      as "cusFrom",
                tmc.contact_phone                                 as "contactPhone",
                tmc.address_full                                  as "addressFull",
-               tmdd.data_value                                   as "cusFromName",
-               tpo1.address_area,
-               tpo1.address_name,
-               tpo1.address_no,
-               tpo1.address_gcj02,
-               tpo1.address_full,
-               tpo1.contact_name,
-               tpo1.contact_phone,
-               tpo1.sales_channel,
-               tmsc.channel_name                                 as "channelName",
+               tmdd.data_value                                   as cus_from_name,
+               tmc.address_area,
+               tmc.address_name,
+               tmc.address_no,
+               tmc.address_gcj02,
+               tmc.address_full,
+               tmc.contact_name,
+               tmc.contact_phone,
+               tmc.channel_id                                    as sales_channel,
+               tmsc.channel_name                                 as channel_name,
                t.sup_id,
                t.out_status,
                sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) as "outStatusName",
@@ -353,14 +353,74 @@
                t.payable_id,
                t.cp_id,
                t.flg_valid,
-               tmd.data_value                                   as out_reason_name
+               tmd.data_value                                    as out_reason_name
         FROM dkic_b.t_psi_outbound as t
-                 left join dkic_b.t_psi_order as tpo1 on tpo1.order_id = t.from_id
-                 left join dkic_b.t_mst_sale_channel tmsc on tmsc.channel_id = tpo1.sales_channel
+                 left join dkic_b.t_mst_customer tmc on tmc.cus_id = t.cus_id
+                 left join dkic_b.t_mst_sale_channel tmsc on tmsc.channel_id = tmc.channel_id
                  left join dkic_b.t_mst_org tmo on tmo.org_id = t.org_id
                  left join dkic_b.t_mst_staff tms on tms.staff_id = t.staff_id
                  left join dkic_b.t_mst_staff as makestaff on makestaff.staff_id = t.make_staff
+                 left join dkic_b.t_mst_dictionary_data tmdd on tmdd.data_id = tmc.cus_from
+                 left join sys.t_data_kind as tdk1 on tdk1.kind_code = t.out_status
+                 left join dkic_b.t_mst_dictionary_data tmd on tmd.data_id = t.out_reason
+        WHERE t.out_id = #{id}::uuid
+    </select>
+
+    <!-- 获取出库信息(新建退货用) -->
+    <select id="selectByIdForReturn" resultMap="BaseResultMapResponse">
+        SELECT t.out_id,
+               t.out_no,
+               t.out_type,
+               t.from_id,
+               t.from_no,
+               t.from_no                                         as "orderNo",
+               t.org_id,
+               tmo.org_name                                      as "orgName",
+               t.staff_id,
+               tms.staff_name                                    as "staffName",
+               t.cus_id,
+               tmc.cus_code                                      as "cusCode",
+               tmc.cus_name                                      as "cusName",
+               tmc.cus_phone                                     as "cusPhone",
+               tmc.cus_from                                      as "cusFrom",
+               tmc.contact_phone                                 as "contactPhone",
+               tmc.address_full                                  as "addressFull",
+               tmdd.data_value                                   as cus_from_name,
+               tmc.address_area,
+               tmc.address_name,
+               tmc.address_no,
+               tmc.address_gcj02,
+               tmc.address_full,
+               tmc.contact_name,
+               tmc.contact_phone,
+               tmc.channel_id                                    as sales_channel,
+               tmsc.channel_name                                 as channel_name,
+               t.sup_id,
+               t.out_status,
+               sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) as "outStatusName",
+               t.outing_qty,
+               t.outing_amt,
+               t.out_qty,
+               t.out_amt,
+               t.return_qty,
+               t.return_amt,
+               t.out_date,
+               t.remarks,
+               t.annex_paths,
+               t.make_staff,
+               makestaff.staff_name                              as "makeStaffName",
+               t.make_time,
+               t.receivable_id,
+               t.payable_id,
+               t.cp_id,
+               t.flg_valid,
+               tmd.data_value                                    as out_reason_name
+        FROM dkic_b.t_psi_outbound as t
                  left join dkic_b.t_mst_customer tmc on tmc.cus_id = t.cus_id
+                 left join dkic_b.t_mst_sale_channel tmsc on tmsc.channel_id = tmc.channel_id
+                 left join dkic_b.t_mst_org tmo on tmo.org_id = t.org_id
+                 left join dkic_b.t_mst_staff tms on tms.staff_id = t.staff_id
+                 left join dkic_b.t_mst_staff as makestaff on makestaff.staff_id = t.make_staff
                  left join dkic_b.t_mst_dictionary_data tmdd on tmdd.data_id = tmc.cus_from
                  left join sys.t_data_kind as tdk1 on tdk1.kind_code = t.out_status
                  left join dkic_b.t_mst_dictionary_data tmd on tmd.data_id = t.out_reason

+ 1 - 19
src/main/java/com/dk/mdm/mapper/mac/RecPayMapper.xml

@@ -5,7 +5,7 @@
     <!-- 通用设置 -->
     <!-- 通用查询列 -->
     <sql id="Base_Column_List">
-        rp_id, rp_no, rp_type, object_id, org_id, staff_id, sum_amt_rec, sum_amt_pay, sum_amt_receivable_handle, sum_amt_payable_handle, sum_waive_amt, acc_date, remarks, annex_paths, biznis_type, biznis_id, biznis_no, flg_lock, make_staff, make_time, 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
+        rp_id, rp_no, rp_type, object_id, org_id, staff_id, sum_amt_rec, sum_amt_pay, sum_amt_receivable_handle, sum_amt_payable_handle, sum_waive_amt, acc_date, remarks, biznis_type, biznis_id, biznis_no, flg_lock, make_staff, make_time, 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
     </sql>
 
     <!-- 通用查询映射结果 -->
@@ -23,7 +23,6 @@
                 <result column="sum_waive_amt" property="sumWaiveAmt"/>
                 <result column="acc_date" property="accDate" typeHandler="TimestampTypeHandler"/>
                 <result column="remarks" property="remarks"/>
-                <result column="annex_paths" property="annexPaths" typeHandler="JsonTypeHandler"/>
                 <result column="biznis_type" property="biznisType"/>
                 <result column="biznis_id" property="biznisId" typeHandler="UuidTypeHandler"/>
                 <result column="biznis_no" property="biznisNo"/>
@@ -32,13 +31,6 @@
                 <result column="make_time" property="makeTime" typeHandler="TimestampTypeHandler"/>
                 <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"/>
     </resultMap>
 
     <!-- Response查询映射结果 -->
@@ -56,7 +48,6 @@
                 <result column="sum_waive_amt" property="sumWaiveAmt"/>
                 <result column="acc_date" property="accDate" typeHandler="TimestampTypeHandler"/>
                 <result column="remarks" property="remarks"/>
-                <result column="annex_paths" property="annexPaths" typeHandler="JsonTypeHandler"/>
                 <result column="biznis_type" property="biznisType"/>
                 <result column="biznis_id" property="biznisId" typeHandler="UuidTypeHandler"/>
                 <result column="biznis_no" property="biznisNo"/>
@@ -65,13 +56,6 @@
                 <result column="make_time" property="makeTime" typeHandler="TimestampTypeHandler"/>
                 <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"/>
     </resultMap>
 
     <!-- 通用条件列 -->
@@ -200,7 +184,6 @@
                t.sum_waive_amt,
                t.acc_date,
                t.remarks,
-               t.annex_paths,
                t.biznis_type,
                t.biznis_id,
                t.biznis_no,
@@ -263,7 +246,6 @@
                t.sum_waive_amt,
                t.acc_date,
                t.remarks,
-               t.annex_paths,
                t.biznis_type,
                t.biznis_id,
                t.biznis_no,

+ 17 - 26
src/main/java/com/dk/mdm/mapper/mst/ComMenuMapper.xml

@@ -10,8 +10,12 @@
     </sql>
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.ComMenu">
-        <id column="menu_uuid" property="menuUuid"/>
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.mst.ComMenuResponse">
+        <id column="menu_uuid" property="menuUuid" typeHandler="UuidTypeHandler"/>
+        <result column="menu_name" property="menuName"/>
+        <result column="object_code" property="objectCode"/>
+        <result column="object_path" property="objectPath"/>
+        <result column="object_icon" property="objectIcon"/>
         <result column="cp_id" property="cpId"/>
         <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
         <result column="app_code" property="appCode"/>
@@ -35,24 +39,6 @@
             <if test="appCode != null and appCode != ''">
                 AND app_code = #{appCode}
             </if>
-            <if test="displayNo != null">
-                AND display_no = #{displayNo}
-            </if>
-            <if test="opUpdateTime != null">
-                AND op_update_time = #{opUpdateTime}
-            </if>
-            <if test="opUpdateUserId != null and opUpdateUserId != ''">
-                AND op_update_user_id = #{opUpdateUserId}
-            </if>
-            <if test="opAppCode != null and opAppCode != ''">
-                AND op_app_code = #{opAppCode}
-            </if>
-            <if test="opTimestamp != null">
-                AND op_timestamp = #{opTimestamp}
-            </if>
-            <if test="opDbUser != null and opDbUser != ''">
-                AND op_db_user = #{opDbUser}
-            </if>
         </where>
     </sql>
 
@@ -67,12 +53,17 @@
     <!-- 查询表t_mst_com_menu,(条件查询+分页)列表 -->
     <select id="selectByCond" resultMap="BaseResultMap">
         SELECT
-        <include refid="Base_Column_List"/>
-        FROM t_mst_com_menu
-        <include refid="Condition"/>
-        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
-            limit #{end} offset #{start}
-        </if>
+            sys.f_get_name_i18n ( tam.menu_name_i18n, #{i18n} ) menu_name,
+            tmcm.menu_uuid,
+            tam.object_code,
+            tam.object_path,
+            tam.object_icon
+        FROM
+            dkic_b.t_mst_com_menu tmcm
+                INNER JOIN sys.t_app_menu tam ON tmcm.menu_uuid = tam.menu_uuid
+        WHERE
+            tmcm.staff_id = #{staffId} ::uuid
+          AND tmcm.app_code = #{appCode}
     </select>
 
     <!-- 查询表t_mst_com_menu,(条件查询)个数 -->

+ 7 - 1
src/main/java/com/dk/mdm/mapper/mst/MenuFrequencyMapper.java

@@ -2,6 +2,7 @@ package com.dk.mdm.mapper.mst;
 
 import com.dk.mdm.model.pojo.mst.MenuFrequency;
 import com.dk.common.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -9,6 +10,11 @@ import org.springframework.stereotype.Repository;
 */
 @Repository
 public interface MenuFrequencyMapper extends BaseMapper<MenuFrequency>{
-	
+    /**
+     * @desc   : 保存用户频率表
+     * @author : 周兴
+     * @date   : 2024-03-28 10:30
+     */
+    int save(MenuFrequency menuFrequency);
 }
 

+ 41 - 30
src/main/java/com/dk/mdm/mapper/mst/MenuFrequencyMapper.xml

@@ -10,8 +10,8 @@
     </sql>
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.MenuFrequency">
-        <id column="menu_uuid" property="menuUuid"/>
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.mst.MenuFrequencyResponse">
+        <id column="menu_uuid" property="menuUuid" typeHandler="UuidTypeHandler"/>
         <result column="cp_id" property="cpId"/>
         <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
         <result column="app_code" property="appCode"/>
@@ -35,24 +35,9 @@
             <if test="appCode != null and appCode != ''">
                 AND app_code = #{appCode}
             </if>
-            <if test="qty != null">
-                AND qty = #{qty}
-            </if>
-            <if test="opUpdateTime != null">
-                AND op_update_time = #{opUpdateTime}
-            </if>
-            <if test="opUpdateUserId != null and opUpdateUserId != ''">
-                AND op_update_user_id = #{opUpdateUserId}
-            </if>
             <if test="opAppCode != null and opAppCode != ''">
                 AND op_app_code = #{opAppCode}
             </if>
-            <if test="opTimestamp != null">
-                AND op_timestamp = #{opTimestamp}
-            </if>
-            <if test="opDbUser != null and opDbUser != ''">
-                AND op_db_user = #{opDbUser}
-            </if>
         </where>
     </sql>
 
@@ -67,21 +52,47 @@
     <!-- 查询表t_mst_menu_frequency,(条件查询+分页)列表 -->
     <select id="selectByCond" resultMap="BaseResultMap">
         SELECT
-        <include refid="Base_Column_List"/>
-        FROM t_mst_menu_frequency
-        <include refid="Condition"/>
-        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
-            limit #{end} offset #{start}
-        </if>
+            sys.f_get_name_i18n ( tam.menu_name_i18n, #{i18n} ) menu_name,
+            tmf.menu_uuid,
+            tam.object_code,
+            tam.object_path,
+            tam.object_icon
+        FROM
+            dkic_b.t_mst_menu_frequency tmf
+                INNER JOIN sys.t_app_menu tam ON tmf.menu_uuid = tam.menu_uuid
+        WHERE
+            tmf.staff_id = #{staffId} ::uuid
+          AND tmf.app_code = #{appCode}
+        ORDER BY
+            tmf.qty DESC
     </select>
 
-    <!-- 查询表t_mst_menu_frequency,(条件查询)个数 -->
-    <select id="countByCond" resultType="Long">
-        SELECT
-        count(1)
-        FROM t_mst_menu_frequency
-        <include refid="Condition"/>
-    </select>
+    <!--新建编辑用户功能频率-->
+    <insert id="save">
+        insert into dkic_b.t_mst_menu_frequency
+        (
+        <trim suffixOverrides=",">
+            menu_uuid,
+            cp_id,
+            staff_id,
+            app_code,
+            qty,
+        </trim>
+        )
+        values
+        (
+        <trim suffixOverrides=",">
+            #{menuUuid} ::uuid,
+            #{cpId},
+            #{staffId}  ::uuid,
+            #{appCode},
+            #{qty},
+        </trim>
+        )
+        on conflict (menu_uuid,staff_id,app_code) do update set
+        cp_id = excluded."cp_id",
+        qty = excluded."qty" + 1;
+    </insert>
 
     <!-- 根据主键查询表t_mst_menu_frequency的一行数据 -->
     <select id="selectById" resultMap="BaseResultMap">

+ 25 - 0
src/main/java/com/dk/mdm/mapper/pur/PurchaseItemMapper.xml

@@ -103,6 +103,10 @@
         <result column="op_app_code" property="opAppCode"/>
         <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
         <result column="op_db_user" property="opDbUser"/>
+        <result column="inv_id" property="invId"/>
+        <result column="inv_qty" property="invQty"/>
+        <result column="usable_qty" property="usableQty"/>
+
     </resultMap>
 
 
@@ -304,11 +308,32 @@
         ,tmgs.price_purchase  as "pricePurchase"
         ,tmgs.price_standard  as "priceStandard"
         ,sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) as "intoStatusName"
+        ,
+        i.inv_id,
+        i.inv_qty,
+        i.usable_qty
         FROM dkic_b.t_psi_purchase_item tppi
+        left join(SELECT T.*
+        FROM (select tpi.inv_id,
+        tpi.wh_id,
+        tpi.inv_qty,
+        tpi.usable_qty,
+        tpi.sku_id,
+        tpi.non_std_code,
+        tpi.cp_id,
+        tmw.wh_name,
+        rank()
+        over (partition by tpi.cp_id,tpi.sku_id,tpi.non_std_code order by tpi.inv_id) as RK
+        from dkic_b.t_psi_inventory as tpi
+        left join dkic_b.t_mst_warehouse as tmw on tmw.wh_id = tpi.wh_id) T
+        WHERE T.RK = 1) as i on i.sku_id = tppi.sku_id and i.non_std_code = tppi.non_std_code and i.cp_id = tppi.cp_id
         left join dkic_b.t_psi_order tpo on tpo.order_id = tppi.from_id
         left join dkic_b.t_mst_goods_sku tmgs on tppi.sku_id = tmgs.sku_id
         left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id = tmgs.brand_id
         left join sys.t_data_kind tdk1 on tdk1.kind_code = tppi.into_status
+
+
+
         <include refid="Condition_1"/>
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}

+ 16 - 0
src/main/java/com/dk/mdm/mapper/sale/OrderItemMapper.java

@@ -72,5 +72,21 @@ public interface OrderItemMapper extends BaseMapper<OrderItem> {
      * @author : 寇珊珊
      */
     int  updateReturnMessage(OrderItem orderItem);
+
+
+    /**
+     * @desc   : 以销定采查询订单明细---web用
+     * @date   : 2023/8/23 15:43
+     * @author : 寇珊珊
+     */
+    List<OrderItemResponse> purchaseBasedOnSaleSelectByCond (OrderItemQuery orderItemQuery);
+
+
+    /**
+     * @desc   : 以销定采查询订单明细个数---web用
+     * @date   : 2023/8/23 15:43
+     * @author : 寇珊珊
+     */
+    Long  purchaseBasedOnSaleContByCond (OrderItemQuery orderItemQuery);
 }
 

+ 120 - 0
src/main/java/com/dk/mdm/mapper/sale/OrderItemMapper.xml

@@ -62,6 +62,8 @@
                 <result column="remarks" property="remarks"/>
                 <result column="flg_valid" property="flgValid"/>
                 <result column="cp_id" property="cpId"/>
+                <result column="order_no" property="orderNo"/>
+                <result column="transferableQuantity" property="transferableQuantity"/>
     </resultMap>
 
     <!-- 通用条件列 -->
@@ -425,4 +427,122 @@
         and  item_qty >= return_qty
     </update>
 
+    <!-- 通用条件列 -->
+    <sql id="Condition_pur">
+        <where>
+            <if test="orderNo != null">
+                AND tpo.order_no like concat('%', my_ex.likequery(#{orderNo}) , '%')
+            </if>
+            <if test="orderId != null and orderId != ''">
+                AND t.order_id = #{orderId}::uuid
+            </if>
+            <if test="itemIndex != null">
+                AND t.item_index = #{itemIndex}
+            </if>
+            <if test="skuId != null and skuId != ''">
+                AND t.sku_id = #{skuId}
+            </if>
+            <if test="itemQty != null">
+                AND t.item_qty = #{itemQty}
+            </if>
+            <if test="priceStd != null">
+                AND t.price_std = #{priceStd}
+            </if>
+            <if test="amtStd != null">
+                AND t.amt_std = #{amtStd}
+            </if>
+            <if test="priceSale != null">
+                AND t.price_sale = #{priceSale}
+            </if>
+            <if test="itemAmt != null">
+                AND t.item_amt = #{itemAmt}
+            </if>
+            <if test="priceDiscount != null">
+                AND t.price_discount = #{priceDiscount}
+            </if>
+            <if test="nonStdCode != null and nonStdCode != ''">
+                AND t.non_std_code = #{nonStdCode}
+            </if>
+            <if test="outStatus != null and outStatus != ''">
+                AND t.out_status = #{outStatus}
+            </if>
+            <if test="outingQty != null">
+                AND t.outing_qty = #{outingQty}
+            </if>
+            <if test="outingAmt != null">
+                AND t.outing_amt = #{outingAmt}
+            </if>
+            <if test="outQty != null">
+                AND t.out_qty = #{outQty}
+            </if>
+            <if test="outAmt != null">
+                AND t.out_amt = #{outAmt}
+            </if>
+            <if test="returnQty != null">
+                AND t.return_qty = #{returnQty}
+            </if>
+            <if test="returnAmt != null">
+                AND t.return_amt = #{returnAmt}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND t.remarks = #{remarks}
+            </if>
+            <if test="flgValid != null">
+                AND t.flg_valid = #{flgValid}
+            </if>
+            <if test="cpId != null">
+                AND t.cp_id = #{cpId}
+            </if>
+        </where>
+    </sql>
+
+    <!-- 查询表t_psi_order_item,(条件查询+分页)列表 -->
+    <select id="purchaseBasedOnSaleSelectByCond" resultMap="BaseResultMapResponse">
+        SELECT t.item_id,
+        t.order_id,
+        tpo.order_no,
+        t.item_index,
+        t.sku_id,
+        tmgs.sku_code  as "skuCode",
+        tmgs.sku_model as "skuModel",
+        tmgs.sku_name  as "skuName",
+        t.item_qty,
+        t.price_std,
+        t.amt_std,
+        t.price_sale,
+        t.item_amt,
+        t.price_discount,
+        t.non_std_code,
+        t.out_status,
+        t.outing_qty,
+        t.outing_amt,
+        t.out_qty,
+        t.out_amt,
+        t.return_qty,
+        t.return_amt,
+        t.remarks,
+        t.item_qty - coalesce(sumQty,0) as "transferableQuantity"
+        FROM dkic_b.t_psi_order_item as t
+        left join dkic_b.t_psi_order as tpo on tpo.order_id = t.order_id
+        inner join dkic_b.t_mst_goods_sku tmgs on t.sku_id = tmgs.sku_id
+        left join(select from_item_id,sum(item_qty) as sumQty from t_psi_purchase_item
+            group by from_item_id) as pi on pi.from_item_id = t.item_id
+        <include refid="Condition_pur"/>
+        order by t.item_id
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_psi_order_item,(条件查询+分页)列表 -->
+    <select id="purchaseBasedOnSaleContByCond" resultType="Long">
+        SELECT count(1)
+        FROM dkic_b.t_psi_order_item as t
+        left join dkic_b.t_psi_order as tpo on tpo.order_id = t.order_id
+        inner join dkic_b.t_mst_goods_sku tmgs on t.sku_id = tmgs.sku_id
+        <include refid="Condition_pur"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
 </mapper>

+ 32 - 2
src/main/java/com/dk/mdm/mapper/sale/OrderMapper.xml

@@ -204,6 +204,14 @@
             <result column="short_name" property="shortName"/>
             <result column="price_purchase" property="pricePurchase"/>
             <result column="price_standard" property="priceStandard"/>
+            <result column="order_qty" property="orderQty"/>
+            <result column="price_out" property="priceOut"/>
+            <result column="inv_id" property="invId"/>
+            <result column="wh_id" property="whId"/>
+            <result column="inv_qty" property="invQty"/>
+            <result column="usable_qty" property="usableQty"/>
+            <result column="wh_name" property="whName"/>
+
     </resultMap>
     <!--小程序用 总单-->
     <sql id="Base_Column_List_Detail_Join">
@@ -243,9 +251,11 @@
         toi.item_index AS list_item_index,
         toi.sku_id AS list_sku_id,
         toi.item_qty AS list_item_qty,
+        toi.item_qty AS list_order_qty,
         toi.price_std AS list_price_std,
         toi.amt_std AS list_amt_std,
         toi.price_sale AS list_price_sale,
+        toi.price_sale AS list_price_out,
         toi.item_amt AS list_item_amt,
         toi.price_discount AS list_price_discount,
         toi.non_std_code AS list_non_std_code,
@@ -265,7 +275,12 @@
         tmgb.brand_name AS list_brand_name,
         tmgb.short_name AS list_short_name,
         tmgs.price_purchase AS list_price_purchase,
-        tmgs.price_standard AS list_price_standard
+        tmgs.price_standard AS list_price_standard,
+        i.inv_id  as list_inv_id,
+        i.wh_id as list_wh_id,
+        i.inv_qty    as list_inv_qty,
+        i.usable_qty  as list_usable_qty,
+        i.wh_name     as list_wh_name
     </sql>
 
 
@@ -870,8 +885,23 @@
         <include refid="Base_Column_List_Item_Response_Detail_Join"/>
         FROM dkic_b.t_psi_order as t
         left join dkic_b.t_psi_order_item toi on toi.order_id  = t.order_id
-        left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id  = toi.sku_id
+        inner join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id  = toi.sku_id
         left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id  = tmgs.brand_id
+        left join(SELECT T.*
+        FROM (select tpi.inv_id,
+        tpi.wh_id,
+        tpi.inv_qty,
+        tpi.usable_qty,
+        tpi.sku_id,
+        tpi.non_std_code,
+        tpi.cp_id,
+        tmw.wh_name,
+        rank()
+        over (partition by tpi.cp_id,tpi.sku_id,tpi.non_std_code order by tpi.inv_id) as RK
+        from dkic_b.t_psi_inventory as tpi
+        left join dkic_b.t_mst_warehouse as tmw on tmw.wh_id = tpi.wh_id) T
+        WHERE T.RK = 1) as i
+        on i.sku_id = toi.sku_id and i.non_std_code = toi.non_std_code and i.cp_id = toi.cp_id
         <include refid="Condition"/>
         order by t.op_create_time desc
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">

+ 1 - 1
src/main/java/com/dk/mdm/model/pojo/mst/ComMenu.java

@@ -29,7 +29,7 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 @Accessors(chain = true)
 @ExportTitle("常用功能")
-@TableName(value = "t_mst_com_menu", autoResultMap = true)
+@TableName(value = "t_mst_com_menu", autoResultMap = true,schema = "dkic_b")
 @ApiModel(value="实体类:常用功能", description="表名:t_mst_com_menu")
 public class ComMenu extends PageInfo<ComMenu> implements Serializable {
 

+ 1 - 1
src/main/java/com/dk/mdm/model/pojo/mst/MenuFrequency.java

@@ -28,7 +28,7 @@ import java.time.LocalDateTime;
 @NoArgsConstructor
 @Accessors(chain = true)
 @ExportTitle("用户功能频率")
-@TableName(value = "t_mst_menu_frequency", autoResultMap = true)
+@TableName(value = "t_mst_menu_frequency", autoResultMap = true,schema = "dkic_b")
 @ApiModel(value="实体类:用户功能频率", description="表名:t_mst_menu_frequency")
 public class MenuFrequency implements Serializable {
 

+ 3 - 0
src/main/java/com/dk/mdm/model/query/sale/OrderItemQuery.java

@@ -209,6 +209,9 @@ public class OrderItemQuery extends PageInfo<OrderItemQuery> implements Serializ
     @ApiModelProperty(value = "企业ID")
     private Integer cpId;
 
+    @ApiModelProperty(value = "订单单号")
+    private String orderNo;
+
     private static final long serialVersionUID = 1L;
 
 }

+ 4 - 0
src/main/java/com/dk/mdm/model/response/ivt/InboundItemResponse.java

@@ -355,6 +355,10 @@ public class InboundItemResponse  {
     @ApiModelProperty(value = "源采购单明细已入库退货金额")
     private BigDecimal sPurItemReturnAmt;
 
+    @ApiModelProperty(value = "可售量")
+    private BigDecimal usableQty;
+
+
 
 
     private static final long serialVersionUID = 1L;

+ 2 - 2
src/main/java/com/dk/mdm/model/response/ivt/OutboundResponse.java

@@ -284,8 +284,8 @@ public class OutboundResponse extends PageInfo<OutboundResponse> implements Seri
     @ApiModelProperty(value = "出库单明细")
     private List<OutboundItemResponse> goodsList;
 
-    @ApiModelProperty(value = "订单单号")
-    private String orderNo;
+    @ApiModelProperty(value = "来源单号")
+    private String biznisNo;
 
     @ApiModelProperty(value = "组织名称")
     private String orgName;

+ 8 - 0
src/main/java/com/dk/mdm/model/response/mst/ComMenuResponse.java

@@ -123,6 +123,14 @@ public class ComMenuResponse extends PageInfo<ComMenuResponse> implements Serial
     @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
     private String opDbUser;
 
+    private String menuName;
+
+    private String objectCode;
+
+    private String objectPath;
+
+    private String objectIcon;
+
 
     /*
      * 相关属性

+ 8 - 0
src/main/java/com/dk/mdm/model/response/mst/MenuFrequencyResponse.java

@@ -122,6 +122,14 @@ public class MenuFrequencyResponse extends PageInfo<MenuFrequencyResponse> imple
     @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
     private String opDbUser;
 
+    private String menuName;
+
+    private String objectCode;
+
+    private String objectPath;
+
+    private String objectIcon;
+
 
     /*
      * 相关属性

+ 8 - 0
src/main/java/com/dk/mdm/model/response/pur/PurchaseItemResponse.java

@@ -366,6 +366,14 @@ public class PurchaseItemResponse extends PageInfo<PurchaseItemResponse> impleme
      * @TableField(exist = false)
      */
 
+    private String invId;
+
+    private BigDecimal invQty;
+
+    private BigDecimal usableQty;
+
+
+
 
     private static final long serialVersionUID = 1L;
 

+ 12 - 0
src/main/java/com/dk/mdm/model/response/sale/OrderItemResponse.java

@@ -276,6 +276,18 @@ public class OrderItemResponse extends PageInfo<OrderItemResponse> implements Se
     @ApiModelProperty(value = "源销售明细ID")
     private String sOrderItemId;
 
+    /**
+     * 销售订单号
+     */
+    @Excel(name = "销售订单号")
+    @ApiModelProperty(value = "销售订单号")
+    private String orderNo;
+
+    @Excel(name = "可转采购数量")
+    @ApiModelProperty(value = "可转采购数量")
+    private BigDecimal transferableQuantity;
+
+
     private static final long serialVersionUID = 1L;
 
 }

+ 25 - 9
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleOrderService.java

@@ -20,27 +20,18 @@ import com.dk.mdm.mapper.mst.CustomerMapper;
 import com.dk.mdm.mapper.sale.MultiOwnerMapper;
 import com.dk.mdm.mapper.sale.OrderItemMapper;
 import com.dk.mdm.mapper.sale.OrderMapper;
-import com.dk.mdm.model.pojo.ivt.Inbound;
-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.pojo.mst.Customer;
-import com.dk.mdm.model.pojo.pur.Purchase;
-import com.dk.mdm.model.pojo.pur.PurchaseItem;
 import com.dk.mdm.model.pojo.sale.MultiOwner;
 import com.dk.mdm.model.pojo.sale.Order;
 import com.dk.mdm.model.pojo.sale.OrderItem;
-import com.dk.mdm.model.query.ivt.InboundItemQuery;
 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;
 import com.dk.mdm.model.response.sale.OrderItemResponse;
 import com.dk.mdm.model.response.sale.OrderResponse;
-import com.dk.mdm.model.vo.ivt.InboundItemVO;
-import com.dk.mdm.model.vo.ivt.InboundVO;
 import com.dk.mdm.model.vo.ivt.OutboundItemVO;
 import com.dk.mdm.model.vo.ivt.OutboundVO;
 import com.dk.mdm.service.common.CommonService;
@@ -1040,6 +1031,31 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
     }
 
     /**
+     * @desc : 获取出库信息(新建退货用)
+     * @author : 付斌
+     * @date : 2024-03-02 17:27
+     */
+    public ResponseResultVO<?> getOutForReturn(String id) {
+        OutboundResponse outboundResponse = outboundMapper.selectByIdForReturn(id);
+        List<OutboundItemResponse> outboundItemList = outboundItemMapper.selectByCondForReturn(new OutboundItemQuery().setOutId(id));
+
+        // 求和
+        OutboundItemResponse sumEntity = outboundItemList.stream().reduce((x, y) -> {
+            OutboundItemResponse item = new OutboundItemResponse();
+            item.setOutingQty(x.getOutingQty().add(y.getOutingQty()));
+            item.setOutingAmt(x.getOutingAmt().add(y.getOutingAmt()));
+            return item;
+        }).get();
+        outboundResponse.setOutingQty(sumEntity.getOutingQty()).setOutingAmt(sumEntity.getOutingAmt());
+
+        Map<String, Object> dataInfo = new HashMap<>();
+        dataInfo.put("data", outboundResponse);
+        dataInfo.put("dataItem", outboundItemList);
+
+        return ResponseResultUtil.success(dataInfo);
+    }
+
+    /**
      * @desc : 查询出库明细(货物、附件)
      * @author : 付斌
      * @date : 2024-02-28 13:25

+ 1 - 1
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleReturnService.java

@@ -333,7 +333,7 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
 
         //region  账款
         if (Constant.OutStatus.YICHUKU.getName().equals(outboundVO.getOutStatus())) {
-            accountService.accPayable(outboundVO.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
+            accountService.accReceivable(outboundVO.getOutId(), Constant.InventoryDocCode.OUTBOUND.getTableName());
         }
         //endregion
 

+ 4 - 4
src/main/java/com/dk/mdm/service/mac/AccountService.java

@@ -264,8 +264,8 @@ public class AccountService extends BaseService<Account> {
             }
 
             accountItemForUpdate = accountItemMapper.selectByIdForUpdate(outbound.getReceivableId());
-            // 当前单据已核销
-            if (accountItemForUpdate.getAmtShould().compareTo(accountItemForUpdate.getAmtResidue()) != 0) {
+            // 如果核销金额不为0,说明当前单据已核销
+            if (accountItemForUpdate.getAmtHandle().compareTo(BigDecimal.ZERO) != 0) {
                 throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.CURRENT_INVOICE_ISHANDLE.getMessage());
             }
 
@@ -359,8 +359,8 @@ public class AccountService extends BaseService<Account> {
             }
 
             accountItemForUpdate = accountItemMapper.selectByIdForUpdate(inbound.getReceivableId());
-            // 当前单据已核销
-            if (accountItemForUpdate.getAmtShould().compareTo(accountItemForUpdate.getAmtResidue()) != 0) {
+            // 如果核销金额不为0,说明当前单据已核销
+            if (accountItemForUpdate.getAmtHandle().compareTo(BigDecimal.ZERO) != 0) {
                 throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.CURRENT_INVOICE_ISHANDLE.getMessage());
             }
 

+ 11 - 11
src/main/java/com/dk/mdm/service/mac/RecPayService.java

@@ -119,7 +119,7 @@ public class RecPayService extends BaseService<RecPay> {
         List<RecPayItemResponse> recPayItem = recPayItemMapper.selectByCond(new RecPayItemQuery().setRpId(id));
         result.put("recPayItem", recPayItem);
 
-        // 收款明细
+        // 应收核销明细
         List<RecPayHandleItemResponse> recPayHandleItem = recPayHandleItemMapper.selectByCond(new RecPayHandleItemQuery().setRpId(id));
         result.put("recPayHandleItem", recPayHandleItem);
 
@@ -357,7 +357,7 @@ public class RecPayService extends BaseService<RecPay> {
     }
 
     /**
-     * @desc : 新建应收收款(收款+冲应收)
+     * @desc : 新建应收核销(收款+核销应收)
      * @author : 付斌
      * @date : 2023/1/9 10:49
      */
@@ -434,15 +434,15 @@ public class RecPayService extends BaseService<RecPay> {
                 // 账款明细的核销金额和优惠金额
                 AccountItem accountItemForUpdate = accountItemMapper.selectByIdForUpdate(recPayHandleItem.getAccItemId());
                 AccountItem accountItemUpdate = new AccountItem();
-                // 核销金额加优惠金额,超出应收金额
-                if (accountItemForUpdate.getAmtResidue().compareTo(recPayHandleItem.getAmtReceivableHandle().add(recPayHandleItem.getAmtWaive())) == -1) {
+                // 核销金额,超出剩余应收金额
+                if (accountItemForUpdate.getAmtResidue().compareTo(recPayHandleItem.getAmtReceivableHandle()) == -1) {
                     throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.AMT_HANDLE_NO_LESS_AMT_SHOULD.getMessage());
                 }
                 accountItemUpdate.setAmtHandle(accountItemForUpdate.getAmtHandle().add(recPayHandleItem.getAmtReceivableHandle()))
                         .setAmtWaive(accountItemForUpdate.getAmtWaive().add(recPayHandleItem.getAmtWaive()))
                         .setItemId(recPayHandleItem.getAccItemId());
-                // 剩余金额 = 应收金额-应收收款金额-优惠金额
-                accountItemUpdate.setAmtResidue(accountItemForUpdate.getAmtShould().subtract(accountItemUpdate.getAmtHandle()).subtract(accountItemUpdate.getAmtWaive()));
+                // 剩余金额 = 应收金额-应收收款金额
+                accountItemUpdate.setAmtResidue(accountItemForUpdate.getAmtShould().subtract(accountItemUpdate.getAmtHandle()));
                 accountItemService.updateByUuid(accountItemUpdate);
             }
 
@@ -460,8 +460,8 @@ public class RecPayService extends BaseService<RecPay> {
             accountUpdate.setReceivableHandle(accountForUpdate.getReceivableHandle().add(recPayHandleItemVO.getAmtReceivableHandle()))// 总应收收款金额
                     .setReceivableWaive(accountForUpdate.getReceivableWaive().add(recPayHandleItemVO.getAmtWaive()))//  总应收优惠金额
                     .setObjectId(accountForUpdate.getObjectId());
-            // 剩余应收 = 总应收账款-总应收收款金额-总应收优惠金额
-            accountUpdate.setReceivableResidue(accountForUpdate.getReceivable().subtract(accountUpdate.getReceivableHandle()).subtract(accountUpdate.getReceivableWaive()));
+            // 剩余应收 = 总应收账款-总应收收款金额
+            accountUpdate.setReceivableResidue(accountForUpdate.getReceivable().subtract(accountUpdate.getReceivableHandle()));
             // 可退金额 = 总收款金额-总应收收款金额+总应收优惠金额
             accountUpdate.setReceiptResidue(accountForUpdate.getReceipt().subtract(accountUpdate.getReceivableHandle()).add(accountUpdate.getReceivableWaive()));
 
@@ -507,14 +507,14 @@ public class RecPayService extends BaseService<RecPay> {
             accountItemService.updateByUuid(accountItemUpdate);
         }
 
-        // 把总帐上的钱加回来 todo
+        // 把总帐上的钱加回来
         Account accountForUpdate = accountMapper.selectByIdForUpdate(recPayForUpdate.getObjectId());
         Account accountUpdate = new Account();
         accountUpdate.setReceivableHandle(accountForUpdate.getReceivableHandle().subtract(recPayForUpdate.getSumAmtReceivableHandle()))// 总应收收款金额
                 .setReceivableWaive(accountForUpdate.getReceivableWaive().subtract(recPayForUpdate.getSumWaiveAmt()))//  总应收优惠金额
                 .setObjectId(accountForUpdate.getObjectId());
-        // 剩余应收 = 总应收账款-总应收收款金额-总应收优惠金额
-        accountUpdate.setReceivableResidue(accountForUpdate.getReceivable().subtract(accountUpdate.getReceivableHandle()).subtract(accountUpdate.getReceivableWaive()));
+        // 剩余应收 = 总应收账款-总应收收款金额
+        accountUpdate.setReceivableResidue(accountForUpdate.getReceivable().subtract(accountUpdate.getReceivableHandle()));
         // 可退金额 = 总收款金额-总应收收款金额+总应收优惠金额
         accountUpdate.setReceiptResidue(accountForUpdate.getReceipt().subtract(accountUpdate.getReceivableHandle()).add(accountUpdate.getReceivableWaive()));
 

+ 23 - 0
src/main/java/com/dk/mdm/service/mst/MenuFrequencyService.java

@@ -1,9 +1,13 @@
 package com.dk.mdm.service.mst;
 
+import com.dk.common.response.ResponseResultUtil;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.infrastructure.convert.mst.MenuFrequencyConvert;
 import com.dk.mdm.model.pojo.mst.MenuFrequency;
 import com.dk.mdm.mapper.mst.MenuFrequencyMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.vo.mst.MenuFrequencyVO;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -20,4 +24,23 @@ public class MenuFrequencyService extends BaseService<MenuFrequency> {
 	@Autowired
 	private MenuFrequencyMapper menuFrequencyMapper;
 
+	@Autowired
+	private MenuFrequencyConvert menuFrequencyConvert;
+
+	/**
+	 * @desc : 保存用户功能频率表
+	 * @author : 周兴
+	 * @date : 2024/3/28 9:39
+	 */
+	@Transactional(
+			rollbackFor = {Exception.class}
+	)
+	public ResponseResultVO<?> save(MenuFrequencyVO menuFrequencyVO) {
+		MenuFrequency  menuFrequency = menuFrequencyConvert.convertToPo(menuFrequencyVO);
+		menuFrequency.setQty(1);
+		// 保存用户功能频率表
+		menuFrequencyMapper.save(menuFrequency);
+		return ResponseResultUtil.success();
+	}
+
 }

+ 21 - 0
src/main/java/com/dk/mdm/service/sale/OrderItemService.java

@@ -1,13 +1,21 @@
 package com.dk.mdm.service.sale;
 
+import com.dk.common.infrastructure.annotaiton.Pagination;
+import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseResultUtil;
+import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.model.pojo.sale.OrderItem;
 import com.dk.mdm.mapper.sale.OrderItemMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.query.sale.OrderItemQuery;
+import com.dk.mdm.model.response.sale.OrderItemResponse;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+
 @Service
 @Transactional
 public class OrderItemService extends BaseService<OrderItem> {
@@ -25,4 +33,17 @@ public class OrderItemService extends BaseService<OrderItem> {
 	@Autowired
 	private OrderItemMapper orderItemMapper;
 
+	/**
+	 * @desc   : 以销定采查询销售订单接口
+	 * @date   : 2023/8/23 15:39
+	 * @author : 寇珊珊
+	 */
+	@Pagination
+	public ResponseResultVO<PageList<OrderItemResponse>> purchaseBasedOnSaleSelectOrder(OrderItemQuery orderItemQuery) {
+		//查询销售订单
+		List<OrderItemResponse> items = orderItemMapper.purchaseBasedOnSaleSelectByCond(orderItemQuery);
+		Long  count = orderItemMapper.purchaseBasedOnSaleContByCond(orderItemQuery);
+		return ResponseResultUtil.success(new PageList<>(items, count));
+	}
+
 }