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

746 lines
40 KiB

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
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
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
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
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 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
4 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
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
3 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
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
3 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
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
4 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.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="orderNo != null and orderNo != ''">
  16. AND a.OrderNo LIKE #{orderNo}
  17. </if>
  18. <if test="status !=null and status != ''">
  19. AND a.Status IN ${status}
  20. </if>
  21. <if test="startDate1 != null ">
  22. AND a.EnterDate >= #{startDate1}
  23. </if>
  24. <if test="endDate1 != null ">
  25. AND #{endDate1} >= DATEADD(dd, -1, a.EnterDate)
  26. </if>
  27. <if test="startDate2 != null ">
  28. AND a.PlanStartDate >= #{startDate2}
  29. </if>
  30. <if test="endDate2 != null ">
  31. AND #{endDate2} >= a.PlanStartDate
  32. </if>
  33. <if test="startDate3 != null ">
  34. AND a.NeedDate >= #{startDate3}
  35. </if>
  36. <if test="endDate3 != null ">
  37. AND #{endDate3} >= a.NeedDate
  38. </if>
  39. <if test="partNo != null and partNo != ''">
  40. AND a.PartNo LIKE #{partNo}
  41. </if>
  42. <if test="planStatus != null and planStatus != ''">
  43. and ${planStatus}
  44. </if>
  45. AND a.E_Levels=1
  46. </where>
  47. order by a.PlanStartDate
  48. </select>
  49. <select id="getGenerateReportList" resultType="com.heai.modules.production.entity.GenerateReportData">
  50. Select T.Site,T.OrderNo,T.ItemNo,T.OperationDesc,T.WorkCenterNo,W.WorkCenterDesc,T.QtyRequired,T.QtyReported
  51. ,T.QtyApprove ,T.TimeRequired,T.TimeReported,T.PlanStartTime,T.PlanFinishTime
  52. ,T.ClosedFlag,T.PartNo,P.PartDescription,P.Spec,D.NeedDate,D.PlanStartDate,D.Status
  53. ,D.LotSize,D.FinishedQty
  54. from SORouting as T,ShopOrder as D,WorkCenter as W,Part as P
  55. <where>
  56. T.Site=D.Site and T.OrderNo=D.OrderNo and T.Site=W.Site and T.WorkCenterNo=W.WorkCenterNo
  57. and D.Site=P.Site and D.PartNo=P.PartNo
  58. <if test="site != null and site != ''">
  59. and T.site = #{site,jdbcType=VARCHAR}
  60. </if>
  61. <if test="workCenterNo != null and workCenterNo != ''">
  62. and T.WorkCenterNo like '%' + #{workCenterNo,jdbcType=VARCHAR} + '%'
  63. </if>
  64. <if test="partNo != null and partNo != ''">
  65. and T.PartNo like '%' + #{partNo,jdbcType=VARCHAR} + '%'
  66. </if>
  67. <if test="orderNo != null and orderNo != ''">
  68. and T.OrderNo like '%' + #{orderNo,jdbcType=VARCHAR} + '%'
  69. </if>
  70. </where>
  71. </select>
  72. <select id="getShopOrderForHunlian" resultType="com.heai.modules.production.entity.ShopOrderData">
  73. select A.OrderNo ,A.Site ,A.EnterDate ,A.UserName ,A.NeedDate ,A.OriginalNeedDate ,A.PlanStartDate ,A.ReleaseDate
  74. ,A.ReleaseGuys ,A.ScheduleDate ,A.Scheduler ,A.IssueDate ,A.ReportDate ,A.ReceiveDate ,A.CloseDate
  75. ,A.Planner ,A.Status ,A.Status_Tmp ,A.Printed ,A.OrderType ,A.PartNo ,A.LotSize ,A.FinishedQty
  76. ,A.ProjectID ,A.BOMRevNo ,A.RoutingRevNo ,A.Leadtime ,A.Remark ,A.OrderRef1 ,A.OrderRef2 ,A.CostRollUpFlag
  77. ,A.ManualFlag ,A.OriSOOrderNo ,A.CustomerID ,A.TechInfo ,A.ReceiveStatus ,A.E_OriginalOrderNo
  78. ,A.E_Levels ,A.E_OriginalOrderType ,A.E_SeqNo ,A.E_LevelCode ,A.SFDCReportedFlag ,A.RepairSOFlag
  79. ,A.ConfigurationFlag ,A.MaterialSplitFlag ,A.ObjectVersion ,A.ExpandFlag ,A.CodeNo ,A.LE_SeqNo
  80. ,A.LE_ItemNo ,A.LE_Levels
  81. ,B.PartDescription,dbo.Get_PartWeightFactorForReport(A.Site ,A.PartNo,A.OrderNo) as weightFactor,
  82. Round(dbo.Get_PartWeightFactorForReport(A.Site ,A.PartNo,A.OrderNo)*A.LotSize,2) weight
  83. from ShopOrder A
  84. left join Part B on A.site = B.site and A.PartNo = B.PartNo
  85. <where>
  86. and A.E_Levels=2
  87. <if test="site != null and site != ''">
  88. and A.Site = #{site,jdbcType=VARCHAR}
  89. </if>
  90. <if test="orderNo != null and orderNo != ''">
  91. and A.OrderNo = #{orderNo,jdbcType=VARCHAR}
  92. </if>
  93. </where>
  94. </select>
  95. <select id="getShopOrderList" resultType="com.heai.modules.production.entity.ShopOrderData">
  96. select A.OrderNo ,A.Site ,A.EnterDate ,A.UserName ,A.NeedDate ,A.OriginalNeedDate ,A.PlanStartDate ,A.ReleaseDate
  97. ,A.ReleaseGuys ,A.ScheduleDate ,A.Scheduler ,A.IssueDate ,A.ReportDate ,A.ReceiveDate ,A.CloseDate
  98. ,A.Planner ,A.Status ,A.Status_Tmp ,A.Printed ,A.OrderType ,A.PartNo ,A.LotSize ,A.FinishedQty
  99. ,A.ProjectID ,A.BOMRevNo ,A.RoutingRevNo ,A.Leadtime ,A.Remark ,A.OrderRef1 ,A.OrderRef2 ,A.CostRollUpFlag
  100. ,A.ManualFlag ,A.OriSOOrderNo ,A.CustomerID ,A.TechInfo ,A.ReceiveStatus ,A.E_OriginalOrderNo
  101. ,A.E_Levels ,A.E_OriginalOrderType ,A.E_SeqNo ,A.E_LevelCode ,A.SFDCReportedFlag ,A.RepairSOFlag
  102. ,A.ConfigurationFlag ,A.MaterialSplitFlag ,A.ObjectVersion ,A.ExpandFlag ,A.CodeNo ,A.LE_SeqNo
  103. ,A.LE_ItemNo ,A.LE_Levels
  104. ,B.PartDescription
  105. from ShopOrder A
  106. left join Part B on A.site = B.site and A.PartNo = B.PartNo
  107. <where>
  108. <if test="site != null and site != ''">
  109. and A.Site = #{site,jdbcType=VARCHAR}
  110. </if>
  111. <if test="orderNo != null and orderNo != ''">
  112. and A.OrderNo = #{orderNo,jdbcType=VARCHAR}
  113. </if>
  114. </where>
  115. </select>
  116. <select id="getTransfer" resultType="com.heai.modules.production.entity.ShopOrderData">
  117. 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
  118. from SOOpsTransferHeader a left join SOOpsTransferDetail b on a.TransNo=b.TransNo and a.Site=b.Site
  119. LEFT JOIN Part c on b.partNo=c.partNo and c.site=a.site
  120. <where>
  121. <if test="transFerNo != null and transFerNo != ''">
  122. and a.TransNo = #{transFerNo}
  123. </if>
  124. </where>
  125. </select>
  126. <select id="getOperatorData" resultType="com.heai.modules.production.entity.OperatorData" >
  127. select Site,OperatorID,OperatorName,Active,Department,CreatedDate,Passwords,LineLeader
  128. from Operator
  129. <where>
  130. <if test="site != null and site != ''">
  131. and Site = #{site}
  132. </if>
  133. <if test="operatorID != null and operatorID != ''">
  134. and OperatorID like #{operatorID,jdbcType=VARCHAR}
  135. </if>
  136. <if test="operatorName != null and operatorName != ''">
  137. and OperatorName like #{operatorName}
  138. </if>
  139. <if test="active != null and active != ''">
  140. and Active = #{active}
  141. </if>
  142. </where>
  143. order by CreatedDate
  144. </select>
  145. <select id="getWorkCenterData" resultType="WorkCenterData">
  146. select a.Site,a.WorkCenterNo,a.WorkCenterDesc,a.Active FROM WorkCenter a left join
  147. operator_work_center b on a.Site=b.Site and a.WorkCenterNo=b.WorkCenterNo and b.OperatorID=#{operatorID}
  148. where a.site=#{site} and b.WorkCenterNo is null
  149. order by a.WorkCenterNo
  150. </select>
  151. <select id="getWorkCenterOperatorData" resultType="WorkCenterData">
  152. select a.Site,a.WorkCenterNo,b.WorkCenterDesc,b.Active FROM operator_work_center a left join
  153. WorkCenter b on a.Site=b.Site and a.WorkCenterNo=b.WorkCenterNo
  154. where a.site=#{site} and a.OperatorID=#{operatorID}
  155. order by a.WorkCenterNo
  156. </select>
  157. <insert id="addSkill">
  158. insert into operator_work_center(OperatorID,WorkCenterNo,created_by,created_date,Site)
  159. values(#{operatorID},#{workCenterNo},#{user},GetDate(),#{site})
  160. </insert>
  161. <delete id="deleteSkill">
  162. delete from operator_work_center where OperatorID=#{operatorID} and Site=#{site} and WorkCenterNo=#{workCenterNo}
  163. </delete>
  164. <insert id="addUserSkill">
  165. insert into user_work_center(UserId,WorkCenterNo,created_by,created_date,Site)
  166. values(#{userId},#{workCenterNo},#{user},GetDate(),#{site})
  167. </insert>
  168. <delete id="deleteUserSkill">
  169. delete from user_work_center where UserId=#{userId} and Site=#{site} and WorkCenterNo=#{workCenterNo}
  170. </delete>
  171. <select id="checkWorkCenterOperatorData" resultType="WorkCenterData">
  172. select site FROM operator_work_center where OperatorID=#{operatorID} and Site=#{site} and WorkCenterNo=#{workCenterNo}
  173. </select>
  174. <select id="checkUserOperatorData" resultType="WorkCenterData">
  175. select site FROM user_work_center where userId=#{userId} and Site=#{site} and WorkCenterNo=#{workCenterNo}
  176. </select>
  177. <select id="getAllWorkCenterDataForUser" resultType="WorkCenterData">
  178. select a.Site,a.WorkCenterNo,a.WorkCenterDesc,a.Active FROM WorkCenter a left join
  179. user_work_center b on a.Site=b.Site and a.WorkCenterNo=b.WorkCenterNo and b.userId=#{user}
  180. where b.WorkCenterNo is null
  181. order by a.WorkCenterNo ,a.site
  182. </select>
  183. <select id="getWorkCenterUserData" resultType="WorkCenterData">
  184. select a.Site,a.WorkCenterNo,b.WorkCenterDesc,b.Active FROM user_work_center a left join
  185. WorkCenter b on a.Site=b.Site and a.WorkCenterNo=b.WorkCenterNo
  186. where a.userId=#{user}
  187. order by a.WorkCenterNo,a.site
  188. </select>
  189. <select id="getShopOrderRoutingData" resultType="ShopOrderRoutingData">
  190. select a.site, a.OrderNo,a.PartNo,a.Status,a.PlanStartDate,a.NeedDate,a.LotSize,a.EnterDate,a.UserName,
  191. P.PartDescription,P.Spec,isnull(SL.scheduledQty,0) as scheduledQty,s.workCenterNo,S.qtyReported,S.qtyApprove,S.machSetupTime,
  192. 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,
  193. Round(dbo.Get_PartWeightFactorForReport(a.site,a.PartNo,a.OrderNo)*a.LotSize,2) weight
  194. FROM ShopOrder a
  195. LEFT JOIN Part P ON P.PartNo=a.PartNo AND a.site=P.Site
  196. LEFT JOIN SORouting S on S.site=a.site and S.OrderNo=a.orderNo
  197. LEFT JOIN ScheduleList SL on S.site=SL.site and S.OrderNo=SL.orderNo and S.ItemNo=SL.ItemNo
  198. 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)
  199. left join user_work_center uwc on a.site=uwc.site and s.workCenterNo =uwc.WorkCenterNo and uwc.userId=#{userId}
  200. <where>
  201. and uwc.WorkCenterNo is not null
  202. and a.E_Levels =0
  203. <if test="site != null and site != ''">
  204. AND a.site = #{site}
  205. </if>
  206. <if test="orderNo != null and orderNo != ''">
  207. AND a.OrderNo LIKE #{orderNo}
  208. </if>
  209. <!-- <if test="status !=null and status != ''">-->
  210. <!-- AND a.Status IN ${status}-->
  211. <!-- </if>-->
  212. <if test="startDate1 != null ">
  213. AND a.EnterDate >= #{startDate1}
  214. </if>
  215. <if test="endDate1 != null ">
  216. AND #{endDate1} >= DATEADD(dd, -1, a.EnterDate)
  217. </if>
  218. <if test="startDate2 != null ">
  219. AND a.PlanStartDate >= #{startDate2}
  220. </if>
  221. <if test="endDate2 != null ">
  222. AND #{endDate2} >= a.PlanStartDate
  223. </if>
  224. <if test="startDate3 != null ">
  225. AND a.NeedDate >= #{startDate3}
  226. </if>
  227. <if test="endDate3 != null ">
  228. AND #{endDate3} >= a.NeedDate
  229. </if>
  230. <if test="partNo != null and partNo != ''">
  231. AND a.PartNo LIKE #{partNo}
  232. </if>
  233. <if test="planStatus != null and planStatus != ''">
  234. and ${planStatus}
  235. </if>
  236. <if test="itemNo != null and itemNo != ''">
  237. and S.ItemNo = #{itemNo}
  238. </if>
  239. <if test="eLevels != null ">
  240. and a.E_Levels = #{eLevels}
  241. </if>
  242. </where>
  243. order by a.PlanStartDate desc,s.itemNo
  244. </select>
  245. <select id="getSOTastRoutingData" resultType="ShopOrderRoutingData">
  246. select a.site, a.OrderNo,a.PartNo,a.Status,a.OrderRef1,a.OrderDate,a.OrderQty as LotSize,
  247. P.PartDescription,P.Spec,isnull(SL.scheduledQty,0) as scheduledQty,s.workCenterNo,S.machSetupTime,
  248. 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,
  249. dbo.Get_PartWeightFactorForReport(a.site,a.PartNo,a.OrderRef1) as weightFactor
  250. FROM SOTaskOrderHeader a
  251. LEFT JOIN Part P ON P.PartNo=a.PartNo AND a.site=P.Site
  252. LEFT JOIN SORouting S on S.site=a.site and S.OrderNo=a.OrderRef1
  253. LEFT JOIN ScheduleList SL on S.site=SL.site and a.OrderNo=SL.orderNo and S.ItemNo=SL.ItemNo
  254. left join user_work_center uwc on a.site=uwc.site and s.workCenterNo =uwc.WorkCenterNo and uwc.userId=#{userId}
  255. <where>
  256. and uwc.WorkCenterNo is not null
  257. <if test="site != null and site != ''">
  258. AND a.site = #{site}
  259. </if>
  260. <if test="orderNo != null and orderNo != ''">
  261. AND a.OrderNo LIKE #{orderNo}
  262. </if>
  263. <if test="status !=null and status != ''">
  264. AND a.Status IN ${status}
  265. </if>
  266. <if test="startDate1 != null ">
  267. AND a.orderDate >= #{startDate1}
  268. </if>
  269. <if test="endDate1 != null ">
  270. AND #{endDate1} >= a.orderDate
  271. </if>
  272. <if test="orderRef1 != null and orderRef1 != ''">
  273. AND a.OrderRef1 LIKE #{orderRef1}
  274. </if>
  275. <if test="partNo != null and partNo != ''">
  276. AND a.PartNo LIKE #{partNo}
  277. </if>
  278. <if test="planStatus != null and planStatus != ''">
  279. and ${planStatus}
  280. </if>
  281. <if test="itemNo != null and itemNo != ''">
  282. and S.ItemNo = #{itemNo}
  283. </if>
  284. <if test="finishFlag != null and finishFlag != ''">
  285. AND a.FinishFlag=#{finishFlag}
  286. </if>
  287. </where>
  288. order by a.OrderDate desc,s.itemNo
  289. </select>
  290. <select id="getWorkCenterOperatorList" resultType="OperatorData">
  291. Select a.OperatorID,a.OperatorName from Operator a left join operator_work_center b on a.site=b.site and a.OperatorID=b.OperatorID
  292. where a.site=#{site} and b.WorkCenterNo=#{workCenterNo} and a.Active='Y'
  293. </select>
  294. <select id="checkScheduleQty" resultType="ScheduleCheckData">
  295. 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}
  296. </select>
  297. <select id="checkScheduleQtyForSoTask" resultType="ScheduleCheckData">
  298. 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}
  299. </select>
  300. <select id="checkScheduleList" resultType="ScheduleCheckData">
  301. Select Qty from ScheduleList where Site=#{site} and OrderNo=#{orderNo} and itemNo=#{itemNo}
  302. </select>
  303. <insert id="saveScheduleList">
  304. insert into ScheduleList(Site,OrderNo,ItemNo,Type,Type_db,Qty,scheduledQty) values (#{site},#{orderNo},#{itemNo},'生产订单派工单','S',#{qty},0)
  305. </insert>
  306. <insert id="saveScheduleListForSOTask">
  307. insert into ScheduleList(Site,OrderNo,ItemNo,Type,Type_db,Qty,scheduledQty) values (#{site},#{orderNo},#{itemNo},'日计划派工单','D',#{qty},0)
  308. </insert>
  309. <select id="getDataSequence" resultType="integer">
  310. select seqNo from DataSequence where SeqType= 'A'
  311. </select>
  312. <update id="updateDataSequence">
  313. update DataSequence set seqNo=seqNo+1 where SeqType= 'A'
  314. </update>
  315. <insert id="saveSchedule">
  316. Insert into soscheduledrouting(Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,PlanStartTime,PlanFinishTime
  317. ,BarcodeID,Remark,Crewsize,ClosedFlag,QtyScrapt,OutWorkFlag,S_ScheduledDate,S_ResourceID,S_ShiftNo,S_WorkCenterNo
  318. ,SelectedFlag,SourceFlag,ParkFlag,TimeRequired_Original,QtyRequired_Original
  319. ,StartProdFlag,CancelledProdFlag,Efficiency,EnteredDate,scheduleType,operatorId,partNo,OrderRef1)
  320. values(#{site},#{orderNo},#{itemNo},#{seqNo},#{scheduleQty},0,0,dbo.Get_SOScheduleRouting_TimeRequired(#{site},#{orderNo},#{itemNo},#{scheduleQty}),0,#{scheduleDate},#{scheduleDate}
  321. ,'*','',1,'N',0,'Y',#{scheduleDate},#{resourceId},#{shiftNo},#{workCenterNo}
  322. ,'N','N','N',dbo.Get_SOScheduleRouting_TimeRequired(#{site},#{orderNo},#{itemNo},#{scheduleQty}),#{scheduleQty}
  323. ,'N','N',#{efficiency},GETDATE(),'生产订单派工单',#{operatorId},#{partNo},#{orderNo})
  324. </insert>
  325. <insert id="saveScheduleForSOTask">
  326. Insert into soscheduledrouting(Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,PlanStartTime,PlanFinishTime
  327. ,BarcodeID,Remark,Crewsize,ClosedFlag,QtyScrapt,OutWorkFlag,S_ScheduledDate,S_ResourceID,S_ShiftNo,S_WorkCenterNo
  328. ,SelectedFlag,SourceFlag,ParkFlag,TimeRequired_Original,QtyRequired_Original
  329. ,StartProdFlag,CancelledProdFlag,Efficiency,EnteredDate,scheduleType,operatorId,partNo,OrderRef1)
  330. values(#{site},#{orderRef1},#{itemNo},#{seqNo},#{scheduleQty},0,0,dbo.Get_SOScheduleRouting_TimeRequired(#{site},#{orderRef1},#{itemNo},#{scheduleQty}),0,#{scheduleDate},#{scheduleDate}
  331. ,'*','',1,'N',0,'Y',#{scheduleDate},#{resourceId},#{shiftNo},#{workCenterNo}
  332. ,'N','N','N',dbo.Get_SOScheduleRouting_TimeRequired(#{site},#{orderRef1},#{itemNo},#{scheduleQty}),#{scheduleQty}
  333. ,'N','N',#{efficiency},GETDATE(),'日计划派工单',#{operatorId},#{partNo},#{orderNo})
  334. </insert>
  335. <update id="updateScheduleListQty">
  336. update ScheduleList set scheduledQty=scheduledQty+#{sumQty} where Site=#{site} and OrderNo=#{orderNo} and itemNo=#{itemNo} and type=#{scheduleType}
  337. </update>
  338. <select id="searchReportedQty" resultType="SORoutingData">
  339. 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,
  340. [dbo].[Get_Part_Cavity](#{site},#{partNo},#{orderNo}) as cavity
  341. from SORouting a
  342. 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)
  343. where a.Site=#{site} and a.OrderNo=#{orderNo} and a.itemNo=#{itemNo}
  344. </select>
  345. <select id="searchLastApproveQty" resultType="SORoutingData">
  346. select top 1 isnull(TotalFinishedQty,0) lastApproveQty from SORoutingOutput where Site=#{site} and OrderNo=#{orderNo} and itemNo=dbo.Get_SORouting_PreviousOperationItemNo(#{site},#{orderNo},#{itemNo})
  347. </select>
  348. <select id="getSOScheduleRoutingData" resultType="SOScheduledRoutingOutData">
  349. select a.Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,
  350. BarcodeID,Remark,Crewsize,ClosedFlag,S_ScheduledDate,S_ResourceID,S_ScheduledSeqNo,S_ShiftNo,
  351. S_WorkCenterNo, EnteredDate,scheduleType,operatorId,partNo,dbo.Get_PartDesc(a.Site,partNo) as partDesc,
  352. dbo.Get_OperatorDesc(a.Site,operatorId) as operatorName,dbo.Get_ItemDesc(a.Site,OrderNo,ItemNo) as itemDesc,orderRef1 ,
  353. dbo.Get_WorkCenterDesc(a.Site,S_WorkCenterNo) as workCenterDesc , dbo.Get_Part_DescSpec(a.Site,partNo) as partSpec,circulation_seqNo,circulation_qty
  354. ,dbo.Get_PartWeightFactorForReport(a.site,PartNo,OrderNo) as weightFactor,dbo.Get_Part_UMID(a.Site,PartNo) umid,
  355. Round(dbo.Get_PartWeightFactorForReport(a.site,PartNo,OrderNo)*QtyRequired,2) as weight from SOScheduledRouting a
  356. left join user_work_center uwc on a.site=uwc.site and a.S_WorkCenterNo =uwc.WorkCenterNo and uwc.userId=#{userId}
  357. <where>
  358. and uwc.WorkCenterNo is not null
  359. <if test="site != null and site != ''">
  360. AND a.site = #{site}
  361. </if>
  362. <if test="orderNo != null and orderNo != ''">
  363. AND OrderNo LIKE #{orderNo}
  364. </if>
  365. <if test="partNo != null and partNo != ''">
  366. AND PartNo LIKE #{partNo}
  367. </if>
  368. <if test="sWorkCenterNo != null and sWorkCenterNo != ''">
  369. AND S_WorkCenterNo LIKE #{sWorkCenterNo}
  370. </if>
  371. <if test="itemNo != null and itemNo != ''">
  372. and ItemNo = #{itemNo}
  373. </if>
  374. <if test="itemDesc != null and itemDesc != ''">
  375. and dbo.Get_ItemDesc(a.Site,OrderNo,ItemNo) = #{itemDesc}
  376. </if>
  377. <if test="closedFlag != null and closedFlag != ''">
  378. and ClosedFlag = #{closedFlag}
  379. </if>
  380. <if test="startDate != null ">
  381. and S_ScheduledDate >= #{startDate}
  382. </if>
  383. <if test="endDate != null ">
  384. and #{endDate} >= S_ScheduledDate
  385. </if>
  386. <if test="scheduleType != null and scheduleType != ''">
  387. and scheduleType = #{scheduleType}
  388. </if>
  389. <if test="reportFlag != null and reportFlag != ''">
  390. and ${reportFlag}
  391. </if>
  392. <if test="operatorName != null and operatorName != ''">
  393. and dbo.Get_OperatorDesc(a.Site,operatorId) like #{operatorName}
  394. </if>
  395. <if test="sResourceID != null and sResourceID != ''">
  396. and S_ResourceID like #{sResourceID}
  397. </if>
  398. <if test="sShiftNo != null and sShiftNo != ''">
  399. and S_ShiftNo = #{sShiftNo}
  400. </if>
  401. </where>
  402. order by S_ScheduledDate
  403. </select>
  404. <select id="checkUserSeqNo" resultType="SOScheduledRoutingOutData">
  405. select seqNo from SOScheduledRouting a
  406. left join user_work_center uwc on a.site=uwc.site and a.S_WorkCenterNo =uwc.WorkCenterNo and uwc.userId=#{userId}
  407. where seqNo=#{seqNo} and uwc.WorkCenterNo is not null
  408. </select>
  409. <select id="getStockPrint" resultType="com.heai.modules.production.entity.StockPrintData">
  410. select TransNo,Site,WareHouseId,BatchNo,LocationId,PartNo,OrderNo,TransDate,Qty,PrintFlag,dbo.Get_PartDesc(Site,PartNo) as partDesc
  411. ,dbo.Get_WareHouseDesc(Site,WareHouseId) as wareHouseDesc,dbo.Get_Part_UMID(Site,PartNo) umid
  412. from StockPrint
  413. <where>
  414. <if test="startDate != null ">
  415. and TransDate >= #{startDate}
  416. </if>
  417. <if test="endDate != null ">
  418. and #{endDate} >= TransDate -1
  419. </if>
  420. <if test="site != null and site != ''">
  421. AND site = #{site}
  422. </if>
  423. <if test="orderNo != null and orderNo != ''">
  424. AND orderNo LIKE #{orderNo}
  425. </if>
  426. <if test="seqNo != null and seqNo != ''">
  427. AND seqNo = #{seqNo}
  428. </if>
  429. <if test="printFlag != null and printFlag != ''">
  430. AND printFlag = #{printFlag}
  431. </if>
  432. <if test="partNo != null and partNo != ''">
  433. AND PartNo LIKE #{partNo}
  434. </if>
  435. </where>
  436. order by TransDate desc
  437. </select>
  438. <update id="updatePrintStock">
  439. update StockPrint set PrintFlag='Y' where Site=#{site} and TransNo=#{transNo}
  440. </update>
  441. <update id="updatePrintInfo">
  442. update print_info set status='Y' where Site=#{site} and orderref1=#{transNo}
  443. </update>
  444. <select id="searchSeqNo" resultType="SOScheduledRoutingOutData">
  445. select top 1 Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,
  446. BarcodeID,Remark,Crewsize,ClosedFlag,S_ScheduledDate,S_ResourceID,S_ScheduledSeqNo,S_ShiftNo,
  447. S_WorkCenterNo, EnteredDate,scheduleType,operatorId,partNo,dbo.Get_PartDesc(Site,partNo) as partDesc,
  448. dbo.Get_OperatorDesc(Site,operatorId) as operatorName,dbo.Get_ItemDesc(site,orderNo,ItemNo) as itemDesc,orderRef1 ,
  449. dbo.Get_WorkCenterDesc(Site,S_WorkCenterNo) as workCenterDesc , dbo.Get_Part_DescSpec(Site,partNo) as partSpec,closedFlag,outWorkFlag
  450. from SOScheduledRouting
  451. where site=#{site} and SeqNo=#{seqNo}
  452. </select>
  453. <select id="checkELevels" resultType="Integer">
  454. select isnull(E_Levels,-1) E_Levels from shoporder where site=#{site} and orderNo=#{orderNo}
  455. </select>
  456. <select id="getSOScheduledRoutingOutData" resultType="SOScheduledRoutingOutData">
  457. select Site,OrderNo,seqNo from SOScheduledRouting where seqNo=#{seqNo}
  458. </select>
  459. <select id="getsfdcTimeHistData" resultType="com.heai.modules.production.entity.SfdcTimeHistData">
  460. select top 1 site,OrderNo,ItemNo,SeqNo,#{username} as Enteredby ,ClosedFlag,OutWorkFlag from SOScheduledRouting where site=#{site} and SeqNo=#{seqNo} and ClosedFlag='N'
  461. </select>
  462. <select id="getSeqNoSite" resultType="String">
  463. select site from SOScheduledRouting where SeqNo=#{seqNo}
  464. </select>
  465. <select id="checkSfdcTimeHistData" resultType="com.heai.modules.production.entity.SfdcTimeHistData">
  466. select site,OrderNo,ItemNo,SeqNo from SFDC_TimeHist where site=#{site} and seqNo=#{seqNo} and EventDesc='开始生产' and CompletedFlag='N'
  467. </select>
  468. <select id="getHistSeqNo" resultType="Integer">
  469. select isnull(max(HistSeqNo),0)+1 from SFDC_TimeHist where site=#{site} and seqNo=#{seqNo}
  470. </select>
  471. <update id="updateSfdcTimeHistDataContinue" >
  472. 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='暂停生产'
  473. </update>
  474. <update id="updateStopWork" >
  475. update SOScheduledRouting set OutWorkFlag=#{flag} where Site=#{site} and seqNo=#{seqNo}
  476. </update>
  477. <insert id="saveSfdcTimeHistDataStart">
  478. insert into SFDC_TimeHist (Site,OrderNo,ItemNo,SeqNo,HistSeqNo,EventTime,Enteredby,EventDesc,DowntimeCode,EventType,LinkHistSeqNo,TillTime,TillEnteredTime,
  479. TillEnteredBy,CompletedFlag,TotalTime,DowntimePhaseIn,RollNo) values
  480. (#{site},#{orderNo},#{itemNo},#{seqNo},#{histSeqNo},GetDate(),#{enteredby},'开始生产','','P',null,null,null,null,'N',0,'','*')
  481. </insert>
  482. <insert id="saveSfdcTimeHistDataStop">
  483. insert into SFDC_TimeHist (Site,OrderNo,ItemNo,SeqNo,HistSeqNo,EventTime,Enteredby,EventDesc,DowntimeCode,EventType,LinkHistSeqNo,TillTime,TillEnteredTime,
  484. TillEnteredBy,CompletedFlag,TotalTime,DowntimePhaseIn,RollNo) values
  485. (#{site},#{orderNo},#{itemNo},#{seqNo},#{histSeqNo},GetDate(),#{enteredby},'暂停生产','','D',null,null,null,null,'N',0,'','*')
  486. </insert>
  487. <select id="getOldSOScheduledRoutingOutData" resultType="SOScheduledRoutingOutData">
  488. select Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,PlanStartTime,PlanFinishTime,
  489. BarcodeID,Remark,Crewsize,ClosedFlag,QtyScrapt,OutWorkFlag,S_ScheduledDate,S_ResourceID,S_ScheduledSeqNo,S_ShiftNo,
  490. S_WorkCenterNo,ParkFlag,TimeRequired_Original,QtyRequired_Original,QtyReturntoSchedule,StartProdFlag,CancelledProdFlag,
  491. Efficiency,EnteredDate,SelectedFlag,SourceFlag,Closedby,ClosedDate,VirtualResourceFlag,mat_issueflag,plate_issueflag,
  492. tool_issueflag,scheduleType,operatorId,partNo,orderRef1,circulation_seqNo,circulation_qty from SOScheduledRouting where
  493. site=#{site} and seqNo=#{seqNo}
  494. </select>
  495. <update id="closeOldSchedule">
  496. update SOScheduledRouting set ClosedFlag='Y',circulation_seqNo=#{newSeqNo},circulation_qty=#{circulationQty} where site=#{site} and seqNo=#{oldSeqNo}
  497. </update>
  498. <insert id="saveCirculationSchedule" >
  499. INSERT into SOScheduledRouting (Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,PlanStartTime,PlanFinishTime,
  500. BarcodeID,Remark,Crewsize,ClosedFlag,QtyScrapt,OutWorkFlag,S_ScheduledDate,S_ResourceID,S_ScheduledSeqNo,S_ShiftNo,
  501. S_WorkCenterNo,ParkFlag,TimeRequired_Original,QtyRequired_Original,QtyReturntoSchedule,StartProdFlag,CancelledProdFlag,
  502. Efficiency,EnteredDate,SelectedFlag,SourceFlag,Closedby,ClosedDate,VirtualResourceFlag,mat_issueflag,plate_issueflag,
  503. tool_issueflag,scheduleType,operatorId,partNo,orderRef1) values
  504. (#{site},#{orderNo},#{itemNo},#{seqNo},#{qtyRequired},0,0,0,0,#{planStartTime},#{planFinishTime},
  505. #{barcodeID},#{remark},#{crewsize},'N',0,'Y',#{sScheduledDate},#{sResourceID},#{sScheduledSeqNo},#{sShiftNo},
  506. #{sWorkCenterNo},#{parkFlag},#{timeRequiredOriginal},#{qtyRequiredOriginal},null,'N','N',
  507. 0,GetDate(),'N','N',NULL,NULL,NULL,'N','N','N',#{scheduleType},#{operatorId},#{partNo},#{orderRef1}
  508. )
  509. </insert>
  510. <update id="closeSchedule">
  511. update SOScheduledRouting set ClosedFlag='Y' where site=#{site} and seqNo=#{seqNo}
  512. </update>
  513. <select id="getTransData" resultType="com.heai.modules.production.entity.SOOpsTransferData">
  514. select top 1 a.TransNo,a.Site,b.FromWorkCenterNo WorkCenterNo ,b.OrderNo,b.TransQty,a.TransDate,b.PartNo,b.seqNo,dbo.Get_Part_DescSpec(a.Site,b.PartNo) partDesc
  515. ,dbo.Get_Part_UMID(a.Site,b.PartNo) umid
  516. FROM SOOpsTransferHeader a left join SOOpsTransferDetail b on a.site=b.site and a.TransNo=b.TransNo
  517. where a.TransNo=#{transNo} and a.Site=#{site}
  518. </select>
  519. <select id="searchTaskTransNo" resultType="String">
  520. select top 1 TransNo from SOOpsTransferDetail where OrderNo=#{taskNo} and site=#{site}
  521. </select>
  522. <select id="transFerSearch" resultType="com.heai.modules.production.entity.SOOpsTransferData">
  523. SELECT a.transNo ,a.site,b.seqNo,a.TransDate,b.TransQty ,b.OrderNo ,b.PartNo,c.PartDescription as partDesc
  524. FROM SOOpsTransferHeader a LEFT JOIN SOOpsTransferDetail b on a.TransNo=b.TransNo and a.site=b.Site
  525. LEFT JOIN Part c on b.PartNo=c.PartNo and b.site=c.site
  526. <where>
  527. and a.Status='已录入'
  528. <if test="startDate != null ">
  529. and TransDate >= #{startDate}
  530. </if>
  531. <if test="endDate != null ">
  532. and #{endDate} >= TransDate -1
  533. </if>
  534. <if test="site != null and site != ''">
  535. AND a.site = #{site}
  536. </if>
  537. <if test="orderNo != null and orderNo != ''">
  538. AND orderNo LIKE #{orderNo}
  539. </if>
  540. <if test="seqNo != null and seqNo != ''">
  541. AND seqNo = #{seqNo}
  542. </if>
  543. <if test="partNo != null and partNo != ''">
  544. AND b.PartNo LIKE #{partNo}
  545. </if>
  546. </where>
  547. ORDER BY a.TransDate
  548. </select>
  549. <select id="getPartCardPrintData" resultType="com.heai.modules.production.entity.PartCardPrintData">
  550. select top 1 a.orderNo,a.partNo,c.partDescription+'/'+C.Spec as partDesc,a.QtyRequired,a.S_ScheduledDate,
  551. 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
  552. from SOScheduledRouting a left join ShopOrder b on a.site=b.site and a.OrderNo=b.OrderNo
  553. left join part c on a.partNo=c.PartNo and a.site=c.site
  554. where a.site=#{site} and a.seqNo=#{seqNo}
  555. </select>
  556. <select id="checkTool" resultType="com.heai.modules.production.entity.SOToolData">
  557. select ToolID from SOTool where site=#{site} and OrderNo=#{orderNo} and itemNo=#{itemNo}
  558. </select>
  559. <select id="getHunlianTaskNo" resultType="String">
  560. 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)+'%'
  561. </select>
  562. <insert id="saveHunlianTaskDetailData" >
  563. insert into Hunlian_TaskDetail (Site,TaskNo,OrderNo,OrderRef1,OrderRef2,OrderQty,HunlianQty,OrderDate,PartNo,HunlianPartNo)
  564. select top 1 #{site},#{taskNo},#{orderNo},#{orderRef1},SO.OrderNo, SOT.OrderQty,#{hunlianQty},#{orderDate},SOT.partNo,#{hunlianPartNo}
  565. from SOTaskOrderHeader SOT
  566. left join ShopOrder t on t.site=#{site} and t.orderNo=#{orderRef1}
  567. left join ShopOrder SO on SOT.site=SO.Site and t.E_OriginalOrderNo=SO.E_OriginalOrderNo and t.E_OriginalOrderType=SO.E_OriginalOrderType and SO.E_Levels=2
  568. where SOT.site=#{site} and SOT.orderNo=#{orderNo}
  569. </insert>
  570. <select id="checkTask" resultType="com.heai.modules.production.entity.HunlianTaskDetailData">
  571. select OrderNo as orderRef1 ,orderNo_hunlian as orderNo FROM view_KANBAN_SO_Hunlian_Plan
  572. where site=#{site} and (erpStatus='已取消' or FinishedFlag in ('2','3') or dispatched_hunlian='Y' ) and orderNo_hunlian in
  573. (select orderNo from Hunlian_TaskDetail where site=#{site} and TaskNo=#{taskNo} )
  574. </select>
  575. <update id="updateSOTaskDispatchedFlag" >
  576. update SOTaskOrderHeader set dispatched_hunlian =#{flag} where site=#{site} and orderNo in
  577. (select orderNo from Hunlian_TaskDetail where site=#{site} and TaskNo=#{taskNo} )
  578. </update>
  579. <update id="updateTaskReportFlag" >
  580. update Hunlian_TaskHeader set ReportFlag=#{flag} ,ReportQty=#{reportQty} where site=#{site} and TaskNo=#{taskNo}
  581. </update>
  582. <insert id="saveHunlianTaskHeaderData" >
  583. insert into Hunlian_TaskHeader (Site,TaskNo,TaskQty,PartNo,CreateDate,CreateBy,ReportFlag,ReportQty,DeleteFlag,WareHouseFlag,WareHouseQty)
  584. values(#{site},#{taskNo},#{taskQty},#{partNo},GetDate(),#{createBy},'N',0,'N','N',0)
  585. </insert>
  586. <select id="getHunlianTaskData" resultType="com.heai.modules.production.entity.HunlianData">
  587. select a.Site,a.TaskNo,a.TaskQty,a.PartNo,a.CreateDate,a.CreateBy,a.ReportFlag,a.ReportQty,dbo.Get_Part_DescSpec(a.Site,a.PartNo) as partDesc
  588. ,b.toExpireDays,a.WareHouseFlag
  589. from Hunlian_TaskHeader a
  590. left join part b on a.site=b.site and a.PartNo=b.partNo
  591. <where>
  592. and a.deleteFlag='N'
  593. <if test="startDate != null ">
  594. and a.CreateDate >= #{startDate}
  595. </if>
  596. <if test="endDate != null ">
  597. and #{endDate} >= a.CreateDate -1
  598. </if>
  599. <if test="reportFlag != null and reportFlag != ''">
  600. AND a.reportFlag = #{reportFlag}
  601. </if>
  602. <if test="partNo != null and partNo != ''">
  603. AND a.partNo like #{partNo}
  604. </if>
  605. <if test="taskNo != null and taskNo != ''">
  606. AND a.taskNo LIKE #{taskNo}
  607. </if>
  608. </where>
  609. ORDER BY a.CreateDate
  610. </select>
  611. <select id="getHunlianTaskDetailData" resultType="com.heai.modules.production.entity.HunlianTaskDetailData">
  612. select a.Site,a.TaskNo,a.OrderNo,a.OrderRef1,a.OrderRef2,a.OrderQty,a.HunlianQty,a.OrderDate,a.PartNo,a.HunlianPartNo,
  613. dbo.Get_Part_DescSpec(a.Site,a.HunlianPartNo) as partDesc
  614. from Hunlian_TaskDetail a
  615. where site=#{site} and TaskNo=#{taskNo}
  616. </select>
  617. <select id="getHunlianTaskDetailDataSum" resultType="com.heai.modules.production.entity.HunlianTaskDetailData">
  618. select a.Site,a.TaskNo,a.OrderRef2,SUM(a.HunlianQty) HunlianQty,a.HunlianPartNo
  619. from Hunlian_TaskDetail a
  620. where site=#{site} and TaskNo=#{taskNo}
  621. GROUP BY a.Site,a.TaskNo,a.OrderRef2,a.HunlianPartNo
  622. </select>
  623. <select id="checkTaskHeader" resultType="com.heai.modules.production.entity.HunlianData">
  624. select Site,TaskNo,TaskQty,PartNo,CreateDate,CreateBy,ReportFlag,ReportQty,DeleteFlag,DeleteBy,DeleteDate,WareHouseFlag from Hunlian_TaskHeader
  625. where site=#{site} and DeleteFlag='N' and TaskNo=#{taskNo}
  626. </select>
  627. <select id="checkTaskOrder" resultType="com.heai.modules.production.entity.HunlianData">
  628. select orderNo from shopOrder where status in ('已取消','已关闭') and site=#{site} and orderNo in (select orderRef1 from Hunlian_TaskDetail where site=#{site}
  629. and taskNo=#{taskNo} )
  630. </select>
  631. <update id="deleteTask">
  632. update Hunlian_TaskHeader set DeleteFlag='Y' where site=#{site} and TaskNo=#{taskNo}
  633. </update>
  634. <update id="updateSOTaskReport" parameterType="com.heai.modules.production.entity.DailyReportInData">
  635. 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}
  636. </update>
  637. <update id="cancelReportSOTask" parameterType="com.heai.modules.production.entity.HunlianData">
  638. 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})
  639. </update>
  640. <insert id="saveSOOpsTransferHeader">
  641. INSERT INTO SOOpsTransferHeader (TransNo,Site,FromProLineNo,ToProLineNo,ToWarehouseID,FromEnteredby,FromEnteredDate,TransDate,ToReceiver,FromReceiver,
  642. FromRemark,ToRemark,ConfirmedFlag,ToConfirmedBy,ToEnteredby,LatestUpdatedBy,LatestUpdatedDate,RecordVersion,
  643. Status,ToTypeFlag_DB,ToTypeFlag,ConfirmedTransNo,need_inspect_flag) VALUES
  644. (#{transNo},#{site},'*','*','*',#{userId},GETDATE(),GETDATE(),'',#{userId},
  645. '','','N','N','',#{userId},GETDATE(),'0',
  646. '已录入','W','混炼胶入库','','N')
  647. </insert>
  648. <insert id="saveSOOpsTransferDetail">
  649. INSERT INTO SOOpsTransferDetail (TransNo,Site,ItemNo,FromOpsID,FromWorkCenterNo,ToWorkCenterNo,ToOpsID,OrderNo,PartNo,TransQty,ConfirmQty,TaskNo,InsStatus,
  650. ToConfirmQty) VALUES
  651. ( #{transNo},#{site},1,1,'*','',0,#{taskNo},#{partNo},#{reportQty},0,#{taskNo},'合格',0)
  652. </insert>
  653. <select id="getTransNo" resultType="String">
  654. select 'OT'+CONVERT(varchar(100), GETDATE(), 112)+ Right( '00000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(TransNo, 11,4))),0)+1) ,4)
  655. from SOOpsTransferHeader where TransNo like 'OT'+CONVERT(varchar(100), GETDATE(), 112)+'%'
  656. </select>
  657. <select id="checkLocationId" resultType="com.heai.modules.production.entity.LocationData">
  658. select LocationID,Site,LocationName,WareHouseID,Keeper,Active
  659. from Location where site=#{site} and LocationID=#{locationId}
  660. </select>
  661. <delete id="deleteSOOpsTransferHeader">
  662. update SOOpsTransferHeader set Status='已取消' where site=#{site} and transNo=#{transNo}
  663. </delete>
  664. <delete id="deleteSOOpsTransferDetail">
  665. delete from SOOpsTransferDetail where site=#{site} and transNo=#{transNo}
  666. </delete>
  667. </mapper>