83 lines
3.8 KiB
Python
83 lines
3.8 KiB
Python
|
|
#<23><><EFBFBD><EFBFBD>clr<6C><72><EFBFBD>п<EFBFBD>
|
|||
|
|
import clr
|
|||
|
|
#<23><><EFBFBD>Ӷ<EFBFBD>cloud<75><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
clr.AddReference('System')
|
|||
|
|
clr.AddReference('System.Data')
|
|||
|
|
clr.AddReference('Kingdee.BOS')
|
|||
|
|
clr.AddReference('Kingdee.BOS.Core')
|
|||
|
|
clr.AddReference('Kingdee.BOS.App')
|
|||
|
|
clr.AddReference('Kingdee.BOS.Contracts')
|
|||
|
|
clr.AddReference('Kingdee.BOS.DataEntity')
|
|||
|
|
clr.AddReference('Kingdee.BOS.ServiceHelper')
|
|||
|
|
#dairycloud<75><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еij<D0B5><C4B3><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3A3A8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ䵼<D5BC>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD>ݹ鵼<DDB9>룩
|
|||
|
|
from Kingdee.BOS.Core import *
|
|||
|
|
from Kingdee.BOS.Util import *
|
|||
|
|
from Kingdee.BOS.Core.Bill import *
|
|||
|
|
from Kingdee.BOS.Core.Bill.PlugIn import *
|
|||
|
|
from Kingdee.BOS.Orm.DataEntity import *
|
|||
|
|
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
|
|||
|
|
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
|
|||
|
|
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
|
|||
|
|
from System import *
|
|||
|
|
from System.Data import *
|
|||
|
|
from Kingdee.BOS.App.Data import *
|
|||
|
|
from System.Collections.Generic import List
|
|||
|
|
from Kingdee.BOS.ServiceHelper import *
|
|||
|
|
|
|||
|
|
def OnPreparePropertys(e):
|
|||
|
|
e.FieldKeys.Add("F_CYG_Worktype")
|
|||
|
|
e.FieldKeys.Add("FFinishQty")
|
|||
|
|
e.FieldKeys.Add("FStdManHour")
|
|||
|
|
e.FieldKeys.Add("FMaterialId")
|
|||
|
|
e.FieldKeys.Add("FHRWORKTIME")
|
|||
|
|
|
|||
|
|
def EndOperationTransaction(e):
|
|||
|
|
# <20><><EFBFBD><EFBFBD>8<EFBFBD>ύ9<E1BDBB><39><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>26ɾ<36><C9BE>3
|
|||
|
|
if this.FormOperation.OperationId == 1:
|
|||
|
|
Audit2DoUpdMoRptInfo(e)
|
|||
|
|
|
|||
|
|
def Audit2DoUpdMoRptInfo(e):
|
|||
|
|
# sqlList = """"""
|
|||
|
|
sqlLList=List[str]();
|
|||
|
|
for data in e.DataEntitys:
|
|||
|
|
billId = data["Id"]
|
|||
|
|
formId = data["FFormId"]
|
|||
|
|
for item in data["PRD_MORPTENTRY"]:
|
|||
|
|
entryId =item["Id"]
|
|||
|
|
entrySeq = item["Seq"]
|
|||
|
|
# Ĭ<><C4AC>ȡ<EFBFBD><C8A1><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD>Աʵ<D4B1><CAB5><EFBFBD><EFBFBD>ʱ
|
|||
|
|
hrWorkTime = item["HrWorkTime"]
|
|||
|
|
fitTimeTotal = 0
|
|||
|
|
guideTimeTotal = 0
|
|||
|
|
workTimeTypeVal = item["F_CYG_Worktype"]
|
|||
|
|
workTimeType = (0 if workTimeTypeVal.strip() == '' else int(workTimeTypeVal))
|
|||
|
|
# <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> 0.<2E><> 1.<2E><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ʱ 2.ָ<><D6B8><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ʱ 3.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ʱ
|
|||
|
|
if (workTimeType) > 0:
|
|||
|
|
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
finishQty = item["FinishQty"]
|
|||
|
|
# <20><><EFBFBD><D7BC>λʱ<CEBB><CAB1>
|
|||
|
|
stdManHour = item["StdManHour"]
|
|||
|
|
# 1.<2E><><EFBFBD><D7BC>λʱ<CEBB>䲻Ϊ<E4B2BB><CEAA>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Աʵ<D4B1><CAB5><EFBFBD><EFBFBD>ʱ = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * <20><><EFBFBD><D7BC>λʱ<CEBB>䣩
|
|||
|
|
if stdManHour != 0:
|
|||
|
|
hrWorkTime = finishQty * stdManHour
|
|||
|
|
if workTimeType != 3:
|
|||
|
|
materialId = item["MaterialId"]
|
|||
|
|
if workTimeType == 1:
|
|||
|
|
fitTime = materialId["F_CYG_FitTime"]
|
|||
|
|
fitTimeTotal = fitTime * finishQty
|
|||
|
|
# 2.<2E><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ʱ <20><><EFBFBD><D7BC>λʱ<CEBB><CAB1>Ϊ0ʱ <20><>Աʵ<D4B1><CAB5><EFBFBD><EFBFBD>ʱ = <20><><EFBFBD>ε<EFBFBD><CEB5>ݹ<EFBFBD>ʱ
|
|||
|
|
if stdManHour == 0:
|
|||
|
|
hrWorkTime = hrWorkTime - fitTimeTotal
|
|||
|
|
if workTimeType == 2:
|
|||
|
|
guideTime = materialId["F_CYG_GuideTime"]
|
|||
|
|
guideTimeTotal = guideTime * finishQty
|
|||
|
|
# 3.ָ<><D6B8><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ʱ <20><><EFBFBD><D7BC>λʱ<CEBB><CAB1>Ϊ0ʱ <20><>Աʵ<D4B1><CAB5><EFBFBD><EFBFBD>ʱ = <20><><EFBFBD>ε<EFBFBD><CEB5>ݹ<EFBFBD>ʱ
|
|||
|
|
if stdManHour == 0:
|
|||
|
|
hrWorkTime = hrWorkTime - guideTimeTotal
|
|||
|
|
sql = ("""/*dialect*/UPDATE T_CB_WORKHOURSENTRY SET F_CYG_Worktype = '{0}' ,FFitTimeTotal = {1},FguideTimeTotal = {2},FHrWorkTimePart = {3}
|
|||
|
|
WHERE FSRCBILLID = {4} AND FSRCENTRYID = {5} AND FSRCSEQ = {6} AND FSRCBILLFORMID = '{7}' ;""").format(workTimeType,fitTimeTotal,guideTimeTotal,hrWorkTime,billId,entryId,entrySeq,formId)
|
|||
|
|
# sqlList = sqlList + sql;
|
|||
|
|
sqlLList.Add(sql);
|
|||
|
|
# DBUtils.Execute(this.Context,sqlList)
|
|||
|
|
if(sqlLList.Count > 0):
|
|||
|
|
DBUtils.ExecuteBatch(this.Context,sqlLList,sqlLList.Count);
|