AHT
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

401 lines
14 KiB

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.alteams.modules.shoporder.dao.OrderTimeHistDao">
  4. <update id="finishOrderTimeHist">
  5. UPDATE SFDC_TimeHist
  6. SET TillTime = #{tilltime}
  7. , TillEnteredTime = #{tillenteredtime}
  8. , TillEnteredBy = #{tillenteredby}
  9. , CompletedFlag = #{completedflag}
  10. , TotalTime = #{totaltime}
  11. , QtyPrd = #{qtyprd}
  12. , TillDevicecode = #{tilldevicecode}
  13. WHERE site = #{site}
  14. AND OrderNo = #{orderno}
  15. AND OrderRef1 = #{orderref1}
  16. AND OrderRef2 = #{orderref2}
  17. AND ItemNo = #{itemno}
  18. AND HistSeqNo = #{histseqno}
  19. </update>
  20. <select id="orderTimeHistList" resultType="com.alteams.modules.shoporder.entity.OrderTimeHistEntity">
  21. select sth.Site
  22. ,sth.OrderNo
  23. ,sth.ItemNo
  24. ,sth.SeqNo
  25. ,sth.HistSeqNo
  26. ,sth.EventTime
  27. ,sth.Enteredby
  28. ,sth.EventDesc
  29. ,sth.DowntimeCode
  30. ,sth.EventType
  31. ,sth.LinkHistSeqNo
  32. ,sth.TillTime
  33. ,sth.TillEnteredTime
  34. ,sth.TillEnteredBy
  35. ,sth.CompletedFlag
  36. ,sth.TotalTime
  37. ,sth.DowntimePhaseIn
  38. ,sth.OrderRef1
  39. ,sth.OrderRef2
  40. ,sth.WorkCenterNo
  41. ,sth.ResourceId
  42. ,sth.QtyPrd
  43. ,sth.devicecode
  44. ,sth.TillDevicecode
  45. ,sth.EventEnteredTime
  46. ,sth.PartDesc
  47. ,sth.OperationDescription
  48. ,su.user_display as user_name
  49. ,tsu.user_display as till_user_name
  50. from SFDC_TimeHist sth
  51. left join sys_user su on sth.site = su.site and su.username = sth.Enteredby
  52. left join sys_user tsu on sth.site = tsu.site and sth.TillEnteredBy = tsu.username
  53. <where>
  54. sth.site = #{site}
  55. <if test="orderno!=null and orderno!= ''">
  56. and (sth.OrderNo + '-' + sth.OrderRef1+ '-'+sth.OrderRef2 ) = #{orderno}
  57. </if>
  58. <if test="itemno!=null and itemno!= ''">
  59. and sth.ItemNo = #{itemno}
  60. </if>
  61. <if test=" completedflag != '' and completedflag != null ">
  62. and sth.CompletedFlag = #{completedflag}
  63. </if>
  64. <if test=" eventtype != '' and eventtype != null ">
  65. and sth.EventType = #{eventtype}
  66. </if>
  67. </where>
  68. order by sth.EventTime desc
  69. </select>
  70. <select id="orderTimeHisCount" resultType="java.lang.Integer">
  71. select isnull(sum(isNull(QtyPrd,0)),0)
  72. from SFDC_TimeHist
  73. <where>
  74. site = #{site} and OrderNo = #{orderno} and OrderRef1 =#{orderref1} and OrderRef2 =#{orderref2} and ItemNo =
  75. #{itemno}
  76. <if test="completedflag != null and completedflag != '' ">
  77. and CompletedFlag = #{completedflag}
  78. </if>
  79. <if test="eventtype != null and eventtype != '' ">
  80. and EventType = #{eventtype}
  81. </if>
  82. </where>
  83. </select>
  84. <select id="getOrderTimeHistInfo" resultType="java.lang.Integer">
  85. SELECT MAX(HistSeqNo)
  86. FROM SFDC_TimeHist
  87. WHERE site = #{site}
  88. AND OrderNo = #{orderno}
  89. AND OrderRef1 = #{orderref1}
  90. AND OrderRef2 = #{orderref2}
  91. AND ItemNo = #{itemno}
  92. </select>
  93. <select id="orderTimeHistReportList" resultType="com.alteams.modules.shoporder.vo.OrderTimeHistVo">
  94. select Site
  95. ,OrderNo
  96. ,ItemNo
  97. ,SeqNo
  98. ,HistSeqNo
  99. ,EventTime
  100. ,Enteredby
  101. ,EventDesc
  102. ,DowntimeCode
  103. ,(case when EventType = 'F' then '常规生产' else '返工' end) as EventType
  104. ,(case when CompletedFlag = 'Y' then '已结束' else '未结束' end) as CompletedFlag
  105. ,LinkHistSeqNo
  106. ,TillTime
  107. ,TillEnteredTime
  108. ,TillEnteredBy
  109. ,CompletedFlag
  110. ,TotalTime
  111. ,DowntimePhaseIn
  112. ,OrderRef1
  113. ,OrderRef2
  114. ,WorkCenterNo
  115. ,ResourceId
  116. ,QtyPrd
  117. ,devicecode
  118. ,partno
  119. ,projectno
  120. ,TillDevicecode
  121. ,EventEnteredTime
  122. ,PartDesc
  123. ,OperationDescription
  124. ,WorkCenterCost
  125. ,WorkCenterDesc
  126. from SFDC_TimeHist
  127. <where>
  128. site = #{site}
  129. <if test="orderno!=null and orderno!= ''">
  130. and (OrderNo + '-' + OrderRef1+ '-'+OrderRef2 ) like #{orderno}
  131. </if>
  132. <if test=" completedflag != '' and completedflag != null ">
  133. and CompletedFlag = #{completedflag}
  134. </if>
  135. <if test=" eventtype != '' and eventtype != null ">
  136. and EventType = #{eventtype}
  137. </if>
  138. <if test=" enteredby != '' and enteredby != null ">
  139. and enteredby like #{enteredby}
  140. </if>
  141. <if test=" tillenteredby != '' and tillenteredby != null ">
  142. and tillenteredby like #{tillenteredby}
  143. </if>
  144. <if test=" partno != '' and partno != null ">
  145. and partno like #{partno}
  146. </if>
  147. <if test=" projectno != '' and projectno != null ">
  148. and projectno like #{projectno}
  149. </if>
  150. <if test=" completedflag != '' and completedflag != null ">
  151. and completedflag = #{completedflag}
  152. </if>
  153. <if test=" workcenterno != '' and workcenterno != null ">
  154. and WorkCenterNo like #{workcenterno}
  155. </if>
  156. <if test=" startDate != null ">
  157. and EventTime >= #{ startDate}
  158. </if>
  159. <if test=" startEndDate != null">
  160. and EventTime <![CDATA[ <= ]]> #{ startEndDate}
  161. </if>
  162. <if test=" finishStartDate != null ">
  163. and TillEnteredTime >= #{ finishStartDate}
  164. </if>
  165. <if test=" finishDate != null ">
  166. and TillEnteredTime <![CDATA[ <= ]]> #{ finishDate}
  167. </if>
  168. </where>
  169. order by EventTime desc
  170. </select>
  171. <select id="getOrderTimeHistPrevious"
  172. resultType="com.alteams.modules.shoporder.entity.OrderTimeHistEntity">
  173. select top 1 Site
  174. , OrderNo
  175. , ItemNo
  176. , SeqNo
  177. , HistSeqNo
  178. , EventTime
  179. , Enteredby
  180. , EventDesc
  181. , DowntimeCode
  182. , LinkHistSeqNo
  183. , TillTime
  184. , TillEnteredTime
  185. , TillEnteredBy
  186. , CompletedFlag
  187. , TotalTime
  188. , DowntimePhaseIn
  189. , OrderRef1
  190. , OrderRef2
  191. , WorkCenterNo
  192. , ResourceId
  193. , QtyPrd
  194. , devicecode
  195. , partno
  196. , projectno
  197. , TillDevicecode
  198. , EventEnteredTime
  199. , PartDesc
  200. , OperationDescription
  201. , WorkCenterCost
  202. , WorkCenterDesc
  203. from SFDC_TimeHist
  204. where site = #{site}
  205. and OrderNo = #{orderno}
  206. and OrderRef2 = #{orderref2}
  207. and OrderRef1 = #{orderref1}
  208. and ItemNo = #{itemno}
  209. and HistSeqNo <![CDATA[<]]> #{histseqno}
  210. order by HistSeqNo desc
  211. </select>
  212. <select id="getOrderTimeHistNext" resultType="com.alteams.modules.shoporder.entity.OrderTimeHistEntity">
  213. select top 1 Site
  214. , OrderNo
  215. , ItemNo
  216. , SeqNo
  217. , HistSeqNo
  218. , EventTime
  219. , Enteredby
  220. , EventDesc
  221. , DowntimeCode
  222. , LinkHistSeqNo
  223. , TillTime
  224. , TillEnteredTime
  225. , TillEnteredBy
  226. , CompletedFlag
  227. , TotalTime
  228. , DowntimePhaseIn
  229. , OrderRef1
  230. , OrderRef2
  231. , WorkCenterNo
  232. , ResourceId
  233. , QtyPrd
  234. , devicecode
  235. , partno
  236. , projectno
  237. , TillDevicecode
  238. , EventEnteredTime
  239. , PartDesc
  240. , OperationDescription
  241. , WorkCenterCost
  242. , WorkCenterDesc
  243. from SFDC_TimeHist
  244. where site = #{site}
  245. and OrderNo = #{orderno}
  246. and OrderRef2 = #{orderref2}
  247. and OrderRef1 = #{orderref1}
  248. and ItemNo = #{itemno}
  249. and HistSeqNo <![CDATA[>]]> #{histseqno}
  250. order by HistSeqNo
  251. </select>
  252. <select id="getLastOrderTimeHistInfo"
  253. resultType="com.alteams.modules.shoporder.entity.OrderTimeHistEntity">
  254. select top 1 Site
  255. , OrderNo
  256. , ItemNo
  257. , SeqNo
  258. , HistSeqNo
  259. , EventTime
  260. , Enteredby
  261. , EventDesc
  262. , DowntimeCode
  263. , LinkHistSeqNo
  264. , TillTime
  265. , TillEnteredTime
  266. , TillEnteredBy
  267. , CompletedFlag
  268. , TotalTime
  269. , DowntimePhaseIn
  270. , OrderRef1
  271. , OrderRef2
  272. , WorkCenterNo
  273. , ResourceId
  274. , QtyPrd
  275. , devicecode
  276. , partno
  277. , projectno
  278. , TillDevicecode
  279. , EventEnteredTime
  280. , PartDesc
  281. , OperationDescription
  282. , WorkCenterCost
  283. , WorkCenterDesc
  284. from SFDC_TimeHist
  285. where site = #{site}
  286. and OrderNo = #{orderno}
  287. and OrderRef2 = #{orderref2}
  288. and OrderRef1 = #{orderref1}
  289. and ItemNo = #{itemno}
  290. and EventType = #{eventtype}
  291. order by HistSeqNo desc
  292. </select>
  293. <select id="getTotalOrderTimeHist" resultType="com.alteams.modules.shoporder.entity.OrderTimeHistEntity">
  294. SELECT site,
  295. OrderNo,
  296. OrderRef1,
  297. OrderRef2,
  298. ItemNo,
  299. MIN(EventTime) EventTime,
  300. MAX(TillTime) TillTime,
  301. ISNULL(SUM(TotalTime), 0) TotalTime,
  302. ISNULL(SUM(QtyPrd), 0) QtyPrd,
  303. ISNULL(SUM(TotalTime / 60 * WorkCenterCost), 0) WorkCenterCost
  304. FROM SFDC_TimeHist
  305. WHERE site = #{site}
  306. and OrderNo = #{orderno}
  307. and OrderRef2 = #{orderref2}
  308. and OrderRef1 = #{orderref1}
  309. and ItemNo = #{itemno}
  310. and EventType = #{eventtype}
  311. GROUP BY site, OrderNo, OrderRef1, OrderRef2, ItemNo
  312. </select>
  313. <select id="getFirstOrderTimeHistInfo"
  314. resultType="com.alteams.modules.shoporder.entity.OrderTimeHistEntity">
  315. select top 1 Site
  316. , OrderNo
  317. , ItemNo
  318. , SeqNo
  319. , HistSeqNo
  320. , EventTime
  321. , Enteredby
  322. , EventDesc
  323. , DowntimeCode
  324. , LinkHistSeqNo
  325. , TillTime
  326. , TillEnteredTime
  327. , TillEnteredBy
  328. , CompletedFlag
  329. , TotalTime
  330. , DowntimePhaseIn
  331. , OrderRef1
  332. , OrderRef2
  333. , WorkCenterNo
  334. , ResourceId
  335. , QtyPrd
  336. , devicecode
  337. , partno
  338. , projectno
  339. , TillDevicecode
  340. , EventEnteredTime
  341. , PartDesc
  342. , OperationDescription
  343. , WorkCenterCost
  344. , WorkCenterDesc
  345. from SFDC_TimeHist
  346. where site = #{site}
  347. and OrderNo = #{orderno}
  348. and OrderRef2 = #{orderref2}
  349. and OrderRef1 = #{orderref1}
  350. and EventType = #{eventtype}
  351. order by HistSeqNo
  352. </select>
  353. <select id="workCenterTimeHist" resultType="com.alteams.modules.shoporder.vo.WorkCenterTimeVo">
  354. SELECT
  355. WorkCenterNo Work_Center_No,
  356. EventTime Event_Time,
  357. ISNULL( TillTime, GETDATE( ) ) Till_Time,
  358. ROUND((CASE
  359. WHEN TillTime IS NULL THEN DATEDIFF(MINUTE, EventTime,GETDATE( ) )
  360. ELSE TotalTime
  361. END)/60,1) Total_Time
  362. FROM
  363. SFDC_TimeHist
  364. <where>
  365. Site = #{contract} AND WorkCenterNo like 'C%'
  366. <if test=" status != null and status!= '' ">
  367. AND EventType != 'R'
  368. </if>
  369. <if test="workCenterNo != null and workCenterNo != ''">
  370. AND WorkCenterNo = #{workCenterNo}
  371. </if>
  372. AND EventTime >= #{startDate} AND TillTime <![CDATA[ <= ]]> #{ startEndDate}
  373. OR (ISNULL( TillTime, GETDATE( ) ) >= #{startDate} AND EventTime <![CDATA[ <= ]]> #{ startEndDate} AND
  374. WorkCenterNo like 'C%'
  375. <if test="workCenterNo != null and workCenterNo != ''">
  376. AND WorkCenterNo = #{workCenterNo}
  377. </if>
  378. )
  379. OR (TillTime >= #{ startEndDate} AND EventTime <![CDATA[ <= ]]> #{startDate} AND WorkCenterNo like 'C%'
  380. <if test="workCenterNo != null and workCenterNo != ''">
  381. AND WorkCenterNo = #{workCenterNo}
  382. </if>
  383. )
  384. </where>
  385. ORDER BY WorkCenterNo,EventTime
  386. </select>
  387. </mapper>