对比新文件 |
| | |
| | | <?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" > |
| | | <mapper namespace="com.gk.firework.Mapper.DeliveryDetailInfoMapper" > |
| | | <resultMap id="BaseResultMap" type="com.gk.firework.Domain.DeliveryDetailInfo" > |
| | | <!-- --> |
| | | <id column="id" property="id" jdbcType="BIGINT" /> |
| | | <result column="deliverycode" property="deliverycode" jdbcType="VARCHAR" /> |
| | | <result column="itemcode" property="itemcode" jdbcType="VARCHAR" /> |
| | | <result column="itemname" property="itemname" jdbcType="VARCHAR" /> |
| | | <result column="directioncode" property="directioncode" jdbcType="VARCHAR" /> |
| | | <result column="createat" property="createat" jdbcType="TIMESTAMP" /> |
| | | <result column="createby" property="createby" jdbcType="VARCHAR" /> |
| | | <result column="num" property="num" jdbcType="INTEGER" /> |
| | | </resultMap> |
| | | <sql id="Base_Column_List" > |
| | | <!-- --> |
| | | id, deliverycode, itemcode, itemname, directioncode, createat, createby, num |
| | | </sql> |
| | | <select id="selectDetailPage" resultType="java.util.Map"> |
| | | select |
| | | dd.id, |
| | | dd.itemcode, |
| | | dd.itemname, |
| | | dd.directioncode, |
| | | case length(dd.directioncode) when 19 then concat(dd.num,"挂") else concat(dd.num,"挂/箱") end num, |
| | | product.type, |
| | | product.level, |
| | | product.explosivecontent, |
| | | product.specification, |
| | | product.type, |
| | | product.level, |
| | | product.boxnumber, |
| | | product.explosivecontent, |
| | | product.specification |
| | | from deliverydetail as dd |
| | | left join product as product on product.directioncode = dd.itemcode and product.isdel = 0 |
| | | where dd.deliverycode = #{params.code} |
| | | <if test="params.starttime != null and params.starttime != ''"> |
| | | and dd.createat >= #{params.starttime} |
| | | </if> |
| | | <if test="params.endtime != null and params.endtime != ''"> |
| | | and dd.createat <= #{params.endtime} |
| | | </if> |
| | | order by dd.createat |
| | | </select> |
| | | <select id="selectDetailExport" resultType="java.util.Map"> |
| | | select |
| | | deliveryorder.ordercode, |
| | | deliveryorder.shop, |
| | | deliveryorder.transportcert, |
| | | dd.id, |
| | | dd.directioncode, |
| | | dd.itemcode, |
| | | dd.itemname, |
| | | case length(dd.directioncode) when 19 then concat(dd.num,"件") else concat(dd.num,"件/箱") end num, |
| | | product.type, |
| | | product.level, |
| | | product.explosivecontent, |
| | | product.specification |
| | | from deliverydetail as dd |
| | | left join deliveryorder as deliveryorder on deliveryorder.ordercode = dd.deliverycode |
| | | left join product as product on product.directioncode = dd.itemcode and product.isdel = 0 |
| | | where dd.deliverycode = #{code} |
| | | order by dd.createat |
| | | </select> |
| | | <select id="selectEnterpriseDeliveryNumber" resultType="java.math.BigDecimal"> |
| | | SELECT |
| | | IFNULL(SUM( deliverynum ),0) |
| | | FROM |
| | | ( |
| | | SELECT |
| | | SUM( dd.num )/ p.boxnumber AS deliverynum |
| | | FROM |
| | | deliverydetail AS dd |
| | | LEFT JOIN deliveryorder AS do ON do.`ordercode` = dd.deliverycode |
| | | LEFT JOIN product AS p ON p.directioncode = dd.itemcode and p.isdel = 0 |
| | | <where> |
| | | do.companynumber = #{enterprisenumber} |
| | | <if test="starttime != null and starttime != ''"> |
| | | and do.createat >= #{starttime} |
| | | </if> |
| | | <if test="endtime != null and endtime != ''"> |
| | | and do.createat <= #{endtime} |
| | | </if> |
| | | </where> |
| | | GROUP BY |
| | | dd.itemcode |
| | | ) temp |
| | | |
| | | </select> |
| | | <select id="selectEnterpriseTypeDelivery" resultType="java.util.Map"> |
| | | |
| | | select |
| | | alldata.*, |
| | | round( |
| | | <trim suffixOverrides="+"> |
| | | <foreach collection="list" item="item" index="index"> |
| | | alldata.num_${item} + |
| | | </foreach> |
| | | </trim> |
| | | ,2) totalcol |
| | | |
| | | from ( |
| | | |
| | | select |
| | | tmptmptmp.city name, |
| | | tmptmptmp.enterprisename |
| | | <foreach collection="list" item="item" index="index"> |
| | | ,MAX( |
| | | CASE tmptmptmp.type |
| | | WHEN #{item} THEN |
| | | round(tmptmptmp.num,2) |
| | | ELSE |
| | | 0 |
| | | END |
| | | ) num_${item} |
| | | </foreach> |
| | | |
| | | from ( |
| | | |
| | | select |
| | | tmptmp.city,tmptmp.enterprisename,tmptmp.type,sum(tmptmp.num) num |
| | | from |
| | | ( |
| | | SELECT |
| | | e.city,e.enterprisename,do.companynumber,p.type,sum( dd.num ) /p. |
| | | boxnumber num |
| | | FROM |
| | | deliverydetail AS dd |
| | | LEFT JOIN |
| | | deliveryorder AS do ON do.`ordercode` = dd.deliverycode |
| | | LEFT JOIN product AS p ON p.directioncode = dd.itemcode |
| | | LEFT JOIN |
| | | enterprise AS e ON do.companynumber = e.enterprisenumber |
| | | where |
| | | e. |
| | | enterprisestatus = 'ON' |
| | | and p.isdel = 0 |
| | | and e.validflag = 1 |
| | | <if test="params.starttime != null and params.starttime != ''"> |
| | | and do.createat >= #{params.starttime} |
| | | </if> |
| | | <if test="params.endtime != null and params.endtime != ''"> |
| | | and do.createat < #{params.endtime} |
| | | </if> |
| | | <if test="params.safetysupervision != null and params.safetysupervision != ''"> |
| | | and e.safetysupervision = #{params.safetysupervision } |
| | | </if> |
| | | <if test="params.enterprisename != null and params.enterprisename != ''"> |
| | | and e.enterprisename like concat("%",#{params.enterprisename },"%") |
| | | </if> |
| | | <if test="params.province != null and params.province != ''"> |
| | | and e.province = #{params.province } |
| | | </if> |
| | | <if test="params.city != null and params.city != ''"> |
| | | and e.city = #{params.city } |
| | | </if> |
| | | <if test="params.district != null and params.district != ''"> |
| | | and e.district = #{params.district } |
| | | </if> |
| | | GROUP BY |
| | | do.companynumber,dd.itemcode |
| | | |
| | | ) as tmptmp |
| | | group by tmptmp.companynumber,tmptmp.type |
| | | |
| | | |
| | | |
| | | ) as tmptmptmp |
| | | group by tmptmptmp.enterprisename) |
| | | |
| | | as alldata |
| | | |
| | | |
| | | </select> |
| | | <select id="selectAllType" resultType="java.util.Map"> |
| | | select |
| | | lasttmp.* |
| | | , |
| | | round( |
| | | <trim suffixOverrides="+"> |
| | | <foreach collection="list" item="item" index="index"> |
| | | ifnull(lasttmp.num_${item},0) + |
| | | </foreach> |
| | | </trim> |
| | | ,2) totalcol |
| | | from ( |
| | | select |
| | | '合计' name |
| | | <foreach collection="list" item="item" index="index"> |
| | | ,MAX( |
| | | CASE tmptmptmp.type |
| | | WHEN #{item} THEN |
| | | round(tmptmptmp.num,2) |
| | | ELSE |
| | | 0 |
| | | END |
| | | ) num_${item} |
| | | </foreach> |
| | | from ( |
| | | |
| | | |
| | | select |
| | | tmptmp.type,sum(tmptmp.num) num |
| | | from |
| | | ( |
| | | SELECT |
| | | e.city,do.companynumber,p.type,sum(dd.num) /p. |
| | | boxnumber num |
| | | FROM |
| | | deliverydetail AS dd |
| | | LEFT JOIN |
| | | deliveryorder AS do ON do.`ordercode` = dd.deliverycode |
| | | LEFT JOIN product AS p ON p.directioncode = dd.itemcode |
| | | LEFT JOIN |
| | | enterprise AS e ON do.companynumber = e.enterprisenumber |
| | | where |
| | | e. |
| | | enterprisestatus = 'ON' |
| | | and p.isdel = 0 |
| | | and e.validflag = 1 |
| | | <if test="params.starttime != null and params.starttime != ''"> |
| | | and do.createat >= #{params.starttime} |
| | | </if> |
| | | <if test="params.endtime != null and params.endtime != ''"> |
| | | and do.createat < #{params.endtime} |
| | | </if> |
| | | <if test="params.province != null and params.province != ''"> |
| | | and e.province = #{params.province } |
| | | </if> |
| | | <if test="params.safetysupervision != null and params.safetysupervision != ''"> |
| | | and e.safetysupervision = #{params.safetysupervision } |
| | | </if> |
| | | <if test="params.enterprisename != null and params.enterprisename != ''"> |
| | | and e.enterprisename like concat("%",#{params.enterprisename },"%") |
| | | </if> |
| | | <if test="params.province != null and params.province != ''"> |
| | | and e.province = #{params.province } |
| | | </if> |
| | | <if test="params.city != null and params.city != ''"> |
| | | and e.city = #{params.city } |
| | | </if> |
| | | <if test="params.district != null and params.district != ''"> |
| | | and e.district = #{params.district } |
| | | </if> |
| | | GROUP BY |
| | | do.companynumber,dd.itemcode |
| | | |
| | | ) as tmptmp |
| | | group by tmptmp.type |
| | | |
| | | |
| | | ) as tmptmptmp |
| | | ) as lasttmp |
| | | |
| | | </select> |
| | | <select id="selectCityTypeDelivery" resultType="java.util.Map"> |
| | | select |
| | | citys.name |
| | | <foreach collection="list" item="item" index="index"> |
| | | ,round(ifnull(num_${item},0),2) num_${item} |
| | | </foreach>, |
| | | ifnull(round( |
| | | <trim suffixOverrides="+"> |
| | | <foreach collection="list" item="item" index="index"> |
| | | alldata.num_${item} + |
| | | </foreach> |
| | | </trim> |
| | | ,2),0) totalcol |
| | | from ( |
| | | select district.name |
| | | from district |
| | | where parentcode =( |
| | | select district.code |
| | | from district as district |
| | | where district.name = #{params.province} |
| | | and type = 1) |
| | | and type =2 |
| | | ) as citys |
| | | |
| | | left join ( |
| | | select |
| | | tmptmptmp.city |
| | | <foreach collection="list" item="item" index="index"> |
| | | ,MAX( |
| | | CASE tmptmptmp.type |
| | | WHEN #{item} THEN |
| | | tmptmptmp.num |
| | | ELSE |
| | | 0 |
| | | END |
| | | ) num_${item} |
| | | </foreach> |
| | | |
| | | from ( |
| | | |
| | | select |
| | | tmptmp.city,tmptmp.type,sum(tmptmp.num) num |
| | | from |
| | | ( |
| | | SELECT |
| | | e.city,do.companynumber,p.type,sum(dd.num) /p. |
| | | boxnumber num |
| | | FROM |
| | | deliverydetail AS dd |
| | | LEFT JOIN |
| | | deliveryorder AS do ON do.`ordercode` = dd.deliverycode |
| | | LEFT JOIN product AS p ON p.directioncode = dd.itemcode |
| | | LEFT JOIN |
| | | enterprise AS e ON do.companynumber = e.enterprisenumber |
| | | where |
| | | e. |
| | | enterprisestatus = 'ON' |
| | | and p.isdel = 0 |
| | | and e.validflag = 1 |
| | | <if test="params.starttime != null and params.starttime != ''"> |
| | | and do.createat >= #{params.starttime} |
| | | </if> |
| | | <if test="params.endtime != null and params.endtime != ''"> |
| | | and do.createat < #{params.endtime} |
| | | </if> |
| | | <if test="params.province != null and params.province != ''"> |
| | | and e.province = #{params.province } |
| | | </if> |
| | | <if test="params.safetysupervision != null and params.safetysupervision != ''"> |
| | | and e.safetysupervision = #{params.safetysupervision } |
| | | </if> |
| | | <if test="params.enterprisename != null and params.enterprisename != ''"> |
| | | and e.enterprisename like concat("%",#{params.enterprisename },"%") |
| | | </if> |
| | | GROUP BY |
| | | do.companynumber,dd.itemcode |
| | | |
| | | ) as tmptmp |
| | | group by tmptmp.city,tmptmp.type |
| | | ) as tmptmptmp |
| | | group by tmptmptmp.city |
| | | ) as alldata |
| | | on citys.name = alldata.city |
| | | </select> |
| | | |
| | | </mapper> |