Browse Source

在途商品统计的算法调整

master
lzh 2 years ago
parent
commit
beb4accefe
  1. 31
      yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageCountMapper.java
  2. 43
      yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageCountMapper.xml

31
yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageCountMapper.java

@ -63,10 +63,33 @@ public interface GdInstorageCountMapper extends BaseMapper<GdInstorageCount> {
* *
* @return * @return
*/ */
@Select("select name,1 as ee,convert(ifnull(billtotalprice,0),decimal(12,2)) billtotalprice , " + // @Select("select name,1 as ee,convert(ifnull(billtotalprice,0),decimal(12,2)) billtotalprice , " +
"CONVERT(IFNULL(prodvalue,0),DECIMAL(12,2)) prodvalue , " + // "CONVERT(IFNULL(prodvalue,0),DECIMAL(12,2)) prodvalue , " +
"CONVERT(IFNULL(wdhjz,0),DECIMAL(12,2)) wdhjz , " + // "CONVERT(IFNULL(wdhjz,0),DECIMAL(12,2)) wdhjz , " +
"CONVERT(IFNULL(cchjz,0),DECIMAL(12,2)) cchjz ,arrivaldate,sfyq from `hz_ztspglhzb`") // "CONVERT(IFNULL(cchjz,0),DECIMAL(12,2)) cchjz ,arrivaldate,sfyq from `hz_ztspglhzb`")
@Select("SELECT t.*, " +
" CONVERT(IF((t.billTotalPrice-t.prodValue)>0,t.billTotalPrice-t.prodValue,0),DECIMAL(12,2)) wdhjz, " +
" CONVERT(IF((t.prodValue-t.billTotalPrice)>0,t.prodValue-t.billTotalPrice,0),DECIMAL(12,2)) cchjz, " +
" IF((t.billTotalPrice-t.prodValue)>0,'是','否') sfyq " +
"FROM( " +
" SELECT " +
" MAX(sbi.codeUnified) codeUnified, " +
" MAX(sbi.name) name , " +
" 1 as ee, " +
" CONVERT(SUM(packageTotalPrice),DECIMAL(12,2)) billtotalprice, " +
" ( " +
" SELECT CONVERT(SUM(colq16),DECIMAL(12,2)) FROM gd_instorage gic LEFT JOIN `product_information` PI ON pi.code=gic.colh7 " +
" WHERE gic.supplierCodeUnified=pr.supplierOnlyCode " +
" AND pi.categoryKey IN(SELECT categoryKey FROM `restricted_category`) " +
" AND pi.brandsid IN(SELECT CODE FROM `restricted_brand`) " +
" ) prodvalue, " +
" MAX(pr.`arrivalDate`) arrivaldate " +
" FROM `supplier_bank_info` sbi " +
" LEFT JOIN `purchase_requisition` pr ON pr.supplierOnlyCode=sbi.codeUnified " +
" LEFT JOIN `purchase_requisition_pro` prp ON pr.sid=prp.mainsid " +
" WHERE pr.purchaseState=1 AND pr.bankState=1 AND sbi.`purchaseRequisition`=1 AND sbi.`bankState`=1 " +
" GROUP BY pr.supplierOnlyCode ORDER BY sbi.name " +
") t ")
List<Map<String, Object>> gysdhhzb(); List<Map<String, Object>> gysdhhzb();
/** /**

43
yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinstorage/GdInstorageCountMapper.xml

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.supervise.portal.biz.gdinstorage.GdInstorageCountMapper"> <mapper namespace="com.yxt.supervise.portal.biz.gdinstorage.GdInstorageCountMapper">
<select id="spdhmxb" resultType="java.util.Map"> <select id="spdhmxb111" resultType="java.util.Map">
SELECT name,proCode,proName, number , packageTotalPrice ptotalPrice, prodNum , prodValue , SELECT name,proCode,proName, number , packageTotalPrice ptotalPrice, prodNum , prodValue ,
number-prodNum ztnumber, number-prodNum ztnumber,
IF(( packageTotalPrice - prodValue )>0, packageTotalPrice - prodValue ,0) ztprodValue1, IF(( packageTotalPrice - prodValue )>0, packageTotalPrice - prodValue ,0) ztprodValue1,
@ -16,4 +16,45 @@
GROUP BY pr.supplierOnlyCode,prp.`proCode` ORDER BY sbi.name,prp.`proCode`) t GROUP BY pr.supplierOnlyCode,prp.`proCode` ORDER BY sbi.name,prp.`proCode`) t
</select> </select>
<select id="spdhmxb" resultType="java.util.Map">
SELECT
name,
proCode,
proName,
number ,
packageTotalPrice ptotalPrice,
prodNum ,
prodValue ,
number-prodNum ztnumber,
IF(( packageTotalPrice - prodValue )>0, packageTotalPrice - prodValue ,0) ztprodValue1,
IF(( prodValue - packageTotalPrice )>0, prodValue - packageTotalPrice ,0) ztprodValue2
FROM(
SELECT
sbi.name ,
prp.`proCode`,
prp.`proName`,
prp.`number`,
SUM(CONVERT(packageTotalPrice,DECIMAL(12,2))) packageTotalPrice,
(
SELECT CONVERT(IFNULL(SUM(colr17),0),DECIMAL(12,2)) FROM gd_instorage gic LEFT JOIN `product_information` pi ON pi.code=gic.colh7
WHERE gic.supplierCodeUnified=pr.supplierOnlyCode
AND prp.`proCode`=gic.colh7
AND pi.categoryKey IN(SELECT categoryKey FROM `restricted_category`)
AND pi.brandsid IN(SELECT CODE FROM `restricted_brand`)
) prodNum,
(
SELECT CONVERT(IFNULL(SUM(colq16),0),DECIMAL(12,2)) FROM gd_instorage gic LEFT JOIN `product_information` pi ON pi.code=gic.colh7
WHERE gic.supplierCodeUnified=pr.supplierOnlyCode
AND prp.`proCode`=gic.colh7
AND pi.categoryKey IN(SELECT categoryKey FROM `restricted_category`)
AND pi.brandsid IN(SELECT CODE FROM `restricted_brand`)
) prodValue
FROM `supplier_bank_info` sbi
LEFT JOIN `purchase_requisition` pr ON pr.supplierOnlyCode=sbi.codeUnified
LEFT JOIN `purchase_requisition_pro` prp ON pr.sid=prp.mainsid
WHERE pr.purchaseState=1 AND pr.bankState=1 AND sbi.`purchaseRequisition`=1 AND sbi.`bankState`=1
GROUP BY pr.supplierOnlyCode,prp.`proCode` ORDER BY sbi.name,prp.`proCode`
) t
</select>
</mapper> </mapper>
Loading…
Cancel
Save