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.
843 lines
33 KiB
843 lines
33 KiB
<?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>
|