提交 f160bbd0 authored 作者: 谭富强's avatar 谭富强

翻译成python

上级 663edaf0
import clr
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.Orm.DataEntity')
from Kingdee.BOS import *
from Kingdee.BOS.App.Data import DBUtils
from Kingdee.BOS.App.Report import ReportUtils
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Core.Report import *
from Kingdee.BOS.Core.Report.PlugIn import *
from Kingdee.BOS.Core.Report.PlugIn.Args import *
from Kingdee.BOS.Orm.DataEntity import DynamicObject, DynamicObjectCollection
from Kingdee.BOS.Util import *
from System import *
from System.Collections.Generic import Dictionary, KeyValuePair, List
from System.Data import DataSet, DataTable, DataRow
from System.IO import StringReader
from System.Xml.Serialization import XmlSerializer
[Description("计划任务")]
[HotUpdate]
class Executetheplan(AbstractDynamicFormPlugIn, IScheduleService):
def Run(self, Context, SchedulePlanContext):
"""定时任务执行逻辑"""
# 1. 获取STK_StockDetailRpt的数据
sql = "/*dialect*/delete from T_LQKJ_CZDataSheet"
DBUtils.Execute(Context, sql)
sql = "/*dialect*/SELECT * FROM T_LQKJ_CZXT"
dynamics = DBUtils.ExecuteDynamicObject(Context, sql)
for dynamicObject in dynamics:
F_LQKJ_StartTime = Convert.ToDateTime(dynamicObject["F_LQKJ_StartTime"])
F_LQKJ_EndTime = Convert.ToDateTime(dynamicObject["F_LQKJ_EndTime"])
F_LQKJ_Warehouse = Convert.ToString(dynamicObject["F_LQKJ_Warehouse"])
F_LQKJ_Parameter = Convert.ToString(dynamicObject["F_LQKJ_Parameter"])
F_LQKJ_Parameter2 = Convert.ToString(dynamicObject["F_LQKJ_Parameter2"])
F_LQKJ_Parameter3 = Convert.ToString(dynamicObject["F_LQKJ_Parameter3"])
F_LQKJ_Parameter4 = Convert.ToString(dynamicObject["F_LQKJ_Parameter4"])
F_LQKJ_Parameter5 = Convert.ToString(dynamicObject["F_LQKJ_Parameter5"])
F_LQKJ_Parameter6 = Convert.ToString(dynamicObject["F_LQKJ_Parameter6"])
F_LQKJ_Parameter7 = Convert.ToString(dynamicObject["F_LQKJ_Parameter7"])
F_LQKJ_Parameter8 = Convert.ToString(dynamicObject["F_LQKJ_Parameter8"])
if F_LQKJ_StartTime <= DateTime.Now and F_LQKJ_EndTime >= DateTime.Now:
if F_LQKJ_Warehouse == "仓租数据更新":
sql = "/*dialect*/exec SP_STK_STOCKDETAILRPT_GRP @FBEGINDATE='{0}',@FENDDATE='{1}',@FINCLUDESUPPLIER='{2}',@FCALCULATEMODE='{3}',@FORGID='{4}',@FSTORERID='{5}',@FINCLUDEUNREVIEW='{6}',@FINCLUDELOCK='{7}',@FSTOCKLOCID='{8}'".format(F_LQKJ_Parameter, F_LQKJ_Parameter2, F_LQKJ_Parameter3, F_LQKJ_Parameter4, F_LQKJ_Parameter5, F_LQKJ_Parameter6, F_LQKJ_Parameter7, F_LQKJ_Parameter8, "")
dataSet = DBUtils.ExecuteDataSet(Context, sql)
if dataSet.Tables.Count > 0:
table = dataSet.Tables[0]
for row in table.Rows:
F_LQKJ_StockId = Convert.ToString(row["F_LQKJ_StockId"])
F_LQKJ_StockNo = Convert.ToString(row["F_LQKJ_StockNo"])
F_LQKJ_StockName = Convert.ToString(row["F_LQKJ_StockName"])
F_LQKJ_StockUnit = Convert.ToString(row["F_LQKJ_StockUnit"])
F_LQKJ_StockQty = Convert.ToDouble(row["F_LQKJ_StockQty"])
F_LQKJ_FDate = Convert.ToString(row["F_LQKJ_FDate"])
F_LQKJ_WarehouseId = Convert.ToString(row["F_LQKJ_WarehouseId"])
F_LQKJ_WarehouseNo = Convert.ToString(row["F_LQKJ_WarehouseNo"])
F_LQKJ_WarehouseName = Convert.ToString(row["F_LQKJ_WarehouseName"])
F_LQKJ_SupplierId = Convert.ToString(row["F_LQKJ_SupplierId"])
F_LQKJ_SupplierNo = Convert.ToString(row["F_LQKJ_SupplierNo"])
F_LQKJ_SupplierName = Convert.ToString(row["F_LQKJ_SupplierName"])
F_LQKJ_UnitCube = Convert.ToDouble(row["F_LQKJ_UnitCube"])
F_LQKJ_UnitWeight = Convert.ToDouble(row["F_LQKJ_UnitWeight"])
F_LQKJ_TotalCube = Convert.ToDouble(row["F_LQKJ_TotalCube"])
F_LQKJ_TotalWeight = Convert.ToDouble(row["F_LQKJ_TotalWeight"])
F_LQKJ_CreateOrgId = Convert.ToString(row["F_LQKJ_CreateOrgId"])
F_LQKJ_UseOrgId = Convert.ToString(row["F_LQKJ_UseOrgId"])
F_LQKJ_OrganizationId = Convert.ToString(row["F_LQKJ_OrganizationId"])
sql = "/*dialect*/INSERT INTO T_LQKJ_CZDataSheet (F_LQKJ_StockId, F_LQKJ_StockNo, F_LQKJ_StockName, F_LQKJ_StockUnit, F_LQKJ_StockQty, F_LQKJ_FDate, F_LQKJ_WarehouseId, F_LQKJ_WarehouseNo, F_LQKJ_WarehouseName, F_LQKJ_SupplierId, F_LQKJ_SupplierNo, F_LQKJ_SupplierName, F_LQKJ_UnitCube, F_LQKJ_UnitWeight, F_LQKJ_TotalCube, F_LQKJ_TotalWeight, F_LQKJ_CreateOrgId, F_LQKJ_UseOrgId, F_LQKJ_OrganizationId) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}', '{16}', '{17}', '{18}')"
DBUtils.Execute(Context, sql.format(F_LQKJ_StockId, F_LQKJ_StockNo, F_LQKJ_StockName, F_LQKJ_StockUnit, F_LQKJ_StockQty, F_LQKJ_FDate, F_LQKJ_WarehouseId, F_LQKJ_WarehouseNo, F_LQKJ_WarehouseName, F_LQKJ_SupplierId, F_LQKJ_SupplierNo, F_LQKJ_SupplierName, F_LQKJ_UnitCube, F_LQKJ_UnitWeight, F_LQKJ_TotalCube, F_LQKJ_TotalWeight, F_LQKJ_CreateOrgId, F_LQKJ_UseOrgId, F_LQKJ_OrganizationId))
def GetReportData(self, formId, filter, Context):
"""
获取指定报表的数据
"""
# 1. 反序列化过滤条件
customFilter = self.DeserializeCustomFilter(filter)
# 2. 设置报表参数
reportParams = ReportUtils.GetReportParameter(formId, Context)
if customFilter is not None and customFilter.Count > 0:
for key, value in customFilter:
reportParams.Params.Add(key, value)
# 3. 执行报表查询
dataSet = ReportUtils.ExecuteReportDataSet(formId, reportParams, Context)
# 4. 处理报表数据
if dataSet is not None and dataSet.Tables.Count > 0:
# 这里可以添加对报表数据的处理逻辑
pass
return dataSet
def DeserializeCustomFilter(self, filter):
"""
反序列化自定义过滤条件
"""
if filter is None or len(filter) == 0:
return None
try:
serializer = XmlSerializer(type(Dictionary))
with StringReader(filter) as reader:
return serializer.Deserialize(reader)
except Exception as ex:
# 处理反序列化异常
return None
\ No newline at end of file
import clr
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.Orm.DataEntity')
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Core.Report.PlugIn import *
from Kingdee.BOS.Util import *
from System import *
from System.Collections.Generic import List
from System.Data import DataRow
[Description("打开仓租手输费用表单")]
[HotUpdate]
class Handlossfees_TCBD(AbstractSysReportPlugIn):
def BarItemClick(self, e):
# 点击按钮事件
super(Handlossfees_TCBD, self).BarItemClick(e)
# 当点击这个按钮,触发
if e.BarItemKey.Equals("LQKJ_Setupfees"):
# 定义 listData 用于存储选中的数据
listData = List[DataRow]()
sdsw2 = List[object]()
# 调用,动态表单
parameter = DynamicFormShowParameter()
parameter.OpenStyle.ShowType = ShowType.Floating
# 调用哪个表单
parameter.FormId = "LQKJ_Setupfeesschedule"
# 通过销售订单编号,当前打开单据的单据编号查询后台数据库
parameter.CustomComplexParams.Add("listData", listData)
# parameter.CustomComplexParams.Add("F_LQKJ_StartDate", F_LQKJ_StartDate)
# 打开的动态表单,加载进来
self.View.ShowForm(parameter)
\ No newline at end of file
import clr
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.Orm.DataEntity')
from Kingdee.BOS import *
from Kingdee.BOS.App.Data import DBUtils
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Orm.DataEntity import DynamicObjectCollection
from Kingdee.BOS.Util import *
from System import *
[Description("加载设置参数")]
[HotUpdate]
class LQKJ_Setparameters_Edit(AbstractDynamicFormPlugIn):
def AfterBindData(self, e):
super(LQKJ_Setparameters_Edit, self).AfterBindData(e)
self.SetF_BHR_BCGLJE(self.Context)
def DataChanged(self, e):
super(LQKJ_Setparameters_Edit, self).DataChanged(e)
if e.Field.Key == "": # 收款条件
self.SetF_BHR_BCGLJE(self.Context)
def SetF_BHR_BCGLJE(self, ctx):
sql = "/*dialect*/SELECT * FROM LQKJ_SettupParameters"
dynamics = DBUtils.ExecuteDynamicObject(Context, sql)
if dynamics.Count > 0:
# self.View.Model.SetValue("F_LQKJ_Unitvolume", Convert.ToString(dynamics[0]["F_LQKJ_Unitvolume"]))
self.View.Model.SetValue("F_LQKJ_Warehouserent", Convert.ToString(dynamics[0]["F_LQKJ_Warehouserent"]))
self.View.Model.SetValue("F_LQKJ_Unloadingfee", Convert.ToString(dynamics[0]["F_LQKJ_Unloadingfee"]))
self.View.Model.SetValue("F_LQKJ_Loadingfee", Convert.ToString(dynamics[0]["F_LQKJ_Loadingfee"]))
self.View.Model.SetValue("F_LQKJ_Sortingfees", Convert.ToString(dynamics[0]["F_LQKJ_Sortingfees"]))
# self.View.UpdateView("F_LQKJ_Unitvolume") # 更新视图
self.View.UpdateView("F_LQKJ_Warehouserent")
self.View.UpdateView("F_LQKJ_Unloadingfee")
self.View.UpdateView("F_LQKJ_Loadingfee")
self.View.UpdateView("F_LQKJ_Sortingfees")
\ No newline at end of file
import clr
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.Orm.DataEntity')
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Core.Report.PlugIn import *
from Kingdee.BOS.Core.Report.PlugIn.Args import *
from Kingdee.BOS.Util import *
from System import *
from System.Globalization import NumberFormatInfo
[Description("打开设置参数动态表单")]
[HotUpdate]
class LQKJ_Setparameters_TCBD(AbstractSysReportPlugIn):
def BarItemClick(self, e):
# 点击按钮事件
super(LQKJ_Setparameters_TCBD, self).BarItemClick(e)
# 当点击这个按钮,触发
if e.BarItemKey.Equals("LQKJ_Openit"):
# 调用,动态表单
parameter = DynamicFormShowParameter()
parameter.OpenStyle.ShowType = ShowType.Floating
# 调用哪个表单
parameter.FormId = "LQKJ_Setparameters"
# 通过销售订单编号,当前打开单据的单据编号查询后台数据库
parameter.CustomComplexParams.Add("FENTRYID", "")
# 打开的动态表单,加载进来
self.View.ShowForm(parameter)
def FormatCellValue(self, args):
super(LQKJ_Setparameters_TCBD, self).FormatCellValue(args)
if self.IsFormatField(args.Header.Key):
# 格式化数字(指定小数位数+千分位符)
args.FormateValue = self.GetDecimalFormatString(Convert.ToDecimal(args.DataRow[args.Header.Key]), 8)
def IsFormatField(self, fieldKey):
if fieldKey.Equals("FSTOCKQCQTY", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("FSTOCKINQTY", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("FSTOCKOUTQTY", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("FSTOCKJCQTY", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Openingvolume", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Inboundvolume", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Outboundvolume", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Totalvolume", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Warehouse", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Unloading", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Loading", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Sorting", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Scanfee", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_JDchannelfee", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Breturnfees", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Specialloading", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Inspectionfee", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Wdbczce", StringComparison.OrdinalIgnoreCase):
return True
if fieldKey.Equals("F_LQKJ_Totalcosts", StringComparison.OrdinalIgnoreCase):
return True
return False
@staticmethod
def GetDecimalFormatString(value, digits=0):
if digits < 0 or digits > 99:
return ObjectUtils.Object2String(value)
formatString = "N" + str(digits)
formatInfo = NumberFormatInfo.CurrentInfo.Clone()
formatInfo.NumberNegativePattern = 1
formatInfo.NumberDecimalDigits = digits
return value.ToString(formatString, formatInfo)
\ No newline at end of file
import clr
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.Orm.DataEntity')
from Kingdee.BOS import *
from Kingdee.BOS.App.Data import DBUtils
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Orm.DataEntity import DynamicObject, DynamicObjectCollection
from Kingdee.BOS.Util import *
from System import *
from System.Data import DataRow
[Description("加载设置费用")]
[HotUpdate]
class LQKJ_Setupfeesschedule_Edit(AbstractDynamicFormPlugIn):
def AfterBindData(self, e):
super(LQKJ_Setupfeesschedule_Edit, self).AfterBindData(e)
self.SetF_BHR_BCGLJE(self.Context)
def DataChanged(self, e):
super(LQKJ_Setupfeesschedule_Edit, self).DataChanged(e)
if e.Field.Key == "F_LQKJ_Date": # 收款条件
self.SetF_BHR_BCGLJE(self.Context)
elif e.Field.Key == "F_LQKJ_OrgId": # 收款条件
self.SetF_BHR_BCGLJE(self.Context)
def SetF_BHR_BCGLJE(self, ctx):
F_LQKJ_FDATEyf = ""
F_LQKJ_ORGID = ""
# 获取 F_LQKJ_OrgId 的值
entityCollection = self.View.Model.GetValue("F_LQKJ_OrgId")
if entityCollection is not None:
F_LQKJ_ORGID = Convert.ToString(entityCollection["Name"]) # 组织
dateValue = self.View.Model.GetValue("F_LQKJ_Date")
# 判断 F_LQKJ_FDATE 是否为空或无效
F_LQKJ_FDATE = None
if dateValue is not None:
F_LQKJ_FDATE = Convert.ToDateTime(dateValue)
# 格式化日期为年月
F_LQKJ_FDATEyf = F_LQKJ_FDATE.ToString("yyyy/MM") # 年月
if F_LQKJ_ORGID and F_LQKJ_FDATEyf:
sql = "/*dialect*/SELECT * FROM T_LQKJ_CZexpenses WHERE FORMAT(F_LQKJ_FDATE, 'yyyy/MM')='{0}' AND F_LQKJ_ORGID='{1}'".format(F_LQKJ_FDATEyf, F_LQKJ_ORGID)
dynamics = DBUtils.ExecuteDynamicObject(Context, sql)
if dynamics.Count > 0:
self.View.Model.SetValue("F_LQKJ_Scanfee", Convert.ToString(dynamics[0]["F_LQKJ_Scanfee"]))
self.View.Model.SetValue("F_LQKJ_JDchannelfee", Convert.ToString(dynamics[0]["F_LQKJ_JDchannelfee"]))
self.View.Model.SetValue("F_LQKJ_Breturnfees", Convert.ToString(dynamics[0]["F_LQKJ_Breturnfees"]))
self.View.Model.SetValue("F_LQKJ_Specialloading", Convert.ToString(dynamics[0]["F_LQKJ_Specialloading"]))
self.View.Model.SetValue("F_LQKJ_Inspectionfee", Convert.ToString(dynamics[0]["F_LQKJ_Inspectionfee"]))
self.View.Model.SetValue("F_LQKJ_Wdbczce", Convert.ToString(dynamics[0]["F_LQKJ_Wdbczce"]))
self.View.UpdateView("F_LQKJ_Scanfee") # 更新视图
self.View.UpdateView("F_LQKJ_JDchannelfee")
self.View.UpdateView("F_LQKJ_Breturnfees")
self.View.UpdateView("F_LQKJ_Specialloading")
self.View.UpdateView("F_LQKJ_Inspectionfee")
self.View.UpdateView("F_LQKJ_Wdbczce")
else:
self.View.Model.SetValue("F_LQKJ_Scanfee", None)
self.View.Model.SetValue("F_LQKJ_JDchannelfee", None)
self.View.Model.SetValue("F_LQKJ_Breturnfees", None)
self.View.Model.SetValue("F_LQKJ_Specialloading", None)
self.View.Model.SetValue("F_LQKJ_Inspectionfee", None)
self.View.Model.SetValue("F_LQKJ_Wdbczce", None)
\ No newline at end of file
import clr
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.Orm.DataEntity')
from Kingdee.BOS import *
from Kingdee.BOS.App.Data import DBUtils
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Orm.DataEntity import DynamicObject, DynamicObjectCollection
from Kingdee.BOS.Util import *
from System import *
from System.Data import DataRow
[Description("[表单插件]仓租费用批量提交")]
[HotUpdate]
class LQKJ_Warehouserentexpenses_PLTJ(AbstractDynamicFormPlugIn):
def ButtonClick(self, e):
super(LQKJ_Warehouserentexpenses_PLTJ, self).ButtonClick(e)
if e.Key.Equals("F_BTN_ConfirmSave"):
self.ConfirmSave(e)
def ConfirmSave(self, e):
"""确认保存"""
# 获取表头数据
rowData = self.View.Model.DataObject
F_LQKJ_Date = Convert.ToString(rowData["F_LQKJ_Date"])
F_LQKJ_OrgId = Convert.ToString(rowData["F_LQKJ_OrgId"])
# 获取表体数据
collection = self.View.Model.GetEntryDataEntity("FEntity")
# 检查是否有数据
if collection.Count < 1:
self.View.ShowMessage("没有需要提交的数据!")
return
# 遍历表体数据
for entity in collection:
if entity.IsDeleted is False:
# 获取表体字段值
F_LQKJ_Remarks = Convert.ToString(entity["F_LQKJ_Remarks"])
F_LQKJ_Scanfee = Convert.ToDecimal(entity["F_LQKJ_Scanfee"])
F_LQKJ_JDchannelfee = Convert.ToDecimal(entity["F_LQKJ_JDchannelfee"])
F_LQKJ_Breturnfees = Convert.ToDecimal(entity["F_LQKJ_Breturnfees"])
F_LQKJ_Specialloading = Convert.ToDecimal(entity["F_LQKJ_Specialloading"])
F_LQKJ_Inspectionfee = Convert.ToDecimal(entity["F_LQKJ_Inspectionfee"])
F_LQKJ_Wdbczce = Convert.ToDecimal(entity["F_LQKJ_Wdbczce"])
# 查询是否已经存在相同的年月和组织
sql = "/*dialect*/SELECT * FROM T_LQKJ_CZexpenses WHERE FORMAT(F_LQKJ_FDATE, 'yyyy/MM')='{0}' AND F_LQKJ_ORGID='{1}'".format(F_LQKJ_Date, F_LQKJ_OrgId)
dynamics = DBUtils.ExecuteDynamicObject(self.Context, sql)
if dynamics.Count > 0:
# 更新数据
sql = "/*dialect*/UPDATE T_LQKJ_CZexpenses SET F_LQKJ_Remarks='{0}', F_LQKJ_Scanfee='{1}', F_LQKJ_JDchannelfee='{2}', F_LQKJ_Breturnfees='{3}', F_LQKJ_Specialloading='{4}', F_LQKJ_Inspectionfee='{5}', F_LQKJ_Wdbczce='{6}' WHERE FORMAT(F_LQKJ_FDATE, 'yyyy/MM')='{7}' AND F_LQKJ_ORGID='{8}'"
DBUtils.Execute(self.Context, sql.format(F_LQKJ_Remarks, F_LQKJ_Scanfee, F_LQKJ_JDchannelfee, F_LQKJ_Breturnfees, F_LQKJ_Specialloading, F_LQKJ_Inspectionfee, F_LQKJ_Wdbczce, F_LQKJ_Date, F_LQKJ_OrgId))
else:
# 插入数据
sql = "/*dialect*/INSERT INTO T_LQKJ_CZexpenses (F_LQKJ_FDATE, F_LQKJ_ORGID, F_LQKJ_Remarks, F_LQKJ_Scanfee, F_LQKJ_JDchannelfee, F_LQKJ_Breturnfees, F_LQKJ_Specialloading, F_LQKJ_Inspectionfee, F_LQKJ_Wdbczce) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}')"
DBUtils.Execute(self.Context, sql.format(F_LQKJ_Date, F_LQKJ_OrgId, F_LQKJ_Remarks, F_LQKJ_Scanfee, F_LQKJ_JDchannelfee, F_LQKJ_Breturnfees, F_LQKJ_Specialloading, F_LQKJ_Inspectionfee, F_LQKJ_Wdbczce))
# 显示保存成功信息
self.View.ShowMessage("保存成功!")
# 关闭当前表单
self.View.Close()
\ No newline at end of file
import clr
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.Orm.DataEntity')
from Kingdee.BOS import *
from Kingdee.BOS.App.Data import DBUtils
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Core.Report import *
from Kingdee.BOS.Core.Report.PlugIn import *
from Kingdee.BOS.Core.Report.PlugIn.Args import *
from Kingdee.BOS.Util import *
from System import *
from System.Collections.Generic import List
from System.Data import DataRow
[Description("[表单插件]仓租汇总报表双击某一行打开仓租明细报表")]
[HotUpdate]
class OpenitWarehousedetails(AbstractSysReportPlugIn):
def CellDbClick(self, Args):
super(OpenitWarehousedetails, self).CellDbClick(Args)
# 获取选中的行
rows = ISysReportView(self.View).SelectedDataRows
F_LQKJ_FDate = Convert.ToString(rows[0]["F_LQKJ_FDate"])
F_LQKJ_OrgId = Convert.ToString(rows[0]["F_LQKJ_OrgId"])
sql = "/*dialect*/SELECT FORGID FROM T_ORG_ORGANIZATIONS_L WHERE FNAME='{0}' AND FLOCALEID=2052".format(F_LQKJ_OrgId)
dataTable = DBUtils.ExecuteDataSet(self.Context, sql).Tables[0]
FORGID = ""
if dataTable.Rows.Count > 0:
FORGID = Convert.ToString(dataTable.Rows[0][0])
# 配置报告参数
rptShowParam = SysReportShowParameter()
rptShowParam.FormId = "LQKJ_Warehouserentdetails"
rptShowParam.IsShowFilter = False
rptShowParam.CustomParams.Add("data", F_LQKJ_FDate)
rptShowParam.CustomParams.Add("orgId", FORGID)
rptShowParam.OpenStyle.ShowType = ShowType.MainNewTabPage
self.View.ShowForm(rptShowParam)
\ No newline at end of file
import clr
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.Orm.DataEntity')
from Kingdee.BOS import *
from Kingdee.BOS.App.Data import DBUtils
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Core.Report import *
from Kingdee.BOS.Core.Report.PlugIn import *
from Kingdee.BOS.Core.Report.PlugIn.Args import *
from Kingdee.BOS.Util import *
from System import *
from System.Collections.Generic import Dictionary, KeyValuePair, List
from System.Data import DataRow
[Description("[表单插件]库存汇总报表")]
[HotUpdate]
class STK_StockSummaryRpt(StockSummaryRpt):
def BuilderReportSqlAndArgs(self, e):
super(STK_StockSummaryRpt, self).BuilderReportSqlAndArgs(e)
# 获取 SQL
sql = e.Sql.ToString()
# 增加字段
sql = sql.replace("t0.FQtyStockBase,", "t0.FQtyStockBase, t1.FUnitCube, t1.FUnitWeight, t0.FQtyStockBase * t1.FUnitCube AS FTotalCube, t0.FQtyStockBase * t1.FUnitWeight AS FTotalWeight, 0 AS F_Rent")
# 增加联表
sql = sql.replace("JOIN T_BD_MATERIAL_L T2 ON T0.FMATERIALID = T2.FMATERIALID AND T2.FLOCALEID = @FLOCALEID", "JOIN T_BD_MATERIAL_L T2 ON T0.FMATERIALID = T2.FMATERIALID AND T2.FLOCALEID = @FLOCALEID JOIN T_BD_MATERIAL T1 ON T0.FMATERIALID = T1.FMATERIALID")
# 修改 SQL
e.Sql = sql
def AfterBindData(self, e):
super(STK_StockSummaryRpt, self).AfterBindData(e)
# 计算仓租
self.CalculateRent(e)
def CalculateRent(self, e):
"""计算仓租"""
# 获取数据表格
table = self.reportData.Tables[0]
if table.Rows.Count > 0:
# 查询参数
sql = "/*dialect*/SELECT F_LQKJ_Warehouserent FROM T_LQKJ_SettupParameters"
dynamics = DBUtils.ExecuteDynamicObject(Context, sql)
if dynamics.Count > 0:
F_LQKJ_Warehouserent = Convert.ToDecimal(dynamics[0]["F_LQKJ_Warehouserent"])
# 遍历数据行
for row in table.Rows:
FTotalCube = Convert.ToDecimal(row["FTotalCube"])
row["F_Rent"] = FTotalCube * F_LQKJ_Warehouserent
\ No newline at end of file
import clr
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.Orm.DataEntity')
from Kingdee.BOS import *
from Kingdee.BOS.App.Data import DBUtils
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Orm.DataEntity import DynamicObject, DynamicObjectCollection
from Kingdee.BOS.Util import *
from System import *
from System.Data import DataRow
[Description("[表单插件]参数设置")]
[HotUpdate]
class Setupparameter(AbstractDynamicFormPlugIn):
def ButtonClick(self, e):
super(Setupparameter, self).ButtonClick(e)
if e.Key.Equals("FBtnConfirmModify"):
self.ConfirmModify(e)
def ConfirmModify(self, e):
"""确认修改"""
# 获取参数设置表单中的值
rowData = self.View.Model.DataObject
F_LQKJ_Warehouserent = Convert.ToDecimal(rowData["F_LQKJ_Warehouserent"])
F_LQKJ_Handlingcharge = Convert.ToDecimal(rowData["F_LQKJ_Handlingcharge"])
F_LQKJ_Handlingcharge2 = Convert.ToDecimal(rowData["F_LQKJ_Handlingcharge2"])
F_LQKJ_Weighingfee = Convert.ToDecimal(rowData["F_LQKJ_Weighingfee"])
F_LQKJ_Inspectionfee = Convert.ToDecimal(rowData["F_LQKJ_Inspectionfee"])
F_LQKJ_Forkliftusagefee = Convert.ToDecimal(rowData["F_LQKJ_Forkliftusagefee"])
F_LQKJ_Loadingandunloadingfee = Convert.ToDecimal(rowData["F_LQKJ_Loadingandunloadingfee"])
F_LQKJ_Trailerusagefee = Convert.ToDecimal(rowData["F_LQKJ_Trailerusagefee"])
F_LQKJ_Trailerusagefee2 = Convert.ToDecimal(rowData["F_LQKJ_Trailerusagefee2"])
F_LQKJ_Stickerfee = Convert.ToDecimal(rowData["F_LQKJ_Stickerfee"])
F_LQKJ_Palletusagefee = Convert.ToDecimal(rowData["F_LQKJ_Palletusagefee"])
F_LQKJ_Palletusagefee2 = Convert.ToDecimal(rowData["F_LQKJ_Palletusagefee2"])
# 验证参数值
if F_LQKJ_Warehouserent < 0 or F_LQKJ_Handlingcharge < 0 or F_LQKJ_Handlingcharge2 < 0 or F_LQKJ_Weighingfee < 0 or F_LQKJ_Inspectionfee < 0 or F_LQKJ_Forkliftusagefee < 0 or F_LQKJ_Loadingandunloadingfee < 0 or F_LQKJ_Trailerusagefee < 0 or F_LQKJ_Trailerusagefee2 < 0 or F_LQKJ_Stickerfee < 0 or F_LQKJ_Palletusagefee < 0 or F_LQKJ_Palletusagefee2 < 0:
self.View.ShowMessage("参数值不能为负数!")
return
# 更新参数设置
sql = "/*dialect*/UPDATE T_LQKJ_SettupParameters SET F_LQKJ_Warehouserent='{0}', F_LQKJ_Handlingcharge='{1}', F_LQKJ_Handlingcharge2='{2}', F_LQKJ_Weighingfee='{3}', F_LQKJ_Inspectionfee='{4}', F_LQKJ_Forkliftusagefee='{5}', F_LQKJ_Loadingandunloadingfee='{6}', F_LQKJ_Trailerusagefee='{7}', F_LQKJ_Trailerusagefee2='{8}', F_LQKJ_Stickerfee='{9}', F_LQKJ_Palletusagefee='{10}', F_LQKJ_Palletusagefee2='{11}'"
DBUtils.Execute(self.Context, sql.format(F_LQKJ_Warehouserent, F_LQKJ_Handlingcharge, F_LQKJ_Handlingcharge2, F_LQKJ_Weighingfee, F_LQKJ_Inspectionfee, F_LQKJ_Forkliftusagefee, F_LQKJ_Loadingandunloadingfee, F_LQKJ_Trailerusagefee, F_LQKJ_Trailerusagefee2, F_LQKJ_Stickerfee, F_LQKJ_Palletusagefee, F_LQKJ_Palletusagefee2))
# 显示修改成功信息
self.View.ShowMessage("参数修改成功!")
\ No newline at end of file
import clr
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.Orm.DataEntity')
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Orm.DataEntity import DynamicObject
from Kingdee.BOS.Util import *
from System import *
[Description("[表单插件]仓租汇总报表过滤框")]
[HotUpdate]
class Warehouserentsummary_Edit(AbstractDynamicFormPlugIn):
def ButtonClick(self, e):
super(Warehouserentsummary_Edit, self).ButtonClick(e)
if e.Key.Equals("FBTNOK"):
rowData = self.View.Model.DataObject
if rowData["F_LQKJ_StartDate"] is None and rowData["F_LQKJ_EndDate"] is None and rowData["F_LQKJ_Datemonth"] is None:
raise Exception("请月份或开始结束日期任意填一个!")
\ No newline at end of file
import clr
clr.AddReference('Kingdee.BOS.App')
from Kingdee.BOS.App.Data import *
def BarItemClick(e):
if e.BarItemKey=="tbExecuteScalar":
# 查询当前登录用户信息
sql = "SELECT FNAME FROM T_SEC_USER WHERE FUSERID="+this.Context.UserId.ToString();
userName = DBUtils.ExecuteScalar(this.Context,sql,None);
this.View.ShowMessage(userName);
elif e.BarItemKey=="tbExecute":
# 修改当前登录用户的描述
sql = "UPDATE T_SEC_USER SET FDESCRIPTION=N'哈哈哈' WHERE FUSERID="+this.Context.UserId.ToString();
count = DBUtils.Execute(this.Context,sql);
this.View.ShowMessage("更新成功,SQL:"+sql+",受影响行数:"+count.ToString());
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论