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

1

上级 230e9c96
...@@ -39,25 +39,27 @@ namespace LQKJ.K3.CZXT.Pluglus ...@@ -39,25 +39,27 @@ namespace LQKJ.K3.CZXT.Pluglus
string F_LQKJ_FDATEyf = F_LQKJ_FDATE.ToString("yyyy/MM");//设置费用的年月 string F_LQKJ_FDATEyf = F_LQKJ_FDATE.ToString("yyyy/MM");//设置费用的年月
// 动态获取当前日期 // 动态获取当前日期
DateTime currentDate = DateTime.Now; DateTime currentDate = DateTime.Now;
// 获取当前月份
int currentMonth = currentDate.Month;
// 从数据行中获取用户选择的日期 // 从数据行中获取用户选择的日期
DateTime selectedDate = Convert.ToDateTime(Convert.ToString(rowData["F_LQKJ_Date"])); DateTime selectedDate = Convert.ToDateTime(Convert.ToString(rowData["F_LQKJ_Date"]));
// 判断逻辑 // 判断逻辑
if (selectedDate > currentDate) if (selectedDate > currentDate)
{ {
// 如果选择的日期超过当前日期,则不允许 // 如果选择的日期超过当前日期,则不允许
this.View.ShowMessage("选择的日期不能超过当前日期!"); this.View.ShowMessage($"{currentMonth}月之前的数据");
} }
else if (selectedDate.Year == currentDate.Year) // 如果选择的日期是当前年份 else if (selectedDate.Year == currentDate.Year) // 如果选择的日期是当前年份
{ {
if (selectedDate.Month > currentDate.Month) if (selectedDate.Month > currentDate.Month)
{ {
// 如果选择的日期月份超过当前月份,则不允许 // 如果选择的日期月份超过当前月份,则不允许
this.View.ShowMessage("不能选择当前月份或之后的日期!"); this.View.ShowMessage($"{currentMonth}月之前的数据");
} }
else if (selectedDate.Month == currentDate.Month) else if (selectedDate.Month == currentDate.Month)
{ {
// 如果选择的日期是当前月份,则不允许 // 如果选择的日期是当前月份,则不允许
this.View.ShowMessage("不能选择当前月份的日期!"); this.View.ShowMessage($"{currentMonth}月之前的数据");
} }
else if (selectedDate.Month == currentDate.Month - 1) else if (selectedDate.Month == currentDate.Month - 1)
{ {
...@@ -73,7 +75,7 @@ namespace LQKJ.K3.CZXT.Pluglus ...@@ -73,7 +75,7 @@ namespace LQKJ.K3.CZXT.Pluglus
else else
{ {
// 其他情况(例如选择的日期年份超过当前年份),则不允许 // 其他情况(例如选择的日期年份超过当前年份),则不允许
this.View.ShowMessage("选择的日期无效!"); this.View.ShowMessage($"{currentMonth}月之前的数据");
} }
DynamicObject entityCollection = rowData["F_LQKJ_OrgId"] as DynamicObject; DynamicObject entityCollection = rowData["F_LQKJ_OrgId"] as DynamicObject;
......
...@@ -652,7 +652,7 @@ namespace LQKJ.K3.CZXT.Pluglus ...@@ -652,7 +652,7 @@ namespace LQKJ.K3.CZXT.Pluglus
//判断包含纸大类、项目 //判断包含纸大类、项目
if ((F_ORA_ASSISTANT || F_ORA_ASSISTANTS) && (F_ORA_ASSISTANT1 || F_ORA_ASSISTANT1S)) if ((F_ORA_ASSISTANT || F_ORA_ASSISTANTS) && (F_ORA_ASSISTANT1 || F_ORA_ASSISTANT1S))
{ {
sql = string.Format(@"/*dialect*/SELECT T1.FDate AS F_LQKJ_FDate,T1.FNUMBER,ZZ.FNAME AS F_LQKJ_OrgId --组织 sql = string.Format(@"/*dialect*/SELECT REPLACE(CONVERT(VARCHAR(10), T1.FDate, 111), '-', '/') AS F_LQKJ_FDate,T1.FNUMBER,ZZ.FNAME AS F_LQKJ_OrgId --组织
,Z.FNUMBER AS F_LQKJ_OrgBM --组织 ,Z.FNUMBER AS F_LQKJ_OrgBM --组织
,ZDL.FNUMBER AS F_ORA_ASSISTANT--纸大类编码 ,ZDL.FNUMBER AS F_ORA_ASSISTANT--纸大类编码
,ZDLM.FDATAVALUE AS F_ORA_ASSISTANTS--纸大类名称 ,ZDLM.FDATAVALUE AS F_ORA_ASSISTANTS--纸大类名称
...@@ -1071,6 +1071,8 @@ UPDATE SET ...@@ -1071,6 +1071,8 @@ UPDATE SET
t1.F_LQKJ_Specialloading = t2.F_LQKJ_Specialloading,t1.F_LQKJ_Inspectionfee = t2.F_LQKJ_Inspectionfee,t1.F_LQKJ_Wdbczce = t2.F_LQKJ_Wdbczce, t1.F_LQKJ_Specialloading = t2.F_LQKJ_Specialloading,t1.F_LQKJ_Inspectionfee = t2.F_LQKJ_Inspectionfee,t1.F_LQKJ_Wdbczce = t2.F_LQKJ_Wdbczce,
t1.F_LQKJ_Totalcosts=t1.F_LQKJ_Totalcosts+t2.F_LQKJ_Scanfee+t2.F_LQKJ_JDchannelfee+t2.F_LQKJ_Breturnfees+t2.F_LQKJ_Specialloading+t2.F_LQKJ_Inspectionfee+ t2.F_LQKJ_Wdbczce;"); t1.F_LQKJ_Totalcosts=t1.F_LQKJ_Totalcosts+t2.F_LQKJ_Scanfee+t2.F_LQKJ_JDchannelfee+t2.F_LQKJ_Breturnfees+t2.F_LQKJ_Specialloading+t2.F_LQKJ_Inspectionfee+ t2.F_LQKJ_Wdbczce;");
DBUtils.Execute(this.Context, sqlsssrss); DBUtils.Execute(this.Context, sqlsssrss);
//string updatesql = string.Format($@"/*dialect*/UPDATE {db} SET F_LQKJ_FDATE=CAST(F_LQKJ_FDATE AS DATE)");
//DBUtils.Execute(this.Context, updatesql);
} }
catch (Exception) catch (Exception)
{ {
......
...@@ -644,7 +644,7 @@ namespace LQKJ.K3.CZXT.Pluglus ...@@ -644,7 +644,7 @@ namespace LQKJ.K3.CZXT.Pluglus
// 添加多个字段的定义:字段名称、数据类型、长度、中文名称等 // 添加多个字段的定义:字段名称、数据类型、长度、中文名称等
zds.Add(new CreateTmpTableZD() { zdName = "FSTOCKORGID", type = 2, zdcd = 500, zwName = "库存组织名称" }); zds.Add(new CreateTmpTableZD() { zdName = "FSTOCKORGID", type = 2, zdcd = 500, zwName = "库存组织名称" });
zds.Add(new CreateTmpTableZD() { zdName = "FSTOCKORGBM", type = 2, zdcd = 500, zwName = "库存组织编码" }); zds.Add(new CreateTmpTableZD() { zdName = "FSTOCKORGBM", type = 2, zdcd = 500, zwName = "库存组织编码" });
zds.Add(new CreateTmpTableZD() { zdName = "F_LQKJ_FDate", type = 4, zdcd = 500, zwName = "业务日期" }); zds.Add(new CreateTmpTableZD() { zdName = "F_LQKJ_FDate", type = 4, zdcd = 20, zwName = "业务日期" });
zds.Add(new CreateTmpTableZD() { zdName = "FMATERIALNUMBER", type = 2, zdcd = 500, zwName = "物料编码" }); zds.Add(new CreateTmpTableZD() { zdName = "FMATERIALNUMBER", type = 2, zdcd = 500, zwName = "物料编码" });
zds.Add(new CreateTmpTableZD() { zdName = "FMATERIALID", type = 2, zdcd = 500, zwName = "物料名称" }); zds.Add(new CreateTmpTableZD() { zdName = "FMATERIALID", type = 2, zdcd = 500, zwName = "物料名称" });
zds.Add(new CreateTmpTableZD() { zdName = "F_ORA_ASSISTANT", type = 2, zdcd = 500, zwName = "纸大类编码" }); zds.Add(new CreateTmpTableZD() { zdName = "F_ORA_ASSISTANT", type = 2, zdcd = 500, zwName = "纸大类编码" });
...@@ -688,7 +688,7 @@ namespace LQKJ.K3.CZXT.Pluglus ...@@ -688,7 +688,7 @@ namespace LQKJ.K3.CZXT.Pluglus
try try
{ {
string sql = string.Format(@"/*dialect*/SELECT T1.FDate AS F_LQKJ_FDate--日期 string sql = string.Format(@"/*dialect*/SELECT REPLACE(CONVERT(VARCHAR(10), T1.FDate, 111), '-', '/') AS F_LQKJ_FDate--日期
,ZZ.FNAME AS FSTOCKORGID--库存组织名称 ,ZZ.FNAME AS FSTOCKORGID--库存组织名称
,CKZZ.FNUMBER AS FSTOCKORGBM--库存组织编码 ,CKZZ.FNUMBER AS FSTOCKORGBM--库存组织编码
,HZMC.FNAME AS FOwnerId--货主名称 ,HZMC.FNAME AS FOwnerId--货主名称
...@@ -796,8 +796,8 @@ ORDER by T1.FDate", receBillTable, Filter); ...@@ -796,8 +796,8 @@ ORDER by T1.FDate", receBillTable, Filter);
Kingdee.BOS.App.Data.DBUtils.BulkInserts(this.Context, db); Kingdee.BOS.App.Data.DBUtils.BulkInserts(this.Context, db);
string sqlsssrss = string.Format($@"/*dialect*/WITH NumberedTMP AS ( string sqlsssrss = string.Format($@"/*dialect*/WITH NumberedTMP AS (
SELECT *, SELECT *,
FORMAT(CAST(F_LQKJ_FDATE AS DATE), 'yyyy-MM') AS Month, -- 按月份分组 FORMAT(CAST(F_LQKJ_FDATE AS DATE), 'yyyy/MM') AS Month, -- 按月份分组
ROW_NUMBER() OVER (PARTITION BY FORMAT(CAST(F_LQKJ_FDATE AS DATE), 'yyyy-MM') ORDER BY F_LQKJ_FDATE) AS RowNum -- 按月分组生成序号 ROW_NUMBER() OVER (PARTITION BY FORMAT(CAST(F_LQKJ_FDATE AS DATE), 'yyyy/MM') ORDER BY F_LQKJ_FDATE) AS RowNum -- 按月分组生成序号
FROM {db} FROM {db}
),MaxRowNumPerMonth AS ( ),MaxRowNumPerMonth AS (
SELECT SELECT
...@@ -812,7 +812,7 @@ USING ( ...@@ -812,7 +812,7 @@ USING (
FROM T_LQKJ_CZexpenses FROM T_LQKJ_CZexpenses
) t2 ) t2
ON ( -- 只匹配每个月序号最大的记录 ON ( -- 只匹配每个月序号最大的记录
t1.RowNum = (SELECT MaxRowNum FROM MaxRowNumPerMonth WHERE Month = FORMAT(CAST(t1.F_LQKJ_FDATE AS DATE), 'yyyy-MM')) t1.RowNum = (SELECT MaxRowNum FROM MaxRowNumPerMonth WHERE Month = FORMAT(CAST(t1.F_LQKJ_FDATE AS DATE), 'yyyy/MM'))
AND FORMAT(CAST(t1.F_LQKJ_FDATE AS DATE), 'yyyy/MM') = FORMAT(t2.F_LQKJ_FDATE, 'yyyy/MM') AND t1.FSTOCKORGID = t2.F_LQKJ_ORGID AND FORMAT(CAST(t1.F_LQKJ_FDATE AS DATE), 'yyyy/MM') = FORMAT(t2.F_LQKJ_FDATE, 'yyyy/MM') AND t1.FSTOCKORGID = t2.F_LQKJ_ORGID
) )
WHEN MATCHED THEN WHEN MATCHED THEN
...@@ -821,6 +821,8 @@ UPDATE SET ...@@ -821,6 +821,8 @@ UPDATE SET
t1.F_LQKJ_Specialloading = t2.F_LQKJ_Specialloading,t1.F_LQKJ_Inspectionfee = t2.F_LQKJ_Inspectionfee,t1.F_LQKJ_Wdbczce = t2.F_LQKJ_Wdbczce, t1.F_LQKJ_Specialloading = t2.F_LQKJ_Specialloading,t1.F_LQKJ_Inspectionfee = t2.F_LQKJ_Inspectionfee,t1.F_LQKJ_Wdbczce = t2.F_LQKJ_Wdbczce,
t1.F_LQKJ_Totalcosts=t1.F_LQKJ_Totalcosts+t2.F_LQKJ_Scanfee+t2.F_LQKJ_JDchannelfee+t2.F_LQKJ_Breturnfees+t2.F_LQKJ_Specialloading+t2.F_LQKJ_Inspectionfee+ t2.F_LQKJ_Wdbczce;"); t1.F_LQKJ_Totalcosts=t1.F_LQKJ_Totalcosts+t2.F_LQKJ_Scanfee+t2.F_LQKJ_JDchannelfee+t2.F_LQKJ_Breturnfees+t2.F_LQKJ_Specialloading+t2.F_LQKJ_Inspectionfee+ t2.F_LQKJ_Wdbczce;");
DBUtils.Execute(this.Context, sqlsssrss); DBUtils.Execute(this.Context, sqlsssrss);
//string updatesql = ($"UPDATE {db} SET F_LQKJ_FDATE = REPLACE(CONVERT(VARCHAR(10), F_LQKJ_FDATE, 111), '-', '/'); ");
//DBUtils.ExecuteDynamicObject(this.Context, updatesql);
} }
catch (Exception) catch (Exception)
{ {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论