备忘:一个ibatis项目应用的重要sql-mapping.xml部分代码

来源:互联网 发布:公司网络dns被劫持 编辑:程序博客网 时间:2024/06/10 09:50

备忘:一个ibatis应用的重要sql-mapping.xml部分代码

 

总共有一万多行

 

代码如下(注释已被本人删除):

 

  1. <?
  2. xml version="1.0" encoding="utf-8" ?>
  3. <sqlMap namespace="dp5"             xmlns="http://ibatis.apache.org/mapping"            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4.   <cacheModels>
  5.     <!-- 需要SqlMap.config配置 cacheModelsEnabled-->
  6.     <cacheModel id="db-base-cache" implementation="LRU" readOnly="true" serialize="false">
  7.       <flushInterval hours="24"/>
  8.       <!--<flushOnExecute  statement="insertProduct"/>-->
  9.       <property name="Type" value="STRONG"/>
  10.       <property name="CacheSize" value="10000"/>
  11.     </cacheModel>
  12.   </cacheModels>
  13.   <alias>
  14.     <typeAlias alias="MenuDTOAlias" type="DPSystem5Biz.DTO.MenuDTO, DPSystem5Biz" />
  15.     <typeAlias alias="DP5UserDTOAlias" type="DPSystem5Biz.DTO.DP5UserDTO, DPSystem5Biz" />
  16.     <typeAlias alias="RoleDTOAlias" type="DPSystem5Biz.DTO.RoleDTO, DPSystem5Biz" />
  17.     <typeAlias alias="SmsInBasicDTOAlias" type="DPSystem5Biz.DTO.SmsInBasicDTO, DPSystem5Biz" />
  18.     <typeAlias alias="ProvinceDTOAlias" type="DPSystem5Biz.DTO.ProvinceDTO, DPSystem5Biz" />
  19.     <typeAlias alias="CityDTOAlias" type="DPSystem5Biz.DTO.CityDTO, DPSystem5Biz" />
  20.     <typeAlias alias="FilialeStoreDTOAlias" type="DPSystem5Biz.DTO.FilialeStoreDTO, DPSystem5Biz" />
  21.     <typeAlias alias="BaseDataDTOAlias" type="DPSystem5Biz.DTO.BaseDataDTO, DPSystem5Biz" />
  22.     <typeAlias alias="BaseData2DTOAlias" type="DPSystem5Biz.DTO.BaseData2DTO, DPSystem5Biz" />
  23.     <typeAlias alias="MemberDTOAlias" type="DPSystem5Biz.DTO.MemberDTO, DPSystem5Biz" />
  24.     <typeAlias alias="ProductCodingDTOAlias" type="DPSystem5Biz.DTO.ProductCodingDTO, DPSystem5Biz" />
  25.     <typeAlias alias="ProductDTOAlias" type="DPSystem5Biz.DTO.ProductDTO, DPSystem5Biz" />
  26.     <typeAlias alias="TaskDTOAlias" type="DPSystem5Biz.DTO.TaskDTO, DPSystem5Biz" />    
  27.     <typeAlias alias="DistributionEntryDTOAlias" type="DPSystem5Biz.DTO.DistributionEntryDTO, DPSystem5Biz" />
  28.     <typeAlias alias="PriceEntryDTOAlias" type="DPSystem5Biz.DTO.PriceEntryDTO, DPSystem5Biz" />
  29.     <typeAlias alias="SmsSurveyEntryDTOAlias" type="DPSystem5Biz.DTO.SmsSurveyEntryDTO, DPSystem5Biz" />
  30.     <typeAlias alias="SmsSurveyDTOAlias" type="DPSystem5Biz.DTO.SmsSurveyDTO, DPSystem5Biz" />
  31.     <typeAlias alias="RetailerDTOAlias" type="DPSystem5Biz.DTO.RetailerDTO, DPSystem5Biz" />
  32.     <typeAlias alias="VRetailerDTOAlias" type="DPSystem5Biz.DTO.VRetailerDTO, DPSystem5Biz" />
  33.     <typeAlias alias="StoreDTOAlias" type="DPSystem5Biz.DTO.StoreDTO, DPSystem5Biz" />
  34.     <typeAlias alias="AgentDTOAlias" type="DPSystem5Biz.DTO.AgentDTO, DPSystem5Biz" />
  35.     <typeAlias alias="FilialeDTOAlias" type="DPSystem5Biz.DTO.FilialeDTO, DPSystem5Biz" />
  36.     <typeAlias alias="StoreAppraisalDTOAlias" type="DPSystem5Biz.DTO.StoreAppraisalDTO, DPSystem5Biz" />
  37.     <typeAlias alias="AddressListDTOAlias" type="DPSystem5Biz.DTO.AddressListDTO, DPSystem5Biz" />
  38. .......
  39.     <resultMap id="VProductStockDTOMap" class="VProductStockDTOAlias">
  40.       <result property="PDId" column="PDId" />
  41.       <result property="Province" column="Province" />
  42.       <result property="City" column="City" />
  43.       <result property="StoreName" column="StoreName" />
  44.       <result property="Remark1" column="Remark1" />
  45.       <result property="RetailerName" column="RetailerName" />
  46.       <result property="FilialeName" column="FilialeName" />
  47.       <result property="AgentName" column="AgentName" />
  48.       <result property="Sku" column="Sku" />
  49.       <result property="Category" column="Category" />
  50.       <result property="Series" column="Series" />
  51.       <result property="Code" column="Code" />
  52.       <result property="Stock" column="Stock" />
  53.       <result property="RecvTime" column="RecvTime" />
  54.     </resultMap>
  55.     <resultMap id="VProductStock1DTOMap" class="VProductStock1DTOAlias">
  56.       <result property="PDId" column="PDId" />
  57.       <result property="Province" column="Province" />
  58.       <result property="City" column="City" />
  59.       <result property="StoreName" column="StoreName" />
  60.       <result property="Remark1" column="Remark1" />
  61.       <result property="RetailerName" column="RetailerName" />
  62.       <result property="Sku" column="Sku" />
  63.       <result property="Category" column="Category" />
  64.       <result property="Series" column="Series" />
  65.       <result property="Code" column="Code" />
  66.       <result property="Stock" column="Stock" />
  67.       <result property="RecvTime" column="RecvTime" />
  68.     </resultMap>
  69.     <resultMap id="SurveyStatusMap" class="BaseDataDTOAlias">
  70.       <result property="Code" column="Id" />
  71.       <result property="Description" column="Remark" />
  72.     </resultMap>
  73.     <resultMap id="SmsChannelMap" class="BaseDataDTOAlias">
  74.       <result property="Code" column="Id" />
  75.       <result property="Description" column="Remark" />
  76.     </resultMap>
  77.     <resultMap id="TaskProcFlagMap" class="BaseDataDTOAlias">
  78.       <result property="Code" column="Id" />
  79.       <result property="Description" column="Remark" />
  80.     </resultMap>
  81.     <resultMap id="RetailerLevelMap" class="BaseDataDTOAlias">
  82.       <result property="Code" column="Id" />
  83.       <result property="Description" column="Remark" />
  84.     </resultMap>
  85.     
  86.     <resultMap id="StoreLevelMap" class="BaseDataDTOAlias">
  87.       <result property="Code" column="Id" />
  88.       <result property="Description" column="Remark" />
  89.     </resultMap>
  90.     <resultMap id="BusinessScopeMap" class="BaseDataDTOAlias">
  91.       <result property="Code" column="Id" />
  92.       <result property="Description" column="Remark" />
  93.     </resultMap>
  94.     <resultMap id="SupplyChannelMap" class="BaseDataDTOAlias">
  95.       <result property="Code" column="Id" />
  96.       <result property="Description" column="Remark" />
  97.     </resultMap>
  98.     <resultMap id="StoreStatusMap" class="BaseDataDTOAlias">
  99.       <result property="Code" column="Id" />
  100.       <result property="Description" column="Remark" />
  101.     </resultMap>
  102.     <resultMap id="MemberStatusMap" class="BaseDataDTOAlias">
  103.       <result property="Code" column="Id" />
  104.       <result property="Description" column="Remark" />
  105.     </resultMap>
  106.     <resultMap id="EducationMap" class="BaseDataDTOAlias">
  107.       <result property="Code" column="Id" />
  108.       <result property="Description" column="Remark" />
  109.     </resultMap>
  110.     <resultMap id="SexMap" class="BaseDataDTOAlias">
  111.       <result property="Code" column="Id" />
  112.       <result property="Description" column="Remark" />
  113.     </resultMap>
  114. ......
  115.     <resultMap id="ProductDTOMap" class="ProductDTOAlias">
  116.       <result property="SkuId" column="SkuId" />
  117.       <result property="Sku" column="Sku" />
  118.       <result property="Point" column="Point" />
  119.       <result property="Length" column="Length" />
  120.       <result property="Category" column="Category" />
  121.       <result property="Series" column="Series" />
  122.       <result property="FactoryPrice" column="FactoryPrice" />
  123.       <result property="RetailPrice" column="RetailPrice" />
  124.       <result property="Remark1" column="Remark1" />
  125.       <result property="Remark2" column="Remark2" />
  126.       <result property="Remark3" column="Remark3" />
  127.       <result property="JoinTime" column="JoinTime" />
  128.       <result property="Opr" column="Operator" />
  129.     </resultMap>
  130.     <resultMap id="DP5UserDTOMap" class="DP5UserDTOAlias">
  131.       <result property="UserName" column="UserName" />
  132.       <result property="RealName" column="RealName" />
  133.       <result property="Mobile" column="Mobile" />
  134.       <result property="Password" column="Password" />
  135.       <result property="Corp.CorpId" column="CorpId" />
  136.       <result property="Corp.CorpName" column="CorpName" />
  137.       <result property="Corp.SmsType.Code" column ="SmsTypeId" />
  138.       <result property="Role.RoleId" column="RoleId" />
  139.       <result property="Enabled" column="Enabled" />
  140.       <result property="Remark" column="Remark" />
  141.       <result property="JoinTime" column="JoinTime" />
  142.       <result property="RegionId" column="RegionId" />
  143.     </resultMap>
  144.     <resultMap id="RegionUserDTOMap" class="DP5UserDTOAlias">
  145.       <result property="UserName" column="UserName" />
  146.       <result property="RealName" column="RealName" />
  147.       <result property="Mobile" column="Mobile" />
  148.       <result property="Password" column="Password" />
  149.       <result property="Corp.CorpId" column="CorpId" />
  150.       <result property="Corp.CorpName" column="CorpName" />
  151.       <result property="Corp.SmsType.Code" column ="SmsTypeId" />
  152.       <result property="Role.RoleId" column="RoleId" />
  153.       <result property="Enabled" column="Enabled" />
  154.       <result property="Remark" column="Remark" />
  155.       <result property="Level.Code" column="LevelId" />
  156.       <result property="RegionId" column="RegionId" />
  157.     </resultMap>
  158.     <resultMap id="CorpAccountsMap" class="DP5UserDTOAlias">
  159.       <result property="UserName" column="UserName" />
  160.       <result property="RealName" column="RealName" />
  161.       <result property="Mobile" column="Mobile" />
  162.       <result property="Enabled" column="Enabled" />
  163.       <result property="Remark" column="Remark" />
  164.       <result property="JoinTime" column="JoinTime" />
  165.     </resultMap>
  166.     <resultMap id="RoleDTOMap" class="RoleDTOAlias">
  167.       <result property="RoleId" column="RoleId" />
  168.       <result property="RoleName" column="RoleName" />
  169.       <result property="RoleType.Code" column="RoleTypeId" />
  170.       <result property="Remark" column="Remark" />
  171.     </resultMap>
  172. ...........
  173.  <select id="selectShopAssistantInfo1" resultClass="VShopAssistantInfoDTOAlias"  parameterClass="DictionaryAlias" >
  174.       select
  175.       a.Mobile,
  176.       c.UserName,
  177.       b.Remark as Status,
  178.       a.Remark1 as PromotorRemark1,
  179.       f.District as Province,
  180.       e.District as City,
  181.       d.StoreName,
  182.       g.Remark1,
  183.       j.RetailerName,
  184.       <!--
  185.       v.RegionName as Region,
  186.       h.FilialeName,
  187.       i.AgentName,
  188.       -->
  189.       a.AuditTime,
  190.       (select convert(varchar(50),sum(Distribution)) from DP_DistributionEntries where Mobile=a.Mobile and CorpId=a.CorpId
  191.       <![CDATA[
  192.    and RecvTime>=DATEADD(wk,DATEDIFF(wk,0,getdate()),0) 
  193.    and RecvTime<getdate()
  194.     ]]> ) as [WeekSales],
  195.       (select convert(varchar(50),sum(Distribution)) from DP_DistributionEntries where Mobile=a.Mobile and CorpId=a.CorpId
  196.       <![CDATA[
  197.    and RecvTime>=DATEADD(mm,DATEDIFF(mm,0,getdate()),0) 
  198.    and RecvTime<getdate()
  199.    ]]> ) as [MonthSales],
  200.       (select convert(varchar(50),sum(Distribution)) from DP_DistributionEntries where Mobile=a.Mobile and CorpId=a.CorpId) as [TotalSales]
  201.       from DP_Members a
  202.       left outer join DP_MemberStore k on k.Mobile=a.Mobile and k.CorpId=a.CorpId and k.SmsTypeId=a.SmsTypeId
  203.       left outer join DP_MemberStatus_TBL b on b.Id=a.Status
  204.       left outer join DP_Mobiles c on c.Mobile=a.Mobile
  205.       left outer join DP_Stores d on d.StoreId=k.StoreId
  206.       left outer join DP_Cities e on e.Id=d.CityId
  207.       left outer join DP_Cities f on f.Id=e.ParentId
  208.       left outer join DP_StoreAppraisal g on g.StoreId=k.StoreId and g.CorpId=a.CorpId
  209.       left outer join DP_Retailers j on j.RetailerId=d.RetailerId
  210.       <!--
  211.       left outer join DP_Filiales h on h.FilialeId=g.FilialeId and h.CorpId=a.CorpId
  212.       left outer join DP_Agents i on i.AgentId=g.AgentId and i.CorpId=a.CorpId
  213.       left outer join DP_Regions v on v.CorpId=a.CorpId and v.RegionId=h.RegionId
  214.       -->      
  215.       where a.CorpId=#corpId#
  216.       <dynamic >
  217.         <isNotEmpty property="mobile" prepend="and">
  218.           a.Mobile like #mobile#
  219.         </isNotEmpty>
  220.         <isNotEmpty property="userName" prepend="and">
  221.           c.UserName like #userName#
  222.         </isNotEmpty>
  223.         <isNotEmpty property="status" prepend="and">
  224.           b.Id = #status#
  225.         </isNotEmpty>
  226.         <isNotEmpty property="promotorRemark1" prepend="and">
  227.           a.Remark1 like #promotorRemark1#
  228.         </isNotEmpty>
  229.         <isNotEmpty property="province" prepend="and">
  230.           f.Id in ($province$)
  231.         </isNotEmpty>
  232.         <isNotEmpty property="city" prepend="and">
  233.           e.Id in ($city$)
  234.         </isNotEmpty>
  235.         <isNotEmpty property="storeName" prepend="and">
  236.           e.StoreName like #storeName#
  237.         </isNotEmpty>
  238.         <isNotEmpty property="remark1" prepend="and">
  239.           g.Remark1 like #remark1#
  240.         </isNotEmpty>
  241.         <isNotEmpty  property="cBegin" prepend="and">
  242.           <![CDATA[
  243.               a.AuditTime >= #cBegin#
  244.         ]]>
  245.         </isNotEmpty>
  246.         <isNotEmpty  property="cEnd" prepend="and">
  247.           <![CDATA[
  248.               a.AuditTime < #cEnd#
  249.         ]]>
  250.         </isNotEmpty>
  251.       </dynamic >
  252.       order by a.Status desc
  253.     </select>
  254.     <select id="selectShopAssistantInfo2" resultClass="VShopAssistantInfoDTOAlias"  parameterClass="DictionaryAlias" >
  255.       select
  256.       a.Mobile,
  257.       c.UserName,
  258.       b.Remark as Status,
  259.       a.Remark1 as PromotorRemark1,
  260.       f.District as Province,
  261.       e.District as City,
  262.       d.StoreName,
  263.       g.Remark1,
  264.       j.RetailerName,
  265.       <!--
  266.       v.RegionName as Region,
  267.       h.FilialeName,
  268.       i.AgentName,
  269.       -->
  270.       a.AuditTime,
  271.       (select convert(varchar(50),sum(Distribution)) from DP_DistributionEntries where Mobile=a.Mobile and CorpId=a.CorpId
  272.       <![CDATA[
  273.    and RecvTime>=DATEADD(wk,DATEDIFF(wk,0,getdate()),0) 
  274.    and RecvTime<getdate()
  275.     ]]> ) as [WeekSales],
  276.       (select convert(varchar(50),sum(Distribution)) from DP_DistributionEntries where Mobile=a.Mobile and CorpId=a.CorpId
  277.       <![CDATA[
  278.    and RecvTime>=DATEADD(mm,DATEDIFF(mm,0,getdate()),0) 
  279.    and RecvTime<getdate()
  280.    ]]> ) as [MonthSales],
  281.       (select convert(varchar(50),sum(Distribution)) from DP_DistributionEntries where Mobile=a.Mobile and CorpId=a.CorpId) as [TotalSales]
  282.       from DP_Members a
  283.       left outer join DP_MemberStore k on k.Mobile=a.Mobile and k.CorpId=a.CorpId and k.SmsTypeId=a.SmsTypeId
  284.       left outer join DP_MemberStatus_TBL b on b.Id=a.Status
  285.       left outer join DP_Mobiles c on c.Mobile=a.Mobile
  286.       left outer join DP_Stores d on d.StoreId=k.StoreId
  287.       left outer join DP_Cities e on e.Id=d.CityId
  288.       left outer join DP_Cities f on f.Id=e.ParentId
  289.       left outer join DP_StoreAppraisal g on g.StoreId=k.StoreId and g.CorpId=a.CorpId
  290.       left outer join DP_Retailers j on j.RetailerId=d.RetailerId
  291.       <!--
  292.       left outer join DP_Filiales h on h.FilialeId=g.FilialeId and h.CorpId=a.CorpId
  293.       left outer join DP_Agents i on i.AgentId=g.AgentId and i.CorpId=a.CorpId
  294.       left outer join DP_Regions v on v.CorpId=a.CorpId and v.RegionId=h.RegionId
  295.       -->
  296.       where a.CorpId=#corpId#
  297.       <dynamic >
  298.         <isNotEmpty property="mobile" prepend="and">
  299.           a.Mobile like #mobile#
  300.         </isNotEmpty>
  301.         <isNotEmpty property="userName" prepend="and">
  302.           c.UserName like #userName#
  303.         </isNotEmpty>
  304.         <isNotEmpty property="status" prepend="and">
  305.           b.Id = #status#
  306.         </isNotEmpty>
  307.         <isNotEmpty property="promotorRemark1" prepend="and">
  308.           a.Remark1 like #promotorRemark1#
  309.         </isNotEmpty>
  310.         <isNotEmpty property="province" prepend="and">
  311.           f.Id in ($province$)
  312.         </isNotEmpty>
  313.         <isNotEmpty property="city" prepend="and">
  314.           e.Id in ($city$)
  315.         </isNotEmpty>
  316.         <isNotEmpty property="storeName" prepend="and">
  317.           e.StoreName like #storeName#
  318.         </isNotEmpty>
  319.         <isNotEmpty property="remark1" prepend="and">
  320.           g.Remark1 like #remark1#
  321.         </isNotEmpty>
  322.         <isNotEmpty  property="cBegin" prepend="and">
  323.           <![CDATA[
  324.               a.AuditTime >= #cBegin#
  325.         ]]>
  326.         </isNotEmpty>
  327.         <isNotEmpty  property="cEnd" prepend="and">
  328.           <![CDATA[
  329.               a.AuditTime < #cEnd#
  330.         ]]>
  331.         </isNotEmpty>
  332.         <isNotEmpty  property="rgId" prepend="and">
  333.           k.StoreId in
  334.           (
  335.           select StoreId
  336.           from V_RegionStore
  337.           where CorpId=#corpId#
  338.           and RegionId=#rgId#
  339.           and LevelId=#levelId#
  340.           )
  341.         </isNotEmpty>
  342.       </dynamic >      
  343.       order by a.Status desc
  344.     </select>
  345. .........
  346.   <select id="selectStoreAbnormalStock3" resultClass="VStoreAbnormalStockDTOAlias"  parameterClass="DictionaryAlias" >
  347.       SELECT
  348.       AA.StoreId,
  349.       AA.Province,
  350.       AA.City,
  351.       AA.StoreName,
  352.       AA.Remark1,
  353.       AA.RetailerName,
  354.       AA.Status,
  355.       AA.Address,
  356.       AA.RegionName AS Region,
  357.       AA.FilialeName,
  358.       AA.AgentName,
  359.       BB.DistributionCodes,
  360.       CC.StockOutsCodes,
  361.       AA.StockOutsCount
  362.       FROM
  363.       (
  364.       SELECT     d.StoreId, f.District AS Province, e.District AS City, d.StoreName, g.Remark1, l.RetailerName, k.Remark AS Status, d.Address, v.RegionName,h.FilialeName,
  365.       i.AgentName, COUNT(x.PDId) AS StockOutsCount
  366.       FROM          DP_StockEntries AS x LEFT OUTER JOIN
  367.       DP_StoreStock AS y ON y.PDId = x.PDId LEFT OUTER JOIN
  368.       DP_Mobiles AS b ON b.Mobile = x.Mobile LEFT OUTER JOIN
  369.       DP_Members AS c ON c.Mobile = x.Mobile AND c.CorpId = x.CorpId LEFT OUTER JOIN
  370.       DP_Stores AS d ON d.StoreId = y.StoreId LEFT OUTER JOIN
  371.       DP_Cities AS e ON e.ID = d.CityId LEFT OUTER JOIN
  372.       DP_Cities AS f ON f.ID = e.ParentId LEFT OUTER JOIN
  373.       DP_StoreAppraisal AS g ON g.StoreId = d.StoreId AND g.CorpId = x.CorpId LEFT OUTER JOIN
  374.       DP_Filiales AS h ON h.FilialeId = g.FilialeId LEFT OUTER JOIN
  375.       DP_Agents AS i ON i.AgentId = g.AgentId LEFT OUTER JOIN
  376.       DP_ProductCoding AS j ON j.Code = x.Code AND j.CorpId = x.CorpId LEFT OUTER JOIN
  377.       DP_StoreStatus_TBL AS k ON k.Id = g.Status LEFT OUTER JOIN
  378.       DP_Retailers AS l ON l.RetailerId = d.RetailerId LEFT OUTER JOIN
  379.       DP_Regions v ON v.RegionId=h.RegionId and v.CorpId=h.CorpId
  380.       where StoreName is not null
  381.       and x.CorpId=#corpId#
  382.       <dynamic >
  383.         <isNotEmpty property="storeName" prepend="and">
  384.           d.StoreName like #storeName#
  385.         </isNotEmpty>
  386.         <isNotEmpty property="retailerName" prepend="and">
  387.           l.RetailerName like #retailerName#
  388.         </isNotEmpty>
  389.         <isNotEmpty property="region" prepend="and">
  390.           v.RegionId = #region#
  391.         </isNotEmpty>
  392.         <isNotEmpty property="status" prepend="and">
  393.           g.Status = #status#
  394.         </isNotEmpty>
  395.         <isNotEmpty property="remark1" prepend="and">
  396.           g.Remark1 like #remark1#
  397.         </isNotEmpty>
  398.         <isNotEmpty property="province" prepend="and">
  399.           e.ParentId in ($province$)
  400.         </isNotEmpty>
  401.         <isNotEmpty property="city" prepend="and">
  402.           e.Id in ($city$)
  403.         </isNotEmpty>
  404.         <isNotEmpty property="filiale" prepend="and">
  405.           h.FilialeId = #filiale#
  406.         </isNotEmpty>
  407.         <isNotEmpty property="agentName" prepend="and">
  408.           i.AgentName like #agentName#
  409.         </isNotEmpty>
  410.         <isNotEmpty  property="rgId" prepend="and">
  411.           y.StoreId in
  412.           (
  413.           select StoreId
  414.           from V_RegionStore
  415.           where CorpId=#corpId#
  416.           and RegionId=#rgId#
  417.           and LevelId=#levelId#
  418.           )
  419.         </isNotEmpty>
  420.       </dynamic>
  421.       <dynamic >
  422.         <isNotEmpty  property="cBegin" prepend="and">
  423.           <![CDATA[
  424.                   x.RecvTime >= #cBegin#
  425.             ]]>
  426.         </isNotEmpty>
  427.         <isNotEmpty  property="cEnd" prepend="and">
  428.           <![CDATA[
  429.                   x.RecvTime <= #cEnd#
  430.             ]]>
  431.         </isNotEmpty>
  432.       </dynamic>
  433.       GROUP BY d.StoreId, f.District, e.District, d.StoreName, g.Remark1, l.RetailerName, k.Remark, d.Address, h.FilialeName, i.AgentName,v.RegionName)
  434.       AS AA LEFT OUTER JOIN
  435.       (SELECT     DP_StoreDistribution.StoreId, COUNT(DISTINCT DP_DistributionEntries.Code) AS DistributionCodes
  436.       FROM          DP_DistributionEntries,DP_StoreDistribution
  437.       WHERE   DP_DistributionEntries.PDId = DP_StoreDistribution.PDId
  438.       <dynamic >
  439.         <isNotEmpty  property="cBegin" prepend="and">
  440.           <![CDATA[
  441.                 DP_DistributionEntries.RecvTime >= DATEADD(day,-30,#cEnd#)
  442.           ]]>
  443.         </isNotEmpty>
  444.         <isNotEmpty  property="cEnd" prepend="and">
  445.           <![CDATA[
  446.                 DP_DistributionEntries.RecvTime <= #cEnd#
  447.           ]]>
  448.         </isNotEmpty>
  449.       </dynamic>
  450.       GROUP BY DP_StoreDistribution.StoreId) AS BB ON AA.StoreId = BB.StoreId LEFT OUTER JOIN
  451.       (SELECT     DP_StoreStock.StoreId, COUNT(DISTINCT DP_StockEntries.Code) AS StockOutsCodes
  452.       FROM          DP_StockEntries,DP_StoreStock
  453.       WHERE   DP_StockEntries.PDId = DP_StoreStock.PDId
  454.       <dynamic >
  455.         <isNotEmpty  property="cBegin" prepend="and">
  456.           <![CDATA[
  457.                 DP_StockEntries.RecvTime >= #cBegin#
  458.           ]]>
  459.         </isNotEmpty>
  460.         <isNotEmpty  property="cEnd" prepend="and">
  461.           <![CDATA[
  462.                 DP_StockEntries.RecvTime <= #cEnd#
  463.           ]]>
  464.         </isNotEmpty>
  465.       </dynamic>
  466.       GROUP BY DP_StoreStock.StoreId) AS CC ON AA.StoreId = CC.StoreId
  467.     </select>
  468. .......
原创粉丝点击