|
|
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.gaotao.modules.shopOrder.dao.ShopOrderMapper"> <!-- =============生产订单类型===================-->
<select id="getShopOrderFamily" resultType="com.gaotao.modules.shopOrder.entity.SOOrderTypeData"> Select OrderType, TypeDesc, Site, Active from SOOrderType as T where T.Site in (Select Site from AccessSite where upper(UserID) = #{user})
</select>
<insert id="saveShopOrderFamily" parameterType="com.gaotao.modules.shopOrder.entity.SOOrderTypeData"> INSERT INTO SOOrderType (OrderType, TypeDesc, Site, Active) values (#{orderType}, #{typeDesc}, #{site}, #{active}) </insert> <update id="editShopOrderFamily" parameterType="com.gaotao.modules.shopOrder.entity.SOOrderTypeData"> UPDATE SOOrderType SET TypeDesc=#{typeDesc}, Active=#{active}, Site=#{site} where OrderType = #{orderType} and Site = #{site} </update>
<delete id="deleteShopOrderFamily" parameterType="com.gaotao.modules.shopOrder.entity.SOOrderTypeData"> delete from SOOrderType where OrderType = #{orderType} and Site = #{site} </delete> <select id="checkOrderType" resultType="com.gaotao.modules.shopOrder.entity.SOOrderTypeData"> select OrderType, TypeDesc from SOOrderType where OrderType = #{orderType} and Site = #{site} </select>
<!-- =============生产计划===================-->
<select id="getPlanFamily" resultType="com.gaotao.modules.shopOrder.entity.SOPlannerData"> Select PlannerType, TypeDesc, Site, Active from SOPlanner as T where T.Site in (Select Site from AccessSite where upper(UserID) = #{user}) </select>
<insert id="savePlanFamily" parameterType="com.gaotao.modules.shopOrder.entity.SOPlannerData"> INSERT INTO SOPlanner (PlannerType, TypeDesc, Site, Active) values (#{plannerType}, #{typeDesc}, #{site}, #{active}) </insert>
<update id="editPlanFamily" parameterType="com.gaotao.modules.shopOrder.entity.SOPlannerData"> UPDATE SOPlanner SET TypeDesc=#{typeDesc}, Active=#{active}, Site=#{site} where PlannerType = #{plannerType} and Site = #{site} </update>
<delete id="deletePlanFamily" parameterType="com.gaotao.modules.shopOrder.entity.SOPlannerData"> delete from SOPlanner where PlannerType = #{plannerType} and Site = #{site} </delete> <select id="checkPlannerType" resultType="com.gaotao.modules.shopOrder.entity.SOPlannerData"> select PlannerType, TypeDesc from SOPlanner where PlannerType = #{plannerType} and Site = #{site} </select>
<!-- 查询-生产订单无工艺路线 --> <select id="searchShopOrderWithNoProcessRoute" resultType="com.gaotao.modules.shopOrder.entity.ShopOrderWithNoProcessRouteData"> Select * from view_SOrouting_check as T <where> AND T.site in (Select Site from AccessSite where upper(UserID)=#{user}) <if test=" site != null and site != ''"> AND Site like '%' + #{site} + '%' </if> <if test=" orderNo != null and orderNo != ''"> AND OrderNo like '%' + #{orderNo} + '%' </if> <if test=" partNo != null and partNo != ''"> AND PartNo like '%' + #{partNo} + '%' </if> <if test=" date1 != null "> AND EnterDate >= #{date1} </if> <if test=" date2 != null "> AND dateadd( DAY, 1, #{date2} ) > EnterDate </if> </where> </select>
<select id="searchProductionDispatchList" resultType="com.gaotao.modules.shopOrder.entity.SearchProductionDispatchListData"> SELECT <if test="page != null and limit != null"> COUNT(*) OVER() AS totalCount, </if> T.Site, T.OrderNo, T.ItemNo, S.OperationDesc, S.PartNo, P.PartDescription, P.Spec, T.QtyRequired AS LotSize, T.QtyReported, (T.QtyRequired - T.QtyReported) as qtyToReport, D.NeedDate, S.PreItemNo, S1.OperationDesc AS PreOperationDesc, S1.ScheduledFlag AS PreScheduledFlag, S.NextItemNo, S2.OperationDesc AS NextOperationDesc, S2.ScheduledFlag AS NextScheduledFlag, D.CustomerID, C.CustomerName AS CustomerName, D.EnterDate, dbo.Get_SOOpsScheduleAvailResource ( T.Site, T.OrderNo, T.S_WorkCenterNo, T.ItemNo ) AS AvailResource, T.S_WorkCenterNo AS WorkCenterNo, S.MachRunFactor, S.MachSetupTime, S.FactorUnit, T.ClosedFlag, isnull(E.S_ScheduledSeqNo ,- 1) AS S_ScheduledSeqNo, T.PlanStartTime, T.PlanFinishTime, T.S_ResourceID, ROUND(T.TimeRequired,2), T.SeqNo, T.SelectedFlag, T.SourceFlag, S1.QtyScheduled AS QtyScheduled_PreOps, T.ParkFlag, ROUND(T.TimeRequired_Original,2), T.QtyRequired_Original, S1.PlanStartTime AS PreOpsPlanStartTime, S1.PlanFinishTime AS PreOpsPlanFinishTime, T.EnteredDate, ( CASE WHEN S1.PlanStartTime > T.PlanStartTime THEN 'Y' ELSE 'N' END ) AS InAdvancedFlag, P.Remark AS CustPartNo, T.ClosedDate, T.closedby, T.serial_number AS serialNumber, d.total_roll, ISNULL(R.RollCount, 0) AS rollCount, D.LotSize AS OrderQty FROM SOScheduledRouting AS T INNER JOIN SORouting AS S WITH(NOLOCK) ON T.Site = S.Site AND T.OrderNo = S.OrderNo AND T.ItemNo = S.ItemNo LEFT JOIN ShopOrder AS D WITH(NOLOCK) ON T.Site = D.Site AND T.OrderNo = D.OrderNo LEFT JOIN SOScheduledList AS E WITH(NOLOCK) ON E.Site = T.Site AND E.LinkedSeqNo = T.SeqNo and T.S_ResourceID = E.ResourceID LEFT JOIN Part AS P WITH(NOLOCK) ON S.Site = P.Site AND S.PartNo = P.PartNo LEFT JOIN SORouting AS S1 WITH(NOLOCK) ON S.Site = S1.Site AND S.OrderNo = S1.OrderNo AND S.PreItemNo = S1.ItemNo LEFT JOIN SORouting AS S2 WITH(NOLOCK) ON S.Site = S2.Site AND S.OrderNo = S2.OrderNo AND S.NextItemNo = S2.ItemNo LEFT JOIN (SELECT Site, CreatedOpsSeqNo, COUNT(1) AS RollCount FROM SFDC_Rolls WITH(NOLOCK) WHERE RollType = '下道流转' GROUP BY Site, CreatedOpsSeqNo) AS R ON R.Site = T.Site AND R.CreatedOpsSeqNo = T.SeqNo LEFT JOIN Customer C WITH(NOLOCK) ON D.Site = C.Site AND D.CustomerID = C.CustomerID <where> AND T.Site = S.Site AND T.OrderNo = S.OrderNo AND T.ItemNo = S.ItemNo <if test="site != null and site != ''"> AND T.Site like '%' + #{site} + '%' </if> <if test="orderNo != null and orderNo != ''"> AND T.OrderNo like '%' + #{orderNo} + '%' </if> <if test="seqNo != null"> AND T.SeqNo like '%' + CAST(CAST(#{seqNo} AS BIGINT) AS VARCHAR) + '%' </if> <if test="partNo != null and partNo != ''"> AND S.PartNo like '%' + #{partNo} + '%' </if> <if test="sResourceID != null and sResourceID != ''"> AND T.S_ResourceID like '%' + #{sResourceID} + '%' </if> <if test="workCenterNo != null and workCenterNo != ''"> AND T.S_WorkCenterNo like '%' + #{workCenterNo} + '%' </if> <if test="date1 != null "> AND D.EnterDate >= #{date1} </if> <if test="date2 != null "> AND dateadd( DAY, 1, #{date2} ) > D.EnterDate </if> <if test="date3 != null "> AND T.PlanStartTime >= #{date3} </if> <if test="date4 != null "> AND dateadd( DAY, 1, #{date4} ) > T.PlanStartTime </if> <if test="date5 != null "> AND T.PlanFinishTime>= #{date5} </if> <if test="date6 != null "> AND dateadd( DAY, 1, #{date6} ) > T.PlanFinishTime </if> <if test="closedFlag != null and closedFlag != ''"> AND T.ClosedFlag = #{closedFlag} </if> <if test="parkFlag != null and parkFlag != ''"> AND T.ParkFlag = #{parkFlag} </if> ${sql} </where> ORDER BY d.bu_no, T.S_ResourceID, ISNULL(T.serial_number, 999999) <if test="page != null and limit != null"> OFFSET #{page} ROWS FETCH NEXT #{limit} ROWS ONLY </if> </select> <select id="searchShopOrder" resultType="com.gaotao.modules.shopOrder.entity.SearchShopOrder"> Select T.OrderNo,T.NeedDate,T.OrderType,T.PartNo,p.PartDescription+' / '+isnull(p.Spec,'') as PartDescription, T.LotSize,T.Planner,T.Status,T.CustomerID,P.ConfigurationTemplateID as CustomerName,T.PlanStartDate,T.Leadtime, T.EnterDate,T.Username,T.FinishedQty,T.ReleaseDate,T.ReleaseGuys,T.ScheduleDate,T.Scheduler,T.IssueDate, T.ReportDate,T.ReceiveDate,T.Printed,T.ProjectID,pr.ProjectName,T.BOMRevNo,T.RoutingRevNo,T.OriginalNeedDate, T.OrderRef1,T.OrderRef2,T.Site,T.Remark,CostRollUpFlag,T.ManualFlag,T.OriSOOrderNo,P.FamilyID, dbo.Get_PartFamilyDesc(P.Site,P.FamilyID) as FamilyName,P.GroupID,dbo.Get_PartGroupDesc(P.Site,P.GroupID) as GroupName, T.ReceiveStatus,T.RepairSOFlag,T.E_OriginalOrderType,T.E_OriginalOrderNo,T.E_Levels,P.PartType,P.Remark as CustPartNo, T.NeedDate as COPlanShipDate from Part as p,ShopOrder as T left join Project as pr on pr.Site=T.Site and pr.Projectid=T.ProjectID <where> AND T.Site=p.Site and T.PartNo=p.PartNo and T.site in (Select Site from AccessSite where upper(UserID)=#{user}) <if test=" orderType != null and orderType != ''"> AND T.OrderType like '%' + #{orderType} + '%' </if> <if test=" planner != null and planner != ''"> AND T.Planner like '%' + #{planner} + '%' </if> <if test=" site != null and site != ''"> AND T.Site like '%' + #{site} + '%' </if> <if test=" buNo != null and buNo != ''"> AND T.bu_no like '%' + #{buNo} + '%' </if> <if test=" partType != null and partType != ''"> AND P.PartType like '%' + #{partType} + '%' </if> <if test=" partNo != null and partNo != ''"> AND T.PartNo like '%' + #{partNo} + '%' </if> <if test=" partDescription != null and partDescription != ''"> AND p.PartDescription like '%' + #{partDescription} + '%' </if> <if test=" projectID != null and projectID != ''"> AND T.ProjectID like '%' + #{projectID} + '%' </if> <if test=" remark != null and remark != ''"> AND T.Remark like '%' + #{remark} + '%' </if> <if test=" orderNo != null and orderNo != ''"> AND T.OrderNo like '%' + #{orderNo} + '%' </if> <if test=" orderRef1 != null and orderRef1 != ''"> AND T.OrderRef1 like '%' + #{orderRef1} + '%' </if> <if test=" costRollUpFlag != null and costRollUpFlag != ''"> AND CostRollUpFlag like '%' + #{costRollUpFlag} + '%' </if> <if test=" statusList != null and statusList.size > 0 "> AND T.Status in <foreach item="item" collection="statusList" open="(" separator="," close=")"> #{item} </foreach> </if> <if test=" date1 != null "> AND T.EnterDate >= #{date1} </if> <if test=" date2 != null "> AND dateadd( DAY, 1, #{date2} ) > T.EnterDate </if> <if test=" date3 != null "> AND T.PlanStartDate >= #{date3} </if> <if test=" date4 != null "> AND dateadd( DAY, 1, #{date4} ) > T.PlanStartDate </if>
</where> </select> <select id="searchShopOrderByPaging" parameterType="com.gaotao.modules.shopOrder.entity.SearchShopOrder" resultType="com.gaotao.modules.shopOrder.entity.SearchShopOrder"> Select T.OrderNo, T.NeedDate, T.OrderType, T.PartNo, p.PartDescription + ' / ' + isnull(p.Spec, '') AS PartDescription, T.LotSize, T.Planner, T.Status, T.CustomerID, P.ConfigurationTemplateID AS CustomerName, T.PlanStartDate, T.Leadtime, T.EnterDate, T.Username, T.FinishedQty, T.ReleaseDate, T.ReleaseGuys, T.ScheduleDate, T.Scheduler, T.IssueDate, T.ReportDate, T.ReceiveDate, T.Printed, T.ProjectID, pr.ProjectName, T.BOMRevNo, T.RoutingRevNo, T.OriginalNeedDate, T.OrderRef1, T.OrderRef2, T.Site, T.Remark, CostRollUpFlag, T.ManualFlag, T.OriSOOrderNo, P.FamilyID, dbo.Get_PartFamilyDesc (P.Site, P.FamilyID) AS FamilyName, P.GroupID, dbo.Get_PartGroupDesc (P.Site, P.GroupID) AS GroupName, T.ReceiveStatus, T.RepairSOFlag, T.E_OriginalOrderType, T.E_OriginalOrderNo, T.E_Levels, P.PartType, P.Remark AS CustPartNo, T.NeedDate AS COPlanShipDate, T.batch_no batchNo, (SELECT COUNT(1) FROM SOScheduledRouting where Site = T.site and OrderNo = T.OrderNo ) AS apsResourceTotal, (SELECT COUNT(1) FROM SOScheduledRouting where Site = T.site and OrderNo = T.OrderNo AND QtyReported <![CDATA[<=]]> 0 AND TimeReported <![CDATA[<=]]> 0 ) AS notYetStartedResourceTotal, <!--(SELECT ROUND(SUM(issureQty),3) FROM SOIssueNotifyOrderList where Site = T.site and sOOrderNo = T.OrderNo)--> 0 alreadyApplyTotal from Part as p,ShopOrder as T left join Project as pr on pr.Site=T.Site and pr.Projectid=T.ProjectID <where> AND T.Site = p.Site and T.PartNo = p.PartNo and T.site in (Select Site from AccessSite where upper(UserID)=#{query.user}) <if test=" query.orderType != null and query.orderType != ''"> AND T.OrderType like '%' + #{query.orderType} + '%' </if> <if test=" query.planner != null and query.planner != ''"> AND T.Planner like '%' + #{query.planner} + '%' </if> <if test=" query.site != null and query.site != ''"> AND T.Site like '%' + #{query.site} + '%' </if> <if test=" query.buNo != null and query.buNo != ''"> AND T.bu_no like '%' + #{query.buNo} + '%' </if> <if test=" query.partType != null and query.partType != ''"> AND P.PartType like '%' + #{query.partType} + '%' </if> <if test=" query.partNo != null and query.partNo != ''"> AND T.PartNo like '%' + #{query.partNo} + '%' </if> <if test=" query.statusList != null and query.statusList.size > 0 "> AND T.Status in <foreach item="item" collection="query.statusList" open="(" separator="," close=")"> #{item} </foreach> </if> <if test=" query.partDescription != null and query.partDescription != ''"> AND p.PartDescription like '%' + #{query.partDescription} + '%' </if> <if test=" query.projectID != null and query.projectID != ''"> AND T.ProjectID like '%' + #{query.projectID} + '%' </if> <if test=" query.remark != null and query.remark != ''"> AND T.Remark like '%' + #{query.remark} + '%' </if> <if test=" query.orderNo != null and query.orderNo != ''"> AND T.OrderNo like '%' + #{query.orderNo} + '%' </if> <if test=" query.orderRef1 != null and query.orderRef1 != ''"> AND T.OrderRef1 like '%' + #{query.orderRef1} + '%' </if> <if test=" query.costRollUpFlag != null and query.costRollUpFlag != ''"> AND CostRollUpFlag like '%' + #{query.costRollUpFlag} + '%' </if> <if test=" query.statusList != null and query.statusList.size > 0 "> AND T.Status in <foreach item="item" collection="query.statusList" open="(" separator="," close=")"> #{item} </foreach> </if> <if test=" query.date1 != null "> AND T.EnterDate >= #{query.date1} </if> <if test=" query.date2 != null "> AND dateadd( DAY, 1, #{query.date2} ) > T.EnterDate </if> <if test=" query.date3 != null "> AND T.PlanStartDate >= #{query.date3} </if> <if test=" query.date4 != null "> AND dateadd( DAY, 1, #{query.date4} ) > T.PlanStartDate </if>
</where> </select> <select id="getShopOrderData" resultType="com.gaotao.modules.shopOrder.entity.ShopOrderData"> SELECT T.*, dbo.Get_ProjectDesc(T.Site,T.ProjectID) as ProjectIDName, P.Remark as PartRemark, P.ConfigurationTemplateID, P.UMID, p.PartDescription + ' / ' + isnull(p.Spec,'') as PartDesc, t.total_roll FROM ShopOrder AS T LEFT JOIN Part as P ON P.Site=T.Site and P.PartNo=T.PartNo <where> AND MaterialSplitFlag = 'N' and T.Site IN ( SELECT Site FROM AccessSite WHERE UPPER (UserID) = #{user} ) <if test=" orderNo != null and orderNo != ''"> AND T.OrderNo like '%' + #{orderNo} + '%' </if>
<if test=" site != null and site != ''"> AND T.Site like '%' + #{site} + '%' </if> <if test=" partNo != null and partNo != ''"> AND T.PartNo like '%' + #{partNo} + '%' </if> <if test=" status != null and status != ''"> AND T.Status = #{status} </if> <if test=" date1 != null "> AND T.NeedDate >= #{date1} </if> <if test=" date2 != null "> AND dateadd( DAY, 1, #{date2} ) > T.NeedDate </if> <if test=" date3 != null "> AND T.PlanStartDate >= #{date3} </if> <if test=" date4 != null "> AND dateadd( DAY, 1, #{date4} ) > T.PlanStartDate </if>
</where> </select>
<delete id="deleteShopOrderData"> delete from ShopOrder where site = #{site} and orderNo = #{orderNo} </delete> <delete id="deleteRouteInShopOrder"> delete from SORouting where site = #{site} and orderNo = #{orderNo} and itemNo = #{itemNo}
</delete>
<insert id="insertRouteInShopOrder"> insert into SORouting (Site, OrderNo, ItemNo, OperationDesc, WorkCenterNo, MachSetupTime, MachRunFactor, FactorUnit_DB, FactorUnit, QtyRequired, QtyReported, QtyApprove, TimeRequired, TimeReported, Efficiency, PlanStartTime, PlanFinishTime, BarcodeID, Remark, PartNo, Crewsize, ClosedFlag, ActionNotes, QtyScheduled) values (#{site}, #{orderNo}, #{itemNo}, #{operationDesc}, #{workCenterNo}, #{machSetupTime}, #{machRunFactor}, #{factorUnit_DB}, #{factorUnit}, #{qtyRequired}, #{qtyReported}, #{qtyApprove}, #{timeRequired}, #{timeReported}, #{efficiency}, #{planStartTime}, #{planFinishTime}, #{barcodeID}, #{remark}, #{partNo}, #{crewsize}, #{closedFlag}, #{actionNotes}, 0)
</insert> <delete id="deleteAvailResourceInShopOrder"> delete from SORouting_AvailableResource where site=#{site} and orderNo=#{orderNo} and ItemNo=#{itemNo} </delete>
<update id="updateRouteInShopOrder"> update SORouting set OperationDesc = #{operationDesc} , WorkCenterNo = #{workCenterNo} , MachSetupTime = #{machSetupTime} , MachRunFactor = #{machRunFactor} , FactorUnit = #{factorUnit} , Efficiency =#{efficiency} , TimeReported =#{timeRequired} , PlanFinishTime = #{planFinishTime} , PlanStartTime = #{planStartTime} , Crewsize = #{crewsize} , Remark= #{remark} where site = #{site} and OrderNo = #{orderNo} and ItemNo = #{itemNo}
</update>
<select id="getRoutingTimeRequired" resultType="java.math.BigDecimal"> select dbo.Get_Routing_TimeRequired(#{site}, #{lotSize}, #{machSetupTime}, #{machRunFactor}, #{factorUnit}, #{efficiency}) </select>
<select id="getWorkCenterInfo" resultType="com.gaotao.modules.shopOrder.entity.vo.WorkCenterVo"> Select WorkCenterNo Work_Center_No, WorkCenterDesc Work_Center_Desc, WorkCenterType Work_Center_Type, Active, Site from WorkCenter where WorkCenterNo = #{workCenterNo} and Site = #{site} </select>
<select id="getOrderNoRouteInMaxItemNo" resultType="java.lang.String"> select max(itemno) from SORouting where site = #{site} and orderNo = #{orderNo} </select>
<select id="getOrderNoItemNoCenter" resultType="java.lang.String"> select dbo.Get_SORoutingAvailResource(#{site}, #{orderNo}, #{workCenterNo}, #{itemNo}) </select> <update id="saveShopOrderData" parameterType="com.gaotao.modules.shopOrder.entity.ShopOrderData"> update ShopOrder set NeedDate=#{needDate}, PlanStartDate=#{planStartDate}, OriginalNeedDate=#{originalNeedDate}, OrderType=#{orderType}, Planner=#{planner}, OriSOOrderNo=#{oriSOOrderNo}, ProjectID=#{projectID}, Leadtime=#{leadtime,jdbcType=FLOAT}, RepairSOFlag=#{repairSOFlag}, TechInfo=#{techInfo}, Remark=#{remark}, batch_no=#{batchNo}, total_roll=#{totalRoll,jdbcType=INTEGER} where Site = #{site} and OrderNo = #{orderNo} </update>
<select id="getRouteInShopOrderData" resultType="com.gaotao.modules.shopOrder.entity.RouteInShopOrderData"> 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.production_qty as productionQty , R.total_roll_qty as totalRollQty , R.total_per_volume as totalPerVolume , R.QtyReported , R.QtyApprove , R.TimeRequired , R.TimeReported , R.Efficiency , R.PlanStartTime , R.PlanFinishTime , R.BarcodeID , R.Remark , R.PartNo , R.Crewsize , R.ClosedFlag , R.ActionNotes , W.WorkCenterType , dbo.Get_SORoutingAvailResource(R.Site, R.OrderNo, R.WorkCenterNo, R.ItemNo) as AvailResource from SORouting as R, WorkCenter as W <where> R.Site = W.Site and R.WorkCenterNo = W.WorkCenterNo and R.Site = #{site} and R.OrderNo = #{orderNo} <if test="itemNo!= null and itemNo != '' "> and R.itemNo = #{itemNo} </if> <if test=" itemDesc != null and itemDesc != ''"> AND R.OperationDesc like '%' + #{itemDesc} + '%' </if> </where> order by R.ItemNo </select>
<select id="getToolInShopOrder" resultType="com.gaotao.modules.shopOrder.entity.ToolInShopOrder">
Select T.Site , T.OrderNo , ItemNo , T.ToolID , P.ToolDescription , P.Spec , T.ToolQty , P.UMID , P.FamilyID , dbo.Get_PartFamilyDesc(T.Site, P.FamilyID) as FamilyName , P.Active , T.Remark , T.CreateDate , T.CreatedBy from SOTool as T, ToolHeader as P Where T.Site = P.Site and T.ToolID = P.ToolID and T.Site = #{site} and T.OrderNo = #{orderNo} Order by ItemNo, T.ToolID </select>
<select id="getProductMixInShopOrder" resultType="com.gaotao.modules.shopOrder.entity.ProductMixInShopOrder"> SELECT B.Site, B.OrderNo, B.ItemNo, B.ComponentPartNo, P.PartDescription AS PartDesc, P.Spec AS PartSpec, P.UMid AS PartUm, B.QtyAssembly, B.QtyFixedScrapt, B.ScraptFactor, B.Remark, B.QtyRequired, B.QtyIssue, B.IssueDate, B.QtyReserved, B.RMType_DB, p.issue_method FROM dbo.view_SAP_SOBOM AS B left join Part as P on B.Site = P.Site and B.ComponentPartNo = P.PartNo Where B.Site = #{site} and B.OrderNo = #{orderNo} Order by B.ItemNo </select> <select id="getShopOrderSapSOBOM" resultType="com.gaotao.modules.shopOrder.entity.ProductMixInShopOrder"> Select T.ItemNo as item_no, T.ComponentPartNo as component_part_no, P.PartDescription as part_desc, P.Spec as part_spec, P.UMID, T.QtyRequired as qty_required , P.DefaultLocationID as default_location_ID from dbo.view_SAP_SOBOM as T, Part as P Where T.Site = P.Site and T.ComponentPartNo = P.PartNo and T.Site = #{site} and T.OrderNo = #{orderNo}
</select> <select id="getOrderInfo" resultType="com.gaotao.modules.shopOrder.entity.ShopOrderData"> Select T.OrderNo as order_no , T.PartNo as part_no , T.LotSize as lot_size , P.PartDescription as part_desc , isnull(P.Spec, '') as spec , T.Remark as remark , dbo.get_ShopOrderPrintInfo(T.Site, T.OrderNo) as first_item_no from ShopOrder as T, Part as P Where T.Site = P.Site and T.PartNo = P.PartNo and T.Site = #{site} and T.OrderNo = #{orderNo} </select>
<!--获取工单的工具信息--> <select id="getShopOrderToolDatas" resultType="ShopOrderToolData"> Select T.Site site, T.OrderNo orderNo, ItemNo itemNo, T.ToolID toolId, P.ToolDescription toolDesc, P.Spec toolSpec, T.ToolQty toolQty, P.UMID umid, P.FamilyID familyId, dbo.Get_SOOpsDescription(T.Site, T.OrderNo, ItemNo) itemDesc, dbo.Get_PartFamilyDesc(T.Site, P.FamilyID) familyName, P.Active active, T.Remark remark, T.CreateDate createdDate, T.CreatedBy createdBy FROM SOTool as T, ToolHeader as P Where T.Site = P.Site and T.ToolID = P.ToolID and T.Site = #{site} and T.OrderNo = #{orderNo} Order by ItemNo, T.ToolID </select> <select id="getOrderQtyRequired" resultType="java.lang.Double"> Select LotSize from ShopOrder Where Site = #{site} and OrderNo = #{orderNo} </select> <select id="getSORoute" resultType="com.gaotao.modules.shopOrder.entity.RouteInShopOrderData"> Select R.Site , R.OrderNo , R.ItemNo , ISNULL(R.NextItemNo, 0) next_item_no , ISNULL(R.PreItemNo, 0) pre_item_no
from SORouting as R where R.site = #{site} and R.OrderNo = #{orderNo} and R.ItemNo = #{itemNo} </select>
<update id="updateRouteByItemNo"> update SORouting <set> <if test="nextItemNo != null"> NextItemNo = #{nextItemNo}, </if> <if test="preItemNo != null"> PreItemNo = #{preItemNo}, </if> </set> where site = #{site} and OrderNo = #{orderNo} and ItemNo = #{itemNo}
</update>
<select id="getSORouteItemNoOrderBy" resultType="com.gaotao.modules.shopOrder.entity.RouteInShopOrderData"> select top 1 Site , OrderNo , ItemNo from SORouting <where> site = #{route.site} and OrderNo = #{route.orderNo} <if test="orderBy == 'desc'"> and ItemNo <![CDATA[ < ]]> #{route.itemNo} </if> <if test="orderBy == 'asc'"> and ItemNo > #{route.itemNo} </if> </where>
order by ItemNo ${orderBy} </select> <select id="getShopOrderByPart" resultType="com.gaotao.modules.shopOrder.entity.ShopOrderData">
SELECT * FROM ShopOrder AS T WHERE Site = #{site} AND PartNo = #{partNo} AND ( Status = '已计划' OR Status = '已下达' ) AND NOT EXISTS ( SELECT 1 FROM SOScheduledRouting AS D WHERE T.Site = D.Site AND T.OrderNo = D.OrderNo ) AND T.OrderType != 'P' </select>
<select id="getRouteInShopOrderResource" resultType="com.gaotao.modules.shopOrder.entity.SoroutingAvailableresourceEntity"> SELECT s.Site,s.OrderNo,s.ItemNo,s.WorkCenterNo,w.ResourceID FROM SORouting s,RoutingDetail e LEFT JOIN RoutingDetail_AvailableResource w ON e.Site = w.Site AND e.PartNo = w.PartNo AND e.RevNo = w.RevNo AND e.itemNo=w.itemNo WHERE s.Site = #{site} AND s.OrderNo = #{orderNo} AND e.Site = s.Site AND e.PartNo = s.PartNo AND e.RevNo=#{bOMRevNo} and s.ItemNo=e.ItemNo and s.itemNo in (select h.itemNo from RoutingDetail_AvailableResource h where h.site = e.site and h.partno = e.partno and h.revno = e.revno ) Union all SELECT s.Site,s.OrderNo,s.ItemNo,s.WorkCenterNo,w.ResourceID FROM SORouting s LEFT JOIN WorkCenterResource w ON s.Site = w.Site AND s.WorkCenterNo = w.WorkCenterNo WHERE w.Active = 'Y' AND s.Site = #{site} AND s.OrderNo = #{orderNo} and s.itemNo not in (select h.itemNo from RoutingDetail_AvailableResource h where h.site = s.site and h.partno = s.partno and h.revno = #{bOMRevNo} ) </select> <select id="getOrderSopFileInfo" resultType="com.gaotao.modules.oss.entity.SysOssEntity"> SELECT * FROM (--如果工序有设置了可用机台的话,那么和可用机台关联 SELECT t.Site, t.WorkCenterNo, d.ResourceID , w.ResourceDesc FROM SORouting AS t, SORouting_AvailableResource AS d , WorkCenterResource AS w WHERE t.site= d.site AND t.site= w.site AND t.WorkCenterNo= w.WorkCenterNo AND d.ResourceID = w.ResourceID AND t.OrderNo= d.OrderNo AND t.ItemNo= d.ItemNo AND t.Site=#{site} AND t.OrderNo=#{orderNo}
UNION ALL--如果工序没有设置可用机台的话,那么和和该加工中心下的所有机台对应
SELECT t.Site, t.WorkCenterNo, d.ResourceID , w.ResourceDesc FROM SORouting AS t LEFT JOIN SORouting_AvailableResource AS d ON t.site= d.site AND t.OrderNo= d.OrderNo AND t.ItemNo= d.ItemNo , WorkCenterResource AS w WHERE d.Site IS NULL AND t.site= w.site AND t.WorkCenterNo= w.WorkCenterNo AND d.ResourceID = w.ResourceID AND t.Site=#{site} AND t.OrderNo=#{orderNo} ) AS x, sys_oss AS y WHERE x.Site= y.order_ref1 AND x.WorkCenterNo= y.order_ref2 AND x.ResourceID= y.order_ref3 ORDER BY ResourceID,order_ref4 </select> <select id="getShopOrderSopSOBOM" resultType="com.gaotao.modules.shopOrder.entity.ProductMixInShopOrder"> Select T.ItemNo as item_no, T.WOR1_ItemCode as component_part_no, T.WOR1_ItemName as part_desc, T.WOR1_PlannedQty as qty_required, T.U_SNUM AS qty_on_hand from dbo.sop_sobom as T Where T.Site = #{site} and T.DocEntry = #{orderNo} </select> <select id="getOrderSopInfo" resultType="com.gaotao.modules.shopOrder.entity.SopViewData"> select * from sop where DocEntry = #{orderNo} </select> <select id="getFileData" resultType="com.gaotao.modules.oss.entity.SysOssEntity"> select url,file_name,new_file_name from sys_oss where id = #{id} </select>
<insert id="saveShopOrderData2"> insert into ShopOrder (Site, bu_no, OrderNo, Status, Status_Tmp, EnterDate, NeedDate, PlanStartDate, OrderType, PartNo, LotSize, BOMRevNo, RoutingRevNo, ProjectID, CustomerID, batch_no, OrderRef1, OrderRef2) values (#{site}, #{buNo}, #{orderNo}, #{status}, #{statusTmp}, #{enterDate}, #{needDate}, #{planStartDate}, #{orderType}, #{partNo}, #{lotSize,jdbcType=FLOAT}, #{bOMRevNo}, #{routingRevNo}, #{projectID}, #{customerID}, #{batchNo}, #{orderRef1}, #{orderRef2}) </insert></mapper>
|