zhangyuewww 3 years ago
parent
commit
0961f498b4

+ 184 - 15
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehouseBaseInfoMapper.xml

@@ -464,6 +464,7 @@
             AND (DATE_FORMAT(s.delivery_date,"%Y%m%d") <=
             AND (DATE_FORMAT(s.delivery_date,"%Y%m%d") <=
             DATE_FORMAT(#{endDate},"%Y%m%d"))
             DATE_FORMAT(#{endDate},"%Y%m%d"))
         </if>
         </if>
+        GROUP BY w.id
     </select>
     </select>
 
 
     <!-- 获得今日储量明细列表 -->
     <!-- 获得今日储量明细列表 -->
@@ -674,50 +675,107 @@
     </select>
     </select>
     <!--获得库点利润详情列表总数-->
     <!--获得库点利润详情列表总数-->
     <select id="getBaseCountByCondition" parameterType="Map" resultType="java.lang.Integer">
     <select id="getBaseCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        select
+        count(1)
+        from(
         SELECT
         SELECT
         COUNT(w.id)
         COUNT(w.id)
         FROM warehouse_base_info w
         FROM warehouse_base_info w
-        LEFT JOIN contract_expenses_info c on w.id = c.warehouse_id
-        LEFT JOIN cost_management_info cm on w.id = cm.warehouse_id
+        LEFT JOIN warehouse_in_out_info wioi ON wioi.base_id = w.id
+        AND wioi.delete_flag = 0
+        AND wioi.in_out_type = '收购入库'
+        AND wioi.status_flag = '3'
+        LEFT JOIN warehousing_order war ON war.warehouse_in_out_id = wioi.id
+        AND war.delete_flag = '0'
+        LEFT JOIN source_relation_info sri ON sri.source_id = war.id
+        AND sri.delete_flag = '0'
+        LEFT JOIN in_out_warehouse_task iowt ON iowt.id = sri.task_id
+        AND iowt.in_out_flag = 1
+        AND iowt.in_out_type_key = 1
+        AND iowt.delete_flag = '0'
+        LEFT JOIN warehouse_in_out_info wioi1 ON wioi1.in_out_task_no = iowt.in_out_task_no
+        AND wioi1.car_no = sri.car_no
+        AND wioi1.delete_flag = 0
+        AND wioi1.status_flag = 3
+        LEFT JOIN stock_sale_receipt_report ssrr ON ssrr.contract_no = iowt.contract_no
+        AND ssrr.warehouse_record_id = wioi1.id
+        AND ssrr.delete_flag = 0
+        LEFT JOIN expense_info ei ON ei.warehouse_id = w.id and ei.delete_flag = '0'
+        AND ei.expenses_type = '2'
+        AND ei.expenses_purpose = '3'
         WHERE
         WHERE
         w.comp_id = #{compId}
         w.comp_id = #{compId}
+        AND w.warehouse_type = '1'
         <if test="startDate != null">
         <if test="startDate != null">
-            AND (DATE_FORMAT(c.pay_deadline,"%Y%m%d") &gt;=
+            AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &gt;=
             DATE_FORMAT(#{startDate},"%Y%m%d"))
             DATE_FORMAT(#{startDate},"%Y%m%d"))
         </if>
         </if>
         <if test="endDate != null">
         <if test="endDate != null">
-            AND (DATE_FORMAT(c.pay_deadline,"%Y%m%d") &lt;=
+            AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &lt;=
             DATE_FORMAT(#{endDate},"%Y%m%d"))
             DATE_FORMAT(#{endDate},"%Y%m%d"))
         </if>
         </if>
         <if test="searchKeyWord != null and searchKeyWord != ''">
         <if test="searchKeyWord != null and searchKeyWord != ''">
-            AND (lower(w.warehouse_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            AND (lower(w.warehouse_name) like lower(CONCAT('%',#{searchKeyWord},'%')))
         </if>
         </if>
+        GROUP BY
+        w.id)t
     </select>
     </select>
     <!--库点利润详情列表查询-->
     <!--库点利润详情列表查询-->
     <select id="getBaseListByCondition" parameterType="Map"
     <select id="getBaseListByCondition" parameterType="Map"
             resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo">
             resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo">
         SELECT
         SELECT
         w.id,
         w.id,
-        w.comp_id as compId,
-        w.warehouse_name as warehouseName,
-        c.pay_deadline as payDeadline,
-        cm.cost
-        FROM warehouse_base_info w
-        LEFT JOIN contract_expenses_info c on w.id = c.warehouse_id
-        LEFT JOIN cost_management_info cm on w.id = cm.warehouse_id
+        w.comp_id AS compId,
+        CASE
+        WHEN w.delete_flag = '1' THEN
+        CONCAT( w.warehouse_name, '(已删)' ) ELSE w.warehouse_name
+        END AS warehouseName,
+        sum( wioi.net_weight ) AS acquisitionWeight,
+        sum( ssrr.settlement_weight ) AS saleWeight,
+        sum( ssrr.amount_ing_receivable ) AS salesVolume,
+        SUM(ei.amount_money) as cost
+        FROM
+        warehouse_base_info w
+        LEFT JOIN warehouse_in_out_info wioi ON wioi.base_id = w.id
+        AND wioi.delete_flag = 0
+        AND wioi.in_out_type = '收购入库'
+        AND wioi.status_flag = '3'
+        LEFT JOIN warehousing_order war ON war.warehouse_in_out_id = wioi.id
+        AND war.delete_flag = '0'
+        LEFT JOIN source_relation_info sri ON sri.source_id = war.id
+        AND sri.delete_flag = '0'
+        LEFT JOIN in_out_warehouse_task iowt ON iowt.id = sri.task_id
+        AND iowt.in_out_flag = 1
+        AND iowt.in_out_type_key = 1
+        AND iowt.delete_flag = '0'
+        LEFT JOIN warehouse_in_out_info wioi1 ON wioi1.in_out_task_no = iowt.in_out_task_no
+        AND wioi1.car_no = sri.car_no
+        AND wioi1.delete_flag = 0
+        AND wioi1.status_flag = 3
+        LEFT JOIN stock_sale_receipt_report ssrr ON ssrr.contract_no = iowt.contract_no
+        AND ssrr.warehouse_record_id = wioi1.id
+        AND ssrr.delete_flag = 0
+        LEFT JOIN expense_info ei ON ei.warehouse_id = w.id and ei.delete_flag = '0'
+        AND ei.expenses_type = '2'
+        AND ei.expenses_purpose = '3'
         WHERE
         WHERE
         w.comp_id = #{compId}
         w.comp_id = #{compId}
+        AND w.warehouse_type = '1'
         <if test="startDate != null">
         <if test="startDate != null">
-            AND (DATE_FORMAT(c.pay_deadline,"%Y%m%d") &gt;=
+            AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &gt;=
             DATE_FORMAT(#{startDate},"%Y%m%d"))
             DATE_FORMAT(#{startDate},"%Y%m%d"))
         </if>
         </if>
         <if test="endDate != null">
         <if test="endDate != null">
-            AND (DATE_FORMAT(c.pay_deadline,"%Y%m%d") &lt;=
+            AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &lt;=
             DATE_FORMAT(#{endDate},"%Y%m%d"))
             DATE_FORMAT(#{endDate},"%Y%m%d"))
         </if>
         </if>
         <if test="searchKeyWord != null and searchKeyWord != ''">
         <if test="searchKeyWord != null and searchKeyWord != ''">
-            AND (lower(w.warehouse_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            AND (lower(w.warehouse_name) like lower(CONCAT('%',#{searchKeyWord},'%')))
         </if>
         </if>
+        GROUP BY
+        w.id
+        ORDER BY
+        w.delete_flag
         <if test="currentPage != null and currentPage != ''">
         <if test="currentPage != null and currentPage != ''">
             LIMIT ${startRecord}, ${pageSize}
             LIMIT ${startRecord}, ${pageSize}
         </if>
         </if>
@@ -763,4 +821,115 @@
         GROUP BY
         GROUP BY
         wioi.goods_name;
         wioi.goods_name;
     </select>
     </select>
+    <!-- 库点利润表 -->
+    <select id="getWarehouseFormByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo">
+        SELECT
+            '收购重量' AS type,
+            sum( wioi.net_weight ) AS num
+        FROM
+            warehouse_in_out_info wioi
+                LEFT JOIN warehouse_base_info wbi ON wbi.id = wioi.base_id
+                AND wbi.delete_flag = 0
+        WHERE
+            wioi.in_out_type = '收购入库'
+            AND wioi.status_flag = '3'
+            AND wbi.comp_id =#{compId}
+            AND (DATE_FORMAT(wioi.in_out_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+            AND (DATE_FORMAT(wioi.in_out_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        UNION ALL
+        SELECT
+            '销售重量' AS type,
+            sum( ssrr.settlement_weight ) AS num
+        FROM
+            warehouse_in_out_info wioi
+                LEFT JOIN warehouse_base_info wbi ON wbi.id = wioi.base_id
+                AND wbi.delete_flag = 0
+                LEFT JOIN warehousing_order war ON war.warehouse_in_out_id = wioi.id
+                AND war.comp_id = wbi.comp_id
+                AND war.delete_flag = '0'
+                LEFT JOIN source_relation_info sri ON sri.source_id = war.id
+                AND sri.delete_flag = '0'
+                LEFT JOIN in_out_warehouse_task iowt ON iowt.id = sri.task_id
+                AND iowt.in_out_flag = 1
+                AND iowt.in_out_type_key = 1
+                AND iowt.delete_flag = '0'
+                LEFT JOIN warehouse_in_out_info wioi1 ON wioi1.in_out_task_no = iowt.in_out_task_no
+                AND wioi1.car_no = sri.car_no
+                AND wioi1.delete_flag = 0
+                AND wioi1.status_flag = 3
+                LEFT JOIN stock_sale_receipt_report ssrr ON ssrr.contract_no = iowt.contract_no
+                AND ssrr.warehouse_record_id = wioi1.id
+                AND ssrr.delete_flag = 0
+        WHERE
+            wioi.in_out_type = '收购入库'
+            AND wioi.status_flag = '3'
+            AND wbi.comp_id= #{compId}
+            AND (DATE_FORMAT(wioi.in_out_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+            AND (DATE_FORMAT(wioi.in_out_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        UNION ALL
+        SELECT
+            '支付粮款' AS type,
+            sum( ei.amount_money ) AS num
+        FROM
+            expense_info ei
+        WHERE
+            ei.delete_flag = '0'
+            AND ei.expenses_type = '2'
+            AND ei.expenses_purpose = '3'
+            AND ei.comp_id= #{compId}
+            AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+            AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        UNION ALL
+        SELECT
+            '收入粮款' AS type,
+            sum( ei.amount_money ) AS num
+        FROM
+            expense_info ei
+        WHERE
+            ei.delete_flag = '0'
+            AND ei.expenses_type = '1'
+            AND ei.expenses_purpose = '3'
+            AND ei.comp_id =#{compId}
+            AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+            AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        UNION ALL
+        SELECT
+            '其他支出' AS type,
+            sum( ei.amount_money ) AS num
+        FROM
+            expense_info ei
+        WHERE
+            ei.delete_flag = '0'
+            AND ei.expenses_type = '2'
+            AND ei.expenses_purpose != '3'
+            AND ei.comp_id =#{compId}
+            AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+            AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        UNION ALL
+        SELECT
+            '其他收入' AS type,
+            sum( ei.amount_money ) AS num
+        FROM
+            expense_info ei
+        WHERE
+            ei.delete_flag = '0'
+            AND ei.expenses_type = '1'
+            AND ei.expenses_purpose != '3'
+	        AND ei.comp_id =#{compId}
+            AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+            AND (DATE_FORMAT(ei.create_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+    </select>
 </mapper>
 </mapper>