diff --git a/CY.SAL_OUTSTOCK/AutoPushLostOutStock2Pay.cs b/CY.SAL_OUTSTOCK/AutoPushLostOutStock2Pay.cs new file mode 100644 index 0000000..de05fc4 --- /dev/null +++ b/CY.SAL_OUTSTOCK/AutoPushLostOutStock2Pay.cs @@ -0,0 +1,99 @@ +using Kingdee.BOS.Core.DynamicForm.PlugIn; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web; +using Kingdee.BOS.Contracts; +using Kingdee.BOS; +using Kingdee.BOS.Core; +using System.ComponentModel; +using Kingdee.BOS.Util; +using Kingdee.BOS.Core.List; +using Kingdee.BOS.Core.DynamicForm.Operation; +using Kingdee.BOS.Core.Metadata.ConvertElement.ServiceArgs; +using Kingdee.BOS.Orm; +using Kingdee.BOS.App.Data; +using Kingdee.BOS.Orm.DataEntity; +using Kingdee.BOS.Core.BusinessFlow.ServiceArgs; +using Kingdee.BOS.Core.Metadata; +using Kingdee.BOS.App.Core.ScheduleService; + +namespace CY.SAL_OUTSTOCK +{ + [Description("自动下推"), HotUpdate] + public class AutoPushLostOutStock2Pay : IScheduleService + { + public void Run(Context ctx, Schedule schedule) + { + + try + { + IConvertService service = Kingdee.BOS.App.ServiceHelper.GetService(); + + string sourceFormId = "SAL_OUTSTOCK"; + + string targetFormId = "AR_RECEIVABLE"; + + //var rules = service.GetConvertRules(ctx, sourceFormId, targetFormId); + + string convertRuleId = "AR_OutStockToReceivableMap"; //销售出库单下推应付单 + + var ruleMeta = service.GetConvertRule(ctx, convertRuleId); + + var rule = ruleMeta.Rule; + var dbList = GetDBData(ctx); + if (dbList != null && dbList.Any()) + { + var groupbyList = dbList.GroupBy(x => x["FBILLNO"]); + StringBuilder stringBuilder = new StringBuilder(); + foreach (var list in groupbyList) + { + try + { + List selectedRows = list.Select(x => new ListSelectedRow(x["FID"].ToString(), x["FENTRYID"].ToString(), 0, sourceFormId)).ToList(); + + PushArgs pushArgs = new PushArgs(rule, selectedRows.ToArray());//下推入口参数 + + OperateOption option = OperateOption.Create();//选项参数 + + ConvertOperationResult result = service.Push(ctx, pushArgs, option); + } + catch (Exception ex) + { + stringBuilder.AppendLine($"单据:{list.Key}下推失败"); + } + } + + if (stringBuilder.IsNullOrEmpty()) + throw new Exception(stringBuilder.ToString()); + } + } + catch (Exception ex) + { + ScheduleMsgDal _msgDal = new ScheduleMsgDal(); + ScheduleMsg msg = new ScheduleMsg(); + msg.MsgDetail = ex.Message; + msg.HappenTime = DateTime.Now; + msg.MsgType = 5;// 1 成功 5异常, + msg.ScheduleTypeId = schedule.ScheduleTypeId; + _msgDal.InsertScheduleMsg(ctx, msg); + + } + + + } + + + + private DynamicObjectCollection GetDBData(Context ctx) + { + var unSql = $@" +select * from V_NOT_RECEIVABLE_OUTSTOCK +"; + var dbList = DBUtils.ExecuteDynamicObject(ctx, $"/*dialect*/{unSql}"); + + return dbList; + } + } +} diff --git a/CY.SAL_OUTSTOCK/CY.SAL_OUTSTOCK.csproj b/CY.SAL_OUTSTOCK/CY.SAL_OUTSTOCK.csproj new file mode 100644 index 0000000..bc5c31d --- /dev/null +++ b/CY.SAL_OUTSTOCK/CY.SAL_OUTSTOCK.csproj @@ -0,0 +1,72 @@ + + + + + Debug + AnyCPU + {6A52A594-F6A9-4754-BF53-22A126B54081} + Library + Properties + CY.SAL_OUTSTOCK + CY.SAL_OUTSTOCK + v4.0 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.dll + + + ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.App.dll + + + ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.App.Core.dll + + + ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Contracts.dll + + + ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Core.dll + + + ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.DataEntity.dll + + + ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.BD.Contracts.dll + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CY.SAL_OUTSTOCK/Properties/AssemblyInfo.cs b/CY.SAL_OUTSTOCK/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..dd7637f --- /dev/null +++ b/CY.SAL_OUTSTOCK/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("CY.SAL_OUTSTOCK")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("CY.SAL_OUTSTOCK")] +[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("6a52a594-f6a9-4754-bf53-22a126b54081")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CY.SAL_OUTSTOCK/SQLServer/无关联应收单.sql b/CY.SAL_OUTSTOCK/SQLServer/无关联应收单.sql new file mode 100644 index 0000000..44ec231 --- /dev/null +++ b/CY.SAL_OUTSTOCK/SQLServer/无关联应收单.sql @@ -0,0 +1,28 @@ +IF EXISTS (SELECT * FROM sysobjects WHERE name='V_NOT_RECEIVABLE_OUTSTOCK') --Ϊͼ + DROP VIEW V_NOT_RECEIVABLE_OUTSTOCK --ͼ +GO +CREATE VIEW V_NOT_RECEIVABLE_OUTSTOCK +AS +SELECT + A.FID + ,A.FBILLNO + ,A.FSTOCKORGID + ,AE.FENTRYID + ,B.FID +FROM + T_SAL_OUTSTOCK A + LEFT JOIN T_SAL_OUTSTOCKENTRY AE ON A.FID = AE.FID + LEFT JOIN (SELECT + A.FID + ,A.FBILLNO + ,AE.FENTRYID + ,BE.FORDERENTRYID + ,BE_LK.FSID + FROM + T_SAL_OUTSTOCK A + LEFT JOIN T_SAL_OUTSTOCKENTRY AE ON A.FID = AE.FID + LEFT JOIN T_AR_RECEIVABLEENTRY_LK BE_LK ON BE_LK.FSBILLID = AE.FID AND BE_LK.FSID = AE.FENTRYID + LEFT JOIN T_AR_RECEIVABLEENTRY BE ON BE.FENTRYID = BE_LK.FENTRYID + WHERE + BE_LK.FSTABLENAME = 'T_SAL_OUTSTOCKENTRY') B ON A.FID = B.FID +WHERE B.FID IS NULL and a.FDOCUMENTSTATUS ='C' \ No newline at end of file diff --git a/Extensions.zip b/Extensions.zip new file mode 100644 index 0000000..68c3939 Binary files /dev/null and b/Extensions.zip differ diff --git a/GateDge2023.sln b/GateDge2023.sln index 3c8132d..b80cc54 100644 --- a/GateDge2023.sln +++ b/GateDge2023.sln @@ -31,7 +31,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "旭东", "旭东", "{0C4E3D EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "汇威", "汇威", "{42311C80-7B4C-4353-BCA9-4ABD024290C8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kingdee.K3.SCM.Sal.Report.PlugInEx", "Kingdee.K3.SCM.Sal.Report.PlugInEx\Kingdee.K3.SCM.Sal.Report.PlugInEx.csproj", "{01F02D15-2726-4077-80FC-9E38EF29BABC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kingdee.K3.SCM.App.Sal.Report.PlugInEx", "Kingdee.K3.SCM.Sal.Report.PlugInEx\Kingdee.K3.SCM.App.Sal.Report.PlugInEx.csproj", "{01F02D15-2726-4077-80FC-9E38EF29BABC}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "长园", "长园", "{270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CY.SAL_OUTSTOCK", "CY.SAL_OUTSTOCK\CY.SAL_OUTSTOCK.csproj", "{6A52A594-F6A9-4754-BF53-22A126B54081}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -71,6 +75,10 @@ Global {01F02D15-2726-4077-80FC-9E38EF29BABC}.Debug|Any CPU.Build.0 = Debug|Any CPU {01F02D15-2726-4077-80FC-9E38EF29BABC}.Release|Any CPU.ActiveCfg = Release|Any CPU {01F02D15-2726-4077-80FC-9E38EF29BABC}.Release|Any CPU.Build.0 = Release|Any CPU + {6A52A594-F6A9-4754-BF53-22A126B54081}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6A52A594-F6A9-4754-BF53-22A126B54081}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6A52A594-F6A9-4754-BF53-22A126B54081}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6A52A594-F6A9-4754-BF53-22A126B54081}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -85,6 +93,7 @@ Global {A362AFBC-FC73-46A6-9185-15C17E694538} = {56C57ADC-8E92-4340-AC25-B7647758D4EB} {86DA044C-9D3B-43BD-8BDB-24B65E152604} = {A362AFBC-FC73-46A6-9185-15C17E694538} {01F02D15-2726-4077-80FC-9E38EF29BABC} = {42311C80-7B4C-4353-BCA9-4ABD024290C8} + {6A52A594-F6A9-4754-BF53-22A126B54081} = {270F576A-EFFF-4728-8E5C-ABDF5C3F3C8B} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {16F7DBDD-F487-41D6-A856-9E9B7B3F61C5} diff --git a/Kingdee.K3.SCM.Sal.Report.PlugInEx/Class1.cs b/Kingdee.K3.SCM.Sal.Report.PlugInEx/Class1.cs deleted file mode 100644 index 2f147f9..0000000 --- a/Kingdee.K3.SCM.Sal.Report.PlugInEx/Class1.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Kingdee.K3.SCM.Sal.Report.PlugIn; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Kingdee.K3.SCM.Sal.Report.PlugInEx -{ - public class Class1: SaleOutStockDetailEdit - { - } -} diff --git a/Kingdee.K3.SCM.Sal.Report.PlugInEx/Kingdee.K3.SCM.Sal.Report.PlugInEx.csproj b/Kingdee.K3.SCM.Sal.Report.PlugInEx/Kingdee.K3.SCM.App.Sal.Report.PlugInEx.csproj similarity index 85% rename from Kingdee.K3.SCM.Sal.Report.PlugInEx/Kingdee.K3.SCM.Sal.Report.PlugInEx.csproj rename to Kingdee.K3.SCM.Sal.Report.PlugInEx/Kingdee.K3.SCM.App.Sal.Report.PlugInEx.csproj index 97b0e65..5661352 100644 --- a/Kingdee.K3.SCM.Sal.Report.PlugInEx/Kingdee.K3.SCM.Sal.Report.PlugInEx.csproj +++ b/Kingdee.K3.SCM.Sal.Report.PlugInEx/Kingdee.K3.SCM.App.Sal.Report.PlugInEx.csproj @@ -7,8 +7,8 @@ {01F02D15-2726-4077-80FC-9E38EF29BABC} Library Properties - Kingdee.K3.SCM.Sal.Report.PlugInEx - Kingdee.K3.SCM.Sal.Report.PlugInEx + Kingdee.K3.SCM.App.Sal.Report + Kingdee.K3.SCM.App.Sal.Report.PlugInEx v4.5 512 true @@ -37,6 +37,9 @@ ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.App.dll + + ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Contracts.dll + ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Core.dll @@ -49,6 +52,9 @@ ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.BD.Contracts.dll + + ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.SCM.App.Sal.Report.dll + ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.SCM.Sal.Report.PlugIn.dll @@ -62,7 +68,7 @@ - + diff --git a/Kingdee.K3.SCM.Sal.Report.PlugInEx/SaleOutStockDetailRptEx.cs b/Kingdee.K3.SCM.Sal.Report.PlugInEx/SaleOutStockDetailRptEx.cs new file mode 100644 index 0000000..88555af --- /dev/null +++ b/Kingdee.K3.SCM.Sal.Report.PlugInEx/SaleOutStockDetailRptEx.cs @@ -0,0 +1,52 @@ +using Kingdee.BOS.Core.Report; +using Kingdee.BOS.Util; +using Kingdee.K3.SCM.App.Sal.Report; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Kingdee.K3.SCM.App.Sal.ReportEx +{ + [Description("销售出库明细报表数据源插件-扩展"), HotUpdate] + public class SaleOutStockDetailRptEx : SaleOutStockDetailRpt + { + public override void Initialize() + { + base.Initialize(); + } + public override ReportTitles GetReportTitles(IRptParams filter) + { + return base.GetReportTitles(filter); + } + + public override List GetSummaryColumnInfo(IRptParams filter) + { + return base.GetSummaryColumnInfo(filter); + } + + public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) + { + base.BuilderReportSqlAndTempTable(filter, tableName); + + } + + protected override DataTable GetReportData(string tablename, IRptParams filter) + { + return base.GetReportData(tablename, filter); + } + + public override void CloseReport() + { + base.CloseReport(); + } + + public override ReportHeader GetReportHeaders(IRptParams filter) + { + return base.GetReportHeaders(filter); + } + } +} diff --git a/MonthlyProductionSchedule/MonthlyProductionSchedule.csproj b/MonthlyProductionSchedule/MonthlyProductionSchedule.csproj index a15f0fd..b013c99 100644 --- a/MonthlyProductionSchedule/MonthlyProductionSchedule.csproj +++ b/MonthlyProductionSchedule/MonthlyProductionSchedule.csproj @@ -86,6 +86,7 @@ + diff --git a/MonthlyProductionSchedule/ProductionPlanRptPlugIn.cs b/MonthlyProductionSchedule/ProductionPlanRptPlugIn.cs index 0e4f83e..1040d41 100644 --- a/MonthlyProductionSchedule/ProductionPlanRptPlugIn.cs +++ b/MonthlyProductionSchedule/ProductionPlanRptPlugIn.cs @@ -123,7 +123,7 @@ namespace MonthlyProductionSchedule // FID, FEntryId, 编号、状态、物料、数量、单位、单位精度、单价、价税合计 object resa = 0; var startDate = date.ToString("yyyy-MM-dd"); - var endDate = date.AddMonths(1).AddDays(-1); + var endDate = date.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd"); // string sql = $@" //EXEC PROC_ProductionSchedule '{tableName}','{startDate}','{endDate}', {base.Context.UserLocale.LCID} ,'{seqFld}'; //"; @@ -223,8 +223,7 @@ namespace MonthlyProductionSchedule result = new ReportTitles(); } //数据保存状态 - object saveDataStauts; - dyFilter.TryGetValue("DataBDStatu", out saveDataStauts); + object saveDataStauts = dyFilter["DataBDStatu"]; result.AddTitle("FDataBDStatu", saveDataStauts.ToString()); result.AddTitle("FDataHoldYear", dyFilter["DataHoldYear"].ToString()); result.AddTitle("FDataHoldMonth", dyFilter["DataHoldMonth"].ToString()); diff --git a/MonthlyProductionSchedule/SQLServer/月度生产计划表-预测单.sql b/MonthlyProductionSchedule/SQLServer/月度生产计划表-预测单.sql index 5850344..8af8bd5 100644 --- a/MonthlyProductionSchedule/SQLServer/月度生产计划表-预测单.sql +++ b/MonthlyProductionSchedule/SQLServer/月度生产计划表-预测单.sql @@ -70,6 +70,7 @@ BEGIN --ƻend + --ѯstart SELECT A.FID @@ -95,7 +96,7 @@ BEGIN END END) AS 'SHELFLIFE' --,'' AS '׼' - ,CS.FSAFESTOCK --ȫ + ,CS.FSAFESTOCK AS SAFESTOCK --ȫ ,CS.FSTOREUNITID --浥λ ,(CASE CP.FPACKUNITCONVERRATIO WHEN 0 @@ -108,30 +109,16 @@ BEGIN ,AE.S01 ,AE.S02 ,AE.S03 - ,(CASE CP.FPACKUNITCONVERRATIO - WHEN 0 - THEN D.FQTY - D.FFINISHQTY ELSE ((D.FQTY - D.FFINISHQTY)/CP.FPACKUNITCONVERRATIO) - END) AS InProductionQty -- - ,(CASE CP.FPACKUNITCONVERRATIO - WHEN 0 - THEN E.FBASEQTY ELSE (E.FBASEQTY/CP.FPACKUNITCONVERRATIO) - END) AS InStockQty -- - ,(CASE CP.FPACKUNITCONVERRATIO - WHEN 0 - THEN (D.FQTY + E.FBASEQTY) ELSE ((D.FQTY + E.FBASEQTY)/CP.FPACKUNITCONVERRATIO) - END) AS TotalStockQty --ϼ + ,(CustomUnitNumConversion((D.FQTY + E.FBASEQTY - D.FFINISHQTY),CP.FPACKUNITCONVERRATIO)) AS InProductionQty -- + ,(CustomUnitNumConversion(E.FBASEQTY,CP.FPACKUNITCONVERRATIO)) AS InStockQty -- + --,(CASE CP.FPACKUNITCONVERRATIO + -- WHEN 0 + -- THEN (D.FQTY + E.FBASEQTY) ELSE ((D.FQTY + E.FBASEQTY)/CP.FPACKUNITCONVERRATIO) + --END) AS TotalStockQty --ϼ ,(CASE CP.FPACKUNITCONVERRATIO WHEN 0 THEN B.FOrderQty ELSE (B.FOrderQty/CP.FPACKUNITCONVERRATIO) END) AS OrderLotQty --ƻ - ,CS.FSTOREUNITID AS FPACKUNITID -- 'λ' - --, 140 as FLOTYIELD -- 'ÿ' - --,150 as FPACKUNITCONVERRATIO -- 'װ' - --,400 AS SAFESTOCKCOUNT --ȫ - --,'' AS 'M01' - --,'' AS 'S01' - --,'' AS 'S02' - --,'' AS 'S03' ,B.FFirmQty ,B.FOrderQty into #TMPMPS @@ -147,27 +134,31 @@ BEGIN LEFT JOIN (SELECT A.FMATERIALID ,A.FSTOCKORGID - ,SUM(A.FBASEQTY) AS FBASEQTY + ,SUM(A1.FQTY) AS FQTY FROM T_STK_INVENTORY A - group by A.FMATERIALID,A.FSTOCKORGID + left join T_STK_INVINITDETAIL A1 on A.FMATERIALID = A1.FMATERIALID AND A.Fstockid = A1.ftockid + GROUP BY A.FMATERIALID,A.FSTOCKORGID ) E on E.FMATERIALID = C.FMASTERID AND E.FSTOCKORGID = A.FFOREORGID WHERE --A.FDATE BETWEEN '2023-12-01 00:00:00' AND '2023-12-31 23:59:59' A.FDATE BETWEEN @STARTDATE AND @ENDDATE --µλ - ALTER TABLE #TMPMPS ADD FSTOREUNITNAME VARCHAR(10) + ALTER TABLE #TMPMPS ADD FSTOREUNITNAME VARCHAR(50) UPDATE #TMPMPS SET #TMPMPS.FSTOREUNITNAME = B_L.FNAME FROM T_BD_UNIT_L B_L WHERE B_L.FUNITID = #TMPMPS.FSTOREUNITID - ALTER TABLE #TMPMPS ADD FPACKUNITNAME VARCHAR(10) + ALTER TABLE #TMPMPS ADD FPACKUNITNAME VARCHAR(50) UPDATE #TMPMPS SET #TMPMPS.FPACKUNITNAME = B_L.FNAME FROM T_BD_UNIT_L B_L WHERE B_L.FUNITID = #TMPMPS.FPACKUNITID - ALTER TABLE #TMPMPS ADD FPACKUNITCONVT VARCHAR(10) - UPDATE T SET T.FPACKUNITCONVT = CONCAT(CONVERT(VARCHAR,T.FPACKUNITCONVERRATIO),T.STOREUNITNAME,'/',T.FPACKUNITNAME) FROM #TMPMPS T + ALTER TABLE #TMPMPS ADD FPACKUNITCONVT VARCHAR(100) + UPDATE T SET T.FPACKUNITCONVT = CONCAT(CONVERT(VARCHAR,T.FPACKUNITCONVERRATIO),T.FSTOREUNITNAME,'/',T.FPACKUNITNAME) FROM #TMPMPS T + + ALTER TABLE #TMPMPS ADD TotalStockQty decimal(23,6) + UPDATE T SET T.TotalStockQty = T.InProductionQty +T.InStockQty FROM #TMPMPS T --ѯend DECLARE @SQL VARCHAR(2000) - SET @sql = ' + SET @sql = N' select t0.* ,'+@SeqFld+' diff --git a/MonthlyProductionSchedule/SQLServer/月度计划数据保存.sql b/MonthlyProductionSchedule/SQLServer/月度计划数据保存.sql index d7a8cf3..ed02c40 100644 --- a/MonthlyProductionSchedule/SQLServer/月度计划数据保存.sql +++ b/MonthlyProductionSchedule/SQLServer/月度计划数据保存.sql @@ -10,7 +10,10 @@ CREATE PROCEDURE PROC_PPL_SaveCurrentData ,@FRECORDMONTH INT AS BEGIN - DELETE FROM T_PLAN_PLANPLMRPT WHERE FRECORDDATE = @FRECORDYEAR AND FRECORDMONTH = @FRECORDMONTH + IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_PLAN_PLANPLMRPT]') AND type IN ('U')) + BEGIN + DELETE FROM T_PLAN_PLANPLMRPT WHERE FRECORDDATE = @FRECORDYEAR AND FRECORDMONTH = @FRECORDMONTH + END DECLARE @SQL VARCHAR(2000) SET @sql = ' diff --git a/MonthlyProductionSchedule/SQLServer/自动保存存储过程.sql b/MonthlyProductionSchedule/SQLServer/自动保存存储过程.sql index 5d0679e..860747d 100644 --- a/MonthlyProductionSchedule/SQLServer/自动保存存储过程.sql +++ b/MonthlyProductionSchedule/SQLServer/自动保存存储过程.sql @@ -13,7 +13,10 @@ AS BEGIN EXEC PROC_INQUIRPLMTMPRTP @TableName,@STARTDATE,@ENDDATE,2052,' ROW_NUMBER() OVER(ORDER BY t0.FID ) FIDENTITYID ' - DELETE FROM T_PLAN_PLANPLMRPT WHERE FRECORDDATE = @FRECORDYEAR AND FRECORDMONTH = @FRECORDMONTH + IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[T_PLAN_PLANPLMRPT]') AND type IN ('U')) + BEGIN + DELETE FROM T_PLAN_PLANPLMRPT WHERE FRECORDDATE = @FRECORDYEAR AND FRECORDMONTH = @FRECORDMONTH + END DECLARE @SQL VARCHAR(2000) diff --git a/MonthlyProductionSchedule/SQLServer/自定义函数.sql b/MonthlyProductionSchedule/SQLServer/自定义函数.sql new file mode 100644 index 0000000..25536a2 --- /dev/null +++ b/MonthlyProductionSchedule/SQLServer/自定义函数.sql @@ -0,0 +1,11 @@ +CREATE FUNCTION dbo.CustomUnitNumConversion(@cnvNumber decimal(23,6) ,@coefficient int) +RETURNS decimal(23,6) --طֵ +as +BEGIN +declare @result decimal(23,6) +select @result = (CASE @coefficient + WHEN 0 + THEN @cnvNumber ELSE (@cnvNumber/@coefficient) + END) +RETURN @result +END \ No newline at end of file diff --git a/UseGetFmaterialData.zip b/SAL_OUTSTOCK.zip similarity index 79% rename from UseGetFmaterialData.zip rename to SAL_OUTSTOCK.zip index 34c1d48..9298245 100644 Binary files a/UseGetFmaterialData.zip and b/SAL_OUTSTOCK.zip differ