|
|
<?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 T.Site, T.OrderNo, T.ItemNo, S.OperationDesc, S.PartNo, P.PartDescription, P.Spec, T.QtyRequired AS LotSize, T.QtyReported, D.NeedDate, S.PreItemNo, S1.OperationDesc AS PreOperationDesc, S1.ScheduledFlag AS PreScheduledFlag, S.NextItemNo, S2.OperationDesc AS NextOperationDesc, S2.ScheduledFlag AS NextScheduledFlag, D.CustomerID, P.ConfigurationTemplateID 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 FROM SOScheduledRouting AS T LEFT JOIN ShopOrder AS D ON T.Site = D.Site AND T.OrderNo = D.OrderNo LEFT JOIN SOScheduledList AS E ON E.Site = T.Site AND E.LinkedSeqNo = T.SeqNo, SORouting AS S LEFT JOIN Part AS P ON S.Site = P.Site AND S.PartNo = P.PartNo LEFT JOIN SORouting AS S1 ON S.Site = S1.Site AND S.OrderNo = S1.OrderNo AND S.PreItemNo = S1.ItemNo LEFT JOIN SORouting AS S2 ON S.Site = S2.Site AND S.OrderNo = S2.OrderNo AND S.NextItemNo = S2.ItemNo
<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=" 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> ${sql} </where> </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 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 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} 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.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 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="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>
|