Files
GateDge2023_ljy/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/计划订单投放插件.py
PastSaid 08d8878eef a
2024-03-11 14:47:23 +08:00

57 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#引入clr运行库
import clr
#添加对cloud插件开发的常用组件引用
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基础库中的常用实体对象分命名空间导入不会递归导入
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")
def EndOperationTransaction(e):
# 保存8提交9审核1反审核26
if this.FormOperation.Operation == "Release": #投放
if e.DataEntitys != None and e.DataEntitys.Count > 0:
idList = set(map(lambda x : str(x["Id"]),e.DataEntitys))
sql ="""/*dialect*/
UPDATE t0e SET t0e.FMJDZDZID = t1.FMJDZDZID
FROM T_PRD_MOENTRY t0e
--INNER JOIN T_PRD_MOENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID
INNER JOIN T_ENG_BOM t1 on t0e.FBOMID = t1.FID
INNER JOIN T_PLN_PLANORDER t2 on t2.FBILLNO = t0e.FSRCBILLNO
WHERE 1 = 1
AND t0e.FSRCBILLTYPE = 'PLN_PLANORDER'
--AND t2.FID IN ({0})
UPDATE t0 SET t0.FMJDZDZID = t1.FMJDZDZID
FROM T_PRD_PPBOM t0
INNER JOIN T_ENG_BOM t1 on t0.FBOMID = t1.FID
INNER JOIN T_PRD_MOENTRY t2e on t2e.FENTRYID = t0.FMOENTRYID
INNER JOIN T_PLN_PLANORDER t3 on t3.FBILLNO = t2e.FSRCBILLNO
WHERE 1 = 1
AND t2e.FSRCBILLTYPE = 'PLN_PLANORDER'
AND t3.FID IN ({0})
""".format(",".join(idList))
DBUtils.Execute(this.Context,sql)