Parcourir la source

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

于继渤 il y a 1 an
Parent
commit
3a8a7d5c26

+ 12 - 0
src/main/java/com/dk/mdm/controller/report/ReportController.java

@@ -227,6 +227,18 @@ public class ReportController  {
     }
 
 
+    /**
+     * @desc   : 销售简报
+     * @date   : 2024/5/6 8:42
+     * @author : 寇珊珊
+     */
+    @PostMapping("get_report_batch")
+    public ResponseResultVO<?>getReportBatch(@RequestBody Map<String,Map<String,Object>> params){
+        return reportService.getReportBatch(params);
+    }
+
+
+
 }
 
 

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

@@ -186,7 +186,7 @@
     <select id="countByCond" resultType="Long">
         SELECT
         count(1)
-        FROM t_psi_check_item
+        FROM dkic_b.t_psi_check_item
         <include refid="Condition"/>
     </select>
 
@@ -194,7 +194,7 @@
     <select id="selectById" resultMap="BaseResultMap">
         SELECT
         <include refid="Base_Column_List"/>
-        FROM t_psi_check_item
+        FROM dkic_b.t_psi_check_item
         WHERE item_id = #{id}::uuid
     </select>
 
@@ -202,7 +202,7 @@
     <select id="selectByIdForUpdate" resultMap="BaseResultMap">
         SELECT
         <include refid="Base_Column_List"/>
-        FROM t_psi_check_item
+        FROM dkic_b.t_psi_check_item
         WHERE item_id = #{itemId}
         for update
     </select>
@@ -211,7 +211,7 @@
     <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
         SELECT
         <include refid="Base_Column_List"/>
-        FROM t_psi_check_item
+        FROM dkic_b.t_psi_check_item
         <include refid="idsForeach"/>
         for update
     </select>

+ 3 - 0
src/main/java/com/dk/mdm/mapper/mst/ComMenuMapper.xml

@@ -64,6 +64,9 @@
         WHERE
             tmcm.staff_id = #{staffId} ::uuid
           AND tmcm.app_code = #{appCode}
+        <if test="gradeCode != null and gradeCode != ''">
+            AND (tam.grade_codes is null or #{gradeCode} = any(tam.grade_codes))
+        </if>
     </select>
 
     <!-- 查询表t_mst_com_menu,(条件查询)个数 -->

+ 3 - 0
src/main/java/com/dk/mdm/mapper/mst/MenuFrequencyMapper.xml

@@ -67,6 +67,9 @@
             <if test="exceptMenu != null  ">
                 AND tmf.menu_uuid != ALL(#{exceptMenu,typeHandler=UuidListTypeHandler} )
             </if>
+            <if test="gradeCode != null and gradeCode != ''">
+                AND (tam.grade_codes is null or #{gradeCode} = any(tam.grade_codes))
+            </if>
         ORDER BY
             tmf.qty DESC
         <if test="queryLimit != null and queryLimit != 0 ">

+ 4 - 4
src/main/java/com/dk/mdm/mapper/mst/StaffMapper.xml

@@ -65,12 +65,12 @@
             <if test="flgValid != null">
                 AND t.flg_valid = #{flgValid}
             </if>
-            <if test="cpId != null and  staffCode!='东科智云-体验'" >
+            <if test="cpId != null" >
                 AND t.cp_id = #{cpId}
             </if>
-            <if test="staffCode=='东科智云-体验'" >
-                AND t.cp_id = 2
-            </if>
+<!--            <if test="staffCode=='东科智云-体验'" >-->
+<!--                AND t.cp_id = 2-->
+<!--            </if>-->
             <if test="hrStatus != null">
                 AND t.hr_status = #{hrStatus}
             </if>

+ 11 - 0
src/main/java/com/dk/mdm/mapper/report/ReportMapper.java

@@ -3,6 +3,7 @@ package com.dk.mdm.mapper.report;
 import com.alibaba.fastjson.JSONObject;
 import com.dk.common.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
+import org.postgresql.util.PGobject;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -222,4 +223,14 @@ public interface ReportMapper extends BaseMapper<JSONObject> {
      */
     List<Map<String, Object>> getFundReport(Map param);
 
+
+
+    /**
+     * @desc   : 销售简报
+     * @date   : 2024/5/6 13:32
+     * @author : 寇珊珊
+     */
+    Map<String, PGobject> getReportBatch(@Param("param")Map<String,Object> param);
+
+
 }

+ 324 - 0
src/main/java/com/dk/mdm/mapper/report/ReportMapper.xml

@@ -2313,4 +2313,328 @@
         FROM dkic_b.f_get_fund_report(#{accDateStart}::date,#{accDateEnd}::date,#{cpId},#{currentPage},#{pageSize})
     </select>
 
+    <!-- 销售简报-->
+    <select id="getReportBatch" resultType="Map">
+        <!-- 我的页面 助手部分 -->
+        <if test="param.type == 'f_my_sale_info'">
+            select f_my_sale_info as report from "dkic_b"."f_my_sale_info"(#{param.cpId}, #{param.orgId}, #{param.userId},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'))
+        </if>
+
+        <!-- 我的页面 销售业务进度 月 -->
+        <if test="param.type == 'f_kpi_order_rate_month'">
+            select f_kpi_order_rate_month as report from "dkic_b"."f_kpi_order_rate_month"(to_date(#{param.rateDate},'yyyy-MM-dd'),#{param.cpId},#{param.orgId},#{param.userId})
+        </if>
+        <!-- 我的页面 销售业务进度 年 -->
+        <if test="param.type == 'f_kpi_order_rate_year'">
+            select f_kpi_order_rate_year as report from "dkic_b"."f_kpi_order_rate_year"(to_date(#{param.rateDate},'yyyy-MM-dd'),#{param.cpId},#{param.orgId},#{param.userId})
+        </if>
+        <!-- 我的页面 收款任务进度 月 -->
+        <if test="param.type == 'f_kpi_repay_rate_month'">
+            select f_kpi_repay_rate_month as report from "dkic_b"."f_kpi_repay_rate_month"(to_date(#{param.rateDate},'yyyy-MM-dd'),#{param.cpId},#{param.orgId},#{param.userId})
+        </if>
+        <!-- 我的页面 收款任务进度 年 -->
+        <if test="param.type == 'f_kpi_repay_rate_year'">
+            select f_kpi_repay_rate_year as report from "dkic_b"."f_kpi_repay_rate_year"(to_date(#{param.rateDate},'yyyy-MM-dd'),#{param.cpId},#{param.orgId},#{param.userId})
+        </if>
+
+        <!-- 报表页面 销售分析 -->
+        <if test="param.type == 'f_report_order_analysis_home'">
+            select f_report_order_analysis_home as report from "dkic_b"."f_report_order_analysis_home"(to_date(#{param.monthDate},'yyyy-MM-dd'),#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.userId})
+        </if>
+        <!-- 报表页面 收款分析 -->
+        <if test="param.type == 'f_report_repay_analysis'">
+            select f_report_repay_analysis as report from "dkic_b"."f_report_repay_analysis"(to_date(#{param.monthDate},'yyyy-MM-dd'),#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.userId})
+        </if>
+        <!-- 报表页面 客户分析 -->
+        <if test="param.type == 'f_report_csm_analysis_home'">
+            select f_report_csm_analysis_home as report from "dkic_b"."f_report_csm_analysis_home"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId})
+        </if>
+
+
+        <!-- 图形部分 -->
+        <!-- 报表页面 客户来源分布 -->
+        <if test="param.type == 'f_report_csm_from_order'">
+            select f_report_csm_from_order as report from "dkic_b"."f_report_csm_from_order"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId})
+        </if>
+
+        <!-- 报表页面 产品分布 -->
+        <if test="param.type == 'f_report_spu_analysis'">
+            select f_report_spu_analysis as report from "dkic_b"."f_report_spu_analysis"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId})
+        </if>
+
+        <!-- 报表页面 部门成交 -->
+        <if test="param.type == 'f_report_index_org_order'">
+            select f_report_index_org_order as report from "dkic_b"."f_report_index_org_order"(to_date(#{param.monthDate},'yyyy-MM-dd'),#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.userId})
+        </if>
+
+        <!-- 报表页面 部门收款 -->
+        <if test="param.type == 'f_report_index_org_repay'">
+            select f_report_index_org_repay as report from "dkic_b"."f_report_index_org_repay"(to_date(#{param.monthDate},'yyyy-MM-dd'),#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.userId})
+        </if>
+
+        <!-- 报表页面 业务员成交 -->
+        <if test="param.type == 'f_report_index_staff_order'">
+            select f_report_index_staff_order as report from "dkic_b"."f_report_index_staff_order"(to_date(#{param.monthDate},'yyyy-MM-dd'),#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},#{param.userId})
+        </if>
+
+        <!-- 报表页面 业务员收款 -->
+        <if test="param.type == 'f_report_index_staff_repay'">
+            select f_report_index_staff_repay as report from "dkic_b"."f_report_index_staff_repay"(to_date(#{param.monthDate},'yyyy-MM-dd'),#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},#{param.userId})
+        </if>
+
+        <!-- 明细页面 收款分析-收款任务 f_report_index_org_repay 部分收款同一个函数-->
+
+        <!-- 明细页面 收款分析-欠款情况 -->
+        <if test="param.type == 'f_report_repay_debt'">
+            select f_report_repay_debt as report from "dkic_b"."f_report_repay_debt"(to_date(#{param.monthDate},'yyyy-MM-dd'),#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.userId})
+        </if>
+
+        <!-- 明细页面 客户分析-报价 -->
+        <if test="param.type == 'f_report_csm_analysis_offer'">
+            select f_report_csm_analysis_offer as report from "dkic_b"."f_report_csm_analysis_offer"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId})
+        </if>
+
+        <!-- 明细页面 客户分析-成交 -->
+        <if test="param.type == 'f_report_csm_analysis_order'">
+            select f_report_csm_analysis_order as report from "dkic_b"."f_report_csm_analysis_order"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId})
+        </if>
+
+        <!-- 明细页面 客户来源分布-报价 -->
+        <if test="param.type == 'f_report_csm_from_offer'">
+            select f_report_csm_from_offer as report from "dkic_b"."f_report_csm_from_offer"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId})
+        </if>
+
+        <!-- 明细页面 客户来源分布-潜客 -->
+        <if test="param.type == 'f_report_csm_from_filing'">
+            select f_report_csm_from_filing as report from "dkic_b"."f_report_csm_from_filing"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId})
+        </if>
+
+
+        <!-- 明细页面 销售分析5个 第一个就是部门成交-->
+
+        <if test="param.type == 'f_report_order_analysis_reject'">
+            select f_report_order_analysis_reject as report from "dkic_b"."f_report_order_analysis_reject"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId})
+        </if>
+
+        <if test="param.type == 'f_report_order_analysis_csm'">
+            select f_report_order_analysis_csm as report from "dkic_b"."f_report_order_analysis_csm"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId})
+        </if>
+
+        <if test="param.type == 'f_report_order_analysis_activity'">
+            select f_report_order_analysis_activity as report from "dkic_b"."f_report_order_analysis_activity"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId})
+        </if>
+
+        <if test="param.type == 'f_report_order_analysis_specs'">
+            select f_report_order_analysis_specs as report from "dkic_b"."f_report_order_analysis_specs"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId})
+        </if>
+
+
+        <!--订单参考利润-->
+        <if test="param.type == 'f_report_s201_sale_reference_profit'">
+            select f_report_s201_sale_reference_profit as report from "dkic_b"."f_report_s201_sale_reference_profit"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!--出库参考利润-->
+        <if test="param.type == 'f_report_s201_out_reference_profit'">
+            select f_report_s201_out_reference_profit as report from "dkic_b"."f_report_s201_out_reference_profit"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+
+
+        <!-- 报表页面 销售分析 -->
+        <if test="param.type == 'f_report_s001_order_analysis_home'">
+            select f_report_s001_order_analysis_home as report from "dkic_b"."f_report_s001_order_analysis_home"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+        <!-- 报表页面 收款分析 -->
+        <if test="param.type == 'f_report_s001_repay_analysis'">
+            select f_report_s001_repay_analysis as report from "dkic_b"."f_report_s001_repay_analysis"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+        <!-- 报表页面 客户分析 -->
+        <if test="param.type == 'f_report_s001_csm_analysis_home'">
+            select f_report_s001_csm_analysis_home as report from "dkic_b"."f_report_s001_csm_analysis_home"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+
+        <!-- 图形部分 -->
+        <!-- 报表页面 客户来源分布 -->
+        <if test="param.type == 'f_report_s001_csm_from_order'">
+            select f_report_s001_csm_from_order as report from "dkic_b"."f_report_s001_csm_from_order"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 报表页面 产品分布 -->
+        <if test="param.type == 'f_report_s001_spu_analysis'">
+            select f_report_s001_spu_analysis as report from "dkic_b"."f_report_s001_spu_analysis"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 报表页面 部门成交 -->
+        <if test="param.type == 'f_report_s001_index_org_order'">
+            select f_report_s001_index_org_order as report from "dkic_b"."f_report_s001_index_org_order"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 报表页面 部门收款 -->
+        <if test="param.type == 'f_report_s001_index_org_repay'">
+            select f_report_s001_index_org_repay as report from "dkic_b"."f_report_s001_index_org_repay"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 报表页面 业务员成交 -->
+        <if test="param.type == 'f_report_s001_index_staff_order'">
+            select f_report_s001_index_staff_order as report from "dkic_b"."f_report_s001_index_staff_order"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 报表页面 业务员收款 -->
+        <if test="param.type == 'f_report_s001_index_staff_repay'">
+            select f_report_s001_index_staff_repay as report from "dkic_b"."f_report_s001_index_staff_repay"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 明细页面 收款分析-收款任务 f_report_s001_index_org_repay 部分收款同一个函数-->
+
+        <!-- 明细页面 收款分析-欠款情况 -->
+        <if test="param.type == 'f_report_s001_repay_debt'">
+            select f_report_s001_repay_debt as report from "dkic_b"."f_report_s001_repay_debt"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 明细页面 客户分析-报价 -->
+        <if test="param.type == 'f_report_s001_csm_analysis_offer'">
+            select f_report_s001_csm_analysis_offer as report from "dkic_b"."f_report_s001_csm_analysis_offer"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 明细页面 客户分析-成交 -->
+        <if test="param.type == 'f_report_s001_csm_analysis_order'">
+            select f_report_s001_csm_analysis_order as report from "dkic_b"."f_report_s001_csm_analysis_order"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 明细页面 客户来源分布-报价 -->
+        <if test="param.type == 'f_report_s001_csm_from_offer'">
+            select f_report_s001_csm_from_offer as report from "dkic_b"."f_report_s001_csm_from_offer"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 明细页面 客户来源分布-潜客 -->
+        <if test="param.type == 'f_report_s001_csm_from_filing'">
+            select f_report_s001_csm_from_filing as report from "dkic_b"."f_report_s001_csm_from_filing"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+
+        <!-- 明细页面 销售分析5个 第一个就是部门成交-->
+
+        <if test="param.type == 'f_report_s001_order_analysis_reject'">
+            select f_report_s001_order_analysis_reject as report from "dkic_b"."f_report_s001_order_analysis_reject"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <if test="param.type == 'f_report_s001_order_analysis_csm'">
+            select f_report_s001_order_analysis_csm as report from "dkic_b"."f_report_s001_order_analysis_csm"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <if test="param.type == 'f_report_s001_order_analysis_activity'">
+            select f_report_s001_order_analysis_activity as report from "dkic_b"."f_report_s001_order_analysis_activity"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <if test="param.type == 'f_report_s001_order_analysis_specs'">
+            select f_report_s001_order_analysis_specs as report from "dkic_b"."f_report_s001_order_analysis_specs"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+
+        <!-- s002部分 -->
+        <!-- 报表页面 销售分析 -->
+        <if test="param.type == 'f_report_s002_order_analysis_home'">
+            select f_report_s002_order_analysis_home as report from "dkic_b"."f_report_s002_order_analysis_home"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+        <!-- 报表页面 收款分析 -->
+        <if test="param.type == 'f_report_s002_repay_analysis'">
+            select f_report_s002_repay_analysis as report from "dkic_b"."f_report_s002_repay_analysis"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+        <!-- 报表页面 客户分析 -->
+        <if test="param.type == 'f_report_s002_csm_analysis_home'">
+            select f_report_s002_csm_analysis_home as report from "dkic_b"."f_report_s002_csm_analysis_home"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+
+        <!-- 图形部分 -->
+        <!-- 报表页面 客户来源分布 -->
+        <if test="param.type == 'f_report_s002_csm_from_order'">
+            select f_report_s002_csm_from_order as report from "dkic_b"."f_report_s002_csm_from_order"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 报表页面 产品分布 -->
+        <if test="param.type == 'f_report_s002_spu_analysis'">
+            select f_report_s002_spu_analysis as report from "dkic_b"."f_report_s002_spu_analysis"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+
+        <!-- 报表页面 业务员成交 -->
+        <if test="param.type == 'f_report_s002_index_staff_order'">
+            select f_report_s002_index_staff_order as report from "dkic_b"."f_report_s002_index_staff_order"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 报表页面 业务员收款 -->
+        <if test="param.type == 'f_report_s002_index_staff_repay'">
+            select f_report_s002_index_staff_repay as report from "dkic_b"."f_report_s002_index_staff_repay"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+
+        <!-- 明细页面 收款分析-欠款情况 -->
+        <if test="param.type == 'f_report_s002_repay_debt'">
+            select f_report_s002_repay_debt as report from "dkic_b"."f_report_s002_repay_debt"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 明细页面 客户分析-报价 -->
+        <if test="param.type == 'f_report_s002_csm_analysis_offer'">
+            select f_report_s002_csm_analysis_offer as report from "dkic_b"."f_report_s002_csm_analysis_offer"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 明细页面 客户分析-成交 -->
+        <if test="param.type == 'f_report_s002_csm_analysis_order'">
+            select f_report_s002_csm_analysis_order as report from "dkic_b"."f_report_s002_csm_analysis_order"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 明细页面 客户来源分布-报价 -->
+        <if test="param.type == 'f_report_s002_csm_from_offer'">
+            select f_report_s002_csm_from_offer as report from "dkic_b"."f_report_s002_csm_from_offer"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 明细页面 客户来源分布-潜客 -->
+        <if test="param.type == 'f_report_s002_csm_from_filing'">
+            select f_report_s002_csm_from_filing as report from "dkic_b"."f_report_s002_csm_from_filing"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+
+        <!-- 明细页面 销售分析5个 第一个就是部门成交-->
+
+        <if test="param.type == 'f_report_s002_order_analysis_reject'">
+            select f_report_s002_order_analysis_reject as report from "dkic_b"."f_report_s002_order_analysis_reject"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <if test="param.type == 'f_report_s002_order_analysis_csm'">
+            select f_report_s002_order_analysis_csm as report from "dkic_b"."f_report_s002_order_analysis_csm"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <if test="param.type == 'f_report_s002_order_analysis_activity'">
+            select f_report_s002_order_analysis_activity as report from "dkic_b"."f_report_s002_order_analysis_activity"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <if test="param.type == 'f_report_s002_order_analysis_specs'">
+            select f_report_s002_order_analysis_specs as report from "dkic_b"."f_report_s002_order_analysis_specs"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 销售分析 -->
+        <!-- 部门品类排行 -->
+        <if test="param.type == 'f_report_s003_kpi_org_category'">
+            select f_report_s003_kpi_org_category as report from "dkic_b"."f_report_s003_kpi_org_category"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 部门单品排行 -->
+        <if test="param.type == 'f_report_s003_kpi_org_spu'">
+            select f_report_s003_kpi_org_spu as report from "dkic_b"."f_report_s003_kpi_org_spu"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 业务员品类排行 -->
+        <if test="param.type == 'f_report_s003_kpi_staff_category'">
+            select f_report_s003_kpi_staff_category as report from "dkic_b"."f_report_s003_kpi_staff_category"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+
+        <!-- 业务员单品排行 -->
+        <if test="param.type == 'f_report_s003_kpi_staff_spu'">
+            select f_report_s003_kpi_staff_spu as report from "dkic_b"."f_report_s003_kpi_staff_spu"(#{param.cpId},#{param.orgIds,typeHandler=IntListTypeHandler},#{param.staffIds,typeHandler=IntListTypeHandler},to_date(#{param.beginDate},'yyyy-MM-dd'),to_date(#{param.endDate},'yyyy-MM-dd'),#{param.userId},#{param.dateType})
+        </if>
+    </select>
+
 </mapper>

+ 7 - 0
src/main/java/com/dk/mdm/model/pojo/mst/Org.java

@@ -100,6 +100,13 @@ public class Org extends PageInfo<Org> implements Serializable {
     @TableField(typeHandler = UuidListTypeHandler.class)
     private List<String> levelUpper;
 
+    /**
+     * 业务部门标识
+     */
+    @Excel(name = "业务部门标识")
+    @ApiModelProperty(value = "业务部门标识")
+    private Boolean flgBusiness;
+
 
     /**
      * 下层ID

+ 5 - 0
src/main/java/com/dk/mdm/model/query/mst/ComMenuQuery.java

@@ -53,6 +53,11 @@ public class ComMenuQuery extends PageInfo<ComMenuQuery> implements Serializable
     @ApiModelProperty(value = "企业Id")
     private Integer cpId;
 
+    /**
+     * 系统版本
+     */
+    private String gradeCode;
+
 
     /**
      * 员工Id

+ 5 - 0
src/main/java/com/dk/mdm/model/query/mst/MenuFrequencyQuery.java

@@ -84,6 +84,11 @@ public class MenuFrequencyQuery extends PageInfo<MenuFrequencyQuery> implements
     @TableField(typeHandler = UuidListTypeHandler.class)
     private List<String> exceptMenu;
 
+    /**
+     * 系统版本
+     */
+    private String gradeCode;
+
 
     /**
      * 修改时间 (触发器自动处理)

+ 7 - 0
src/main/java/com/dk/mdm/model/query/mst/OrgQuery.java

@@ -77,6 +77,13 @@ public class OrgQuery extends PageInfo<com.dk.mdm.model.query.mst.OrgQuery> impl
     @ApiModelProperty(value = "父级ID")
     private String parentId;
 
+    /**
+     * 业务部门标识
+     */
+    @Excel(name = "业务部门标识")
+    @ApiModelProperty(value = "业务部门标识")
+    private Boolean flgBusiness;
+
 
     /**
      * 显示顺序

+ 14 - 4
src/main/java/com/dk/mdm/service/ivt/CheckService.java

@@ -114,7 +114,7 @@ public class CheckService extends BaseService<Check> {
 		check.setMakeTime(LocalDateTime.now()).setStaffId(checkVO.getStaffId()).setCheckId(codeMap.get("outId").toString())
 				.setRemarks(checkVO.getRemarks()).setCheckNo(codeMap.get("outNote").toString()).setCheckDate(LocalDate.now())
 				.setOrgId(checkVO.getOrgId()).setFlgLock(checkVO.getFlgLock()).setCheckStatus(checkVO.getCheckStatus())
-				.setRemarks(checkVO.getRemarks()).setStaffId(checkVO.getStaffId());
+				.setRemarks(checkVO.getRemarks()).setStaffId(checkVO.getStaffId()).setMakeStaff(checkVO.getMakeStaff());
 		// 先插入盘点单主表数据
 		super.insert(check);
 		// 插入盘点明细
@@ -153,7 +153,7 @@ public class CheckService extends BaseService<Check> {
 				inboundVO.setOrgId(checkVO.getOrgId()).setStaffId(checkVO.getStaffId()==null?checkVO.getMakeStaff():checkVO.getStaffId())
 						.setMakeStaff(checkVO.getMakeStaff()).setIntoingQty(intoQtySum).setFromId(check.getCheckId()).setFromNo(check.getCheckNo())
 						.setMakeTime(LocalDateTime.now()).setIntoDate(LocalDate.now()).setWhId(checkVO.getWhId()).setFlgAutoHandle(true)
-						.setIntoingAmt(intoingAmtSum).setIntoType(Constant.IntoType.PROFIT.getName());;
+						.setIntoingAmt(intoingAmtSum).setIntoType(Constant.IntoType.PROFIT.getName());
 				// 赋值入库接口参数 总表和明细
 				inboundCheckMap.put("total",inboundVO);
 
@@ -277,7 +277,11 @@ public class CheckService extends BaseService<Check> {
 				inboundVO.setOrgId(checkVO.getOrgId()).setStaffId(checkVO.getStaffId()==null?checkVO.getMakeStaff():checkVO.getStaffId())
 						.setMakeStaff(checkVO.getMakeStaff()).setIntoingQty(intoQtySum).setFromId(checkVO.getCheckId())
 						.setFromNo(checkVO.getCheckNo()).setMakeTime(LocalDateTime.now()).setIntoDate(LocalDate.now()).setWhId(checkVO.getWhId())
-						.setFlgAutoHandle(true).setIntoingAmt(intoingAmtSum);
+						.setFlgAutoHandle(true).setIntoingAmt(intoingAmtSum).setIntoType(Constant.IntoType.PROFIT.getName());
+				// 编辑时需要清空item_id值
+				for (CheckItemVO checkItemVO : inCheckItemVOList) {
+					checkItemVO.setItemId(null);
+				}
 				// 赋值入库接口参数 总表和明细
 				inboundCheckMap.put("total",inboundVO);
 				inboundCheckMap.put("detail",inCheckItemVOList);
@@ -296,7 +300,13 @@ public class CheckService extends BaseService<Check> {
 				OutboundVO outboundVO = new OutboundVO();
 				outboundVO.setOrgId(checkVO.getOrgId()).setStaffId(checkVO.getStaffId()==null?checkVO.getMakeStaff():checkVO.getStaffId())
 						.setMakeStaff(checkVO.getMakeStaff()).setOutingQty(outtoQtySum.abs()).setFromId(checkVO.getCheckId())
-						.setFromNo(checkVO.getCheckNo()).setMakeTime(LocalDateTime.now()).setOutDate(LocalDate.now()).setOutingAmt(BigDecimal.ZERO);
+						.setFromNo(checkVO.getCheckNo()).setMakeTime(LocalDateTime.now()).setOutDate(LocalDate.now()).setOutingAmt(BigDecimal.ZERO)
+						.setOutType(Constant.OutType.INVENTORY_LOSS.getName());
+
+				// 编辑时需要清空item_id值
+				for (CheckItemVO checkItemVO : inCheckItemVOList) {
+					checkItemVO.setItemId(null);
+				}
 				// 赋值出库接口参数 总表和明细
 				outboundCheckMap.put("total",outboundVO);
 				outboundCheckMap.put("detail",inCheckItemVOList);

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

@@ -178,7 +178,7 @@ public class TransferService extends BaseService<Transfer> {
 					outboundItemVO.setItemIndex(transferItemVO.getItemIndex()).setSkuId(transferItemVO.getSkuId())
 							.setOutingQty(transferItemVO.getTransferQty()).setFromId(transfer.getTransferId())
 							.setOutingAmt(BigDecimal.ZERO).setPriceOut(BigDecimal.ZERO).setInvId(transferItemVO.getOInvId())
-							.setWhId(transferItemVO.getWhId()).setNonStdCode(transferItemVO.getONonStdCode());
+							.setWhId(transferItemVO.getOWhId()).setNonStdCode(transferItemVO.getONonStdCode());
 
 					outboundItemVOList.add(outboundItemVO);
 				}

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

@@ -143,7 +143,8 @@ public class InboundCheckService extends BaseService<Inbound> {
                     .setIntoingQty(BigDecimal.ZERO)
                     .setIntoingAmt(BigDecimal.ZERO)
                     .setCostPrice(inboundItemVO.getPriceInto())
-                    .setCostAmt(inboundItemVO.getIntoQty().multiply(inboundItemVO.getPriceInto()).setScale(2, BigDecimal.ROUND_HALF_UP))
+                    .setCostAmt(inboundItemVO.getIntoQty()
+                            .multiply(inboundItemVO.getPriceInto()).setScale(2, BigDecimal.ROUND_HALF_UP))
             ;
             //入库状态
             inboundItemVO.setIntoStatus(inboundVO.getIntoStatus());

+ 4 - 3
src/main/java/com/dk/mdm/service/ivt/inventory/InventoryService.java

@@ -314,6 +314,7 @@ public class InventoryService extends BaseService<Inventory> {
             outDetail = (JSONArray) JSON.toJSON(map.get("outDetail"));
             JSONObject obj = (JSONObject) outDetail.get(0);
             inventoryDocCode = obj.get("inventoryDocCode").toString();
+            addOrEditFlag = obj.getBoolean("addOrEditFlag");
         }
         //出库删除
         if (map.get("delOutDetail") != null) {
@@ -331,7 +332,7 @@ public class InventoryService extends BaseService<Inventory> {
             //region 新建
             if (addOrEditFlag) {
                 //先出
-                if (outDetail.size() > 0) {
+                if (outDetail.size() > 0 ) {
                     outList = outDetail.toJavaList(InOutRecordVO.class);
                     //赋值并校验库存流水数据
                     outList = this.setInOutRecordMessageByOut(outList);
@@ -339,7 +340,7 @@ public class InventoryService extends BaseService<Inventory> {
                     outList = this.warehouseAdjustmentOut(outList);
                     //反写出库单金额等信息
                     this.updateOutbound(outList);
-                } else {
+                } else if (outDetail.size() == 0 && intoDetail.size() == 0 ) {
                     throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.NO_DATA_MOVED_OUT.getMessage());
 
                 }
@@ -354,7 +355,7 @@ public class InventoryService extends BaseService<Inventory> {
                     this.warehouseAdjustmentInto(intoList);
                     //修改入库单单价、金额、成本等信息
                     this.updateIntobound(intoList);
-                } else {
+                } else if (outDetail.size() == 0 && intoDetail.size() == 0 ) {
                     throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.NO_DATA_MOVED_IN.getMessage());
                 }
             }

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

@@ -157,6 +157,7 @@ public class OutboundCheckService extends BaseService<Outbound> {
             //盘亏出库
             if(Constant.OutType.INVENTORY_LOSS.getName().equals(outboundItemVO.getOutType())){
                 outboundItemVO.setInventoryDocCode(Constant.InventoryDocCode.INVENTORY_LOSS.getValue());
+                outboundItemVO.setOutAmt(BigDecimal.ZERO);
             }
             //仓库调整
             else{

+ 1 - 0
src/main/java/com/dk/mdm/service/mst/ComMenuService.java

@@ -60,6 +60,7 @@ public class ComMenuService extends BaseService<ComMenu> {
             List<MenuFrequencyResponse>  MenuFrequencyList = menuFrequencyMapper.selectByCond(new MenuFrequencyQuery()
                     .setStaffId(comMenuQuery.getStaffId())
                     .setAppCode(comMenuQuery.getAppCode())
+                    .setGradeCode(comMenuQuery.getGradeCode())
                     .setQueryLimit(max - comMenuList.size())
                     .setExceptMenu(exceptmenu))   ;
             MenuFrequencyList.forEach(it->{

+ 1 - 1
src/main/java/com/dk/mdm/service/mst/WarehouseService.java

@@ -85,7 +85,7 @@ public class WarehouseService extends BaseService<Warehouse> {
         warehouse.setWhId(uniqueNoteCode.get("outId").toString());
         warehouse.setWhCode(uniqueNoteCode.get("outNote").toString());
         //新建如果是默认取消其他默认
-        if(warehouseVO.getFlgDefault()){
+        if(warehouseVO.getFlgDefault() != null ){
             //默认  把其他置为非默认
             warehouseMapper.updateFlgDefault(authUtils.getStaff().getCpId());
         }

+ 15 - 0
src/main/java/com/dk/mdm/service/report/ReportService.java

@@ -493,4 +493,19 @@ public class ReportService {
     }
 
 
+    /**
+     * @desc   : 销售简报
+     * @date   : 2024/5/6 8:43
+     * @author : 寇珊珊
+     */
+    public ResponseResultVO<Map<String,Object>> getReportBatch(Map<String,Map<String,Object>> param){
+        Map<String,Object> result = new HashMap<>();
+        for(String key : param.keySet()){
+            JSONObject valueObj =  JSONObject.parseObject(reportMapper.getReportBatch(param.get(key)).get("report").getValue());
+            result.put(key,valueObj);
+        }
+        return ResponseResultUtil.success(result);
+    }
+
+
 }