荣鑫后端
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.

360 lines
16 KiB

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
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
  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.gaotao.modules.shopOrder.dao.ShopOrderMapper">
  4. <!-- =============生产订单类型===================-->
  5. <select id="getShopOrderFamily" resultType="com.gaotao.modules.shopOrder.entity.SOOrderTypeData">
  6. Select OrderType,TypeDesc,Site,Active from SOOrderType as T where T.Site in (Select Site from AccessSite where upper(UserID)=#{user})
  7. </select>
  8. <insert id="saveShopOrderFamily" parameterType="com.gaotao.modules.shopOrder.entity.SOOrderTypeData">
  9. INSERT INTO SOOrderType (OrderType,TypeDesc,Site,Active)
  10. values (#{orderType},#{typeDesc},#{site},#{active})
  11. </insert>
  12. <update id="editShopOrderFamily" parameterType="com.gaotao.modules.shopOrder.entity.SOOrderTypeData">
  13. UPDATE SOOrderType SET TypeDesc=#{typeDesc},Active=#{active},Site=#{site}
  14. where OrderType=#{orderType} and Site=#{site}
  15. </update>
  16. <delete id="deleteShopOrderFamily" parameterType="com.gaotao.modules.shopOrder.entity.SOOrderTypeData">
  17. delete from SOOrderType where OrderType=#{orderType} and Site=#{site}
  18. </delete>
  19. <select id="checkOrderType" resultType="com.gaotao.modules.shopOrder.entity.SOOrderTypeData">
  20. select OrderType,TypeDesc from SOOrderType where OrderType=#{orderType} and Site=#{site}
  21. </select>
  22. <!-- =============生产计划===================-->
  23. <select id="getPlanFamily" resultType="com.gaotao.modules.shopOrder.entity.SOPlannerData">
  24. Select PlannerType,TypeDesc,Site,Active from SOPlanner as T
  25. where T.Site in (Select Site from AccessSite where upper(UserID)=#{user})
  26. </select>
  27. <insert id="savePlanFamily" parameterType="com.gaotao.modules.shopOrder.entity.SOPlannerData">
  28. INSERT INTO SOPlanner (PlannerType,TypeDesc,Site,Active)
  29. values (#{plannerType},#{typeDesc},#{site},#{active})
  30. </insert>
  31. <update id="editPlanFamily" parameterType="com.gaotao.modules.shopOrder.entity.SOPlannerData">
  32. UPDATE SOPlanner SET TypeDesc=#{typeDesc},Active=#{active},Site=#{site}
  33. where PlannerType=#{plannerType} and Site=#{site}
  34. </update>
  35. <delete id="deletePlanFamily" parameterType="com.gaotao.modules.shopOrder.entity.SOPlannerData">
  36. delete from SOPlanner where PlannerType=#{plannerType} and Site=#{site}
  37. </delete>
  38. <select id="checkPlannerType" resultType="com.gaotao.modules.shopOrder.entity.SOPlannerData">
  39. select PlannerType,TypeDesc from SOPlanner where PlannerType=#{plannerType} and Site=#{site}
  40. </select>
  41. <!-- 查询-生产订单无工艺路线 -->
  42. <select id="searchShopOrderWithNoProcessRoute" resultType="com.gaotao.modules.shopOrder.entity.ShopOrderWithNoProcessRouteData">
  43. Select * from view_SOrouting_check as T
  44. <where>
  45. AND T.site in (Select Site from AccessSite where upper(UserID)=#{user})
  46. <if test=" site != null and site != ''">
  47. AND Site like #{site}
  48. </if>
  49. <if test=" orderNo != null and orderNo != ''">
  50. AND OrderNo like #{orderNo}
  51. </if>
  52. <if test=" partNo != null and partNo != ''">
  53. AND PartNo like #{partNo}
  54. </if>
  55. <if test=" date1 != null ">
  56. AND EnterDate >= #{date1}
  57. </if>
  58. <if test=" date2 != null ">
  59. AND dateadd( DAY, 1, #{date2} ) > EnterDate
  60. </if>
  61. </where>
  62. </select>
  63. <select id="searchProductionDispatchList" resultType="com.gaotao.modules.shopOrder.entity.SearchProductionDispatchListData">
  64. SELECT
  65. T.Site,
  66. T.OrderNo,
  67. T.ItemNo,
  68. S.OperationDesc,
  69. S.PartNo,
  70. P.PartDescription,
  71. P.Spec,
  72. T.QtyRequired AS LotSize,
  73. T.QtyReported,
  74. D.NeedDate,
  75. S.PreItemNo,
  76. S1.OperationDesc AS PreOperationDesc,
  77. S1.ScheduledFlag AS PreScheduledFlag,
  78. S.NextItemNo,
  79. S2.OperationDesc AS NextOperationDesc,
  80. S2.ScheduledFlag AS NextScheduledFlag,
  81. D.CustomerID,
  82. P.ConfigurationTemplateID AS CustomerName,
  83. D.EnterDate,
  84. dbo.Get_SOOpsScheduleAvailResource (
  85. T.Site,
  86. T.OrderNo,
  87. T.S_WorkCenterNo,
  88. T.ItemNo
  89. ) AS AvailResource,
  90. T.S_WorkCenterNo AS WorkCenterNo,
  91. S.MachRunFactor,
  92. S.MachSetupTime,
  93. S.FactorUnit,
  94. T.ClosedFlag,
  95. isnull(E.S_ScheduledSeqNo ,- 1) AS S_ScheduledSeqNo,
  96. T.PlanStartTime,
  97. T.PlanFinishTime,
  98. T.S_ResourceID,
  99. ROUND(T.TimeRequired,2),
  100. T.SeqNo,
  101. T.SelectedFlag,
  102. T.SourceFlag,
  103. S1.QtyScheduled AS QtyScheduled_PreOps,
  104. T.ParkFlag,
  105. ROUND(T.TimeRequired_Original,2),
  106. T.QtyRequired_Original,
  107. S1.PlanStartTime AS PreOpsPlanStartTime,
  108. S1.PlanFinishTime AS PreOpsPlanFinishTime,
  109. T.EnteredDate,
  110. (
  111. CASE
  112. WHEN S1.PlanStartTime > T.PlanStartTime THEN
  113. 'Y'
  114. ELSE
  115. 'N'
  116. END
  117. ) AS InAdvancedFlag,
  118. P.Remark AS CustPartNo,
  119. T.ClosedDate,
  120. T.closedby
  121. FROM
  122. SOScheduledRouting AS T
  123. LEFT JOIN ShopOrder AS D ON T.Site = D.Site
  124. AND T.OrderNo = D.OrderNo
  125. LEFT JOIN SOScheduledList AS E ON E.Site = T.Site
  126. AND E.LinkedSeqNo = T.SeqNo,
  127. SORouting AS S
  128. LEFT JOIN Part AS P ON S.Site = P.Site
  129. AND S.PartNo = P.PartNo
  130. LEFT JOIN SORouting AS S1 ON S.Site = S1.Site
  131. AND S.OrderNo = S1.OrderNo
  132. AND S.PreItemNo = S1.ItemNo
  133. LEFT JOIN SORouting AS S2 ON S.Site = S2.Site
  134. AND S.OrderNo = S2.OrderNo
  135. AND S.NextItemNo = S2.ItemNo
  136. <where>
  137. AND T.Site = S.Site
  138. AND T.OrderNo = S.OrderNo
  139. AND T.ItemNo = S.ItemNo
  140. <if test=" site != null and site != ''">
  141. AND T.Site like #{site}
  142. </if>
  143. <if test=" orderNo != null and orderNo != ''">
  144. AND T.OrderNo like #{orderNo}
  145. </if>
  146. <if test=" partNo != null and partNo != ''">
  147. AND S.PartNo like #{partNo}
  148. </if>
  149. <if test=" sResourceID != null and sResourceID != ''">
  150. AND T.S_ResourceID like #{sResourceID}
  151. </if>
  152. <if test=" workCenterNo != null and workCenterNo != ''">
  153. AND T.S_WorkCenterNo like #{workCenterNo}
  154. </if>
  155. <if test=" date1 != null ">
  156. AND D.EnterDate >= #{date1}
  157. </if>
  158. <if test=" date2 != null ">
  159. AND dateadd( DAY, 1, #{date2} ) > D.EnterDate
  160. </if>
  161. <if test=" date3 != null ">
  162. AND T.PlanStartTime >= #{date3}
  163. </if>
  164. <if test=" date4 != null ">
  165. AND dateadd( DAY, 1, #{date4} ) > T.PlanStartTime
  166. </if>
  167. <if test=" date5 != null ">
  168. AND T.PlanFinishTime>= #{date5}
  169. </if>
  170. <if test=" date6 != null ">
  171. AND dateadd( DAY, 1, #{date6} ) > T.PlanFinishTime
  172. </if>
  173. ${sql}
  174. </where>
  175. </select>
  176. <select id="searchShopOrder" resultType="com.gaotao.modules.shopOrder.entity.SearchShopOrder">
  177. Select T.OrderNo,T.NeedDate,T.OrderType,T.PartNo,p.PartDescription+' / '+isnull(p.Spec,'') as PartDescription,
  178. T.LotSize,T.Planner,T.Status,T.CustomerID,P.ConfigurationTemplateID as CustomerName,T.PlanStartDate,T.Leadtime,
  179. T.EnterDate,T.Username,T.FinishedQty,T.ReleaseDate,T.ReleaseGuys,T.ScheduleDate,T.Scheduler,T.IssueDate,
  180. T.ReportDate,T.ReceiveDate,T.Printed,T.ProjectID,pr.ProjectName,T.BOMRevNo,T.RoutingRevNo,T.OriginalNeedDate,
  181. T.OrderRef1,T.OrderRef2,T.Site,T.Remark,CostRollUpFlag,T.ManualFlag,T.OriSOOrderNo,P.FamilyID,
  182. dbo.Get_PartFamilyDesc(P.Site,P.FamilyID) as FamilyName,P.GroupID,dbo.Get_PartGroupDesc(P.Site,P.GroupID) as GroupName,
  183. T.ReceiveStatus,T.RepairSOFlag,T.E_OriginalOrderType,T.E_OriginalOrderNo,T.E_Levels,P.PartType,P.Remark as CustPartNo,
  184. T.NeedDate as COPlanShipDate
  185. from Part as p,ShopOrder as T
  186. left join Project as pr on pr.Site=T.Site and pr.Projectid=T.ProjectID
  187. <where>
  188. AND T.Site=p.Site and T.PartNo=p.PartNo
  189. and T.site in (Select Site from AccessSite where upper(UserID)=#{user})
  190. <if test=" orderType != null and orderType != ''">
  191. AND T.OrderType like #{orderType}
  192. </if>
  193. <if test=" planner != null and planner != ''">
  194. AND T.Planner like #{planner}
  195. </if>
  196. <if test=" site != null and site != ''">
  197. AND T.Site like #{site}
  198. </if>
  199. <if test=" partType != null and partType != ''">
  200. AND P.PartType like #{partType}
  201. </if>
  202. <if test=" partNo != null and partNo != ''">
  203. AND T.PartNo like #{partNo}
  204. </if>
  205. <if test=" partDescription != null and partDescription != ''">
  206. AND p.PartDescription like #{partDescription}
  207. </if>
  208. <if test=" projectID != null and projectID != ''">
  209. AND T.ProjectID like #{projectID}
  210. </if>
  211. <if test=" remark != null and remark != ''">
  212. AND T.Remark like #{remark}
  213. </if>
  214. <if test=" orderNo != null and orderNo != ''">
  215. AND T.OrderNo like #{orderNo}
  216. </if>
  217. <if test=" orderRef1 != null and orderRef1 != ''">
  218. AND T.OrderRef1 like #{orderRef1}
  219. </if>
  220. <if test=" costRollUpFlag != null and costRollUpFlag != ''">
  221. AND CostRollUpFlag like #{costRollUpFlag}
  222. </if>
  223. <if test=" status != null and status != ''">
  224. AND T.Status in ${status}
  225. </if>
  226. <if test=" date1 != null ">
  227. AND T.EnterDate >= #{date1}
  228. </if>
  229. <if test=" date2 != null ">
  230. AND dateadd( DAY, 1, #{date2} ) > T.EnterDate
  231. </if>
  232. <if test=" date3 != null ">
  233. AND T.PlanStartTime >= #{date3}
  234. </if>
  235. <if test=" date4 != null ">
  236. AND dateadd( DAY, 1, #{date4} ) > T.PlanStartTime
  237. </if>
  238. </where>
  239. </select>
  240. <select id="getShopOrderData" resultType="com.gaotao.modules.shopOrder.entity.ShopOrderData">
  241. SELECT
  242. T.*,dbo.Get_ProjectDesc(T.Site,T.ProjectID) as ProjectIDName,P.Remark as PartRemark,P.ConfigurationTemplateID,
  243. P.UMID,p.PartDescription+' / '+isnull(p.Spec,'') as PartDesc
  244. FROM
  245. ShopOrder AS T
  246. LEFT JOIN
  247. Part as P ON P.Site=T.Site and P.PartNo=T.PartNo
  248. <where>
  249. AND MaterialSplitFlag = 'N'
  250. and T.Site IN (
  251. SELECT
  252. Site
  253. FROM
  254. AccessSite
  255. WHERE
  256. UPPER (UserID) = #{user}
  257. )
  258. <if test=" orderNo != null and orderNo != ''">
  259. AND T.OrderNo like #{orderNo}
  260. </if>
  261. <if test=" site != null and site != ''">
  262. AND T.Site like #{site}
  263. </if>
  264. <if test=" partNo != null and partNo != ''">
  265. AND T.PartNo like #{partNo}
  266. </if>
  267. <if test=" status != null and status != ''">
  268. AND T.Status = ${status}
  269. </if>
  270. <if test=" date1 != null ">
  271. AND T.NeedDate >= #{date1}
  272. </if>
  273. <if test=" date2 != null ">
  274. AND dateadd( DAY, 1, #{date2} ) > T.NeedDate
  275. </if>
  276. <if test=" date3 != null ">
  277. AND T.PlanStartDate >= #{date3}
  278. </if>
  279. <if test=" date4 != null ">
  280. AND dateadd( DAY, 1, #{date4} ) > T.PlanStartDate
  281. </if>
  282. </where>
  283. </select>
  284. <delete id="deleteShopOrderData" parameterType="com.gaotao.modules.shopOrder.entity.ShopOrderData">
  285. delete from ShopOrder where site=#{site} and orderNo=#{orderNo}
  286. </delete>
  287. <update id="saveShopOrderData" parameterType="com.gaotao.modules.shopOrder.entity.ShopOrderData">
  288. update ShopOrder set NeedDate=#{needDate},PlanStartDate=#{planStartDate},OriginalNeedDate=#{originalNeedDate},OrderType=#{orderType},
  289. Planner=#{planner},OriSOOrderNo=#{oriSOOrderNo},ProjectID=#{projectID},Leadtime=#{leadtime},
  290. RepairSOFlag=#{repairSOFlag},TechInfo=#{techInfo},Remark=#{remark} where Site=#{site} and OrderNo=#{orderNo}
  291. </update>
  292. <select id="getRouteInShopOrderData" resultType="com.gaotao.modules.shopOrder.entity.RouteInShopOrderData">
  293. Select R.Site,R.OrderNo,R.ItemNo,R.OperationDesc,R.WorkCenterNo,W.WorkCenterDesc,R.MachSetupTime,R.MachRunFactor,R.FactorUnit_DB,R.FactorUnit,R.QtyRequired,R.QtyReported
  294. ,R.QtyApprove,R.TimeRequired,R.TimeReported,R.Efficiency,R.PlanStartTime,R.PlanFinishTime,R.BarcodeID,R.Remark,R.PartNo,R.Crewsize,R.ClosedFlag
  295. ,R.ActionNotes,W.WorkCenterType,dbo.Get_SORoutingAvailResource(R.Site,R.OrderNo,R.WorkCenterNo,R.ItemNo) as AvailResource
  296. from SORouting as R,WorkCenter as W Where R.Site=W.Site and R.WorkCenterNo=W.WorkCenterNo and R.Site=#{site}
  297. and R.OrderNo=#{orderNo}
  298. order by R.ItemNo
  299. </select>
  300. <select id="getToolInShopOrder" resultType="com.gaotao.modules.shopOrder.entity.ToolInShopOrder">
  301. Select T.Site,T.OrderNo,ItemNo,T.ToolID,P.ToolDescription,P.Spec,T.ToolQty,P.UMID
  302. ,P.FamilyID,dbo.Get_PartFamilyDesc(T.Site,P.FamilyID) as FamilyName,P.Active
  303. ,T.Remark,T.CreateDate,T.CreatedBy
  304. from SOTool as T,ToolHeader as P
  305. Where T.Site=P.Site and T.ToolID=P.ToolID
  306. and T.Site=#{site}
  307. and T.OrderNo=#{orderNo}
  308. Order by ItemNo,T.ToolID
  309. </select>
  310. <select id="getProductMixInShopOrder" resultType="com.gaotao.modules.shopOrder.entity.ProductMixInShopOrder">
  311. Select B.Site,B.OrderNo,B.ItemNo,B.ComponentPartNo
  312. ,P.PartDescription as PartDesc,P.Spec as PartSpec
  313. ,P.UMid as PartUm
  314. ,B.QtyAssembly,B.QtyFixedScrapt,B.ScraptFactor,B.Remark,B.QtyRequired,B.QtyIssue,B.IssueDate,B.QtyReserved,B.RMType_DB
  315. From dbo.view_SAP_SOBOM as B
  316. left join ReferencePartInfo as E On B.Site=E.Site and B.ComponentPartNo=E.PartNo
  317. and E.CustomerID=#{customerID} and (E.FGPartNo=#{partNo} or E.FGPartNo='全部')
  318. ,Part as P Where B.Site=P.Site and B.ComponentPartNo=P.PartNo
  319. and B.Site=#{site}
  320. and B.OrderNo=#{orderNo}
  321. Order by B.ItemNo
  322. </select>
  323. <select id="getShopOrderSapSOBOM" resultType="com.gaotao.modules.shopOrder.entity.ProductMixInShopOrder">
  324. Select T.ItemNo as item_no,
  325. T.ComponentPartNo as component_part_no,P.PartDescription as part_desc,P.Spec as part_spec,P.UMID,T.QtyRequired as qty_required
  326. ,P.DefaultLocationID as default_location_ID
  327. from dbo.view_SAP_SOBOM as T ,Part as P
  328. Where T.Site=P.Site and T.ComponentPartNo=P.PartNo
  329. and T.Site=#{site}
  330. and T.OrderNo= #{orderNo}
  331. </select>
  332. <select id="getOrderInfo" resultType="com.gaotao.modules.shopOrder.entity.ShopOrderData">
  333. Select T.OrderNo as order_no,T.PartNo as part_no,T.LotSize as lot_size
  334. ,P.PartDescription as part_desc,isnull(P.Spec,'') as spec,T.Remark as remark ,dbo.getOrderFirstItemNoFun(T.Site,T.OrderNo) as first_item_no
  335. from ShopOrder as T,Part as P
  336. Where T.Site=P.Site and T.PartNo=P.PartNo
  337. and T.Site=#{site}
  338. and T.OrderNo= #{orderNo}
  339. </select>
  340. </mapper>