赫艾后端
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.

1015 lines
56 KiB

4 years ago
3 years ago
3 years ago
3 years ago
4 years ago
2 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
2 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
2 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
2 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
3 years ago
3 years ago
4 years ago
3 years ago
3 years ago
4 years ago
2 years ago
4 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
2 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
2 years ago
3 years ago
3 years ago
4 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
  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.heai.modules.production.dao.DailyPlanMapper">
  4. <select id="getShopOrderData" resultType="com.heai.modules.production.entity.ShopOrderData" parameterType="com.heai.modules.production.entity.DailyPlanInData">
  5. select a.site, a.OrderNo,a.PartNo,a.Status,a.PlanStartDate,a.NeedDate,a.LotSize,a.EnterDate,a.UserName,
  6. P.Spec+'/'+isnull(P.PartDescription,'') PartDescription,P.Spec,ROUND(ISNULL(so.scheduling_size,0),3) as scheduling_size,dbo.Get_PartWeightFactorForReport(a.site,a.PartNo,a.OrderNo) as weightFactor,
  7. Round(dbo.Get_PartWeightFactorForReport(a.site,a.PartNo,a.OrderNo)*a.LotSize,2) as weight
  8. FROM ShopOrder a
  9. LEFT JOIN Part P ON P.PartNo=a.PartNo AND a.site=P.Site
  10. LEFT JOIN so_scheduled_list so ON a.site=so.Site AND a.OrderNo= so.order_no
  11. <where>
  12. <if test="site != null and site != ''">
  13. AND a.site = #{site}
  14. </if>
  15. <if test="partDescription != null and partDescription != ''">
  16. AND P.Spec+'/'+isnull(P.PartDescription,'') like #{partDescription}
  17. </if>
  18. <if test="orderNo != null and orderNo != ''">
  19. AND a.OrderNo LIKE #{orderNo}
  20. </if>
  21. <if test="status !=null and status != ''">
  22. AND a.Status IN ${status}
  23. </if>
  24. <if test="startDate1 != null ">
  25. AND a.EnterDate >= #{startDate1}
  26. </if>
  27. <if test="endDate1 != null ">
  28. AND #{endDate1} >= DATEADD(dd, -1, a.EnterDate)
  29. </if>
  30. <if test="startDate2 != null ">
  31. AND a.PlanStartDate >= #{startDate2}
  32. </if>
  33. <if test="endDate2 != null ">
  34. AND #{endDate2} >= a.PlanStartDate
  35. </if>
  36. <if test="startDate3 != null ">
  37. AND a.NeedDate >= #{startDate3}
  38. </if>
  39. <if test="endDate3 != null ">
  40. AND #{endDate3} >= a.NeedDate
  41. </if>
  42. <if test="partNo != null and partNo != ''">
  43. AND a.PartNo LIKE #{partNo}
  44. </if>
  45. <if test="planStatus != null and planStatus != ''">
  46. and ${planStatus}
  47. </if>
  48. AND a.PartNo like 'SP%'
  49. </where>
  50. order by a.PlanStartDate
  51. </select>
  52. <select id="getGenerateReportList" resultType="com.heai.modules.production.entity.GenerateReportData">
  53. Select T.Site,T.OrderNo,T.ItemNo,T.OperationDesc,T.WorkCenterNo,W.WorkCenterDesc,T.QtyRequired,T.QtyReported
  54. ,T.QtyApprove ,T.TimeRequired,T.TimeReported,T.PlanStartTime,T.PlanFinishTime
  55. ,T.ClosedFlag,T.PartNo,P.PartDescription,P.Spec,D.NeedDate,D.PlanStartDate,D.Status
  56. ,D.LotSize,D.FinishedQty
  57. from SORouting as T,ShopOrder as D,WorkCenter as W,Part as P
  58. <where>
  59. T.Site=D.Site and T.OrderNo=D.OrderNo and T.Site=W.Site and T.WorkCenterNo=W.WorkCenterNo
  60. and D.Site=P.Site and D.PartNo=P.PartNo
  61. <if test="site != null and site != ''">
  62. and T.site = #{site,jdbcType=VARCHAR}
  63. </if>
  64. <if test="workCenterNo != null and workCenterNo != ''">
  65. and T.WorkCenterNo like '%' + #{workCenterNo,jdbcType=VARCHAR} + '%'
  66. </if>
  67. <if test="partNo != null and partNo != ''">
  68. and T.PartNo like '%' + #{partNo,jdbcType=VARCHAR} + '%'
  69. </if>
  70. <if test="orderNo != null and orderNo != ''">
  71. and T.OrderNo like '%' + #{orderNo,jdbcType=VARCHAR} + '%'
  72. </if>
  73. </where>
  74. </select>
  75. <select id="getShopOrderForHunlian" resultType="com.heai.modules.production.entity.ShopOrderData">
  76. select A.OrderNo ,A.Site ,A.EnterDate ,A.UserName ,A.NeedDate ,A.OriginalNeedDate ,A.PlanStartDate ,A.ReleaseDate
  77. ,A.ReleaseGuys ,A.ScheduleDate ,A.Scheduler ,A.IssueDate ,A.ReportDate ,A.ReceiveDate ,A.CloseDate
  78. ,A.Planner ,A.Status ,A.Status_Tmp ,A.Printed ,A.OrderType ,A.PartNo ,A.LotSize ,A.FinishedQty
  79. ,A.ProjectID ,A.BOMRevNo ,A.RoutingRevNo ,A.Leadtime ,A.Remark ,A.OrderRef1 ,A.OrderRef2 ,A.CostRollUpFlag
  80. ,A.ManualFlag ,A.OriSOOrderNo ,A.CustomerID ,A.TechInfo ,A.ReceiveStatus ,A.E_OriginalOrderNo
  81. ,A.E_Levels ,A.E_OriginalOrderType ,A.E_SeqNo ,A.E_LevelCode ,A.SFDCReportedFlag ,A.RepairSOFlag
  82. ,A.ConfigurationFlag ,A.MaterialSplitFlag ,A.ObjectVersion ,A.ExpandFlag ,A.CodeNo ,A.LE_SeqNo
  83. ,A.LE_ItemNo ,A.LE_Levels
  84. ,B.PartDescription,dbo.Get_PartWeightFactorForReport(A.Site ,A.PartNo,A.OrderNo) as weightFactor,
  85. Round(dbo.Get_PartWeightFactorForReport(A.Site ,A.PartNo,A.OrderNo)*A.LotSize,2) weight
  86. from ShopOrder A
  87. left join Part B on A.site = B.site and A.PartNo = B.PartNo
  88. <where>
  89. and A.E_Levels=2
  90. <if test="site != null and site != ''">
  91. and A.Site = #{site,jdbcType=VARCHAR}
  92. </if>
  93. <if test="orderNo != null and orderNo != ''">
  94. and A.OrderNo = #{orderNo,jdbcType=VARCHAR}
  95. </if>
  96. </where>
  97. </select>
  98. <select id="getHunlianTaskHeader" resultType="com.heai.modules.production.entity.HunlianData">
  99. select Site,TaskNo,orderRef1 from Hunlian_TaskHeader where DeleteFlag='N' and TaskNo=#{taskNo}
  100. </select>
  101. <select id="getShopOrderList" resultType="com.heai.modules.production.entity.ShopOrderData">
  102. select A.OrderNo ,A.Site ,A.EnterDate ,A.UserName ,A.NeedDate ,A.OriginalNeedDate ,A.PlanStartDate ,A.ReleaseDate
  103. ,A.ReleaseGuys ,A.ScheduleDate ,A.Scheduler ,A.IssueDate ,A.ReportDate ,A.ReceiveDate ,A.CloseDate
  104. ,A.Planner ,A.Status ,A.Status_Tmp ,A.Printed ,A.OrderType ,A.PartNo ,A.LotSize ,A.FinishedQty
  105. ,A.ProjectID ,A.BOMRevNo ,A.RoutingRevNo ,A.Leadtime ,A.Remark ,A.OrderRef1 ,A.OrderRef2 ,A.CostRollUpFlag
  106. ,A.ManualFlag ,A.OriSOOrderNo ,A.CustomerID ,A.TechInfo ,A.ReceiveStatus ,A.E_OriginalOrderNo
  107. ,A.E_Levels ,A.E_OriginalOrderType ,A.E_SeqNo ,A.E_LevelCode ,A.SFDCReportedFlag ,A.RepairSOFlag
  108. ,A.ConfigurationFlag ,A.MaterialSplitFlag ,A.ObjectVersion ,A.ExpandFlag ,A.CodeNo ,A.LE_SeqNo
  109. ,A.LE_ItemNo ,A.LE_Levels
  110. ,B.PartDescription
  111. from ShopOrder A
  112. left join Part B on A.site = B.site and A.PartNo = B.PartNo
  113. <where>
  114. <if test="site != null and site != ''">
  115. and A.Site = #{site,jdbcType=VARCHAR}
  116. </if>
  117. <if test="orderNo != null and orderNo != ''">
  118. and A.OrderNo = #{orderNo,jdbcType=VARCHAR}
  119. </if>
  120. </where>
  121. </select>
  122. <select id="getTransfer" resultType="com.heai.modules.production.entity.ShopOrderData">
  123. select a.TransNo as transFerNo ,b.PartNo,c.PartDescription,a.Status,b.TransQty as lotSize,b.ConfirmQty as FinishedQty,a.Site, b.OrderNo,dbo.Get_PartWeightFactorForReport(A.Site ,b.PartNo,b.OrderNo) as weightFactor,
  124. dbo.Get_Part_DefaultWarehouseID(a.Site,b.PartNo) DefaultWarehouseID,b.seqNo,a.needReceiveFlag,Round(isnull(b.boxWeight,0),2) boxWeight
  125. from SOOpsTransferHeader a left join SOOpsTransferDetail b on a.TransNo=b.TransNo and a.Site=b.Site
  126. LEFT JOIN Part c on b.partNo=c.partNo and c.site=a.site
  127. <where>
  128. <if test="transFerNo != null and transFerNo != ''">
  129. and a.TransNo = #{transFerNo}
  130. </if>
  131. </where>
  132. </select>
  133. <select id="checkShopOrderStatus" resultType="com.heai.modules.production.entity.ShopOrderData">
  134. select orderNo,status from shopOrder where Site=#{site} and OrderNo=#{orderNo}
  135. </select>
  136. <select id="getOperatorData" resultType="com.heai.modules.production.entity.OperatorData" >
  137. select Site,OperatorID,OperatorName,Active,Department,CreatedDate,Passwords,LineLeader,tv_id
  138. from Operator
  139. <where>
  140. <if test="site != null and site != ''">
  141. and Site = #{site}
  142. </if>
  143. <if test="operatorID != null and operatorID != ''">
  144. and OperatorID like #{operatorID,jdbcType=VARCHAR}
  145. </if>
  146. <if test="operatorName != null and operatorName != ''">
  147. and OperatorName like #{operatorName}
  148. </if>
  149. <if test="active != null and active != ''">
  150. and Active = #{active}
  151. </if>
  152. <if test="department != null and department != '' and department != 'all'">
  153. and department = #{department}
  154. </if>
  155. </where>
  156. order by CreatedDate
  157. </select>
  158. <select id="getWorkCenterData" resultType="WorkCenterData">
  159. select a.Site,a.WorkCenterNo,a.WorkCenterDesc,a.Active FROM WorkCenter a left join
  160. operator_work_center b on a.Site=b.Site and a.WorkCenterNo=b.WorkCenterNo and b.OperatorID=#{operatorID}
  161. where a.site=#{site} and b.WorkCenterNo is null
  162. order by a.WorkCenterNo
  163. </select>
  164. <select id="getWorkCenterOperatorData" resultType="WorkCenterData">
  165. select a.Site,a.WorkCenterNo,b.WorkCenterDesc,b.Active FROM operator_work_center a left join
  166. WorkCenter b on a.Site=b.Site and a.WorkCenterNo=b.WorkCenterNo
  167. where a.site=#{site} and a.OperatorID=#{operatorID}
  168. order by a.WorkCenterNo
  169. </select>
  170. <insert id="addSkill">
  171. insert into operator_work_center(OperatorID,WorkCenterNo,created_by,created_date,Site)
  172. values(#{operatorID},#{workCenterNo},#{user},GetDate(),#{site})
  173. </insert>
  174. <delete id="deleteSkill">
  175. delete from operator_work_center where OperatorID=#{operatorID} and Site=#{site} and WorkCenterNo=#{workCenterNo}
  176. </delete>
  177. <insert id="addUserSkill">
  178. insert into user_work_center(UserId,WorkCenterNo,created_by,created_date,Site)
  179. values(#{userId},#{workCenterNo},#{user},GetDate(),#{site})
  180. </insert>
  181. <insert id="addUserSkillAll">
  182. insert into user_work_center(UserId,WorkCenterNo,created_by,created_date,Site)
  183. SELECT #{userId} ,a.WorkCenterNo ,#{user},GETDATE(), a.site FROM WorkCenter a
  184. left join user_work_center b on a.site=b.site and a.WorkCenterNo=b.WorkCenterNo and b.UserId= #{userId}
  185. where b.Site is null
  186. </insert>
  187. <delete id="deleteUserSkill">
  188. delete from user_work_center where UserId=#{userId} and Site=#{site} and WorkCenterNo=#{workCenterNo}
  189. </delete>
  190. <delete id="deleteUserSkillAll">
  191. delete from user_work_center where UserId=#{userId}
  192. </delete>
  193. <select id="checkWorkCenterOperatorData" resultType="WorkCenterData">
  194. select site FROM operator_work_center where OperatorID=#{operatorID} and Site=#{site} and WorkCenterNo=#{workCenterNo}
  195. </select>
  196. <select id="checkUserOperatorData" resultType="WorkCenterData">
  197. select site FROM user_work_center where userId=#{userId} and Site=#{site} and WorkCenterNo=#{workCenterNo}
  198. </select>
  199. <select id="getAllWorkCenterDataForUser" resultType="WorkCenterData">
  200. select a.Site,a.WorkCenterNo,a.WorkCenterDesc,a.Active FROM WorkCenter a left join
  201. user_work_center b on a.Site=b.Site and a.WorkCenterNo=b.WorkCenterNo and b.userId=#{user}
  202. where b.WorkCenterNo is null
  203. order by a.WorkCenterNo ,a.site
  204. </select>
  205. <select id="getWorkCenterUserData" resultType="WorkCenterData">
  206. select a.Site,a.WorkCenterNo,b.WorkCenterDesc,b.Active FROM user_work_center a left join
  207. WorkCenter b on a.Site=b.Site and a.WorkCenterNo=b.WorkCenterNo
  208. where a.userId=#{user}
  209. order by a.WorkCenterNo,a.site
  210. </select>
  211. <select id="getShopOrderRoutingData" resultType="ShopOrderRoutingData">
  212. select a.site, a.OrderNo,a.PartNo,a.Status,a.PlanStartDate,a.NeedDate,a.LotSize,a.EnterDate,a.UserName,
  213. P.Spec+'/'+isnull(P.PartDescription,'') PartDescription,P.Spec,isnull(SL.scheduledQty,0) as scheduledQty,s.workCenterNo,S.qtyReported,S.qtyApprove,S.machSetupTime,
  214. S.machRunFactor,S.factorUnit,S.ItemNo,S.OperationDesc,s.Efficiency,isnull(SOP.TotalFinishedQty,0) lastApproveQty,dbo.Get_PartWeightFactorForReport(a.site,a.PartNo,a.OrderNo) weightFactor,
  215. Round(dbo.Get_PartWeightFactorForReport(a.site,a.PartNo,a.OrderNo)*a.LotSize,2) weight,dbo.Get_PartPlanQty(a.site,a.PartNo,a.OrderNo) partPlanQty,cod.PlanShipDate,
  216. dbo.Get_LastStartTime( a.site, a.OrderNo,S.ItemNo) LastStartDate
  217. FROM ShopOrder a
  218. LEFT JOIN Part P ON P.PartNo=a.PartNo AND a.site=P.Site
  219. LEFT JOIN SORouting S on S.site=a.site and S.OrderNo=a.orderNo
  220. LEFT JOIN ScheduleList SL on S.site=SL.site and S.OrderNo=SL.orderNo and S.ItemNo=SL.ItemNo
  221. LEFT JOIN SORoutingOutput SOP ON a.site=SOP.site and a.OrderNo=SOP.OrderNo and SOP.itemNo=dbo.Get_SORouting_PreviousOperationItemNo(a.site,a.OrderNo,S.itemNo)
  222. left join user_work_center uwc on a.site=uwc.site and s.workCenterNo =uwc.WorkCenterNo and uwc.userId=#{userId}
  223. left join CODetail cod on a.site=cod.site and a.orderRef1=cod.OrderNo and a.orderRef2= CONVERT(VARCHAR(10),cod.ItemNo)
  224. <where>
  225. and uwc.WorkCenterNo is not null
  226. and a.PartNo NOT like 'SP%' and a.PartNo NOT like 'RC%' and a.PartNo NOT like 'SC%'
  227. <if test="site != null and site != ''">
  228. AND a.site = #{site}
  229. </if>
  230. <if test="orderNo != null and orderNo != ''">
  231. AND a.OrderNo LIKE #{orderNo}
  232. </if>
  233. and a.status in ('已下达','已发料','已入库','已开工','已排产')
  234. <if test="startDate1 != null ">
  235. AND a.EnterDate >= #{startDate1}
  236. </if>
  237. <if test="endDate1 != null ">
  238. AND #{endDate1} >= DATEADD(dd, -1, a.EnterDate)
  239. </if>
  240. <if test="startDate2 != null ">
  241. AND a.PlanStartDate >= #{startDate2}
  242. </if>
  243. <if test="endDate2 != null ">
  244. AND #{endDate2} >= a.PlanStartDate
  245. </if>
  246. <if test="startDate3 != null ">
  247. AND a.NeedDate >= #{startDate3}
  248. </if>
  249. <if test="endDate3 != null ">
  250. AND #{endDate3} >= a.NeedDate
  251. </if>
  252. <if test="startDate4 != null ">
  253. AND cod.PlanShipDate >= #{startDate4}
  254. </if>
  255. <if test="endDate4 != null ">
  256. AND #{endDate4} >= cod.PlanShipDate
  257. </if>
  258. <if test="partNo != null and partNo != ''">
  259. AND a.PartNo LIKE #{partNo}
  260. </if>
  261. <if test="planStatus != null and planStatus != ''">
  262. and ${planStatus}
  263. </if>
  264. <if test="itemNo != null and itemNo != ''">
  265. and S.ItemNo = #{itemNo}
  266. </if>
  267. <if test="partDescription != null and partDescription != ''">
  268. and P.Spec+'/'+isnull(P.PartDescription,'') like #{partDescription}
  269. </if>
  270. <if test="eLevels != null ">
  271. and a.E_Levels = #{eLevels}
  272. </if>
  273. </where>
  274. order by a.PlanStartDate desc,s.itemNo
  275. </select>
  276. <update id="updateSOTaskCombineTime">
  277. update SOTaskOrderHeader set CombineTime = GetDate() where site=#{site} and orderNo=#{orderNo}
  278. </update>
  279. <select id="getSOTastRoutingData" resultType="ShopOrderRoutingData">
  280. select a.site, a.OrderNo,a.PartNo,a.Status,a.OrderRef1,a.OrderDate,a.OrderQty as LotSize,
  281. P.Spec+'/'+isnull(P.PartDescription,'') PartDescription,P.Spec,isnull(SL.scheduledQty,0) as scheduledQty,s.workCenterNo,S.machSetupTime,
  282. S.machRunFactor,S.factorUnit,S.ItemNo,S.OperationDesc,s.Efficiency,a.qtyfinished,a.finishFlag,ROUND(dbo.Get_PartWeightFactorForReport(a.site,a.PartNo,a.OrderRef1)*a.OrderQty,2) as weight,
  283. dbo.Get_PartWeightFactorForReport(a.site,a.PartNo,a.OrderRef1) as weightFactor,dbo.Get_PartPlanQty(a.site,a.PartNo,a.OrderRef1) partPlanQty,so.needDate,cod.PlanShipDate
  284. ,a.comBineTime lastStartDate
  285. FROM SOTaskOrderHeader a
  286. LEFT JOIN Part P ON P.PartNo=a.PartNo AND a.site=P.Site
  287. LEFT JOIN SORouting S on S.site=a.site and S.OrderNo=a.OrderRef1
  288. LEFT JOIN ScheduleList SL on S.site=SL.site and a.OrderNo=SL.orderNo and S.ItemNo=SL.ItemNo
  289. left join user_work_center uwc on a.site=uwc.site and s.workCenterNo =uwc.WorkCenterNo and uwc.userId=#{userId}
  290. LEFT JOIN ShopOrder so on a.OrderRef1=so.OrderNo and a.site=so.site
  291. left join CODetail cod on so.site=cod.site and so.orderRef1=cod.OrderNo and so.orderRef2= CONVERT(VARCHAR(10),cod.ItemNo)
  292. <where>
  293. and uwc.WorkCenterNo is not null
  294. and so.status not in ('已关闭','已计划','已取消')
  295. <if test="site != null and site != ''">
  296. AND a.site = #{site}
  297. </if>
  298. <if test="orderNo != null and orderNo != ''">
  299. AND a.OrderNo LIKE #{orderNo}
  300. </if>
  301. <if test="status !=null and status != ''">
  302. AND a.Status IN ${status}
  303. </if>
  304. <if test="startDate1 != null ">
  305. AND a.orderDate >= #{startDate1}
  306. </if>
  307. <if test="endDate1 != null ">
  308. AND #{endDate1} >= a.orderDate
  309. </if>
  310. <if test="partDescription != null and partDescription != ''">
  311. and P.Spec+'/'+isnull(P.PartDescription,'') like #{partDescription}
  312. </if>
  313. <if test="orderRef1 != null and orderRef1 != ''">
  314. AND a.OrderRef1 LIKE #{orderRef1}
  315. </if>
  316. <if test="partNo != null and partNo != ''">
  317. AND a.PartNo LIKE #{partNo}
  318. </if>
  319. <if test="planStatus != null and planStatus != ''">
  320. and ${planStatus}
  321. </if>
  322. <if test="itemNo != null and itemNo != ''">
  323. and S.ItemNo = #{itemNo}
  324. </if>
  325. <if test="finishFlag != null and finishFlag != ''">
  326. AND a.FinishFlag=#{finishFlag}
  327. </if>
  328. <if test="startDate3 != null ">
  329. AND so.NeedDate >= #{startDate3}
  330. </if>
  331. <if test="endDate3 != null ">
  332. AND #{endDate3} >= so.NeedDate
  333. </if>
  334. <if test="startDate4 != null ">
  335. AND cod.PlanShipDate >= #{startDate4}
  336. </if>
  337. <if test="endDate4 != null ">
  338. AND #{endDate4} >= cod.PlanShipDate
  339. </if>
  340. </where>
  341. order by a.OrderDate desc,s.itemNo
  342. </select>
  343. <select id="getWorkCenterOperatorList" resultType="OperatorData">
  344. Select a.OperatorID,a.OperatorName from Operator a left join operator_work_center b on a.site=b.site and a.OperatorID=b.OperatorID
  345. where a.site=#{site} and b.WorkCenterNo=#{workCenterNo} and a.Active='Y'
  346. </select>
  347. <select id="checkScheduleQty" resultType="ScheduleCheckData">
  348. Select a.lotSize as Qty,isnull(b.scheduledQty,0) scheduledQty from ShopOrder a left join ScheduleList b on a.site=b.site and a.orderNo=b.orderNo and b.itemNo=#{itemNo} where a.Site=#{site} and a.OrderNo=#{orderNo}
  349. </select>
  350. <select id="checkScheduleQtyForSoTask" resultType="ScheduleCheckData">
  351. Select a.OrderQty as Qty,isnull(b.scheduledQty,0) scheduledQty from SOTaskOrderHeader a left join ScheduleList b on a.site=b.site and a.orderNo=b.orderNo and b.itemNo=#{itemNo} where a.Site=#{site} and a.OrderNo=#{orderNo}
  352. </select>
  353. <select id="checkScheduleList" resultType="ScheduleCheckData">
  354. Select Qty from ScheduleList where Site=#{site} and OrderNo=#{orderNo} and itemNo=#{itemNo}
  355. </select>
  356. <insert id="saveScheduleList">
  357. insert into ScheduleList(Site,OrderNo,ItemNo,Type,Type_db,Qty,scheduledQty) values (#{site},#{orderNo},#{itemNo},'生产订单派工单','S',#{qty},0)
  358. </insert>
  359. <insert id="saveScheduleListForSOTask">
  360. insert into ScheduleList(Site,OrderNo,ItemNo,Type,Type_db,Qty,scheduledQty) values (#{site},#{orderNo},#{itemNo},'日计划派工单','D',#{qty},0)
  361. </insert>
  362. <select id="getDataSequence" resultType="integer">
  363. select seqNo from DataSequence where SeqType= 'A'
  364. </select>
  365. <update id="updateDataSequence">
  366. update DataSequence set seqNo=seqNo+1 where SeqType= 'A'
  367. </update>
  368. <insert id="saveSchedule">
  369. Insert into soscheduledrouting(Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,PlanStartTime,PlanFinishTime
  370. ,BarcodeID,Remark,Crewsize,ClosedFlag,QtyScrapt,OutWorkFlag,S_ScheduledDate,S_ResourceID,S_ShiftNo,S_WorkCenterNo
  371. ,SelectedFlag,SourceFlag,ParkFlag,TimeRequired_Original,QtyRequired_Original
  372. ,StartProdFlag,CancelledProdFlag,Efficiency,EnteredDate,scheduleType,operatorId,partNo,OrderRef1,cancelReportFlag,CreateBy,WorkTime,stopTime)
  373. values(#{site},#{orderNo},#{itemNo},#{seqNo},#{scheduleQty},0,0,dbo.Get_SOScheduleRouting_TimeRequired(#{site},#{orderNo},#{itemNo},#{scheduleQty}),0,#{scheduleDate},#{scheduleDate}
  374. ,'*',#{remark},1,'N',0,'Y',#{scheduleDate},#{resourceId},#{shiftNo},#{workCenterNo}
  375. ,'N','N','N',dbo.Get_SOScheduleRouting_TimeRequired(#{site},#{orderNo},#{itemNo},#{scheduleQty}),#{scheduleQty}
  376. ,'N','N',#{efficiency},GETDATE(),'生产订单派工单',#{operatorId},#{partNo},#{orderNo},'N',#{createBy},0,0)
  377. </insert>
  378. <insert id="saveScheduleForSOTask">
  379. Insert into soscheduledrouting(Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,PlanStartTime,PlanFinishTime
  380. ,BarcodeID,Remark,Crewsize,ClosedFlag,QtyScrapt,OutWorkFlag,S_ScheduledDate,S_ResourceID,S_ShiftNo,S_WorkCenterNo
  381. ,SelectedFlag,SourceFlag,ParkFlag,TimeRequired_Original,QtyRequired_Original
  382. ,StartProdFlag,CancelledProdFlag,Efficiency,EnteredDate,scheduleType,operatorId,partNo,OrderRef1,cancelReportFlag,CreateBy,WorkTime,stopTime)
  383. values(#{site},#{orderRef1},#{itemNo},#{seqNo},#{scheduleQty},0,0,dbo.Get_SOScheduleRouting_TimeRequired(#{site},#{orderRef1},#{itemNo},#{scheduleQty}),0,#{scheduleDate},#{scheduleDate}
  384. ,'*',#{remark},1,'N',0,'Y',#{scheduleDate},#{resourceId},#{shiftNo},#{workCenterNo}
  385. ,'N','N','N',dbo.Get_SOScheduleRouting_TimeRequired(#{site},#{orderRef1},#{itemNo},#{scheduleQty}),#{scheduleQty}
  386. ,'N','N',#{efficiency},GETDATE(),'日计划派工单',#{operatorId},#{partNo},#{orderNo},'N',#{createBy},0,0)
  387. </insert>
  388. <update id="updateScheduleListQty">
  389. update ScheduleList set scheduledQty=scheduledQty+#{sumQty} where Site=#{site} and OrderNo=#{orderNo} and itemNo=#{itemNo} and type=#{scheduleType}
  390. </update>
  391. <select id="searchReportedQty" resultType="SORoutingData">
  392. select top 1 isnull(a.QtyReported,0) QtyReported,isnull(SOP.TotalFinishedQty,0) lastApproveQty ,dbo.Get_PartWeightFactorForReport(#{site},#{partNo},#{orderNo}) as weightFactor,dbo.Get_sfdcReportedSetupTime(#{site},#{seqNo}) as timeReported,
  393. [dbo].[Get_Part_Cavity](#{site},#{partNo},#{orderNo}) as cavity
  394. from SORouting a
  395. LEFT JOIN SORoutingOutput SOP ON a.site=SOP.site and a.OrderNo=SOP.OrderNo and SOP.itemNo=dbo.Get_SORouting_PreviousOperationItemNo(a.site,a.OrderNo,a.itemNo)
  396. where a.Site=#{site} and a.OrderNo=#{orderNo} and a.itemNo=#{itemNo}
  397. </select>
  398. <select id="getSPBomQtyAssembly" resultType="com.heai.modules.app.entity.SoBomData">
  399. select QtyAssembly from SOBOM where site=#{site} and OrderNo=#{orderNo} and ComponentPartNo like 'SP%'
  400. </select>
  401. <select id="searchLastApproveQty" resultType="SORoutingData">
  402. select top 1 isnull(TotalFinishedQty,0) lastApproveQty from SORoutingOutput where Site=#{site} and OrderNo=#{orderNo} and itemNo=dbo.Get_SORouting_PreviousOperationItemNo(#{site},#{orderNo},#{itemNo})
  403. </select>
  404. <select id="getSOScheduleRoutingDataForShiyanshi" resultType="SOScheduledRoutingOutData">
  405. select a.Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,
  406. BarcodeID,Remark,Crewsize,ClosedFlag,S_ScheduledDate,S_ResourceID,S_ScheduledSeqNo,S_ShiftNo,
  407. S_WorkCenterNo, EnteredDate,scheduleType,operatorId,partNo,dbo.Get_Part_SpecDesc(a.Site,partNo) as partDesc,
  408. dbo.Get_OperatorDesc(a.Site,operatorId) as operatorName,dbo.Get_ItemDesc(a.Site,OrderNo,ItemNo) as itemDesc,orderRef1 ,
  409. dbo.Get_WorkCenterDesc(a.Site,S_WorkCenterNo) as workCenterDesc , dbo.Get_Part_SpecDesc(a.Site,partNo) as partSpec,circulation_seqNo,circulation_qty
  410. ,dbo.Get_PartWeightFactorForReport(a.site,PartNo,OrderNo) as weightFactor,dbo.Get_Part_UMID(a.Site,PartNo) umid,
  411. Round(dbo.Get_PartWeightFactorForReport(a.site,PartNo,OrderNo)*QtyRequired,2) as weight from SOScheduledRouting a
  412. <where>
  413. <if test="seqNo != null and seqNo != ''">
  414. AND a.seqNo = #{seqNo}
  415. </if>
  416. <if test="site != null and site != ''">
  417. AND a.site = #{site}
  418. </if>
  419. </where>
  420. order by S_ScheduledDate
  421. </select>
  422. <select id="getSOScheduleRoutingData" resultType="SOScheduledRoutingOutData">
  423. select a.Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,previousSeqNo,previousBatchNo,materSeqNo,
  424. BarcodeID,Remark,Crewsize,ClosedFlag,S_ScheduledDate,S_ResourceID,S_ScheduledSeqNo,S_ShiftNo,
  425. S_WorkCenterNo, EnteredDate,scheduleType,operatorId,partNo,dbo.Get_Part_SpecDesc(a.Site,partNo) as partDesc,
  426. dbo.Get_OperatorDesc(a.Site,operatorId) as operatorName,dbo.Get_ItemDesc(a.Site,OrderNo,ItemNo) as itemDesc,orderRef1 ,
  427. dbo.Get_WorkCenterDesc(a.Site,S_WorkCenterNo) as workCenterDesc , dbo.Get_Part_SpecDesc(a.Site,partNo) as partSpec,circulation_seqNo,circulation_qty
  428. ,dbo.Get_PartWeightFactorForReport(a.site,PartNo,OrderNo) as weightFactor,dbo.Get_Part_UMID(a.Site,PartNo) umid,
  429. Round(dbo.Get_PartWeightFactorForReport(a.site,PartNo,OrderNo)*QtyRequired,2) as weight from SOScheduledRouting a
  430. left join user_work_center uwc on a.site=uwc.site and a.S_WorkCenterNo =uwc.WorkCenterNo and uwc.userId=#{userId}
  431. <where>
  432. and uwc.WorkCenterNo is not null
  433. <if test="site != null and site != ''">
  434. AND a.site = #{site}
  435. </if>
  436. <if test="orderNo != null and orderNo != ''">
  437. AND OrderNo LIKE #{orderNo}
  438. </if>
  439. <if test="partDesc != null and partDesc != ''">
  440. AND dbo.Get_Part_SpecDesc(a.Site,partNo) LIKE #{partDesc}
  441. </if>
  442. <if test="seqNo != null ">
  443. AND seqNo = #{seqNo}
  444. </if>
  445. <if test="partNo != null and partNo != ''">
  446. AND PartNo LIKE #{partNo}
  447. </if>
  448. <if test="sWorkCenterNo != null and sWorkCenterNo != ''">
  449. AND S_WorkCenterNo LIKE #{sWorkCenterNo}
  450. </if>
  451. <if test="itemNo != null and itemNo != ''">
  452. and ItemNo = #{itemNo}
  453. </if>
  454. <if test="itemDesc != null and itemDesc != ''">
  455. and dbo.Get_ItemDesc(a.Site,OrderNo,ItemNo) = #{itemDesc}
  456. </if>
  457. <if test="closedFlag != null and closedFlag != ''">
  458. and ClosedFlag = #{closedFlag}
  459. </if>
  460. <if test="startDate != null ">
  461. and S_ScheduledDate >= #{startDate}
  462. </if>
  463. <if test="endDate != null ">
  464. and #{endDate} >= S_ScheduledDate
  465. </if>
  466. <if test="scheduleType != null and scheduleType != ''">
  467. and scheduleType = #{scheduleType}
  468. </if>
  469. <if test="reportFlag != null and reportFlag != ''">
  470. and ${reportFlag}
  471. </if>
  472. <if test="operatorName != null and operatorName != ''">
  473. and dbo.Get_OperatorDesc(a.Site,operatorId) like #{operatorName}
  474. </if>
  475. <if test="sResourceID != null and sResourceID != ''">
  476. and S_ResourceID like #{sResourceID}
  477. </if>
  478. <if test="sShiftNo != null and sShiftNo != ''">
  479. and S_ShiftNo = #{sShiftNo}
  480. </if>
  481. </where>
  482. order by S_ScheduledDate
  483. </select>
  484. <select id="checkUserSeqNo" resultType="SOScheduledRoutingOutData">
  485. select seqNo ,CancelReportFlag,a.mat_issueflag,a.site,a.OrderNo,a.ItemNo,a.QtyRequired,a.S_WorkCenterNo,a.operatorId,a.partNo,dbo.Get_Part_Spec(a.site,a.partNo) PartSpec
  486. ,PreviousSeqNo,PreviousBatchNo,materSeqNo from SOScheduledRouting a
  487. left join user_work_center uwc on a.site=uwc.site and a.S_WorkCenterNo =uwc.WorkCenterNo and uwc.userId=#{userId}
  488. where seqNo=#{seqNo} and uwc.WorkCenterNo is not null
  489. </select>
  490. <select id="checkLastItemReport" resultType="SORoutingData">
  491. SELECT max(ItemNo) itemNo,QtyReported FROM [dbo].[SORouting]
  492. <where>
  493. <if test="site != null and site != ''">
  494. AND site = #{site}
  495. </if>
  496. and orderNo=#{orderNo} and #{itemNo}>ItemNo
  497. </where>
  498. Group by QtyReported
  499. </select>
  500. <select id="getStockPrint" resultType="com.heai.modules.production.entity.StockPrintData">
  501. select a.TransNo,a.Site,a.WareHouseId,a.BatchNo,a.LocationId,a.PartNo,a.OrderNo,a.TransDate,a.Qty,a.PrintFlag,dbo.Get_PartDesc(a.Site,a.PartNo) as partDesc,Round(dbo.Get_Part_NetWeight(a.Site,a.PartNo)*a.Qty/1000,2) weight
  502. ,dbo.Get_WareHouseDesc(a.Site,a.WareHouseId) as wareHouseDesc,dbo.Get_Part_UMID(a.Site,a.PartNo) umid,dbo.get_expiredDate_print(a.Site,a.PartNo,a.BatchNo) expiredDate
  503. ,dbo.Get_StorePrintPartStatus(a.Site,a.PartNo,a.BatchNo) status,isnull(Round(b.QtyOnHand,3),0) QtyOnHand
  504. from StockPrint a
  505. left join InventoryStock b on a.Site=b.site and a.WareHouseId=b.WarehouseID and a.PartNo=b.PartNo and a.BatchNo=b.BatchNo and
  506. a.LocationId=b.LocationId
  507. <where>
  508. <if test="startDate != null ">
  509. and a.TransDate >= #{startDate}
  510. </if>
  511. <if test="endDate != null ">
  512. and #{endDate} >= a.TransDate -1
  513. </if>
  514. <if test="site != null and site != ''">
  515. AND a.site = #{site}
  516. </if>
  517. <if test="orderNo != null and orderNo != ''">
  518. AND a.orderNo LIKE #{orderNo}
  519. </if>
  520. <if test="seqNo != null and seqNo != ''">
  521. AND a.seqNo = #{seqNo}
  522. </if>
  523. <if test="printFlag != null and printFlag != ''">
  524. AND a.printFlag = #{printFlag}
  525. </if>
  526. <if test="batchNo != null and batchNo != ''">
  527. AND a.BatchNo LIKE #{batchNo}
  528. </if>
  529. <if test="partNo != null and partNo != ''">
  530. AND a.PartNo LIKE #{partNo}
  531. </if>
  532. </where>
  533. order by a.TransDate desc
  534. </select>
  535. <update id="updatePrintStock">
  536. update StockPrint set PrintFlag='Y' where Site=#{site} and TransNo=#{transNo}
  537. </update>
  538. <update id="updatePrintInfo">
  539. update print_info set status='Y' where Site=#{site} and orderref1=#{transNo}
  540. </update>
  541. <select id="checkFirstItem" resultType="SOScheduledRoutingOutData">
  542. select site,OrderNo,ItemNo from SORouting where orderNo=#{orderNo} and site=#{site} and #{itemNo} >itemNo order by itemNo desc
  543. </select>
  544. <select id="searchSeqNo" resultType="SOScheduledRoutingOutData">
  545. select top 1 Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,
  546. BarcodeID,Remark,Crewsize,ClosedFlag,S_ScheduledDate,S_ResourceID,S_ScheduledSeqNo,S_ShiftNo,
  547. S_WorkCenterNo, EnteredDate,scheduleType,operatorId,partNo,dbo.Get_PartDesc(Site,partNo) as partDesc,
  548. dbo.Get_OperatorDesc(Site,operatorId) as operatorName,dbo.Get_ItemDesc(site,orderNo,ItemNo) as itemDesc,orderRef1 ,
  549. dbo.Get_WorkCenterDesc(Site,S_WorkCenterNo) as workCenterDesc , dbo.Get_Part_SpecDesc(Site,partNo) as partSpec,closedFlag,outWorkFlag,ParkFlag,CancelReportFlag
  550. from SOScheduledRouting
  551. where site=#{site} and SeqNo=#{seqNo}
  552. </select>
  553. <select id="checkELevels" resultType="Integer">
  554. select isnull(E_Levels,-1) E_Levels from shoporder where site=#{site} and orderNo=#{orderNo}
  555. </select>
  556. <select id="checkShopOrderForTransfer" resultType="com.heai.modules.production.entity.ShopOrderData">
  557. select orderNo,PartNo from shoporder where site=#{site} and orderNo=#{orderNo}
  558. </select>
  559. <select id="checkReceiveFlag" resultType="com.heai.modules.production.entity.SOOpsTransferData">
  560. select a.TransNo from SOOpsTransferHeader a left join SOOpsTransferDetail b on a.site=b.site and a.TransNo=b.TransNo
  561. where a.site=#{site} and b.seqNo=#{seqNo} and a.Status='已录入' and a.NeedReceiveFlag='Y' and a.ToTypeFlag_DB='W'
  562. </select>
  563. <select id="checkNotInspectTransFer" resultType="com.heai.modules.production.entity.SOOpsTransferData">
  564. select a.TransNo from SOOpsTransferHeader a left join SOOpsTransferDetail b on a.site=b.site and a.TransNo=b.TransNo
  565. where a.site=#{site} and b.seqNo=#{seqNo} and a.Status='已录入' and a.NeedReceiveFlag='Y' and a.ToTypeFlag_DB='I'
  566. </select>
  567. <select id="getSOScheduledRoutingOutData" resultType="SOScheduledRoutingOutData">
  568. select Site,OrderNo,seqNo,itemNo from SOScheduledRouting where seqNo=#{seqNo}
  569. </select>
  570. <select id="checkItemNoForIssue" resultType="SORoutingData">
  571. select Site,OrderNo,itemNo from SORouting where Site=#{site} and orderNo=#{orderNo} and #{itemNo}>itemNo
  572. </select>
  573. <select id="getsfdcTimeHistData" resultType="com.heai.modules.production.entity.SfdcTimeHistData">
  574. select top 1 site,OrderNo,ItemNo,SeqNo,#{username} as Enteredby ,ClosedFlag,OutWorkFlag from SOScheduledRouting where site=#{site} and SeqNo=#{seqNo} and ClosedFlag='N'
  575. </select>
  576. <select id="getsfdcTimeHistAbnormal" resultType="com.heai.modules.production.entity.SfdcTimeHistData">
  577. select top 1 site,SeqNo,AbnormalCode,AbnormalRemark from SFDC_TimeHist where site=#{site} and SeqNo=#{seqNo} and EventType='D' order by HistSeqNo desc
  578. </select>
  579. <select id="getSeqNoSite" resultType="String">
  580. select site from SOScheduledRouting where SeqNo=#{seqNo}
  581. </select>
  582. <select id="checkSfdcTimeHistData" resultType="com.heai.modules.production.entity.SfdcTimeHistData">
  583. select site,OrderNo,ItemNo,SeqNo from SFDC_TimeHist where site=#{site} and seqNo=#{seqNo} and EventDesc='开始生产' and CompletedFlag='N'
  584. </select>
  585. <select id="getHistSeqNo" resultType="Integer">
  586. select isnull(max(HistSeqNo),0)+1 from SFDC_TimeHist where site=#{site} and seqNo=#{seqNo}
  587. </select>
  588. <update id="updateSfdcTimeHistDataContinue" >
  589. Update SFDC_TimeHist set CompletedFlag='Y' ,TillTime=GETDATE(),TillEnteredTime=GETDATE(),TillEnteredBy=#{enteredby},TotalTime=Round(datediff(mi,EventTime,GETDATE())/60.0,2) where SeqNo=#{seqNo,jdbcType=INTEGER} and Site=#{site} and CompletedFlag='N' and EventDesc='暂停生产'
  590. </update>
  591. <update id="updateStopWork" >
  592. update SOScheduledRouting set OutWorkFlag=#{flag} where Site=#{site} and seqNo=#{seqNo}
  593. </update>
  594. <insert id="saveSfdcTimeHistDataStart">
  595. insert into SFDC_TimeHist (Site,OrderNo,ItemNo,SeqNo,HistSeqNo,EventTime,Enteredby,EventDesc,DowntimeCode,EventType,LinkHistSeqNo,TillTime,TillEnteredTime,
  596. TillEnteredBy,CompletedFlag,TotalTime,DowntimePhaseIn,RollNo) values
  597. (#{site},#{orderNo},#{itemNo},#{seqNo},#{histSeqNo},GetDate(),#{enteredby},'开始生产','','P',null,null,null,null,'N',0,'','*')
  598. </insert>
  599. <insert id="saveSfdcTimeHistDataStop">
  600. insert into SFDC_TimeHist (Site,OrderNo,ItemNo,SeqNo,HistSeqNo,EventTime,Enteredby,EventDesc,DowntimeCode,EventType,LinkHistSeqNo,TillTime,TillEnteredTime,
  601. TillEnteredBy,CompletedFlag,TotalTime,DowntimePhaseIn,RollNo,AbnormalCode,AbnormalRemark) values
  602. (#{site},#{orderNo},#{itemNo},#{seqNo},#{histSeqNo},GetDate(),#{enteredby},'暂停生产','','D',null,null,null,null,'N',0,'','*',#{abnormalCode},#{abnormalRemark})
  603. </insert>
  604. <select id="getOldSOScheduledRoutingOutData" resultType="SOScheduledRoutingOutData">
  605. select Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,PlanStartTime,PlanFinishTime,
  606. BarcodeID,Remark,Crewsize,ClosedFlag,QtyScrapt,OutWorkFlag,S_ScheduledDate,S_ResourceID,S_ScheduledSeqNo,S_ShiftNo,
  607. S_WorkCenterNo,ParkFlag,TimeRequired_Original,QtyRequired_Original,QtyReturntoSchedule,StartProdFlag,CancelledProdFlag,
  608. Efficiency,EnteredDate,SelectedFlag,SourceFlag,Closedby,ClosedDate,VirtualResourceFlag,mat_issueflag,plate_issueflag,
  609. tool_issueflag,scheduleType,operatorId,partNo,orderRef1,circulation_seqNo,circulation_qty from SOScheduledRouting where
  610. site=#{site} and seqNo=#{seqNo}
  611. </select>
  612. <update id="closeOldSchedule">
  613. update SOScheduledRouting set ClosedFlag='Y',circulation_seqNo=#{newSeqNo},circulation_qty=#{circulationQty} where site=#{site} and seqNo=#{oldSeqNo}
  614. </update>
  615. <insert id="saveCirculationSchedule" >
  616. INSERT into SOScheduledRouting (Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,PlanStartTime,PlanFinishTime,
  617. BarcodeID,Remark,Crewsize,ClosedFlag,QtyScrapt,OutWorkFlag,S_ScheduledDate,S_ResourceID,S_ScheduledSeqNo,S_ShiftNo,
  618. S_WorkCenterNo,ParkFlag,TimeRequired_Original,QtyRequired_Original,QtyReturntoSchedule,StartProdFlag,CancelledProdFlag,
  619. Efficiency,EnteredDate,SelectedFlag,SourceFlag,Closedby,ClosedDate,VirtualResourceFlag,mat_issueflag,plate_issueflag,
  620. tool_issueflag,scheduleType,operatorId,partNo,orderRef1) values
  621. (#{site},#{orderNo},#{itemNo},#{seqNo},#{qtyRequired},0,0,0,0,#{planStartTime},#{planFinishTime},
  622. #{barcodeID},#{remark},#{crewsize},'N',0,'Y',#{sScheduledDate},#{sResourceID},#{sScheduledSeqNo},#{sShiftNo},
  623. #{sWorkCenterNo},#{parkFlag},#{timeRequiredOriginal},#{qtyRequiredOriginal},null,'N','N',
  624. 0,GetDate(),'N','N',NULL,NULL,NULL,#{matIssueflag},'N','N',#{scheduleType},#{operatorId},#{partNo},#{orderRef1}
  625. )
  626. </insert>
  627. <update id="closeSchedule">
  628. update SOScheduledRouting set ClosedFlag='Y' where site=#{site} and seqNo=#{seqNo}
  629. </update>
  630. <select id="getTransData" resultType="com.heai.modules.production.entity.SOOpsTransferData">
  631. select top 1 a.TransNo,a.Site,b.FromWorkCenterNo WorkCenterNo ,b.OrderNo,b.TransQty,a.TransDate,b.PartNo,b.seqNo,dbo.Get_Part_SpecDesc(a.Site,b.PartNo) partDesc
  632. ,dbo.Get_Part_UMID(a.Site,b.PartNo) umid,'trans' as type ,b.OrderRef5
  633. FROM SOOpsTransferHeader a left join SOOpsTransferDetail b on a.site=b.site and a.TransNo=b.TransNo
  634. where a.TransNo=#{transNo} and a.Site=#{site} and ToTypeFlag_DB!='I'
  635. </select>
  636. <select id="searchTaskTransNo" resultType="String">
  637. select top 1 TransNo from SOOpsTransferDetail where OrderNo=#{taskNo} and site=#{site}
  638. </select>
  639. <select id="transFerSearch" resultType="com.heai.modules.production.entity.SOOpsTransferData">
  640. SELECT a.transNo ,a.site,b.seqNo,a.TransDate,b.TransQty ,b.OrderNo ,b.PartNo,c.PartDescription as partDesc
  641. FROM SOOpsTransferHeader a LEFT JOIN SOOpsTransferDetail b on a.TransNo=b.TransNo and a.site=b.Site
  642. LEFT JOIN Part c on b.PartNo=c.PartNo and b.site=c.site
  643. <where>
  644. and a.Status='已录入' and a.ToTypeFlag_DB not in ('I','Q')
  645. <if test="startDate != null ">
  646. and TransDate >= #{startDate}
  647. </if>
  648. <if test="endDate != null ">
  649. and #{endDate} >= TransDate -1
  650. </if>
  651. <if test="site != null and site != ''">
  652. AND a.site = #{site}
  653. </if>
  654. <if test="orderNo != null and orderNo != ''">
  655. AND orderNo LIKE #{orderNo}
  656. </if>
  657. <if test="seqNo != null and seqNo != ''">
  658. AND seqNo = #{seqNo}
  659. </if>
  660. <if test="partNo != null and partNo != ''">
  661. AND b.PartNo LIKE #{partNo}
  662. </if>
  663. </where>
  664. ORDER BY a.TransDate
  665. </select>
  666. <select id="getPartCardPrintData" resultType="com.heai.modules.production.entity.PartCardPrintData">
  667. select top 1 a.orderNo,a.partNo,c.partDescription+'/'+C.Spec as partDesc,a.QtyRequired,a.S_ScheduledDate,
  668. dbo.Get_OperatorDesc(a.site,a.operatorId) OperatorName ,c.ToExpireDays,b.TechInfo,c.remark,Round(dbo.Get_PartWeightFactorForReport(a.site,a.PartNo,a.OrderNo)*a.QtyRequired,2) as weight
  669. from SOScheduledRouting a left join ShopOrder b on a.site=b.site and a.OrderNo=b.OrderNo
  670. left join part c on a.partNo=c.PartNo and a.site=c.site
  671. where a.site=#{site} and a.seqNo=#{seqNo}
  672. </select>
  673. <select id="checkTool" resultType="com.heai.modules.production.entity.SOToolData">
  674. select ToolID from SOTool where site=#{site} and OrderNo=#{orderNo} and itemNo=#{itemNo}
  675. </select>
  676. <select id="getHunlianTaskNo" resultType="String">
  677. select 'HL'+CONVERT(varchar(100), GETDATE(), 112)+ Right( '00000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(TaskNo, 11,4))),0)+1) ,4) from Hunlian_TaskHeader where TaskNo like 'HL'+CONVERT(varchar(100), GETDATE(), 112)+'%'
  678. </select>
  679. <insert id="saveHunlianTaskDetailData" >
  680. insert into Hunlian_TaskDetail (Site,TaskNo,OrderNo,OrderRef1,OrderRef2,OrderQty,HunlianQty,OrderDate,PartNo,HunlianPartNo)
  681. select top 1 #{site},#{taskNo},#{orderNo},#{orderRef1},SO.OrderNo, SOT.OrderQty,#{hunlianQty},#{orderDate},SOT.partNo,#{hunlianPartNo}
  682. from SOTaskOrderHeader SOT
  683. left join ShopOrder t on t.site=#{site} and t.orderNo=#{orderRef1}
  684. left join ShopOrder SO on SOT.site=SO.Site and t.orderNo=SO.Prelev_order_no and t.E_OriginalOrderType=SO.E_OriginalOrderType and (SO.PartNo like 'RC%' or SO.PartNo like 'SC%' )
  685. where SOT.site=#{site} and SOT.orderNo=#{orderNo}
  686. </insert>
  687. <select id="getShopOrderScheduledQty" resultType="Double">
  688. select SUM(QtyRequired-isnull(circulation_qty,0)) from SOScheduledRouting where site=#{site} and OrderNo=#{orderNo} and itemNo=#{itemNo}
  689. </select>
  690. <select id="getOrderNoLotSizeSchedulingSize" resultType="com.heai.modules.production.entity.ShopOrderData">
  691. select lotSize, dbo.Get_PartPlanQty(site,PartNo,OrderNo) schedulingSize from ShopOrder where site=#{site} and OrderNo=#{orderNo}
  692. </select>
  693. <select id="checkTask" resultType="com.heai.modules.production.entity.HunlianTaskDetailData">
  694. select OrderNo as orderRef1 ,orderNo_hunlian as orderNo FROM view_KANBAN_SO_Hunlian_Plan
  695. where site=#{site} and (erpStatus='已取消' or FinishedFlag in ('2','3') or dispatched_hunlian='Y' ) and orderNo_hunlian in
  696. (select orderNo from Hunlian_TaskDetail where site=#{site} and TaskNo=#{taskNo} )
  697. </select>
  698. <update id="updateSOTaskDispatchedFlag" >
  699. update SOTaskOrderHeader set dispatched_hunlian =#{flag} where site=#{site} and orderNo in
  700. (select orderNo from Hunlian_TaskDetail where site=#{site} and TaskNo=#{taskNo} )
  701. </update>
  702. <update id="updateTaskReportFlag" >
  703. update Hunlian_TaskHeader set ReportFlag=#{flag} ,ReportQty=#{reportQty},reportReal=#{qtyReal} where site=#{site} and TaskNo=#{taskNo}
  704. </update>
  705. <insert id="saveHunlianTaskHeaderData" >
  706. insert into Hunlian_TaskHeader (Site,TaskNo,TaskQty,PartNo,CreateDate,CreateBy,ReportFlag,ReportQty,DeleteFlag,WareHouseFlag,WareHouseQty,Remark,OrderRef1)
  707. values(#{site},#{taskNo},#{taskQty},#{partNo},GetDate(),#{createBy},'N',0,'N','N',0,#{remark},#{orderRef1})
  708. </insert>
  709. <select id="getPartNoOnHand" resultType="com.heai.modules.production.entity.InventoryStockSearchData">
  710. select site,partNo, Round(sum(QtyOnHand),2) QtyOnHand from InventoryStock where site=#{site} and partNo=#{partNo} group by site,partNo
  711. </select>
  712. <select id="getHunlianTaskData" resultType="com.heai.modules.production.entity.HunlianData">
  713. select a.Site,a.TaskNo,a.TaskQty,a.PartNo,a.CreateDate,a.CreateBy,a.ReportFlag,a.ReportQty,dbo.Get_Part_SpecDesc(a.Site,a.PartNo) as partDesc
  714. ,b.toExpireDays,a.WareHouseFlag,a.remark,a.orderRef1
  715. from Hunlian_TaskHeader a
  716. left join part b on a.site=b.site and a.PartNo=b.partNo
  717. <where>
  718. and a.deleteFlag='N'
  719. <if test="startDate != null ">
  720. and a.CreateDate >= #{startDate}
  721. </if>
  722. <if test="endDate != null ">
  723. and #{endDate} >= a.CreateDate -1
  724. </if>
  725. <if test="reportFlag != null and reportFlag != ''">
  726. AND a.reportFlag = #{reportFlag}
  727. </if>
  728. <if test="partNo != null and partNo != ''">
  729. AND a.partNo like #{partNo}
  730. </if>
  731. <if test="taskNo != null and taskNo != ''">
  732. AND a.taskNo LIKE #{taskNo}
  733. </if>
  734. </where>
  735. ORDER BY a.CreateDate
  736. </select>
  737. <select id="getHunlianTaskDetailData" resultType="com.heai.modules.production.entity.HunlianTaskDetailData">
  738. select a.Site,a.TaskNo,a.OrderNo,a.OrderRef1,a.OrderRef2,a.OrderQty,a.HunlianQty,a.OrderDate,a.PartNo,a.HunlianPartNo,
  739. dbo.Get_Part_SpecDesc(a.Site,a.HunlianPartNo) as partDesc
  740. from Hunlian_TaskDetail a
  741. where site=#{site} and TaskNo=#{taskNo}
  742. </select>
  743. <select id="getHunlianTaskDetailDataSum" resultType="com.heai.modules.production.entity.HunlianTaskDetailData">
  744. select a.Site,a.TaskNo,a.OrderRef2,SUM(a.HunlianQty) HunlianQty,a.HunlianPartNo
  745. from Hunlian_TaskDetail a
  746. where site=#{site} and TaskNo=#{taskNo}
  747. GROUP BY a.Site,a.TaskNo,a.OrderRef2,a.HunlianPartNo
  748. </select>
  749. <select id="checkTaskHeader" resultType="com.heai.modules.production.entity.HunlianData">
  750. select Site,TaskNo,TaskQty,PartNo,CreateDate,CreateBy,ReportFlag,ReportQty,DeleteFlag,DeleteBy,DeleteDate,WareHouseFlag,orderRef1 from Hunlian_TaskHeader
  751. where site=#{site} and DeleteFlag='N' and TaskNo=#{taskNo}
  752. </select>
  753. <select id="checkTaskOrder" resultType="com.heai.modules.production.entity.HunlianData">
  754. select orderNo from shopOrder where status in ('已取消','已关闭') and site=#{site} and orderNo in (select orderRef1 from Hunlian_TaskDetail where site=#{site}
  755. and taskNo=#{taskNo} )
  756. </select>
  757. <update id="deleteTask">
  758. update Hunlian_TaskHeader set DeleteFlag='Y',DeleteBy=#{userId},DeleteDate=GetDate() where site=#{site} and TaskNo=#{taskNo}
  759. </update>
  760. <update id="updateSOTaskReport" parameterType="com.heai.modules.production.entity.DailyReportInData">
  761. update SOTaskOrderHeader SET Qtyfinished=Round(#{reportQty}*#{orderQty}/#{taskQty},1),ReportTime=GetDate(),FinishFlag='Y',ReportBy=#{userId} ,InputQty=Round(#{reportQty}*#{hunlianQty}/#{taskQty},1) where OrderNo=#{orderNo} and site =#{site}
  762. </update>
  763. <update id="cancelReportSOTask" parameterType="com.heai.modules.production.entity.HunlianData">
  764. update SOTaskOrderHeader SET Qtyfinished=0,ReportTime=null,FinishFlag='N',ReportBy=null ,InputQty=0 where site =#{site} and orderNo in (select orderNo from Hunlian_TaskDetail where site =#{site} and taskNo=#{taskNo})
  765. </update>
  766. <insert id="saveSOOpsTransferHeader">
  767. INSERT INTO SOOpsTransferHeader (TransNo,Site,FromProLineNo,ToProLineNo,ToWarehouseID,FromEnteredby,FromEnteredDate,TransDate,ToReceiver,FromReceiver,
  768. FromRemark,ToRemark,ConfirmedFlag,ToConfirmedBy,ToEnteredby,LatestUpdatedBy,LatestUpdatedDate,RecordVersion,
  769. Status,ToTypeFlag_DB,ToTypeFlag,ConfirmedTransNo,need_inspect_flag,NeedReceiveFlag) VALUES
  770. (#{transNo},#{site},'*','*','*',#{userId},GETDATE(),GETDATE(),'',#{userId},
  771. '','','N','N','',#{userId},GETDATE(),'0',
  772. '已录入','W','混炼胶入库','','Y','N')
  773. </insert>
  774. <insert id="saveSOOpsTransferDetail">
  775. INSERT INTO SOOpsTransferDetail (TransNo,Site,ItemNo,FromOpsID,FromWorkCenterNo,ToWorkCenterNo,ToOpsID,OrderNo,PartNo,TransQty,ConfirmQty,TaskNo,InsStatus,
  776. ToConfirmQty) VALUES
  777. ( #{transNo},#{site},1,1,'*','',0,#{taskNo},#{partNo},#{reportQty},0,#{taskNo},'合格',0)
  778. </insert>
  779. <insert id="saveSOOpsTransferHeaderForShiYanShi">
  780. INSERT INTO SOOpsTransferHeader (TransNo,Site,FromProLineNo,ToProLineNo,ToWarehouseID,FromEnteredby,FromEnteredDate,TransDate,ToReceiver,FromReceiver,
  781. FromRemark,ToRemark,ConfirmedFlag,ToConfirmedBy,ToEnteredby,RecordVersion,
  782. Status,ToTypeFlag_DB,ToTypeFlag,ConfirmedTransNo,need_inspect_flag,NeedReceiveFlag,inspect_remark) VALUES
  783. (#{transNo},#{site},'*','*','*',#{operatorId},GETDATE(),GETDATE(),'',#{operatorId},
  784. '','','N','N','','0',
  785. '已录入','I',#{toTypeFlag},'','Y','N',#{inspectRemark})
  786. </insert>
  787. <insert id="saveSOOpsTransferDetailForShiYanShi">
  788. INSERT INTO SOOpsTransferDetail (TransNo,Site,ItemNo,FromOpsID,FromWorkCenterNo,ToWorkCenterNo,ToOpsID,OrderNo,PartNo,TransQty,ConfirmQty,TaskNo,InsStatus,
  789. ToConfirmQty,seqNo) VALUES
  790. ( #{transNo},#{site},1,1,#{sWorkCenterNo},'',0,#{orderNo},#{partNo},#{qtyRequired},0,#{orderNo},'待检验',0,#{seqNo})
  791. </insert>
  792. <select id="getTransNo" resultType="String">
  793. select 'OT'+CONVERT(varchar(100), GETDATE(), 112)+ Right( '00000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(TransNo, 11,4))),0)+1) ,4)
  794. from SOOpsTransferHeader where TransNo like 'OT'+CONVERT(varchar(100), GETDATE(), 112)+'%'
  795. </select>
  796. <select id="checkLocationId" resultType="com.heai.modules.production.entity.LocationData">
  797. select LocationID,Site,LocationName,WareHouseID,Keeper,Active
  798. from Location where site=#{site} and LocationID=#{locationId}
  799. </select>
  800. <delete id="deleteSOOpsTransferHeader">
  801. update SOOpsTransferHeader set Status='已取消' where site=#{site} and transNo=#{transNo}
  802. </delete>
  803. <delete id="deleteSOOpsTransferDetail">
  804. delete from SOOpsTransferDetail where site=#{site} and transNo=#{transNo}
  805. </delete>
  806. <select id="getSfdcList" resultType="com.heai.modules.production.entity.SfdcCancel">
  807. select a.site,a.OrderNo,a.ItemNo ,a.SeqNo,a.WorkCenterNo,a.ReportDate,a.OperatorID,a.ReportQty,a.ApproveQty,a.ReportedManfTime,a.StatisticDate,
  808. a.AssJobSeqNo,a.Scheduled_ResourceId ResourceID,b.S_ShiftNo ShiftNo,b.partNo,dbo.Get_ItemDesc(a.site,a.OrderNo,a.ItemNo) operation_desc,c.OperatorName,b.S_ShiftNo ShiftDesc,e.ResourceDesc,Reverseflag
  809. ,a.reportWeight,a.approveWeight,a.moldQty,a.stopTime,dbo.Get_Part_Spec(a.site,b.partNo) partSpec,dbo.Get_PartDesc(a.site,b.partNo) PartDesc,wasteWeight
  810. from sfdc a LEFT JOIN SOScheduledRouting b on a.Site=b.Site and a.AssJobSeqNo=b.SeqNo
  811. left join Operator c on a.site=c.site and a.OperatorID=c.OperatorID
  812. left join WorkCenterResource e on a.Site=e.Site and a.Scheduled_ResourceId =e.ResourceID and a.WorkCenterNo=e.WorkCenterNo
  813. <where>
  814. and a.AssJobSeqNo is not null
  815. <if test="orderNo != null and orderNo != ''">
  816. and a.OrderNo like #{orderNo}
  817. </if>
  818. <if test="workCenterNo != null and workCenterNo != ''">
  819. and a.WorkCenterNo like #{workCenterNo}
  820. </if>
  821. <if test="partNo != null and partNo != ''">
  822. and b.partNo like #{partNo}
  823. </if>
  824. <if test="itemNo != null and itemNo != ''">
  825. and a.ItemNo = #{itemNo}
  826. </if>
  827. <if test="partDesc != null and partDesc != ''">
  828. and dbo.Get_Part_SpecDesc(a.site,b.partNo) like #{partDesc}
  829. </if>
  830. <if test="operatorName != null and operatorName != ''">
  831. and c.OperatorName like #{operatorName}
  832. </if>
  833. <if test="resourceId != null and resourceId != ''">
  834. and a.Scheduled_ResourceId = #{resourceId}
  835. </if>
  836. <if test="shiftNo != null and shiftNo != ''">
  837. and b.S_ShiftNo = #{shiftNo}
  838. </if>
  839. <if test="startDate != null ">
  840. and ReportDate >= #{startDate}
  841. </if>
  842. <if test="endDate != null ">
  843. and #{endDate} >= ReportDate
  844. </if>
  845. <if test="seqNo != null and seqNo != '' ">
  846. and a.AssJobSeqNo = #{seqNo}
  847. </if>
  848. </where>
  849. order by a.ReportDate desc
  850. </select>
  851. <update id="changeReceiveFlag">
  852. update SOOpsTransferHeader set NeedReceiveFlag=#{flag} from SOOpsTransferDetail b where SOOpsTransferHeader.site=b.site
  853. and SOOpsTransferHeader.transNo=b.transNo and SOOpsTransferHeader.status='已录入' and SOOpsTransferHeader.ToTypeFlag_DB='W' and
  854. b.seqNo=#{seqNo} and SOOpsTransferHeader.site=#{site}
  855. </update>
  856. <select id="getAllDepartment" resultType="OperatorData">
  857. select distinct isnull(Department,'') Department from Operator
  858. </select>
  859. <update id="updateLastStartTime" >
  860. update SORoutingOutput set LastStartTime=GetDate() where Site=#{site} and orderNo=#{orderNo} and itemNo=#{itemNo}
  861. </update>
  862. <select id="checkSORoutingOutput" resultType="SOScheduledRoutingOutData">
  863. select site,orderNo from SORoutingOutput where Site=#{site} and orderNo=#{orderNo} and itemNo=#{itemNo}
  864. </select>
  865. <insert id="createSORoutingOutput" >
  866. insert into SORoutingOutput (Site,OrderNo,ItemNo,TotalFinishedQty) values
  867. (#{site},#{orderNo},#{itemNo},0)
  868. </insert>
  869. <select id="getLevelOneOrderNo" resultType="SOScheduledRoutingOutData">
  870. select site,E_OriginalOrderNo OrderNo from shopOrder where orderNo=#{orderNo}
  871. </select>
  872. <update id="updateStockNewDate">
  873. update InventoryStock set ExpiredDate_new=#{newDate} where Site=#{site} and WarehouseID=#{warehouseID} and PartNo=#{partNo} and BatchNo=#{barchNo} and LocationID=#{locationID}
  874. </update>
  875. <select id="checkTV" resultType="com.heai.modules.production.entity.TvSopBaseData">
  876. select tv_id,work_station,now_seqNo,now_operator,sopAddress,badAddress from tv_sop_base
  877. where tv_id=#{tvId}
  878. </select>
  879. <update id="updateTV" >
  880. update Operator set tv_id=#{tvId} where site=#{site} and OperatorID=#{operatorID}
  881. </update>
  882. <select id="getTvList" resultType="com.heai.modules.production.entity.TvSopBaseData">
  883. select tv_id,work_station,now_seqNo,now_operator,sopAddress,badAddress from tv_sop_base
  884. <where>
  885. <if test="tvId != null and tvId != ''">
  886. and tv_id like #{tvId}
  887. </if>
  888. <if test="workStation != null and workStation != ''">
  889. AND work_station = #{workStation}
  890. </if>
  891. </where>
  892. </select>
  893. <update id="updateWorkStation">
  894. update tv_sop_base set work_station=#{workStation} where tv_id=#{tvId}
  895. </update>
  896. <select id="getPreviousSOSData" resultType="SOScheduledRoutingOutData">
  897. select PreviousSeqNo,PreviousBatchNo,materSeqNo from SOScheduledRouting where seqNo=#{previousSeqNo,jdbcType=INTEGER}
  898. </select>
  899. <update id="updatePreviousSOSData">
  900. update SOScheduledRouting set PreviousSeqNo=#{previousSeqNo,jdbcType=INTEGER},PreviousBatchNo=#{previousBatchNo},materSeqNo=#{materSeqNo,jdbcType=INTEGER}
  901. where seqNo=#{seqNo}
  902. </update>
  903. <select id="sfdcCheck" resultType="com.heai.modules.production.entity.SfdcCancel">
  904. select Site,OrderNo,ItemNo,SeqNo from SFDC where AssJobSeqNo=#{seqNo}
  905. </select>
  906. </mapper>