insert into operator_work_center(OperatorID,WorkCenterNo,created_by,created_date,Site)
values(#{operatorID},#{workCenterNo},#{user},GetDate(),#{site})
delete from operator_work_center where OperatorID=#{operatorID} and Site=#{site} and WorkCenterNo=#{workCenterNo}
insert into user_work_center(UserId,WorkCenterNo,created_by,created_date,Site)
values(#{userId},#{workCenterNo},#{user},GetDate(),#{site})
insert into user_work_center(UserId,WorkCenterNo,created_by,created_date,Site)
SELECT #{userId} ,a.WorkCenterNo ,#{user},GETDATE(), a.site FROM WorkCenter a
left join user_work_center b on a.site=b.site and a.WorkCenterNo=b.WorkCenterNo and b.UserId= #{userId}
where b.Site is null
delete from user_work_center where UserId=#{userId} and Site=#{site} and WorkCenterNo=#{workCenterNo}
delete from user_work_center where UserId=#{userId}
update SOTaskOrderHeader set CombineTime = GetDate() where site=#{site} and orderNo=#{orderNo}
insert into ScheduleList(Site,OrderNo,ItemNo,Type,Type_db,Qty,scheduledQty) values (#{site},#{orderNo},#{itemNo},'生产订单派工单','S',#{qty},0)
insert into ScheduleList(Site,OrderNo,ItemNo,Type,Type_db,Qty,scheduledQty) values (#{site},#{orderNo},#{itemNo},'日计划派工单','D',#{qty},0)
update DataSequence set seqNo=seqNo+1 where SeqType= 'A'
Insert into soscheduledrouting(Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,PlanStartTime,PlanFinishTime
,BarcodeID,Remark,Crewsize,ClosedFlag,QtyScrapt,OutWorkFlag,S_ScheduledDate,S_ResourceID,S_ShiftNo,S_WorkCenterNo
,SelectedFlag,SourceFlag,ParkFlag,TimeRequired_Original,QtyRequired_Original
,StartProdFlag,CancelledProdFlag,Efficiency,EnteredDate,scheduleType,operatorId,partNo,OrderRef1,cancelReportFlag,CreateBy,WorkTime,stopTime,jobType)
values(#{site},#{orderNo},#{itemNo},#{seqNo},#{scheduleQty},0,0,dbo.Get_SOScheduleRouting_TimeRequired(#{site},#{orderNo},#{itemNo},#{scheduleQty}),0,#{scheduleDate},#{scheduleDate}
,'*',#{remark},1,'N',0,'Y',#{scheduleDate},#{resourceId},#{shiftNo},#{workCenterNo}
,'N','N','N',dbo.Get_SOScheduleRouting_TimeRequired(#{site},#{orderNo},#{itemNo},#{scheduleQty}),#{scheduleQty}
,'N','N',#{efficiency},GETDATE(),'生产订单派工单',#{operatorId},#{partNo},#{orderNo},'N',#{createBy},0,0,#{jobType})
Insert into soscheduledrouting(Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,PlanStartTime,PlanFinishTime
,BarcodeID,Remark,Crewsize,ClosedFlag,QtyScrapt,OutWorkFlag,S_ScheduledDate,S_ResourceID,S_ShiftNo,S_WorkCenterNo
,SelectedFlag,SourceFlag,ParkFlag,TimeRequired_Original,QtyRequired_Original
,StartProdFlag,CancelledProdFlag,Efficiency,EnteredDate,scheduleType,operatorId,partNo,OrderRef1,cancelReportFlag,CreateBy,WorkTime,stopTime,jobType)
values(#{site},#{orderRef1},#{itemNo},#{seqNo},#{scheduleQty},0,0,dbo.Get_SOScheduleRouting_TimeRequired(#{site},#{orderRef1},#{itemNo},#{scheduleQty}),0,#{scheduleDate},#{scheduleDate}
,'*',#{remark},1,'N',0,'Y',#{scheduleDate},#{resourceId},#{shiftNo},#{workCenterNo}
,'N','N','N',dbo.Get_SOScheduleRouting_TimeRequired(#{site},#{orderRef1},#{itemNo},#{scheduleQty}),#{scheduleQty}
,'N','N',#{efficiency},GETDATE(),'日计划派工单',#{operatorId},#{partNo},#{orderNo},'N',#{createBy},0,0,#{jobType})
update ScheduleList set scheduledQty=scheduledQty+#{sumQty} where Site=#{site} and OrderNo=#{orderNo} and itemNo=#{itemNo} and type=#{scheduleType}
update StockPrint set PrintFlag='Y' where Site=#{site} and TransNo=#{transNo}
update print_info set status='Y' where Site=#{site} and orderref1=#{transNo}
Update SFDC_TimeHist set CompletedFlag='Y' ,TillTime=GETDATE(),TillEnteredTime=GETDATE(),TillEnteredBy=#{enteredby},TotalTime=Round(datediff(mi,EventTime,GETDATE())/60.0,2) where SeqNo=#{seqNo,jdbcType=INTEGER} and Site=#{site} and CompletedFlag='N' and EventDesc='暂停生产'
update SOScheduledRouting set OutWorkFlag=#{flag} where Site=#{site} and seqNo=#{seqNo}
insert into SFDC_TimeHist (Site,OrderNo,ItemNo,SeqNo,HistSeqNo,EventTime,Enteredby,EventDesc,DowntimeCode,EventType,LinkHistSeqNo,TillTime,TillEnteredTime,
TillEnteredBy,CompletedFlag,TotalTime,DowntimePhaseIn,RollNo) values
(#{site},#{orderNo},#{itemNo},#{seqNo},#{histSeqNo},GetDate(),#{enteredby},'开始生产','','P',null,null,null,null,'N',0,'','*')
insert into SFDC_TimeHist (Site,OrderNo,ItemNo,SeqNo,HistSeqNo,EventTime,Enteredby,EventDesc,DowntimeCode,EventType,LinkHistSeqNo,TillTime,TillEnteredTime,
TillEnteredBy,CompletedFlag,TotalTime,DowntimePhaseIn,RollNo,AbnormalCode,AbnormalRemark) values
(#{site},#{orderNo},#{itemNo},#{seqNo},#{histSeqNo},GetDate(),#{enteredby},'暂停生产','','D',null,null,null,null,'N',0,'','*',#{abnormalCode},#{abnormalRemark})
update SOScheduledRouting set ClosedFlag='Y',circulation_seqNo=#{newSeqNo},circulation_qty=#{circulationQty} where site=#{site} and seqNo=#{oldSeqNo}
INSERT into SOScheduledRouting (Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,PlanStartTime,PlanFinishTime,
BarcodeID,Remark,Crewsize,ClosedFlag,QtyScrapt,OutWorkFlag,S_ScheduledDate,S_ResourceID,S_ScheduledSeqNo,S_ShiftNo,
S_WorkCenterNo,ParkFlag,TimeRequired_Original,QtyRequired_Original,QtyReturntoSchedule,StartProdFlag,CancelledProdFlag,
Efficiency,EnteredDate,SelectedFlag,SourceFlag,Closedby,ClosedDate,VirtualResourceFlag,mat_issueflag,plate_issueflag,
tool_issueflag,scheduleType,operatorId,partNo,orderRef1,jobType,PreviousSeqNo,PreviousBatchNo,materSeqNo) values
(#{site},#{orderNo},#{itemNo},#{seqNo},#{qtyRequired},0,0,0,0,#{planStartTime},#{planFinishTime},
#{barcodeID},#{remark},#{crewsize},'N',0,'Y',#{sScheduledDate},#{sResourceID},#{sScheduledSeqNo},#{sShiftNo},
#{sWorkCenterNo},#{parkFlag},#{timeRequiredOriginal},#{qtyRequiredOriginal},null,'N','N',
0,GetDate(),'N','N',NULL,NULL,NULL,#{matIssueflag},'N','N',#{scheduleType},#{operatorId},#{partNo},#{orderRef1},#{jobType}
,#{previousSeqNo},#{previousBatchNo},#{materSeqNo})
update SOScheduledRouting set ClosedFlag='Y' where site=#{site} and seqNo=#{seqNo}
insert into Hunlian_TaskDetail (Site,TaskNo,OrderNo,OrderRef1,OrderRef2,OrderQty,HunlianQty,OrderDate,PartNo,HunlianPartNo)
select top 1 #{site},#{taskNo},#{orderNo},#{orderRef1},SO.OrderNo, SOT.OrderQty,#{hunlianQty},#{orderDate},SOT.partNo,#{hunlianPartNo}
from SOTaskOrderHeader SOT
left join ShopOrder t on t.site=#{site} and t.orderNo=#{orderRef1}
left join ShopOrder SO on SOT.site=SO.Site and t.orderNo=SO.Prelev_order_no and t.E_OriginalOrderType=SO.E_OriginalOrderType and (SO.PartNo like 'RC%' or SO.PartNo like 'SC%' )
where SOT.site=#{site} and SOT.orderNo=#{orderNo}
update SOTaskOrderHeader set dispatched_hunlian =#{flag} where site=#{site} and orderNo in
(select orderNo from Hunlian_TaskDetail where site=#{site} and TaskNo=#{taskNo} )
update Hunlian_TaskHeader set ReportFlag=#{flag} ,ReportQty=#{reportQty},reportReal=#{qtyReal} where site=#{site} and TaskNo=#{taskNo}
insert into Hunlian_TaskHeader (Site,TaskNo,TaskQty,PartNo,CreateDate,CreateBy,ReportFlag,ReportQty,DeleteFlag,WareHouseFlag,WareHouseQty,Remark,OrderRef1)
values(#{site},#{taskNo},#{taskQty},#{partNo},GetDate(),#{createBy},'N',0,'N','N',0,#{remark},#{orderRef1})
update Hunlian_TaskHeader set DeleteFlag='Y',DeleteBy=#{userId},DeleteDate=GetDate() where site=#{site} and TaskNo=#{taskNo}
update SOTaskOrderHeader SET Qtyfinished=Round(#{reportQty}*#{orderQty}/#{taskQty},1),ReportTime=GetDate(),FinishFlag='Y',ReportBy=#{userId} ,InputQty=Round(#{reportQty}*#{hunlianQty}/#{taskQty},1) where OrderNo=#{orderNo} and site =#{site}
update SOTaskOrderHeader SET Qtyfinished=0,ReportTime=null,FinishFlag='N',ReportBy=null ,InputQty=0 where site =#{site} and orderNo in (select orderNo from Hunlian_TaskDetail where site =#{site} and taskNo=#{taskNo})
INSERT INTO SOOpsTransferHeader (TransNo,Site,FromProLineNo,ToProLineNo,ToWarehouseID,FromEnteredby,FromEnteredDate,TransDate,ToReceiver,FromReceiver,
FromRemark,ToRemark,ConfirmedFlag,ToConfirmedBy,ToEnteredby,LatestUpdatedBy,LatestUpdatedDate,RecordVersion,
Status,ToTypeFlag_DB,ToTypeFlag,ConfirmedTransNo,need_inspect_flag,NeedReceiveFlag) VALUES
(#{transNo},#{site},'*','*','*',#{userId},GETDATE(),GETDATE(),'',#{userId},
'','','N','N','',#{userId},GETDATE(),'0',
'已录入','W','混炼胶入库','','Y','N')
INSERT INTO SOOpsTransferDetail (TransNo,Site,ItemNo,FromOpsID,FromWorkCenterNo,ToWorkCenterNo,ToOpsID,OrderNo,PartNo,TransQty,ConfirmQty,TaskNo,InsStatus,
ToConfirmQty) VALUES
( #{transNo},#{site},1,1,'*','',0,#{taskNo},#{partNo},#{reportQty},0,#{taskNo},'合格',0)
INSERT INTO SOOpsTransferHeader (TransNo,Site,FromProLineNo,ToProLineNo,ToWarehouseID,FromEnteredby,FromEnteredDate,TransDate,ToReceiver,FromReceiver,
FromRemark,ToRemark,ConfirmedFlag,ToConfirmedBy,ToEnteredby,RecordVersion,
Status,ToTypeFlag_DB,ToTypeFlag,ConfirmedTransNo,need_inspect_flag,NeedReceiveFlag,inspect_remark) VALUES
(#{transNo},#{site},'*','*','*',#{operatorId},GETDATE(),GETDATE(),'',#{operatorId},
'','','N','N','','0',
'已录入','I',#{toTypeFlag},'','Y','N',#{inspectRemark})
INSERT INTO SOOpsTransferDetail (TransNo,Site,ItemNo,FromOpsID,FromWorkCenterNo,ToWorkCenterNo,ToOpsID,OrderNo,PartNo,TransQty,ConfirmQty,TaskNo,InsStatus,
ToConfirmQty,seqNo) VALUES
( #{transNo},#{site},1,1,#{sWorkCenterNo},'',0,#{orderNo},#{partNo},#{qtyRequired},0,#{orderNo},'待检验',0,#{seqNo})
update SOOpsTransferHeader set Status='已取消' where site=#{site} and transNo=#{transNo}
delete from SOOpsTransferDetail where site=#{site} and transNo=#{transNo}
update SOOpsTransferHeader set NeedReceiveFlag=#{flag} from SOOpsTransferDetail b where SOOpsTransferHeader.site=b.site
and SOOpsTransferHeader.transNo=b.transNo and SOOpsTransferHeader.status='已录入' and SOOpsTransferHeader.ToTypeFlag_DB='W' and
b.seqNo=#{seqNo} and SOOpsTransferHeader.site=#{site}
update SORoutingOutput set LastStartTime=GetDate() where Site=#{site} and orderNo=#{orderNo} and itemNo=#{itemNo}
insert into SORoutingOutput (Site,OrderNo,ItemNo,TotalFinishedQty) values
(#{site},#{orderNo},#{itemNo},0)
update InventoryStock set ExpiredDate_new=#{newDate} where Site=#{site} and WarehouseID=#{warehouseID} and PartNo=#{partNo} and BatchNo=#{barchNo} and LocationID=#{locationID}
update Operator set tv_id=#{tvId} where site=#{site} and OperatorID=#{operatorID}
update tv_sop_base set work_station=#{workStation} where tv_id=#{tvId}
update SOScheduledRouting set PreviousSeqNo=#{previousSeqNo,jdbcType=INTEGER},PreviousBatchNo=#{previousBatchNo},materSeqNo=#{materSeqNo,jdbcType=INTEGER}
where seqNo=#{seqNo}