82 lines
3.0 KiB
Python
82 lines
3.0 KiB
Python
#引入clr运行库
|
||
import clr
|
||
#添加对cloud插件开发的常用组件引用
|
||
clr.AddReference('System')
|
||
clr.AddReference('System.Data')
|
||
# 常用金蝶插件类库start
|
||
clr.AddReference('Kingdee.BOS')
|
||
clr.AddReference('Kingdee.BOS.App')
|
||
clr.AddReference('Kingdee.BOS.App.Core')
|
||
clr.AddReference('Kingdee.BOS.Business.DynamicForm')
|
||
clr.AddReference('Kingdee.BOS.Contracts')
|
||
clr.AddReference('Kingdee.BOS.Core')
|
||
clr.AddReference('Kingdee.BOS.DataEntity')
|
||
clr.AddReference('Kingdee.BOS.ServiceHelper')
|
||
# 常用金蝶插件类库end
|
||
|
||
#dairycloud基础库中的常用实体对象(分命名空间导入,不会递归导入)
|
||
from System import *
|
||
from System.Data import *
|
||
from System.Collections.Generic import List
|
||
from Kingdee.BOS.Core import *
|
||
from Kingdee.BOS.Util import *
|
||
from Kingdee.BOS.Core.List import *
|
||
from Kingdee.BOS.Core.List.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.App.Data import *
|
||
from Kingdee.BOS.ServiceHelper import *
|
||
|
||
# def OnPreparePropertys(e):
|
||
# e.FieldKeys.Add("FWorkTimeType")
|
||
|
||
def AfterDoOperation(e):
|
||
# 保存8提交9审核1反审核26
|
||
if e.Operation.Operation == "DoUpdatePPBOMLevel":
|
||
datas = this.View.SelectedRowsInfo
|
||
whereSql = ""
|
||
if datas.Count > 0:
|
||
whereSql = "AND t0.FID IN({0})".format( ",".join(set(map(lambda x :str(x.PrimaryKeyValue),datas))))
|
||
|
||
sql = """/*dialect*/
|
||
UPDATE t0e SET t0e.FFORECASTGROUP = t1e.FFORECASTGROUP
|
||
,t0e.FFORECASTGROUPFRIST = CASE
|
||
WHEN CHARINDEX( '-',REPLACE( t1e.FFORECASTGROUP,'_','-') ,0) = 0
|
||
THEN t1e.FFORECASTGROUP
|
||
ELSE SUBSTRING(t1e.FFORECASTGROUP,0, CHARINDEX( '-',REPLACE( t1e.FFORECASTGROUP,'_','-') ,0))
|
||
END
|
||
FROM T_PRD_PPBOM t0
|
||
INNER JOIN T_PRD_PPBOMENTRY t0e on t0.FID = t0e.FID
|
||
INNER JOIN T_PRD_MOENTRY t1e on t1e.FID = t0.FMOID
|
||
WHERE 1 = 1 AND t1e.FFORECASTGROUP != ''
|
||
AND t0e.FFORECASTGROUP = ''
|
||
AND t0e.FFORECASTGROUPFRIST != t1e.FFORECASTGROUPFRIST
|
||
{0} """.format(whereSql)
|
||
# raise Exception(sql)
|
||
# count = DBUtils.Execute(this.Context, sql)
|
||
|
||
# def EndOperationTransaction(e):
|
||
# if this.FormOperation.Operation == "DoUpdatePPBOMLevel":
|
||
# datas = e.DataEntitys;
|
||
# whereSql = ""
|
||
# if datas.Count > 0:
|
||
# whereSql = "AND t0.FID IN({0})".format( ",".join(set(map(lambda x :str(x.Id),datas))))
|
||
|
||
# sql = """/*dialect*/
|
||
# UPDATE t0e SET t0e.FFORECASTGROUP = t1e.FFORECASTGROUP
|
||
# ,t0e.FFORECASTGROUPFRIST = CASE
|
||
# WHEN CHARINDEX( '-',REPLACE( t1e.FFORECASTGROUP,'_','-') ,0) = 0
|
||
# THEN t1e.FFORECASTGROUP
|
||
# ELSE SUBSTRING(t1e.FFORECASTGROUP,0, CHARINDEX( '-',REPLACE( t1e.FFORECASTGROUP,'_','-') ,0))
|
||
# END
|
||
# FROM T_PRD_PPBOM t0
|
||
# INNER JOIN T_PRD_PPBOMENTRY t0e on t0.FID = t0e.FID
|
||
# INNER JOIN T_PRD_MOENTRY t1e on t1e.FID = t0.FMOID
|
||
# WHERE 1 = 1 AND t1e.FFORECASTGROUP != ''
|
||
# AND t0e.FFORECASTGROUP = ''
|
||
# AND t0e.FFORECASTGROUPFRIST != t1e.FFORECASTGROUPFRIST
|
||
# {0}
|
||
# """.format(whereSql)
|
||
|
||
# raise Exception(sql) |