|
@@ -80,56 +80,56 @@
|
|
|
</select>
|
|
|
|
|
|
<select id="remainingTodayPage" resultType="java.util.LinkedHashMap">
|
|
|
- SELECT
|
|
|
- m.ID materialId,
|
|
|
- mc.NAME categoryName,
|
|
|
- m.NAME materialName,
|
|
|
- m.CODE materialCode,
|
|
|
- m.Width materialWidth,
|
|
|
- sum( sd.Quantity ) sum,
|
|
|
- count( sd.Quantity ) count,
|
|
|
- sum(
|
|
|
- IF
|
|
|
- ( datediff( now(), sd.CreatedTime ) > m.DelayPeriod, sd.Quantity, 0 )) retentionQuantity,
|
|
|
- m.SafetyStock materialSafetyStock,
|
|
|
- IF
|
|
|
- (( a.CheckTagCount = a.TagQuantity ) AND ( a.CheckTagCount = a.HandTagCount ), 1, 0 ) inventoryResults,
|
|
|
- ifnull( a.CheckTagCount - a.TagQuantity, 0 ) correctionQuantity,
|
|
|
- a.CheckTime checkTime,
|
|
|
- uu.RealName OperUserName
|
|
|
- FROM
|
|
|
- material m
|
|
|
- LEFT JOIN stock_detail sd ON sd.MaterialCode = m.
|
|
|
- CODE LEFT JOIN (
|
|
|
- SELECT
|
|
|
- HandTagCount,
|
|
|
- TagQuantity,
|
|
|
- CheckTagCount,
|
|
|
- MaterialCode,
|
|
|
- CheckTime,
|
|
|
- RecordId
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- scd.HandTagCount,
|
|
|
- scd.TagQuantity,
|
|
|
- scd.CheckTagCount,
|
|
|
- scd.MaterialCode,
|
|
|
- scd.CheckTime,
|
|
|
- scd.RecordId,
|
|
|
- ROW_NUMBER() over ( PARTITION BY MaterialCode ORDER BY CheckTime DESC ) r_index
|
|
|
- FROM
|
|
|
- stock_checkrecorddetail scd
|
|
|
- WHERE
|
|
|
- CheckTime IS NOT NULL
|
|
|
- ) aaa
|
|
|
- WHERE
|
|
|
- r_index = 1
|
|
|
- ) a ON m.CODE = a.MaterialCode
|
|
|
- LEFT JOIN stock_checkrecord sc ON a.RecordId = sc.ID
|
|
|
- LEFT JOIN u_user uu ON uu.id = sc.OperUserId
|
|
|
- LEFT JOIN material_category mc ON mc.CODE = m.CategoryCode
|
|
|
- ${ew.customSqlSegment}
|
|
|
+ SELECT t.*,
|
|
|
+ t2.changeNum
|
|
|
+ FROM (
|
|
|
+ SELECT m.ID AS materialId,
|
|
|
+ mc.NAME AS categoryName,
|
|
|
+ m.NAME AS materialName,
|
|
|
+ m.CODE AS materialCode,
|
|
|
+ m.Width AS materialWidth,
|
|
|
+ sum(sd.Quantity) AS sum,
|
|
|
+ count(sd.Quantity) AS count,
|
|
|
+ m.SafetyStock AS materialSafetyStock,
|
|
|
+ IF(a.CheckTagCount = a.TagQuantity AND
|
|
|
+ a.CheckTagCount = a.HandTagCount, 1, 0) AS inventoryResults,
|
|
|
+ ifnull(a.CheckTagCount - a.TagQuantity, 0) AS correctionQuantity,
|
|
|
+ a.CheckTime AS checkTime,
|
|
|
+ uu.RealName AS OperUserName
|
|
|
+ FROM material m
|
|
|
+ LEFT JOIN stock_detail sd ON sd.MaterialCode = m.`code`
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT HandTagCount,
|
|
|
+ TagQuantity,
|
|
|
+ CheckTagCount,
|
|
|
+ MaterialCode,
|
|
|
+ CheckTime,
|
|
|
+ RecordId
|
|
|
+ FROM (SELECT scd.HandTagCount,
|
|
|
+ scd.TagQuantity,
|
|
|
+ scd.CheckTagCount,
|
|
|
+ scd.MaterialCode,
|
|
|
+ scd.CheckTime,
|
|
|
+ scd.RecordId,
|
|
|
+ row_number() over ( PARTITION BY MaterialCode ORDER BY CheckTime DESC ) AS r_index
|
|
|
+ FROM stock_checkrecorddetail scd
|
|
|
+ WHERE CheckTime IS NOT NULL) aaa
|
|
|
+ WHERE r_index = 1
|
|
|
+ ) a ON m.CODE = a.MaterialCode
|
|
|
+ LEFT JOIN stock_checkrecord sc ON a.RecordId = sc.ID
|
|
|
+ LEFT JOIN u_user uu ON uu.id = sc.OperUserId
|
|
|
+ LEFT JOIN material_category mc ON mc.CODE = m.CategoryCode
|
|
|
+ ${ew.customSqlSegment}
|
|
|
+ ) t
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT swd.materialCode,
|
|
|
+ sum(swd.ChangeNum) changeNum
|
|
|
+ FROM stock_waterdetial swd
|
|
|
+ WHERE datediff(now(), swd.CreatedTime) < 30
|
|
|
+ AND swd.StockChangeType IN (20, 23)
|
|
|
+ GROUP BY swd.MaterialCode
|
|
|
+ ) t2 on t2.materialCode = t.materialCode
|
|
|
+ order by t2.changeNum desc
|
|
|
</select>
|
|
|
|
|
|
<select id="selectMaterialHouse" resultType="java.util.Map">
|