diff --git a/00.SDK/E_ZKEccSDK/BaseService.cs b/00.SDK/E_ZKEccSDK/BaseService.cs new file mode 100644 index 0000000..cf88533 --- /dev/null +++ b/00.SDK/E_ZKEccSDK/BaseService.cs @@ -0,0 +1,65 @@ +using E_ZKEcc.Domian; +using HandleUtils; +using Kingdee.BOS.Log; +using Kingdee.BOS.TCP; +using Kingdee.BOS.Util; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEcc +{ + public class BaseService + { + + protected readonly string _appKey; + protected readonly string _appSecret; + protected readonly string _apiVersion; + + protected readonly string _moduleName; + protected readonly string _moduleCnName; + + protected readonly string _serverUrl; + + protected string _actionName; + protected string _realServerUrl; + + protected JsonSerializerSettings _serializerSettings; + + public BaseService(ApiInfoDomian apiInfo, string moduleName, string moduleCnName = "") + { + + _appKey = apiInfo.appKey; + _apiVersion = apiInfo.apiVersion; + _appSecret = apiInfo.appSecret; + _serverUrl = apiInfo.serverUrl; + + _moduleName = moduleName; + _moduleCnName = moduleCnName; + + _serializerSettings = new JsonSerializerSettings + { + NullValueHandling = NullValueHandling.Ignore + }; + //_realServerUrl = $"{_serverUrl}/api/{_apiVersion}/{_moduleName}/{_apiName}/?Key={_appKey}"; + } + + /// + /// 执行请求 + /// + /// + /// + public string DoExecute(string dataJson) + { + ////对json字符串进行url编码 + //var requestData = EncryptHelper.UrlEncode(dataJson); + //var request = new Dictionary(); + _realServerUrl = $"{_serverUrl}/api/{_apiVersion}/{_moduleName}/{_actionName}/?key={_appKey}"; + string result = WebHelper.DoPost(_realServerUrl, dataJson); + return result; + } + } +} diff --git a/00.SDK/E_ZKEccSDK/Domian/ApiInfoDomian.cs b/00.SDK/E_ZKEccSDK/Domian/ApiInfoDomian.cs new file mode 100644 index 0000000..df73200 --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Domian/ApiInfoDomian.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEcc.Domian +{ + [Serializable] + public class ApiInfoDomian + { + public string appKey { get; set; } + + public string appSecret { get; set; } + + public string apiVersion { get; set; } + + public string serverUrl { get; set; } + + } +} diff --git a/00.SDK/E_ZKEccSDK/Domian/EmployeeDomain.cs b/00.SDK/E_ZKEccSDK/Domian/EmployeeDomain.cs new file mode 100644 index 0000000..a434fc9 --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Domian/EmployeeDomain.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEcc.Domian +{ + [Serializable] + public class EmployeeDomain + { + /// + /// 人员编号 长度为1~24个字符 必填 + /// + public string pin { get; set; } + + /// + /// 名称。长度为1~20个字符 + /// + public string name { get; set; } + + /// + /// 人员所属部门编号(更新可以不填,新增必填) + /// + public string deptnumber { get; set; } + + /// + /// 性别 。'M'表示男,'F'表示女 允许值: 'M', 'F' + /// + public string gender { get; set; } + + /// + /// 身份证号 + /// + public string identitycard { get; set; } + + /// + /// 人员自助密码 + /// + public string selfpassword { get; set; } + + /// + /// 人员是否考勤 + /// + public int? att { get; set; } + + /// + /// 验证方式 + /// + public int? comverifys { get; set; } + + /// + /// 比对照片信息,BASE64格式 + /// + public string enrollpic { get; set; } + } +} diff --git a/00.SDK/E_ZKEccSDK/Domian/ResultDomian.cs b/00.SDK/E_ZKEccSDK/Domian/ResultDomian.cs new file mode 100644 index 0000000..17d62b8 --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Domian/ResultDomian.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEcc.Domian +{ + [Serializable] + public class ResultDomian + { + public string msg { get; set; } + + public int ret { get; set; } + + public ResultData data { get; set; } + } + + [Serializable] + public class ResultDomian + { + public string msg { get; set; } + + public int ret { get; set; } + + public string[] error_list { get; set; } + } + + [Serializable] + public class ResultData + { + public int count { get; set; } + + public List items { get; set; } + } +} diff --git a/00.SDK/E_ZKEccSDK/E_ZKEccSDK.csproj b/00.SDK/E_ZKEccSDK/E_ZKEccSDK.csproj new file mode 100644 index 0000000..8afddd2 --- /dev/null +++ b/00.SDK/E_ZKEccSDK/E_ZKEccSDK.csproj @@ -0,0 +1,81 @@ + + + + + Debug + AnyCPU + {9A0273E4-D584-4418-951C-020D4EFF1732} + Library + Properties + E_ZKEccSDK + E_ZKEccSDK + 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 + + + False + ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Newtonsoft.Json.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {beae0bf6-7ab9-4af5-83ce-d08e3c6880ef} + ExtensionMethods + + + {d6a5e5a0-7529-4ffa-9f9d-b2c610919bf6} + HandleUtils + + + + + + + \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/Properties/AssemblyInfo.cs b/00.SDK/E_ZKEccSDK/Properties/AssemblyInfo.cs similarity index 83% rename from 03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/Properties/AssemblyInfo.cs rename to 00.SDK/E_ZKEccSDK/Properties/AssemblyInfo.cs index d125c48..1554bda 100644 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/Properties/AssemblyInfo.cs +++ b/00.SDK/E_ZKEccSDK/Properties/AssemblyInfo.cs @@ -5,12 +5,12 @@ using System.Runtime.InteropServices; // 有关程序集的一般信息由以下 // 控制。更改这些特性值可修改 // 与程序集关联的信息。 -[assembly: AssemblyTitle("ProductionMaterialsReport")] +[assembly: AssemblyTitle("E_ZKEccSDK")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("ProductionMaterialsReport")] -[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyProduct("E_ZKEccSDK")] +[assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -20,7 +20,7 @@ using System.Runtime.InteropServices; [assembly: ComVisible(false)] // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID -[assembly: Guid("49af92f2-2dcf-42f4-ab29-12298575d803")] +[assembly: Guid("9a0273e4-d584-4418-951c-020d4eff1732")] // 程序集的版本信息由下列四个值组成: // diff --git a/00.SDK/E_ZKEccSDK/Request/DepartmentGetRequest.cs b/00.SDK/E_ZKEccSDK/Request/DepartmentGetRequest.cs new file mode 100644 index 0000000..c2e901d --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Request/DepartmentGetRequest.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccSDK.Request +{ + public class DepartmentGetRequest + { + public string deptnumber { get; set; } + + public int? fetch_child { get; set; } + } +} diff --git a/00.SDK/E_ZKEccSDK/Request/DepartmentUpdateRequest.cs b/00.SDK/E_ZKEccSDK/Request/DepartmentUpdateRequest.cs new file mode 100644 index 0000000..2678b67 --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Request/DepartmentUpdateRequest.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccSDK.Request +{ + public class DepartmentUpdateRequest + { + /// + /// 部门编号。长度表示为1~40个字符(只能包含字母和数字) + /// 必填 + /// + public string deptnumber { get; set; } + + /// + /// 名称。 + /// 长度表示为1~40个字符 + /// (更新可以不填,新增必填) + /// + public string deptname { get; set; } + + /// + /// 父部门编号。 + /// 长度表示为1~40个字符 + /// (更新可以不填,新增必填) + /// + public string parentnumber { get; set; } + + /// + /// 部门地址 + /// 可选 + /// + public string deptaddr { get; set; } + + /// + /// 联系人 + /// 可选 + /// + public string deptperson { get; set; } + + /// + /// 联系电话 + /// 可选 + /// + public string deptphone { get; set; } + + } +} diff --git a/00.SDK/E_ZKEccSDK/Request/EmployeeGetRequest.cs b/00.SDK/E_ZKEccSDK/Request/EmployeeGetRequest.cs new file mode 100644 index 0000000..c4aecfa --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Request/EmployeeGetRequest.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccSDK.Request +{ + public class EmployeeGetRequest + { + public string pinlist { get; set; } + public int offduty { get; set; } + public string deptnumberlist { get; set; } + public int fetch_child { get; set; } + } +} diff --git a/00.SDK/E_ZKEccSDK/Request/EmployeeUpdateRequest.cs b/00.SDK/E_ZKEccSDK/Request/EmployeeUpdateRequest.cs new file mode 100644 index 0000000..4e7f41c --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Request/EmployeeUpdateRequest.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccSDK.Request +{ + public class EmployeeUpdateRequest + { + /// + /// 人员编号 长度为1~24个字符 必填 + /// + public string pin { get; set; } + + /// + /// 名称。长度为1~20个字符 + /// + public string name { get; set; } + + /// + /// 人员所属部门编号(更新可以不填,新增必填) + /// + public string deptnumber { get; set; } + + /// + /// 性别 。'M'表示男,'F'表示女 允许值: 'M', 'F' + /// + public string gender { get; set; } + + /// + /// 身份证号 + /// + public string identitycard { get; set; } + + /// + /// 人员自助密码 + /// + public string selfpassword { get; set; } + + /// + /// 人员是否考勤 + /// + public int? att { get; set; } + + /// + /// 验证方式 + /// + public int? comverifys { get; set; } + + /// + /// 比对照片信息,BASE64格式 + /// + public string enrollpic { get; set; } + } +} diff --git a/00.SDK/E_ZKEccSDK/Request/TransactionGetRequest.cs b/00.SDK/E_ZKEccSDK/Request/TransactionGetRequest.cs new file mode 100644 index 0000000..2c5c9ef --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Request/TransactionGetRequest.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccSDK.Request +{ + public class TransactionGetRequest + { + /// + /// 开始时间 必填 开始时间结束时间跨度不得超过一个月 格式:%Y-%m-%d %H:%M:%S 示例:2018-04-25 00:00:01 + /// + public string starttime { set; get; } + /// + /// 结束时间 必填 + /// + public string endtime { set; get; } + public string pin { set; get; } + public string sn { set; get; } + public long? id { set; get; } + public int? number { set; get; } + public int? uploadPic { set; get; } + public int? getTemperature { set; get; } + } +} diff --git a/00.SDK/E_ZKEccSDK/Response/DepartmentGetResponse.cs b/00.SDK/E_ZKEccSDK/Response/DepartmentGetResponse.cs new file mode 100644 index 0000000..8d117a5 --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Response/DepartmentGetResponse.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccSDK.Response +{ + public class DepartmentGetResponse + { + /// + /// 部门编号 + /// + public string deptnumber { get; set; } + + public string deptname { get; set; } + + public string deptperson { get; set; } + + public string parentnumber { get; set; } + + public string deptphone { get; set; } + + public string deptaddr { get; set; } + } +} diff --git a/00.SDK/E_ZKEccSDK/Response/EmployeeGetResponse.cs b/00.SDK/E_ZKEccSDK/Response/EmployeeGetResponse.cs new file mode 100644 index 0000000..953ec06 --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Response/EmployeeGetResponse.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccSDK.Response +{ + public class EmployeeGetResponse + { + public string pin { get; set; } + public string name { get; set; } + public string deptnumber { get; set; } + public string deptname { get; set; } + public string position { get; set; } + public string gender { get; set; } + public string telephone { get; set; } + public string email { get; set; } + public string Card { get; set; } + public string mobile { get; set; } + public int status { get; set; } + } +} diff --git a/00.SDK/E_ZKEccSDK/Response/TransactionGetResponse.cs b/00.SDK/E_ZKEccSDK/Response/TransactionGetResponse.cs new file mode 100644 index 0000000..82edf46 --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Response/TransactionGetResponse.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccSDK.Response +{ + public class TransactionGetResponse + { + public int id { get; set; } + public string pin { get; set; } + public string ename { get; set; } + public string deptnumber { get; set; } + public string deptname { get; set; } + public string checktime { get; set; } + public string sn { get; set; } + public string alias { get; set; } + public int verify { get; set; } + public string stateno { get; set; } + public string state { get; set; } + } +} diff --git a/00.SDK/E_ZKEccSDK/SQLServer/api信息视图.sql b/00.SDK/E_ZKEccSDK/SQLServer/api信息视图.sql new file mode 100644 index 0000000..e3b1c2c --- /dev/null +++ b/00.SDK/E_ZKEccSDK/SQLServer/api信息视图.sql @@ -0,0 +1,5 @@ +CREATE VIEW V_E_ZKEccSDK_API_INFO +AS +SELECT '3391hexqe5h0wv4z4veju_dvn7gntnr5oiv_dxjabqtt' AS appKey + ,'v2' AS apiVersion + ,'http://14.21.32.187:8088' AS serverUrl \ No newline at end of file diff --git a/00.SDK/E_ZKEccSDK/Service/DepartmentService.cs b/00.SDK/E_ZKEccSDK/Service/DepartmentService.cs new file mode 100644 index 0000000..f0e0c1d --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Service/DepartmentService.cs @@ -0,0 +1,97 @@ +using E_ZKEcc; +using E_ZKEcc.Domian; +using E_ZKEccSDK.Request; +using E_ZKEccSDK.Response; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccSDK.Service +{ + public class DepartmentService : BaseService + { + public DepartmentService(ApiInfoDomian apiInfo) : base(apiInfo, "department") + { + + } + + /// + /// 删除部门 + /// + /// + /// + public ResultDomian DeleteDepartment(string deptnumber) + { + _actionName = "delete"; + + try + { + var request = new { deptnumber }; + + var dataJson = JsonConvert.SerializeObject(request, Formatting.None, _serializerSettings); + + var resultJson = this.DoExecute(dataJson); + + var result = JsonConvert.DeserializeObject(resultJson); + + return result; + } + catch (Exception ex) + { + throw ex; + } + } + + /// + /// 更新部门 + /// + /// + /// + public ResultDomian UpdateDepartment(DepartmentUpdateRequest request) + { + _actionName = "update"; + + try + { + var dataJson = JsonConvert.SerializeObject(request, Formatting.None, _serializerSettings); + + var resultJson = this.DoExecute(dataJson); + + var result = JsonConvert.DeserializeObject(resultJson); + + return result; + } + catch (Exception ex) + { + throw ex; + } + } + + /// + /// 获取部门信息 + /// + /// + /// + public ResultDomian GetDepartment(DepartmentGetRequest request) + { + _actionName = "get"; + + try + { + var dataJson = JsonConvert.SerializeObject(request, Formatting.None, _serializerSettings); + + var resultJson = this.DoExecute(dataJson); + + var result = JsonConvert.DeserializeObject>(resultJson); + + return result; + } + catch (Exception ex) + { + throw ex; + } + } + } +} diff --git a/00.SDK/E_ZKEccSDK/Service/EmployeeService.cs b/00.SDK/E_ZKEccSDK/Service/EmployeeService.cs new file mode 100644 index 0000000..1714cbd --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Service/EmployeeService.cs @@ -0,0 +1,141 @@ +using E_ZKEcc.Domian; +using ExtensionMethods; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Text; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using E_ZKEccSDK.Response; +using E_ZKEccSDK.Request; + +namespace E_ZKEcc.Service +{ + /// + /// 人员对接 + /// + public class EmployeeService : BaseService + { + public EmployeeService(ApiInfoDomian apiInfo) : base(apiInfo, "employee") + { + + } + + #region 人员更新 + /// + /// 人员更新 + /// + /// + /// + public ResultDomian UpdateEmployee(List list) + { + _actionName = "update"; + ResultDomian result; + try + { + var dataJson = JsonConvert.SerializeObject(list, Formatting.None, _serializerSettings); + + var resultJson = this.DoExecute(dataJson); + + result = JsonConvert.DeserializeObject(resultJson); + + return result; + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 人员离职 + /// + /// 人员离职 + /// + /// 人员编号 + /// 离职日期 yyyy-MM-dd HH:MM + /// 离职类型 0 自离 1 辞退 2 辞职 3 调离 4 停薪留职 5 退休 6 死亡 + /// 离职原因 + /// + public ResultDomian LeaveEmployee(string pin, string leavedate, int leavetype, string reason = null) + { + _actionName = "leave"; + ResultDomian result; + try + { + object data = new + { + pin, + leavedate, + leavetype, + reason + }; + + var dataJson = JsonConvert.SerializeObject(data, Formatting.None, _serializerSettings); + + var resultJson = this.DoExecute(dataJson); + + result = JsonConvert.DeserializeObject(resultJson); + + return result; + } + catch (Exception ex) + { + throw ex; + } + } + + /// + /// 人员离职 + /// + /// 人员编号 + /// 离职日期 yyyy-MM-dd HH:MM + /// 离职类型 0 自离 1 辞退 2 辞职 3 调离 4 停薪留职 5 退休 6 死亡 + /// 离职原因 + /// + public ResultDomian LeaveEmployee(string pin, DateTime leavedate, int leavetype, string reason = null) + { + return LeaveEmployee(pin, leavedate.ToString("yyyy-MM-dd HH:MM"), leavetype, reason); + } + #endregion 人员离职 + + #region 获取人员信息 + /// + /// 获取人员信息 + /// + /// + /// + /// + /// + /// + public ResultDomian GetEmployee(string pinlist, int offduty = 2, string deptnumberlist = null, int fetch_child = 0) + { + _actionName = "get"; + + try + { + var data = new EmployeeGetRequest + { + pinlist = pinlist, + offduty = offduty, + deptnumberlist = deptnumberlist, + fetch_child = fetch_child + }; + + var dataJson = JsonConvert.SerializeObject(data, Formatting.None, _serializerSettings); + + var resultJson = this.DoExecute(dataJson); + + var result = JsonConvert.DeserializeObject>(resultJson); + + return result; + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + } +} diff --git a/00.SDK/E_ZKEccSDK/Service/TransactionService.cs b/00.SDK/E_ZKEccSDK/Service/TransactionService.cs new file mode 100644 index 0000000..180051c --- /dev/null +++ b/00.SDK/E_ZKEccSDK/Service/TransactionService.cs @@ -0,0 +1,105 @@ +using E_ZKEcc.Domian; +using E_ZKEccSDK.Request; +using E_ZKEccSDK.Response; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEcc.Service +{ + /// + /// 记录对接 + /// + public class TransactionService : BaseService + { + public TransactionService(ApiInfoDomian apiInfo) : base(apiInfo, "transaction") + { + + } + #region 获取考勤记录 + + /// + /// 获取考勤记录 + /// + /// 必填 开始时间 开始时间结束时间跨度不得超过一个月 格式:%Y-%m-%d %H:%M:%S 示例:2018-04-25 00:00:01 + /// 必填 结束时间 + /// 人员编号 + /// 设备序列号 + /// 记录流水号 1.建议同步考勤记录到第三方数据库时使用id 2.记录流水号自动递增 3.存在id或number时,开始时间和结束时间可为非必选参数 + /// 每次请求获取的记录数,建议控制在每次2000条以内 + /// 是否传考勤照片 1.是 0.否 + /// 是否传体温与是否佩戴口罩 1.是 0.否 + /// + public ResultDomian GetTransaction(string starttime, string endtime, string pin = null, string sn = null, long? id = null, int? number = null, int? uploadPic = null, int? getTemperature = null) + { + _actionName = "get"; + try + { + var request = new TransactionGetRequest(); + request.starttime = starttime; + request.endtime = endtime; + request.pin = pin; + request.sn = sn; + request.id = id; + request.number = number; + request.uploadPic = uploadPic; + request.getTemperature = getTemperature; + + var dataJson = JsonConvert.SerializeObject(request, Formatting.None, _serializerSettings); + + var resultJson = this.DoExecute(dataJson); + + var result = JsonConvert.DeserializeObject>(resultJson); + + return result; + } + catch (Exception ex) + { + throw ex; + } + finally + { + + } + } + + /// + /// 获取考勤记录 + /// + /// 必填 开始时间 开始时间结束时间跨度不得超过一个月 格式:%Y-%m-%d %H:%M:%S 示例:2018-04-25 00:00:01 + /// 必填 结束时间 + /// + public ResultDomian GetTransaction(DateTime starttime, DateTime endtime) + { + return GetTransaction(starttime.ToString("yyyy-MM-dd HH:MM"), endtime.ToString("yyyy-MM-dd HH:MM")); + } + + + /// + /// 获取考勤记录 + /// + /// + /// + public ResultDomian GetTransaction(TransactionGetRequest request) + { + _actionName = "get"; + try + { + var dataJson = JsonConvert.SerializeObject(request, Formatting.None, _serializerSettings); + + var resultJson = this.DoExecute(dataJson); + + var result = JsonConvert.DeserializeObject>(resultJson); + + return result; + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + } +} diff --git a/00.SDK/E_ZKEccTopSdk/BaseTopRequest.cs b/00.SDK/E_ZKEccTopSdk/BaseTopRequest.cs new file mode 100644 index 0000000..7ee7ded --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/BaseTopRequest.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccTopSdk +{ + /// + /// 基础TOP请求类,存放一些通用的请求参数。 + /// + public abstract class BaseTopRequest : ITopRequest where T : TopResponse + { + /// + /// HTTP请求URL参数 + /// + internal TopDictionary otherParams; + /// + /// HTTP请求头参数 + /// + private TopDictionary headerParams; + /// + /// 请求目标AppKey + /// + private string targetAppKey; + + /// + /// 批量API请求的用户授权码 + /// + private string batchApiSession; + + /// + /// API在批量调用中的顺序 + /// + private int batchApiOrder; + + public void AddOtherParameter(string key, string value) + { + if (this.otherParams == null) + { + this.otherParams = new TopDictionary(); + } + this.otherParams.Add(key, value); + } + + public void AddHeaderParameter(string key, string value) + { + GetHeaderParameters().Add(key, value); + } + + public IDictionary GetHeaderParameters() + { + if (this.headerParams == null) + { + this.headerParams = new TopDictionary(); + } + return this.headerParams; + } + + public string GetTargetAppKey() + { + return this.targetAppKey; + } + + public void SetTargetAppKey(string targetAppKey) + { + this.targetAppKey = targetAppKey; + } + + public string GetBatchApiSession() + { + return this.batchApiSession; + } + + public void SetBatchApiSession(string session) + { + this.batchApiSession = session; + } + + public int GetBatchApiOrder() + { + return this.batchApiOrder; + } + + public void SetBatchApiOrder(int order) + { + this.batchApiOrder = order; + } + + public abstract string GetApiName(); + + public abstract void Validate(); + + public abstract IDictionary GetParameters(); + } +} diff --git a/00.SDK/E_ZKEccTopSdk/Constants.cs b/00.SDK/E_ZKEccTopSdk/Constants.cs new file mode 100644 index 0000000..8e577b0 --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/Constants.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccTopSdk +{ + public sealed class Constants + { + public const string CHARSET_UTF8 = "utf-8"; + + public const string DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; + public const string DATE_TIME_MS_FORMAT = "yyyy-MM-dd HH:mm:ss.fff"; + + public const string SIGN_METHOD_MD5 = "md5"; + public const string SIGN_METHOD_HMAC = "hmac"; + public const string SIGN_METHOD_HMAC_SHA256 = "hmac-sha256"; + + public const string LOG_SPLIT = "^_^"; + public const string LOG_FILE_NAME = "topsdk.log"; + + public const string ACCEPT_ENCODING = "Accept-Encoding"; + public const string CONTENT_ENCODING = "Content-Encoding"; + public const string CONTENT_ENCODING_GZIP = "gzip"; + + public const string ERROR_RESPONSE = "error_response"; + public const string ERROR_CODE = "code"; + public const string ERROR_MSG = "msg"; + + public const string QIMEN_CLOUD_ERROR_RESPONSE = "response"; + public const string QIMEN_CLOUD_ERROR_CODE = "code"; + public const string QIMEN_CLOUD_ERROR_MSG = "message"; + + public const string SDK_VERSION = "top-sdk-net-20211202"; + public const string SDK_VERSION_CLUSTER = "top-sdk-net-cluster-20211202"; + + public const string APP_KEY = "app_key"; + public const string FORMAT = "format"; + public const string METHOD = "method"; + public const string TIMESTAMP = "timestamp"; + public const string VERSION = "v"; + public const string SIGN = "sign"; + public const string SIGN_METHOD = "sign_method"; + public const string PARTNER_ID = "partner_id"; + public const string SESSION = "session"; + public const string FORMAT_XML = "xml"; + public const string FORMAT_JSON = "json"; + public const string SIMPLIFY = "simplify"; + public const string TARGET_APP_KEY = "target_app_key"; + + public const string QM_ROOT_TAG_REQ = "request"; + public const string QM_ROOT_TAG_RSP = "response"; + public const string QM_CUSTOMER_ID = "customerId"; + public const string QM_CONTENT_TYPE = "text/xml;charset=utf-8"; + public const string QM_TARGETAPPKEY = "targetAppkey"; + + public const string CTYPE_DEFAULT = "application/octet-stream"; + public const string CTYPE_FORM_DATA = "application/x-www-form-urlencoded"; + public const string CTYPE_FILE_UPLOAD = "multipart/form-data"; + public const string CTYPE_TEXT_XML = "text/xml"; + public const string CTYPE_TEXT_PLAIN = "text/plain"; + public const string CTYPE_APPLICATION_XML = "application/xml"; + public const string CTYPE_APP_JSON = "application/json"; + public const int READ_BUFFER_SIZE = 1024 * 4; + } +} diff --git a/00.SDK/E_ZKEccTopSdk/E_ZKEccTopSdk.csproj b/00.SDK/E_ZKEccTopSdk/E_ZKEccTopSdk.csproj new file mode 100644 index 0000000..4f28ab0 --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/E_ZKEccTopSdk.csproj @@ -0,0 +1,63 @@ + + + + + Debug + AnyCPU + {F7C46C03-FBB3-4282-90F3-A713B7E4A5E7} + Library + Properties + E_ZKEccTopSdk + E_ZKEccTopSdk + v4.0 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + False + ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Newtonsoft.Json.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/00.SDK/E_ZKEccTopSdk/Generated/FastJson/JSON.cs b/00.SDK/E_ZKEccTopSdk/Generated/FastJson/JSON.cs new file mode 100644 index 0000000..d532ef0 --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/Generated/FastJson/JSON.cs @@ -0,0 +1,1003 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace FastJson +{ + public delegate string Serialize(object data); + public delegate object Deserialize(string data); + + public sealed class JSONParameters + { + /// + /// Use the optimized fast Dataset Schema format (default = True) + /// + public bool UseOptimizedDatasetSchema = true; + /// + /// Use the fast GUID format (default = True) + /// + public bool UseFastGuid = true; + /// + /// Serialize null values to the output (default = True) + /// + public bool SerializeNullValues = true; + /// + /// Use the UTC date format (default = True) + /// + public bool UseUTCDateTime = true; + /// + /// Show the readonly properties of types in the output (default = False) + /// + public bool ShowReadOnlyProperties = false; + /// + /// Use the $types extension to optimise the output json (default = True) + /// + public bool UsingGlobalTypes = true; + /// + /// Ignore case when processing json and deserializing + /// + [Obsolete("Not needed anymore and will always match")] + public bool IgnoreCaseOnDeserialize = false; + /// + /// Anonymous types have read only properties + /// + public bool EnableAnonymousTypes = false; + /// + /// Enable fastJSON extensions $types, $type, $map (default = True) + /// + public bool UseExtensions = true; + /// + /// Use escaped unicode i.e. \uXXXX format for non ASCII characters (default = True) + /// + public bool UseEscapedUnicode = false; + /// + /// Output string key dictionaries as "k"/"v" format (default = False) + /// + public bool KVStyleStringDictionary = false; + /// + /// Output Enum values instead of names (default = False) + /// + public bool UseValuesOfEnums = false; + /// + /// Ignore attributes to check for (default : XmlIgnoreAttribute) + /// + public List IgnoreAttributes = new List { typeof(System.Xml.Serialization.XmlIgnoreAttribute) }; + /// + /// If you have parametric and no default constructor for you classes (default = False) + /// + /// IMPORTANT NOTE : If True then all initial values within the class will be ignored and will be not set + /// + public bool ParametricConstructorOverride = false; + /// + /// Serialize DateTime milliseconds i.e. yyyy-MM-dd HH:mm:ss.nnn (default = false) + /// + public bool DateTimeMilliseconds = false; + /// + /// Maximum depth for circular references in inline mode (default = 20) + /// + public byte SerializerMaxDepth = 20; + /// + /// Inline circular or already seen objects instead of replacement with $i (default = False) + /// + public bool InlineCircularReferences = false; + /// + /// Save property/field names as lowercase (default = false) + /// + public bool SerializeToLowerCaseNames = false; + /// + /// Serialize property name with underline style + /// + public bool UseApiNamingStyle = false; + + public void FixValues() + { + if (UseExtensions == false) // disable conflicting params + { + UsingGlobalTypes = false; + InlineCircularReferences = true; + } + if (EnableAnonymousTypes) + ShowReadOnlyProperties = true; + } + } + + public static class JSON + { + /// + /// Globally set-able parameters for controlling the serializer + /// + public static JSONParameters Parameters = new JSONParameters(); + /// + /// Create a formatted json string (beautified) from an object + /// + /// + /// + /// + public static string ToNiceJSON(object obj, JSONParameters param) + { + string s = ToJSON(obj, param); + + return Beautify(s); + } + /// + /// Create a json representation for an object + /// + /// + /// + public static string ToJSON(object obj) + { + return ToJSON(obj, JSON.Parameters); + } + /// + /// Create a json representation for an object with parameter override on this call + /// + /// + /// + /// + public static string ToJSON(object obj, JSONParameters param) + { + param.FixValues(); + Type t = null; + + if (obj == null) + return "null"; + + if (obj.GetType().IsGenericType) + t = Reflection.Instance.GetGenericTypeDefinition(obj.GetType()); + if (t == typeof(Dictionary<,>) || t == typeof(List<>)) + param.UsingGlobalTypes = false; + + // FEATURE : enable extensions when you can deserialize anon types + if (param.EnableAnonymousTypes) { param.UseExtensions = false; param.UsingGlobalTypes = false; } + return new JSONSerializer(param).ConvertToJSON(obj); + } + /// + /// Parse a json string and generate a Dictionary<string,object> or List<object> structure + /// + /// + /// + public static object Parse(string json) + { + return new JsonParser(json).Decode(); + } +#if net4 + /// + /// Create a .net4 dynamic object from the json string + /// + /// + /// + public static dynamic ToDynamic(string json) + { + return new DynamicJson(json); + } +#endif + /// + /// Create a typed generic object from the json + /// + /// + /// + /// + public static T ToObject(string json) + { + return new deserializer(Parameters).ToObject(json); + } + /// + /// Create a typed generic object from the json with parameter override on this call + /// + /// + /// + /// + /// + public static T ToObject(string json, JSONParameters param) + { + return new deserializer(param).ToObject(json); + } + /// + /// Create an object from the json + /// + /// + /// + public static object ToObject(string json) + { + return new deserializer(Parameters).ToObject(json, null); + } + /// + /// Create an object from the json with parameter override on this call + /// + /// + /// + /// + public static object ToObject(string json, JSONParameters param) + { + return new deserializer(param).ToObject(json, null); + } + /// + /// Create an object of type from the json + /// + /// + /// + /// + public static object ToObject(string json, Type type) + { + return new deserializer(Parameters).ToObject(json, type); + } + /// + /// Fill a given object with the json represenation + /// + /// + /// + /// + public static object FillObject(object input, string json) + { + Dictionary ht = new JsonParser(json).Decode() as Dictionary; + if (ht == null) return null; + return new deserializer(Parameters).ParseDictionary(ht, null, input.GetType(), input); + } + /// + /// Deep copy an object i.e. clone to a new object + /// + /// + /// + public static object DeepCopy(object obj) + { + return new deserializer(Parameters).ToObject(ToJSON(obj)); + } + /// + /// + /// + /// + /// + /// + public static T DeepCopy(T obj) + { + return new deserializer(Parameters).ToObject(ToJSON(obj)); + } + + /// + /// Create a human readable string from the json + /// + /// + /// + public static string Beautify(string input) + { + return Formatter.PrettyPrint(input); + } + /// + /// Register custom type handlers for your own types not natively handled by fastJSON + /// + /// + /// + /// + public static void RegisterCustomType(Type type, Serialize serializer, Deserialize deserializer) + { + Reflection.Instance.RegisterCustomType(type, serializer, deserializer); + } + /// + /// Clear the internal reflection cache so you can start from new (you will loose performance) + /// + public static void ClearReflectionCache() + { + Reflection.Instance.ClearReflectionCache(); + } + + internal static long CreateLong(out long num, string s, int index, int count) + { + num = 0; + bool neg = false; + for (int x = 0; x < count; x++, index++) + { + char cc = s[index]; + + if (cc == '-') + neg = true; + else if (cc == '+') + neg = false; + else + { + num *= 10; + num += (int)(cc - '0'); + } + } + if (neg) num = -num; + + return num; + } + } + + internal class deserializer + { + public deserializer(JSONParameters param) + { + _params = param; + } + + private JSONParameters _params; + private bool _usingglobals = false; + private Dictionary _circobj = new Dictionary(); + private Dictionary _cirrev = new Dictionary(); + + public T ToObject(string json) + { + Type t = typeof(T); + var o = ToObject(json, t); + + if (t.IsArray) + { + if ((o as ICollection).Count == 0) // edge case for "[]" -> T[] + { + Type tt = t.GetElementType(); + object oo = Array.CreateInstance(tt, 0); + return (T)oo; + } + else + return (T)o; + } + else + return (T)o; + } + + public object ToObject(string json) + { + return ToObject(json, null); + } + + public object ToObject(string json, Type type) + { + //_params = Parameters; + _params.FixValues(); + Type t = null; + if (type != null && type.IsGenericType) + t = Reflection.Instance.GetGenericTypeDefinition(type); + if (t == typeof(Dictionary<,>) || t == typeof(List<>)) + _params.UsingGlobalTypes = false; + _usingglobals = _params.UsingGlobalTypes; + + object o = new JsonParser(json).Decode(); + if (o == null) + return null; +#if !SILVERLIGHT + if (type != null && type == typeof(DataSet)) + return CreateDataset(o as Dictionary, null); + else if (type != null && type == typeof(DataTable)) + return CreateDataTable(o as Dictionary, null); +#endif + if (o is IDictionary) + { + if (type != null && t == typeof(Dictionary<,>)) // deserialize a dictionary + return RootDictionary(o, type); + else // deserialize an object + return ParseDictionary(o as Dictionary, null, type, null); + } + else if (o is List) + { + if (type != null && t == typeof(Dictionary<,>)) // kv format + return RootDictionary(o, type); + else if (type != null && t == typeof(List<>)) // deserialize to generic list + return RootList(o, type); + else if (type == typeof(Hashtable)) + return RootHashTable((List)o); + else + return (o as List).ToArray(); + } + else if (type != null && o.GetType() != type) + return ChangeType(o, type); + + return o; + } + + #region [ p r i v a t e m e t h o d s ] + private object RootHashTable(List o) + { + Hashtable h = new Hashtable(); + + foreach (Dictionary values in o) + { + object key = values["k"]; + object val = values["v"]; + if (key is Dictionary) + key = ParseDictionary((Dictionary)key, null, typeof(object), null); + + if (val is Dictionary) + val = ParseDictionary((Dictionary)val, null, typeof(object), null); + + h.Add(key, val); + } + + return h; + } + + private object ChangeType(object value, Type conversionType) + { + if (conversionType == typeof(int)) + return (int)((long)value); + + else if (conversionType == typeof(long)) + return (long)value; + + else if (conversionType == typeof(string)) + return (string)value; + + else if (conversionType.IsEnum) + return CreateEnum(conversionType, value); + + else if (conversionType == typeof(DateTime)) + return CreateDateTime((string)value); + + else if (Reflection.Instance.IsTypeRegistered(conversionType)) + return Reflection.Instance.CreateCustom((string)value, conversionType); + + // 8-30-2014 - James Brooks - Added code for nullable types. + if (IsNullable(conversionType)) + { + if (value == null) + { + return value; + } + conversionType = UnderlyingTypeOf(conversionType); + } + + // 8-30-2014 - James Brooks - Nullable Guid is a special case so it was moved after the "IsNullable" check. + if (conversionType == typeof(Guid)) + return CreateGuid((string)value); + + return Convert.ChangeType(value, conversionType, CultureInfo.InvariantCulture); + } + + private bool IsNullable(Type t) + { + if (!t.IsGenericType) return false; + Type g = t.GetGenericTypeDefinition(); + return (g.Equals(typeof(Nullable<>))); + } + + private Type UnderlyingTypeOf(Type t) + { + return t.GetGenericArguments()[0]; + } + + private object RootList(object parse, Type type) + { + Type[] gtypes = Reflection.Instance.GetGenericArguments(type); + IList o = (IList)Reflection.Instance.FastCreateInstance(type); + foreach (var k in (IList)parse) + { + _usingglobals = false; + object v = k; + if (k is Dictionary) + v = ParseDictionary(k as Dictionary, null, gtypes[0], null); + else + v = ChangeType(k, gtypes[0]); + + o.Add(v); + } + return o; + } + + private object RootDictionary(object parse, Type type) + { + Type[] gtypes = Reflection.Instance.GetGenericArguments(type); + Type t1 = null; + Type t2 = null; + if (gtypes != null) + { + t1 = gtypes[0]; + t2 = gtypes[1]; + } + if (parse is Dictionary) + { + IDictionary o = (IDictionary)Reflection.Instance.FastCreateInstance(type); + + foreach (var kv in (Dictionary)parse) + { + object v; + object k = ChangeType(kv.Key, t1); + + if (kv.Value is Dictionary) + v = ParseDictionary(kv.Value as Dictionary, null, t2, null); + + else if (t2.IsArray) + v = CreateArray((List)kv.Value, t2, t2.GetElementType(), null); + + else if (kv.Value is IList) + v = CreateGenericList((List)kv.Value, t2, t1, null); + + else + v = ChangeType(kv.Value, t2); + + o.Add(k, v); + } + + return o; + } + if (parse is List) + return CreateDictionary(parse as List, type, gtypes, null); + + return null; + } + + internal object ParseDictionary(Dictionary d, Dictionary globaltypes, Type type, object input) + { + object tn = ""; + if (type == typeof(NameValueCollection)) + return CreateNV(d); + if (type == typeof(StringDictionary)) + return CreateSD(d); + + if (d.TryGetValue("$i", out tn)) + { + object v = null; + _cirrev.TryGetValue((int)(long)tn, out v); + return v; + } + + if (d.TryGetValue("$types", out tn)) + { + _usingglobals = true; + globaltypes = new Dictionary(); + foreach (var kv in (Dictionary)tn) + { + globaltypes.Add((string)kv.Value, kv.Key); + } + } + + bool found = d.TryGetValue("$type", out tn); +#if !SILVERLIGHT + if (found == false && type == typeof(System.Object)) + { + return d; // CreateDataset(d, globaltypes); + } +#endif + if (found) + { + if (_usingglobals) + { + object tname = ""; + if (globaltypes != null && globaltypes.TryGetValue((string)tn, out tname)) + tn = tname; + } + type = Reflection.Instance.GetTypeFromCache((string)tn); + } + + if (type == null) + throw new Exception("Cannot determine type"); + + string typename = type.FullName; + object o = input; + if (o == null) + { + if (_params.ParametricConstructorOverride) + o = System.Runtime.Serialization.FormatterServices.GetUninitializedObject(type); + else + o = Reflection.Instance.FastCreateInstance(type); + } + int circount = 0; + if (_circobj.TryGetValue(o, out circount) == false) + { + circount = _circobj.Count + 1; + _circobj.Add(o, circount); + _cirrev.Add(circount, o); + } + + Dictionary props = Reflection.Instance.Getproperties(type, typename, Reflection.Instance.IsTypeRegistered(type)); + foreach (var kv in d) + { + var n = kv.Key; + var v = kv.Value; + string name = n.ToLower(); + if (name == "$map") + { + ProcessMap(o, props, (Dictionary)d[name]); + continue; + } + myPropInfo pi; + if (props.TryGetValue(name, out pi) == false) + continue; + if (pi.CanWrite) + { + //object v = d[n]; + + if (v != null) + { + object oset = null; + + switch (pi.Type) + { + case myPropInfoType.Int: oset = (int)((long)v); break; + case myPropInfoType.Long: oset = (long)v; break; + case myPropInfoType.String: oset = (string)v; break; + case myPropInfoType.Bool: oset = (bool)v; break; + case myPropInfoType.DateTime: oset = CreateDateTime((string)v); break; + case myPropInfoType.Enum: oset = CreateEnum(pi.pt, v); break; + case myPropInfoType.Guid: oset = CreateGuid((string)v); break; + + case myPropInfoType.Array: + if (!pi.IsValueType) + oset = CreateArray((List)v, pi.pt, pi.bt, globaltypes); + // what about 'else'? + break; + case myPropInfoType.ByteArray: oset = Convert.FromBase64String((string)v); break; +#if !SILVERLIGHT + case myPropInfoType.DataSet: oset = CreateDataset((Dictionary)v, globaltypes); break; + case myPropInfoType.DataTable: oset = CreateDataTable((Dictionary)v, globaltypes); break; + case myPropInfoType.Hashtable: // same case as Dictionary +#endif + case myPropInfoType.Dictionary: oset = CreateDictionary((List)v, pi.pt, pi.GenericTypes, globaltypes); break; + case myPropInfoType.StringKeyDictionary: oset = CreateStringKeyDictionary((Dictionary)v, pi.pt, pi.GenericTypes, globaltypes); break; + case myPropInfoType.NameValue: oset = CreateNV((Dictionary)v); break; + case myPropInfoType.StringDictionary: oset = CreateSD((Dictionary)v); break; + case myPropInfoType.Custom: oset = Reflection.Instance.CreateCustom((string)v, pi.pt); break; + default: + { + if (pi.IsGenericType && pi.IsValueType == false && v is List) + oset = CreateGenericList((List)v, pi.pt, pi.bt, globaltypes); + + else if ((pi.IsClass || pi.IsStruct) && v is Dictionary) + oset = ParseDictionary((Dictionary)v, globaltypes, pi.pt, pi.getter(o)); + + else if (v is List) + oset = CreateArray((List)v, pi.pt, typeof(object), globaltypes); + + else if (pi.IsValueType) + oset = ChangeType(v, pi.changeType); + + else + oset = v; + } + break; + } + + o = pi.setter(o, oset); + } + } + } + return o; + } + + private StringDictionary CreateSD(Dictionary d) + { + StringDictionary nv = new StringDictionary(); + + foreach (var o in d) + nv.Add(o.Key, (string)o.Value); + + return nv; + } + + private NameValueCollection CreateNV(Dictionary d) + { + NameValueCollection nv = new NameValueCollection(); + + foreach (var o in d) + nv.Add(o.Key, (string)o.Value); + + return nv; + } + + private void ProcessMap(object obj, Dictionary props, Dictionary dic) + { + foreach (KeyValuePair kv in dic) + { + myPropInfo p = props[kv.Key]; + object o = p.getter(obj); + Type t = Type.GetType((string)kv.Value); + if (t == typeof(Guid)) + p.setter(obj, CreateGuid((string)o)); + } + } + + private int CreateInteger(string s, int index, int count) + { + int num = 0; + bool neg = false; + for (int x = 0; x < count; x++, index++) + { + char cc = s[index]; + + if (cc == '-') + neg = true; + else if (cc == '+') + neg = false; + else + { + num *= 10; + num += (int)(cc - '0'); + } + } + if (neg) num = -num; + + return num; + } + + private object CreateEnum(Type pt, object v) + { + // TODO : optimize create enum +#if !SILVERLIGHT + return Enum.Parse(pt, v.ToString()); +#else + return Enum.Parse(pt, v, true); +#endif + } + + private Guid CreateGuid(string s) + { + if (s.Length > 30) + return new Guid(s); + else + return new Guid(Convert.FromBase64String(s)); + } + + private DateTime CreateDateTime(string value) + { + bool utc = false; + // 0123456789012345678 9012 9/3 + // datetime format = yyyy-MM-ddTHH:mm:ss .nnn Z + int year; + int month; + int day; + int hour; + int min; + int sec; + int ms = 0; + + year = CreateInteger(value, 0, 4); + month = CreateInteger(value, 5, 2); + day = CreateInteger(value, 8, 2); + hour = CreateInteger(value, 11, 2); + min = CreateInteger(value, 14, 2); + sec = CreateInteger(value, 17, 2); + if (value.Length > 21 && value[19] == '.') + ms = CreateInteger(value, 20, 3); + + if (value[value.Length - 1] == 'Z') + utc = true; + + if (_params.UseUTCDateTime == false && utc == false) + return new DateTime(year, month, day, hour, min, sec, ms); + else + return new DateTime(year, month, day, hour, min, sec, ms, DateTimeKind.Utc).ToLocalTime(); + } + + private object CreateArray(List data, Type pt, Type bt, Dictionary globalTypes) + { + Array col = Array.CreateInstance(bt, data.Count); + // create an array of objects + for (int i = 0; i < data.Count; i++) + { + object ob = data[i]; + if (ob == null) + { + continue; + } + if (ob is IDictionary) + col.SetValue(ParseDictionary((Dictionary)ob, globalTypes, bt, null), i); + else if (ob is ICollection) + col.SetValue(CreateArray((List)ob, bt, bt.GetElementType(), globalTypes), i); + else + col.SetValue(ChangeType(ob, bt), i); + } + + return col; + } + + + private object CreateGenericList(List data, Type pt, Type bt, Dictionary globalTypes) + { + IList col = (IList)Reflection.Instance.FastCreateInstance(pt); + // create an array of objects + foreach (object ob in data) + { + + if (ob is IDictionary) + col.Add(ParseDictionary((Dictionary)ob, globalTypes, bt, null)); + + else if (ob is List) + { + if (bt.IsGenericType) + col.Add((List)ob);//).ToArray()); + else + col.Add(((List)ob).ToArray()); + } + else + col.Add(ChangeType(ob, bt)); + } + return col; + } + + private object CreateStringKeyDictionary(Dictionary reader, Type pt, Type[] types, Dictionary globalTypes) + { + var col = (IDictionary)Reflection.Instance.FastCreateInstance(pt); + Type t1 = null; + Type t2 = null; + if (types != null) + { + t1 = types[0]; + t2 = types[1]; + } + + foreach (KeyValuePair values in reader) + { + var key = values.Key; + object val = null; + + if (values.Value is Dictionary) + val = ParseDictionary((Dictionary)values.Value, globalTypes, t2, null); + + else if (types != null && t2.IsArray) + { + if (values.Value is Array) + val = values.Value; + else + val = CreateArray((List)values.Value, t2, t2.GetElementType(), globalTypes); + } + else if (values.Value is IList) + val = CreateGenericList((List)values.Value, t2, t1, globalTypes); + + else + val = ChangeType(values.Value, t2); + + col.Add(key, val); + } + + return col; + } + + private object CreateDictionary(List reader, Type pt, Type[] types, Dictionary globalTypes) + { + IDictionary col = (IDictionary)Reflection.Instance.FastCreateInstance(pt); + Type t1 = null; + Type t2 = null; + if (types != null) + { + t1 = types[0]; + t2 = types[1]; + } + + foreach (Dictionary values in reader) + { + object key = values["k"]; + object val = values["v"]; + + if (key is Dictionary) + key = ParseDictionary((Dictionary)key, globalTypes, t1, null); + else + key = ChangeType(key, t1); + + if (val is Dictionary) + val = ParseDictionary((Dictionary)val, globalTypes, t2, null); + else + val = ChangeType(val, t2); + + col.Add(key, val); + } + + return col; + } + +#if !SILVERLIGHT + private DataSet CreateDataset(Dictionary reader, Dictionary globalTypes) + { + DataSet ds = new DataSet(); + ds.EnforceConstraints = false; + ds.BeginInit(); + + // read dataset schema here + var schema = reader["$schema"]; + + if (schema is string) + { + TextReader tr = new StringReader((string)schema); + ds.ReadXmlSchema(tr); + } + else + { + DatasetSchema ms = (DatasetSchema)ParseDictionary((Dictionary)schema, globalTypes, typeof(DatasetSchema), null); + ds.DataSetName = ms.Name; + for (int i = 0; i < ms.Info.Count; i += 3) + { + if (ds.Tables.Contains(ms.Info[i]) == false) + ds.Tables.Add(ms.Info[i]); + ds.Tables[ms.Info[i]].Columns.Add(ms.Info[i + 1], Type.GetType(ms.Info[i + 2])); + } + } + + foreach (KeyValuePair pair in reader) + { + if (pair.Key == "$type" || pair.Key == "$schema") continue; + + List rows = (List)pair.Value; + if (rows == null) continue; + + DataTable dt = ds.Tables[pair.Key]; + ReadDataTable(rows, dt); + } + + ds.EndInit(); + + return ds; + } + + private void ReadDataTable(List rows, DataTable dt) + { + dt.BeginInit(); + dt.BeginLoadData(); + List guidcols = new List(); + List datecol = new List(); + + foreach (DataColumn c in dt.Columns) + { + if (c.DataType == typeof(Guid) || c.DataType == typeof(Guid?)) + guidcols.Add(c.Ordinal); + if (_params.UseUTCDateTime && (c.DataType == typeof(DateTime) || c.DataType == typeof(DateTime?))) + datecol.Add(c.Ordinal); + } + + foreach (List row in rows) + { + object[] v = new object[row.Count]; + row.CopyTo(v, 0); + foreach (int i in guidcols) + { + string s = (string)v[i]; + if (s != null && s.Length < 36) + v[i] = new Guid(Convert.FromBase64String(s)); + } + if (_params.UseUTCDateTime) + { + foreach (int i in datecol) + { + string s = (string)v[i]; + if (s != null) + v[i] = CreateDateTime(s); + } + } + dt.Rows.Add(v); + } + + dt.EndLoadData(); + dt.EndInit(); + } + + DataTable CreateDataTable(Dictionary reader, Dictionary globalTypes) + { + var dt = new DataTable(); + + // read dataset schema here + var schema = reader["$schema"]; + + if (schema is string) + { + TextReader tr = new StringReader((string)schema); + dt.ReadXmlSchema(tr); + } + else + { + var ms = (DatasetSchema)this.ParseDictionary((Dictionary)schema, globalTypes, typeof(DatasetSchema), null); + dt.TableName = ms.Info[0]; + for (int i = 0; i < ms.Info.Count; i += 3) + { + dt.Columns.Add(ms.Info[i + 1], Type.GetType(ms.Info[i + 2])); + } + } + + foreach (var pair in reader) + { + if (pair.Key == "$type" || pair.Key == "$schema") + continue; + + var rows = (List)pair.Value; + if (rows == null) + continue; + + if (!dt.TableName.Equals(pair.Key, StringComparison.InvariantCultureIgnoreCase)) + continue; + + ReadDataTable(rows, dt); + } + + return dt; + } +#endif + #endregion + } +} diff --git a/00.SDK/E_ZKEccTopSdk/Generated/FastJson/Reflection.cs b/00.SDK/E_ZKEccTopSdk/Generated/FastJson/Reflection.cs new file mode 100644 index 0000000..9f90847 --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/Generated/FastJson/Reflection.cs @@ -0,0 +1,583 @@ +using FastJson; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Data; +using System.Linq; +using System.Reflection.Emit; +using System.Reflection; +using System.Text; + +namespace E_ZKEccTopSdk.Generated.FastJson +{ + internal struct Getters + { + public string Name; + public string lcName; + //public string OtherName; + public Reflection.GenericGetter Getter; + } + + internal enum myPropInfoType + { + Int, + Long, + String, + Bool, + DateTime, + Enum, + Guid, + + Array, + ByteArray, + Dictionary, + StringKeyDictionary, + NameValue, + StringDictionary, +#if !SILVERLIGHT + Hashtable, + DataSet, + DataTable, +#endif + Custom, + Unknown, + } + + internal struct myPropInfo + { + public Type pt; + public Type bt; + public Type changeType; + public Reflection.GenericSetter setter; + public Reflection.GenericGetter getter; + public Type[] GenericTypes; + public string Name; + public myPropInfoType Type; + public bool CanWrite; + + public bool IsClass; + public bool IsValueType; + public bool IsGenericType; + public bool IsStruct; + } + + internal sealed class Reflection + { + // Sinlgeton pattern 4 from : http://csharpindepth.com/articles/general/singleton.aspx + private static readonly Reflection instance = new Reflection(); + // Explicit static constructor to tell C# compiler + // not to mark type as beforefieldinit + static Reflection() + { + } + private Reflection() + { + } + public static Reflection Instance { get { return instance; } } + + internal delegate object GenericSetter(object target, object value); + internal delegate object GenericGetter(object obj); + private delegate object CreateObject(); + + private SafeDictionary _tyname = new SafeDictionary(); + private SafeDictionary _typecache = new SafeDictionary(); + private SafeDictionary _constrcache = new SafeDictionary(); + private SafeDictionary _getterscache = new SafeDictionary(); + private SafeDictionary> _propertycache = new SafeDictionary>(); + private SafeDictionary _genericTypes = new SafeDictionary(); + private SafeDictionary _genericTypeDef = new SafeDictionary(); + + #region json custom types + // JSON custom + internal SafeDictionary _customSerializer = new SafeDictionary(); + internal SafeDictionary _customDeserializer = new SafeDictionary(); + internal object CreateCustom(string v, Type type) + { + Deserialize d; + _customDeserializer.TryGetValue(type, out d); + return d(v); + } + + internal void RegisterCustomType(Type type, Serialize serializer, Deserialize deserializer) + { + if (type != null && serializer != null && deserializer != null) + { + _customSerializer.Add(type, serializer); + _customDeserializer.Add(type, deserializer); + // reset property cache + Reflection.Instance.ResetPropertyCache(); + } + } + + internal bool IsTypeRegistered(Type t) + { + if (_customSerializer.Count == 0) + return false; + Serialize s; + return _customSerializer.TryGetValue(t, out s); + } + #endregion + + public Type GetGenericTypeDefinition(Type t) + { + Type tt = null; + if (_genericTypeDef.TryGetValue(t, out tt)) + return tt; + else + { + tt = t.GetGenericTypeDefinition(); + _genericTypeDef.Add(t, tt); + return tt; + } + } + + public Type[] GetGenericArguments(Type t) + { + Type[] tt = null; + if (_genericTypes.TryGetValue(t, out tt)) + return tt; + else + { + tt = t.GetGenericArguments(); + _genericTypes.Add(t, tt); + return tt; + } + } + + public Dictionary Getproperties(Type type, string typename, bool customType) + { + Dictionary sd = null; + if (_propertycache.TryGetValue(typename, out sd)) + { + return sd; + } + else + { + sd = new Dictionary(); + PropertyInfo[] pr = type.GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static); + foreach (PropertyInfo p in pr) + { + if (p.GetIndexParameters().Length > 0) + {// Property is an indexer + continue; + } + myPropInfo d = CreateMyProp(p.PropertyType, p.Name, customType); + d.setter = Reflection.CreateSetMethod(type, p); + if (d.setter != null) + d.CanWrite = true; + d.getter = Reflection.CreateGetMethod(type, p); + sd.Add(p.Name.ToLower(), d); + } + FieldInfo[] fi = type.GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static); + foreach (FieldInfo f in fi) + { + myPropInfo d = CreateMyProp(f.FieldType, f.Name, customType); + if (f.IsLiteral == false) + { + d.setter = Reflection.CreateSetField(type, f); + if (d.setter != null) + d.CanWrite = true; + d.getter = Reflection.CreateGetField(type, f); + sd.Add(f.Name.ToLower(), d); + } + } + + _propertycache.Add(typename, sd); + return sd; + } + } + + private myPropInfo CreateMyProp(Type t, string name, bool customType) + { + myPropInfo d = new myPropInfo(); + myPropInfoType d_type = myPropInfoType.Unknown; + + if (t == typeof(int) || t == typeof(int?)) d_type = myPropInfoType.Int; + else if (t == typeof(long) || t == typeof(long?)) d_type = myPropInfoType.Long; + else if (t == typeof(string)) d_type = myPropInfoType.String; + else if (t == typeof(bool) || t == typeof(bool?)) d_type = myPropInfoType.Bool; + else if (t == typeof(DateTime) || t == typeof(DateTime?)) d_type = myPropInfoType.DateTime; + else if (t.IsEnum) d_type = myPropInfoType.Enum; + else if (t == typeof(Guid) || t == typeof(Guid?)) d_type = myPropInfoType.Guid; + else if (t == typeof(StringDictionary)) d_type = myPropInfoType.StringDictionary; + else if (t == typeof(NameValueCollection)) d_type = myPropInfoType.NameValue; + else if (t.IsArray) + { + d.bt = t.GetElementType(); + if (t == typeof(byte[])) + d_type = myPropInfoType.ByteArray; + else + d_type = myPropInfoType.Array; + } + else if (t.Name.Contains("Dictionary")) + { + d.GenericTypes = Reflection.Instance.GetGenericArguments(t);// t.GetGenericArguments(); + if (d.GenericTypes.Length > 0 && d.GenericTypes[0] == typeof(string)) + d_type = myPropInfoType.StringKeyDictionary; + else + d_type = myPropInfoType.Dictionary; + } +#if !SILVERLIGHT + else if (t == typeof(Hashtable)) d_type = myPropInfoType.Hashtable; + else if (t == typeof(DataSet)) d_type = myPropInfoType.DataSet; + else if (t == typeof(DataTable)) d_type = myPropInfoType.DataTable; +#endif + else if (customType) + d_type = myPropInfoType.Custom; + + if (t.IsValueType && !t.IsPrimitive && !t.IsEnum && t != typeof(decimal)) + d.IsStruct = true; + + d.IsClass = t.IsClass; + d.IsValueType = t.IsValueType; + if (t.IsGenericType) + { + d.IsGenericType = true; + d.bt = t.GetGenericArguments()[0]; + } + + d.pt = t; + d.Name = name; + d.changeType = GetChangeType(t); + d.Type = d_type; + + return d; + } + + private Type GetChangeType(Type conversionType) + { + if (conversionType.IsGenericType && conversionType.GetGenericTypeDefinition().Equals(typeof(Nullable<>))) + return Reflection.Instance.GetGenericArguments(conversionType)[0];// conversionType.GetGenericArguments()[0]; + + return conversionType; + } + + #region [ PROPERTY GET SET ] + + internal string GetTypeAssemblyName(Type t) + { + string val = ""; + if (_tyname.TryGetValue(t, out val)) + return val; + else + { + string s = t.AssemblyQualifiedName; + _tyname.Add(t, s); + return s; + } + } + + internal Type GetTypeFromCache(string typename) + { + Type val = null; + if (_typecache.TryGetValue(typename, out val)) + return val; + else + { + Type t = Type.GetType(typename); + //if (t == null) // RaptorDB : loading runtime assemblies + //{ + // t = Type.GetType(typename, (name) => { + // return AppDomain.CurrentDomain.GetAssemblies().Where(z => z.FullName == name.FullName).FirstOrDefault(); + // }, null, true); + //} + _typecache.Add(typename, t); + return t; + } + } + + internal object FastCreateInstance(Type objtype) + { + try + { + CreateObject c = null; + if (_constrcache.TryGetValue(objtype, out c)) + { + return c(); + } + else + { + if (objtype.IsClass) + { + DynamicMethod dynMethod = new DynamicMethod("_", objtype, null); + ILGenerator ilGen = dynMethod.GetILGenerator(); + ilGen.Emit(OpCodes.Newobj, objtype.GetConstructor(Type.EmptyTypes)); + ilGen.Emit(OpCodes.Ret); + c = (CreateObject)dynMethod.CreateDelegate(typeof(CreateObject)); + _constrcache.Add(objtype, c); + } + else // structs + { + DynamicMethod dynMethod = new DynamicMethod("_", typeof(object), null); + ILGenerator ilGen = dynMethod.GetILGenerator(); + var lv = ilGen.DeclareLocal(objtype); + ilGen.Emit(OpCodes.Ldloca_S, lv); + ilGen.Emit(OpCodes.Initobj, objtype); + ilGen.Emit(OpCodes.Ldloc_0); + ilGen.Emit(OpCodes.Box, objtype); + ilGen.Emit(OpCodes.Ret); + c = (CreateObject)dynMethod.CreateDelegate(typeof(CreateObject)); + _constrcache.Add(objtype, c); + } + return c(); + } + } + catch (Exception exc) + { + throw new Exception(string.Format("Failed to fast create instance for type '{0}' from assembly '{1}'", + objtype.FullName, objtype.AssemblyQualifiedName), exc); + } + } + + internal static GenericSetter CreateSetField(Type type, FieldInfo fieldInfo) + { + Type[] arguments = new Type[2]; + arguments[0] = arguments[1] = typeof(object); + + DynamicMethod dynamicSet = new DynamicMethod("_", typeof(object), arguments, type); + + ILGenerator il = dynamicSet.GetILGenerator(); + + if (!type.IsClass) // structs + { + var lv = il.DeclareLocal(type); + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Unbox_Any, type); + il.Emit(OpCodes.Stloc_0); + il.Emit(OpCodes.Ldloca_S, lv); + il.Emit(OpCodes.Ldarg_1); + if (fieldInfo.FieldType.IsClass) + il.Emit(OpCodes.Castclass, fieldInfo.FieldType); + else + il.Emit(OpCodes.Unbox_Any, fieldInfo.FieldType); + il.Emit(OpCodes.Stfld, fieldInfo); + il.Emit(OpCodes.Ldloc_0); + il.Emit(OpCodes.Box, type); + il.Emit(OpCodes.Ret); + } + else + { + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Ldarg_1); + if (fieldInfo.FieldType.IsValueType) + il.Emit(OpCodes.Unbox_Any, fieldInfo.FieldType); + il.Emit(OpCodes.Stfld, fieldInfo); + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Ret); + } + return (GenericSetter)dynamicSet.CreateDelegate(typeof(GenericSetter)); + } + + internal static GenericSetter CreateSetMethod(Type type, PropertyInfo propertyInfo) + { + MethodInfo setMethod = propertyInfo.GetSetMethod(); + if (setMethod == null) + return null; + + Type[] arguments = new Type[2]; + arguments[0] = arguments[1] = typeof(object); + + DynamicMethod setter = new DynamicMethod("_", typeof(object), arguments); + ILGenerator il = setter.GetILGenerator(); + + if (!type.IsClass) // structs + { + var lv = il.DeclareLocal(type); + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Unbox_Any, type); + il.Emit(OpCodes.Stloc_0); + il.Emit(OpCodes.Ldloca_S, lv); + il.Emit(OpCodes.Ldarg_1); + if (propertyInfo.PropertyType.IsClass) + il.Emit(OpCodes.Castclass, propertyInfo.PropertyType); + else + il.Emit(OpCodes.Unbox_Any, propertyInfo.PropertyType); + il.EmitCall(OpCodes.Call, setMethod, null); + il.Emit(OpCodes.Ldloc_0); + il.Emit(OpCodes.Box, type); + } + else + { + if (!setMethod.IsStatic) + { + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Castclass, propertyInfo.DeclaringType); + il.Emit(OpCodes.Ldarg_1); + if (propertyInfo.PropertyType.IsClass) + il.Emit(OpCodes.Castclass, propertyInfo.PropertyType); + else + il.Emit(OpCodes.Unbox_Any, propertyInfo.PropertyType); + il.EmitCall(OpCodes.Callvirt, setMethod, null); + il.Emit(OpCodes.Ldarg_0); + } + else + { + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Ldarg_1); + if (propertyInfo.PropertyType.IsClass) + il.Emit(OpCodes.Castclass, propertyInfo.PropertyType); + else + il.Emit(OpCodes.Unbox_Any, propertyInfo.PropertyType); + il.Emit(OpCodes.Call, setMethod); + } + } + + il.Emit(OpCodes.Ret); + + return (GenericSetter)setter.CreateDelegate(typeof(GenericSetter)); + } + + internal static GenericGetter CreateGetField(Type type, FieldInfo fieldInfo) + { + DynamicMethod dynamicGet = new DynamicMethod("_", typeof(object), new Type[] { typeof(object) }, type); + + ILGenerator il = dynamicGet.GetILGenerator(); + + if (!type.IsClass) // structs + { + var lv = il.DeclareLocal(type); + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Unbox_Any, type); + il.Emit(OpCodes.Stloc_0); + il.Emit(OpCodes.Ldloca_S, lv); + il.Emit(OpCodes.Ldfld, fieldInfo); + if (fieldInfo.FieldType.IsValueType) + il.Emit(OpCodes.Box, fieldInfo.FieldType); + } + else + { + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Ldfld, fieldInfo); + if (fieldInfo.FieldType.IsValueType) + il.Emit(OpCodes.Box, fieldInfo.FieldType); + } + + il.Emit(OpCodes.Ret); + + return (GenericGetter)dynamicGet.CreateDelegate(typeof(GenericGetter)); + } + + internal static GenericGetter CreateGetMethod(Type type, PropertyInfo propertyInfo) + { + MethodInfo getMethod = propertyInfo.GetGetMethod(); + if (getMethod == null) + return null; + + DynamicMethod getter = new DynamicMethod("_", typeof(object), new Type[] { typeof(object) }, type); + + ILGenerator il = getter.GetILGenerator(); + + if (!type.IsClass) // structs + { + var lv = il.DeclareLocal(type); + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Unbox_Any, type); + il.Emit(OpCodes.Stloc_0); + il.Emit(OpCodes.Ldloca_S, lv); + il.EmitCall(OpCodes.Call, getMethod, null); + if (propertyInfo.PropertyType.IsValueType) + il.Emit(OpCodes.Box, propertyInfo.PropertyType); + } + else + { + if (!getMethod.IsStatic) + { + il.Emit(OpCodes.Ldarg_0); + il.Emit(OpCodes.Castclass, propertyInfo.DeclaringType); + il.EmitCall(OpCodes.Callvirt, getMethod, null); + } + else + il.Emit(OpCodes.Call, getMethod); + + if (propertyInfo.PropertyType.IsValueType) + il.Emit(OpCodes.Box, propertyInfo.PropertyType); + } + + il.Emit(OpCodes.Ret); + + return (GenericGetter)getter.CreateDelegate(typeof(GenericGetter)); + } + + internal Getters[] GetGetters(Type type, bool ShowReadOnlyProperties, List IgnoreAttributes)//JSONParameters param) + { + Getters[] val = null; + if (_getterscache.TryGetValue(type, out val)) + return val; + + PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static); + List getters = new List(); + foreach (PropertyInfo p in props) + { + if (p.GetIndexParameters().Length > 0) + {// Property is an indexer + continue; + } + if (!p.CanWrite && ShowReadOnlyProperties == false) continue; + if (IgnoreAttributes != null) + { + bool found = false; + foreach (var ignoreAttr in IgnoreAttributes) + { + if (p.IsDefined(ignoreAttr, false)) + { + found = true; + break; + } + } + if (found) + continue; + } + GenericGetter g = CreateGetMethod(type, p); + if (g != null) + getters.Add(new Getters { Getter = g, Name = p.Name, lcName = p.Name.ToLower() }); + } + + FieldInfo[] fi = type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static); + foreach (var f in fi) + { + if (IgnoreAttributes != null) + { + bool found = false; + foreach (var ignoreAttr in IgnoreAttributes) + { + if (f.IsDefined(ignoreAttr, false)) + { + found = true; + break; + } + } + if (found) + continue; + } + if (f.IsLiteral == false) + { + GenericGetter g = CreateGetField(type, f); + if (g != null) + getters.Add(new Getters { Getter = g, Name = f.Name, lcName = f.Name.ToLower() }); + } + } + val = getters.ToArray(); + _getterscache.Add(type, val); + return val; + } + + #endregion + + internal void ResetPropertyCache() + { + _propertycache = new SafeDictionary>(); + } + + internal void ClearReflectionCache() + { + _tyname = new SafeDictionary(); + _typecache = new SafeDictionary(); + _constrcache = new SafeDictionary(); + _getterscache = new SafeDictionary(); + _propertycache = new SafeDictionary>(); + _genericTypes = new SafeDictionary(); + _genericTypeDef = new SafeDictionary(); + } + } +} diff --git a/00.SDK/E_ZKEccTopSdk/ITopRequest.cs b/00.SDK/E_ZKEccTopSdk/ITopRequest.cs new file mode 100644 index 0000000..538a8a0 --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/ITopRequest.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccTopSdk +{ + /// + /// TOP请求接口。 + /// + public interface ITopRequest where T : TopResponse + { + /// + /// 获取TOP的API名称。 + /// + string GetApiName(); + + /// + /// 获取被调用的目标AppKey + /// + string GetTargetAppKey(); + + /// + /// 获取所有的Key-Value形式的文本请求参数字典。 + /// + IDictionary GetParameters(); + + /// + /// 获取API请求的用户授权码,仅用于批量API调用请求。 + /// + string GetBatchApiSession(); + + /// + /// 设置API请求的用户授权码,仅用于批量API调用请求。 + /// + void SetBatchApiSession(string session); + + /// + /// 获取API在批量调用中的顺序,仅用于批量API调用请求。 + /// + int GetBatchApiOrder(); + + /// + /// 设置API在批量调用中的顺序,仅用于批量API调用请求。 + /// + void SetBatchApiOrder(int order); + + /// + /// 客户端参数检查,减少服务端无效调用。 + /// + void Validate(); + } +} diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/Properties/AssemblyInfo.cs b/00.SDK/E_ZKEccTopSdk/Properties/AssemblyInfo.cs similarity index 81% rename from 03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/Properties/AssemblyInfo.cs rename to 00.SDK/E_ZKEccTopSdk/Properties/AssemblyInfo.cs index e0928a4..5cce776 100644 --- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/Properties/AssemblyInfo.cs +++ b/00.SDK/E_ZKEccTopSdk/Properties/AssemblyInfo.cs @@ -5,12 +5,12 @@ using System.Runtime.InteropServices; // 有关程序集的一般信息由以下 // 控制。更改这些特性值可修改 // 与程序集关联的信息。 -[assembly: AssemblyTitle("Kingdee.K3.SCM.Sal.Report.PlugInEx")] +[assembly: AssemblyTitle("E_ZKEccTopSdk")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("Kingdee.K3.SCM.Sal.Report.PlugInEx")] -[assembly: AssemblyCopyright("Copyright © 2023")] +[assembly: AssemblyProduct("E_ZKEccTopSdk")] +[assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -20,7 +20,7 @@ using System.Runtime.InteropServices; [assembly: ComVisible(false)] // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID -[assembly: Guid("01f02d15-2726-4077-80fc-9e38ef29babc")] +[assembly: Guid("f7c46c03-fbb3-4282-90f3-a713b7e4a5e7")] // 程序集的版本信息由下列四个值组成: // diff --git a/00.SDK/E_ZKEccTopSdk/Request/EmployeeUpdateRequest.cs b/00.SDK/E_ZKEccTopSdk/Request/EmployeeUpdateRequest.cs new file mode 100644 index 0000000..7d9fe6b --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/Request/EmployeeUpdateRequest.cs @@ -0,0 +1,95 @@ +using E_ZKEccTopSdk.Response; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccTopSdk.Request +{ + public class EmployeeUpdateRequest : BaseTopRequest + { + /// + /// 查询参数 + /// + public string MarketingPromotionQuery { get; set; } + + public EmployeeUpdateDomain[] MarketingPromotionQuery_ { set { this.MarketingPromotionQuery = JsonConvert.SerializeObject(value); } } + + #region ITopRequest Members + + public override string GetApiName() + { + return "update"; + } + + public override IDictionary GetParameters() + { + TopDictionary parameters = new TopDictionary(); + parameters.Add("MarketingPromotionQuery", this.MarketingPromotionQuery); + //parameters.Add("issue_id", this.IssueId); + if (this.otherParams != null) + { + parameters.AddAll(this.otherParams); + } + return parameters; + } + + public override void Validate() + { + //RequestValidator.ValidateRequired("pin", this.pin); + //RequestValidator.ValidateRequired("deptnumber", this.deptnumber); + } + + #endregion + + [Serializable] + public class EmployeeUpdateDomain : TopObject + { + /// + /// 人员编号 长度为1~24个字符 必填 + /// + public string pin { get; set; } + + /// + /// 名称。长度为1~20个字符 + /// + public string name { get; set; } + + /// + /// 人员所属部门编号(更新可以不填,新增必填) + /// + public string deptnumber { get; set; } + + /// + /// 性别 。'M'表示男,'F'表示女 允许值: 'M', 'F' + /// + public string gender { get; set; } + + /// + /// 身份证号 + /// + public string identitycard { get; set; } + + /// + /// 人员自助密码 + /// + public string selfpassword { get; set; } + + /// + /// 人员是否考勤 + /// + public int? att { get; set; } + + /// + /// 验证方式 + /// + public int? comverifys { get; set; } + + /// + /// 比对照片信息,BASE64格式 + /// + public string enrollpic { get; set; } + } + } +} diff --git a/00.SDK/E_ZKEccTopSdk/Response/EmployeeUpdateResponse.cs b/00.SDK/E_ZKEccTopSdk/Response/EmployeeUpdateResponse.cs new file mode 100644 index 0000000..c176c39 --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/Response/EmployeeUpdateResponse.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Xml.Serialization; + +namespace E_ZKEccTopSdk.Response +{ + /// + /// 人员更新 + /// + public class EmployeeUpdateResponse :TopResponse + { + /// + /// 返回结果集 + /// + [XmlElement("result_object")] + public object ResultObject { get; set; } + } +} diff --git a/00.SDK/E_ZKEccTopSdk/TopDictionary.cs b/00.SDK/E_ZKEccTopSdk/TopDictionary.cs new file mode 100644 index 0000000..fae6d40 --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/TopDictionary.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccTopSdk +{ + /// + /// 符合TOP习惯的纯字符串字典结构。 + /// + public class TopDictionary : Dictionary + { + public TopDictionary() { } + + public TopDictionary(IDictionary dictionary) + : base(dictionary) + { } + + /// + /// 添加一个新的键值对。空键或者空值的键值对将会被忽略。 + /// + /// 键名称 + /// 键对应的值,目前支持:string, int, long, double, bool, DateTime类型 + public void Add(string key, object value) + { + string strValue; + + if (value == null) + { + strValue = null; + } + else if (value is string) + { + strValue = (string)value; + } + else if (value is Nullable) + { + Nullable dateTime = value as Nullable; + strValue = dateTime.Value.ToString(Constants.DATE_TIME_FORMAT); + } + else if (value is Nullable) + { + strValue = (value as Nullable).Value.ToString(); + } + else if (value is Nullable) + { + strValue = (value as Nullable).Value.ToString(); + } + else if (value is Nullable) + { + strValue = (value as Nullable).Value.ToString(); + } + else if (value is Nullable) + { + strValue = (value as Nullable).Value.ToString().ToLower(); + } + else + { + strValue = value.ToString(); + } + + this.Add(key, strValue); + } + + public new void Add(string key, string value) + { + if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value)) + { + base[key] = value; + } + } + + public void AddAll(IDictionary dict) + { + if (dict != null && dict.Count > 0) + { + IEnumerator> kvps = dict.GetEnumerator(); + while (kvps.MoveNext()) + { + KeyValuePair kvp = kvps.Current; + Add(kvp.Key, kvp.Value); + } + } + } + } +} diff --git a/00.SDK/E_ZKEccTopSdk/TopException.cs b/00.SDK/E_ZKEccTopSdk/TopException.cs new file mode 100644 index 0000000..fca3bbb --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/TopException.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace E_ZKEccTopSdk +{ + /// + /// TOP客户端异常。 + /// + public class TopException : Exception + { + private string errorCode; + private string errorMsg; + private string subErrorCode; + private string subErrorMsg; + + public TopException() + : base() + { + } + + public TopException(string message) + : base(message) + { + } + + protected TopException(SerializationInfo info, StreamingContext context) + : base(info, context) + { + } + + public TopException(string message, Exception innerException) + : base(message, innerException) + { + } + + public TopException(string errorCode, string errorMsg) + : base(errorCode + ":" + errorMsg) + { + this.errorCode = errorCode; + this.errorMsg = errorMsg; + } + + public TopException(string errorCode, string errorMsg, string subErrorCode, string subErrorMsg) + : base(errorCode + ":" + errorMsg + ":" + subErrorCode + ":" + subErrorMsg) + { + this.errorCode = errorCode; + this.errorMsg = errorMsg; + this.subErrorCode = subErrorCode; + this.subErrorMsg = subErrorMsg; + } + + public string ErrorCode + { + get { return this.errorCode; } + } + + public string ErrorMsg + { + get { return this.errorMsg; } + } + + public string SubErrorCode + { + get { return this.subErrorCode; } + } + + public string SubErrorMsg + { + get { return this.subErrorMsg; } + } + + + } +} diff --git a/00.SDK/E_ZKEccTopSdk/TopObject.cs b/00.SDK/E_ZKEccTopSdk/TopObject.cs new file mode 100644 index 0000000..cfff502 --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/TopObject.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccTopSdk +{ + /// + /// 基础对象。 + /// + [Serializable] + public abstract class TopObject + { + } +} diff --git a/00.SDK/E_ZKEccTopSdk/TopResponse.cs b/00.SDK/E_ZKEccTopSdk/TopResponse.cs new file mode 100644 index 0000000..0123776 --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/TopResponse.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Xml.Serialization; + +namespace E_ZKEccTopSdk +{ + [Serializable] + public abstract class TopResponse + { + /// + /// 错误码 + /// + [XmlElement("code")] + public string ErrCode { get; set; } + + /// + /// 错误信息 + /// + [XmlElement("msg")] + public string ErrMsg { get; set; } + + /// + /// 子错误码 + /// + [XmlElement("sub_code")] + public string SubErrCode { get; set; } + + /// + /// 子错误信息 + /// + [XmlElement("sub_msg")] + public string SubErrMsg { get; set; } + + /// + /// TOP请求唯一标识符 + /// + [XmlElement("request_id")] + public string RequestId { get; set; } + + /// + /// 响应原始内容 + /// + public string Body { get; set; } + + /// + /// 响应结果是否错误 + /// + public bool IsError + { + get + { + return !string.IsNullOrEmpty(this.ErrCode) || !string.IsNullOrEmpty(this.SubErrCode); + } + } + } +} diff --git a/00.SDK/E_ZKEccTopSdk/Uitl/FileItem.cs b/00.SDK/E_ZKEccTopSdk/Uitl/FileItem.cs new file mode 100644 index 0000000..dea5413 --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/Uitl/FileItem.cs @@ -0,0 +1,255 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; + +namespace E_ZKEccTopSdk.Uitl +{ + /// + /// 文件元数据。 + /// 可以使用以下几种构造方法: + /// 本地路径:new FileItem("C:/temp.jpg"); + /// 本地文件:new FileItem(new FileInfo("C:/temp.jpg")); + /// 字节数组:new FileItem("abc.jpg", bytes); + /// 输入流:new FileItem("abc.jpg", stream); + /// + public class FileItem + { + private Contract contract; + + /// + /// 基于本地文件的构造器。 + /// + /// 本地文件 + public FileItem(FileInfo fileInfo) + { + this.contract = new LocalContract(fileInfo); + } + + /// + /// 基于本地文件全路径的构造器。 + /// + /// 本地文件全路径 + public FileItem(string filePath) : this(new FileInfo(filePath)) + { + } + + /// + /// 基于文件名和字节数组的构造器。 + /// + /// 文件名称(服务端持久化字节数组到磁盘时的文件名) + /// 文件字节数组 + public FileItem(string fileName, byte[] content) : this(fileName, content, null) + { + } + + /// + /// 基于文件名、字节数组和媒体类型的构造器。 + /// + /// 文件名(服务端持久化字节数组到磁盘时的文件名) + /// 文件字字节数组 + /// 媒体类型 + public FileItem(string fileName, byte[] content, string mimeType) + { + this.contract = new ByteArrayContract(fileName, content, mimeType); + } + + /// + /// 基于文件名和输入流的构造器。 + /// + /// 文件名称(服务端持久化输入流到磁盘时的文件名) + /// 文件输入流 + public FileItem(string fileName, Stream stream) : this(fileName, stream, null) + { + } + + /// + /// 基于文件名、输入流和媒体类型的构造器。 + /// + /// 文件名(服务端持久化输入流到磁盘时的文件名) + /// 文件输入流 + /// 媒体类型 + public FileItem(string fileName, Stream stream, string mimeType) + { + this.contract = new StreamContract(fileName, stream, mimeType); + } + + public bool IsValid() + { + return this.contract.IsValid(); + } + + public long GetFileLength() + { + return this.contract.GetFileLength(); + } + + public string GetFileName() + { + return this.contract.GetFileName(); + } + + public string GetMimeType() + { + return this.contract.GetMimeType(); + } + + public void Write(Stream output) + { + this.contract.Write(output); + } + } + + internal interface Contract + { + bool IsValid(); + string GetFileName(); + string GetMimeType(); + long GetFileLength(); + void Write(Stream output); + } + + internal class LocalContract : Contract + { + private FileInfo fileInfo; + + public LocalContract(FileInfo fileInfo) + { + this.fileInfo = fileInfo; + } + + public long GetFileLength() + { + return this.fileInfo.Length; + } + + public string GetFileName() + { + return this.fileInfo.Name; + } + + public string GetMimeType() + { + return Constants.CTYPE_DEFAULT; + } + + public bool IsValid() + { + return this.fileInfo != null && this.fileInfo.Exists; + } + + public void Write(Stream output) + { + using (BufferedStream bfs = new BufferedStream(this.fileInfo.OpenRead())) + { + int n = 0; + byte[] buffer = new byte[Constants.READ_BUFFER_SIZE]; + while ((n = bfs.Read(buffer, 0, buffer.Length)) > 0) + { + output.Write(buffer, 0, n); + } + } + } + } + + internal class ByteArrayContract : Contract + { + private string fileName; + private byte[] content; + private string mimeType; + + public ByteArrayContract(string fileName, byte[] content, string mimeType) + { + this.fileName = fileName; + this.content = content; + this.mimeType = mimeType; + } + + public bool IsValid() + { + return this.content != null && this.fileName != null; + } + + public long GetFileLength() + { + return this.content.Length; + } + + public string GetFileName() + { + return this.fileName; + } + + public string GetMimeType() + { + if (string.IsNullOrEmpty(this.mimeType)) + { + return Constants.CTYPE_DEFAULT; + } + else + { + return this.mimeType; + } + } + + public void Write(Stream output) + { + output.Write(this.content, 0, this.content.Length); + } + } + + internal class StreamContract : Contract + { + private string fileName; + private Stream stream; + private string mimeType; + + public StreamContract(string fileName, Stream stream, string mimeType) + { + this.fileName = fileName; + this.stream = stream; + this.mimeType = mimeType; + } + + public long GetFileLength() + { + return 0L; + } + + public string GetFileName() + { + return this.fileName; + } + + public string GetMimeType() + { + if (string.IsNullOrEmpty(mimeType)) + { + return Constants.CTYPE_DEFAULT; + } + else + { + return this.mimeType; + } + } + + public bool IsValid() + { + return this.stream != null && this.fileName != null; + } + + public void Write(Stream output) + { + using (this.stream) + { + int n = 0; + byte[] buffer = new byte[Constants.READ_BUFFER_SIZE]; + while ((n = this.stream.Read(buffer, 0, buffer.Length)) > 0) + { + output.Write(buffer, 0, n); + } + } + } + } +} diff --git a/00.SDK/E_ZKEccTopSdk/Uitl/RequestValidator.cs b/00.SDK/E_ZKEccTopSdk/Uitl/RequestValidator.cs new file mode 100644 index 0000000..9dffcba --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/Uitl/RequestValidator.cs @@ -0,0 +1,200 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace E_ZKEccTopSdk.Uitl +{ + /// + /// 请求验证器 + /// + public sealed class RequestValidator + { + private const string ERR_CODE_PARAM_MISSING = "40"; + private const string ERR_CODE_PARAM_INVALID = "41"; + private const string ERR_MSG_PARAM_MISSING = "client-error:Missing required arguments:{0}"; + private const string ERR_MSG_PARAM_INVALID = "client-error:Invalid arguments:{0}"; + + /// + /// 验证参数是否为空。 + /// + /// 参数名 + /// 参数值 + public static void ValidateRequired(string name, object value) + { + if (value == null) + { + throw new TopException(ERR_CODE_PARAM_MISSING, string.Format(ERR_MSG_PARAM_MISSING, name)); + } + else + { + if (value.GetType() == typeof(string)) + { + string strValue = value as string; + if (string.IsNullOrEmpty(strValue)) + { + throw new TopException(ERR_CODE_PARAM_MISSING, string.Format(ERR_MSG_PARAM_MISSING, name)); + } + } + } + } + + /// + /// 验证字符串参数的最大长度。 + /// + /// 参数名 + /// 参数值 + /// 最大长度 + public static void ValidateMaxLength(string name, string value, int maxLength) + { + if (value != null && value.Length > maxLength) + { + throw new TopException(ERR_CODE_PARAM_INVALID, string.Format(ERR_MSG_PARAM_INVALID, name)); + } + } + + /// + /// 验证上传文件的最大字节长度。 + /// + /// 参数名 + /// 参数值 + /// 最大长度 + public static void ValidateMaxLength(string name, FileItem value, int maxLength) + { + if (value != null && value.GetFileLength() > maxLength) + { + throw new TopException(ERR_CODE_PARAM_INVALID, string.Format(ERR_MSG_PARAM_INVALID, name)); + } + } + + /// + /// 验证以逗号分隔的字符串参数的最大列表长度。 + /// + /// 参数名 + /// 参数值 + /// 最大列表长度 + public static void ValidateMaxListSize(string name, string value, int maxSize) + { + if (value != null) + { + string[] data = value.Split(','); + if (data != null && data.Length > maxSize) + { + throw new TopException(ERR_CODE_PARAM_INVALID, string.Format(ERR_MSG_PARAM_INVALID, name)); + } + } + } + + /// + /// 验证以逗号分隔的字符串参数的最大列表长度。 + /// + /// 参数名 + /// 参数值 + /// 最大列表长度 + public static void ValidateMaxListSize(string name, List value, int maxSize) + { + if (value != null) + { + if (value != null && value.Count > maxSize) + { + throw new TopException(ERR_CODE_PARAM_INVALID, ERR_MSG_PARAM_INVALID); + } + } + } + + /// + /// 验证以逗号分隔的字符串参数的最大列表长度。 + /// + /// 参数名 + /// 参数值 + /// 最大列表长度 + public static void ValidateMaxListSize(string name, List value, int maxSize) + { + if (value != null) + { + if (value != null && value.Count > maxSize) + { + throw new TopException(ERR_CODE_PARAM_INVALID, ERR_MSG_PARAM_INVALID); + } + } + } + + /// + /// 验证以逗号分隔的字符串参数的最大列表长度。 + /// + /// 参数名 + /// 参数值 + /// 最大列表长度 + public static void ValidateMaxListSize(string name, List value, int maxSize) + { + if (value != null) + { + if (value != null && value.Count > maxSize) + { + throw new TopException(ERR_CODE_PARAM_INVALID, ERR_MSG_PARAM_INVALID); + } + } + } + + /// + /// 验证复杂结构数组参数的最大列表长度。 + /// + /// 参数名 + /// 参数值 + /// 最大列表长度 + public static void ValidateObjectMaxListSize(string name, string value, int maxSize) + { + if (value != null) + { + IList list = JSON.Parse(value) as IList; + if (list != null && list.Count > maxSize) + { + throw new TopException(ERR_CODE_PARAM_INVALID, string.Format(ERR_MSG_PARAM_INVALID, name)); + } + } + } + + /// + /// 验证字符串参数的最小长度。 + /// + /// 参数名 + /// 参数值 + /// 最小长度 + public static void ValidateMinLength(string name, string value, int minLength) + { + if (value != null && value.Length < minLength) + { + throw new TopException(ERR_CODE_PARAM_INVALID, string.Format(ERR_MSG_PARAM_INVALID, name)); + } + } + + /// + /// 验证数字参数的最大值。 + /// + /// 参数名 + /// 参数值 + /// 最大值 + public static void ValidateMaxValue(string name, Nullable value, long maxValue) + { + if (value != null && value > maxValue) + { + throw new TopException(ERR_CODE_PARAM_INVALID, string.Format(ERR_MSG_PARAM_INVALID, name)); + } + } + + /// + /// 验证数字参数的最小值。 + /// + /// 参数名 + /// 参数值 + /// 最小值 + public static void ValidateMinValue(string name, Nullable value, long minValue) + { + if (value != null && value < minValue) + { + throw new TopException(ERR_CODE_PARAM_INVALID, string.Format(ERR_MSG_PARAM_INVALID, name)); + } + } + } +} diff --git a/00.SDK/E_ZKEccTopSdk/Uitl/TopUtils.cs b/00.SDK/E_ZKEccTopSdk/Uitl/TopUtils.cs new file mode 100644 index 0000000..360ed24 --- /dev/null +++ b/00.SDK/E_ZKEccTopSdk/Uitl/TopUtils.cs @@ -0,0 +1,271 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.NetworkInformation; +using System.Net.Sockets; +using System.Security.Cryptography; +using System.Text; + +namespace E_ZKEccTopSdk.Uitl +{ + /// + /// TOP系统工具类。 + /// + public abstract class TopUtils + { + private static readonly JSONParameters jp = new JSONParameters(); + private static string intranetIp; + + static TopUtils() + { + jp.UseApiNamingStyle = true; + jp.UseExtensions = false; + jp.SerializeNullValues = false; + } + + /// + /// 给TOP请求签名。 + /// + /// 所有字符型的TOP请求参数 + /// 签名密钥 + /// 签名方法,可选值:md5, hmac + /// 签名 + public static string SignTopRequest(IDictionary parameters, string secret, string signMethod) + { + return SignTopRequest(parameters, null, secret, signMethod); + } + + /// + /// 给TOP请求签名。 + /// + /// 所有字符型的TOP请求参数 + /// 请求主体内容 + /// 签名密钥 + /// 签名方法,可选值:md5, hmac + /// 签名 + public static string SignTopRequest(IDictionary parameters, string body, string secret, string signMethod) + { + // 第一步:把字典按Key的字母顺序排序 + IDictionary sortedParams = new SortedDictionary(parameters, StringComparer.Ordinal); + + // 第二步:把所有参数名和参数值串在一起 + StringBuilder query = new StringBuilder(); + if (Constants.SIGN_METHOD_MD5.Equals(signMethod)) + { + query.Append(secret); + } + foreach (KeyValuePair kv in sortedParams) + { + if (!string.IsNullOrEmpty(kv.Key) && !string.IsNullOrEmpty(kv.Value)) + { + query.Append(kv.Key).Append(kv.Value); + } + } + + // 第三步:把请求主体拼接在参数后面 + if (!string.IsNullOrEmpty(body)) + { + query.Append(body); + } + + // 第四步:使用MD5/HMAC加密 + byte[] bytes; + if (Constants.SIGN_METHOD_HMAC.Equals(signMethod)) + { + HMACMD5 hmac = new HMACMD5(Encoding.UTF8.GetBytes(secret)); + bytes = hmac.ComputeHash(Encoding.UTF8.GetBytes(query.ToString())); + } + else if (Constants.SIGN_METHOD_HMAC_SHA256.Equals(signMethod)) + { + HMACSHA256 hmac = new HMACSHA256(Encoding.UTF8.GetBytes(secret)); + bytes = hmac.ComputeHash(Encoding.UTF8.GetBytes(query.ToString())); + } + else + { + query.Append(secret); + MD5 md5 = MD5.Create(); + bytes = md5.ComputeHash(Encoding.UTF8.GetBytes(query.ToString())); + } + + // 第五步:把二进制转化为大写的十六进制 + StringBuilder result = new StringBuilder(); + for (int i = 0; i < bytes.Length; i++) + { + result.Append(bytes[i].ToString("X2")); + } + + return result.ToString(); + } + + /// + /// 清除字典中值为空的项。 + /// + /// 待清除的字典 + /// 清除后的字典 + public static IDictionary CleanupDictionary(IDictionary dict) + { + IDictionary newDict = new Dictionary(dict.Count); + + foreach (KeyValuePair kv in dict) + { + if (kv.Value != null) + { + newDict.Add(kv.Key, kv.Value); + } + } + + return newDict; + } + + /// + /// 把对象转换为JSON字符串。 + /// + public static string ObjectToJson(object obj) + { + return JSON.ToJSON(obj, jp); + } + + /// + /// 把对象转换为JSON字符串。 + /// + public static string ObjectToJson(object obj, JSONParameters newjp) + { + return JSON.ToJSON(obj, newjp); + } + + /// + /// 把JSON字符串转换为对象。 + /// + public static object JsonToObject(string json) + { + return JSON.Parse(json); + } + + /// + /// 把JSON解释为API响应对象。 + /// + /// API响应类型 + /// JSON字符串 + /// API响应对象 + public static T ParseResponse(string json) where T : TopResponse + { + TopJsonParser parser = new TopJsonParser(); + return parser.Parse(json); + } + + /// + /// 获取从1970年1月1日到现在的毫秒总数。 + /// + /// 毫秒数 + public static long GetCurrentTimeMillis() + { + return (long)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalMilliseconds; + } + + /// + /// 获取本机的局域网IP。 + /// + public static string GetIntranetIp() + { + if (intranetIp == null) + { + NetworkInterface[] nis = NetworkInterface.GetAllNetworkInterfaces(); + foreach (NetworkInterface ni in nis) + { + if (OperationalStatus.Up == ni.OperationalStatus && (NetworkInterfaceType.Ethernet == ni.NetworkInterfaceType || NetworkInterfaceType.Wireless80211 == ni.NetworkInterfaceType)) + { + foreach (UnicastIPAddressInformation info in ni.GetIPProperties().UnicastAddresses) + { + if (AddressFamily.InterNetwork == info.Address.AddressFamily) + { + intranetIp = info.Address.ToString(); + break; + } + } + if (intranetIp != null) break; + } + } + } + if (intranetIp == null) + { + intranetIp = "127.0.0.1"; + } + return intranetIp; + } + + public const string CHARSET_UTF8 = "UTF-8"; + public const string SIGN_METHOD_SHA256 = "sha256"; + public const string SIGN_METHOD_HMAC_SHA256 = "HmacSHA256"; + + public static string SignApiRequest(IDictionary aparams, string appSecret, string signMethod, string apiName) + { + // 如果是调用原平台迁移方法,请将方法名作为请求参数放入params中参与排序 + // 第一步:检查参数是否已经排序 + string[] + keys = aparams.Keys.ToArray(); + Array.Sort(keys); + + // 第二步:把所有参数名和参数值串在一起 + StringBuilder query = new StringBuilder(); + + // 如果是调用新平台注册方法,请执行第三步,直接拼接方法名 + // 第三步:将API名拼接在字符串开头 + query.Append(apiName); + + foreach (string key in keys) + { + string value = aparams[key]; + if (aparams.ContainsKey(key)) + { + query.Append(key).Append(value); + } + } + + // 第四步:使用加密算法 + byte[] bytes = null; + //var ttt = query.ToString(); + if (signMethod.Equals(SIGN_METHOD_SHA256)) + { + bytes = encryptHMACSHA256(query.ToString(), appSecret); + } + + // 第五步:把二进制转化为大写的十六进制(正确签名应该为32大写字符串,此方法需要时使用) + return byte2hex(bytes); + } + + + private static byte[] encryptHMACSHA256(string data, string secret) + { + byte[] bytes = null; + try + { + HMACSHA256 hmac = new HMACSHA256(Encoding.UTF8.GetBytes(secret)); + bytes = hmac.ComputeHash(Encoding.UTF8.GetBytes(data)); + //SecretKey secretKey = new SecretKeySpec(secret.(CHARSET_UTF8), SIGN_METHOD_HMAC_SHA256); + //Mac mac = Mac.getInstance(hmac.getAlgorithm()); + //mac.init(secretKey); + //bytes = Encoding.UTF8.GetBytes(secret); + } + catch (Exception ex) + { + throw; + } + return bytes; + } + + /** + * Transfer binary array to HEX string. + */ + public static String byte2hex(byte[] bytes) + { + // 第五步:把二进制转化为大写的十六进制 + StringBuilder result = new StringBuilder(); + for (int i = 0; i < bytes.Length; i++) + { + result.Append(bytes[i].ToString("X2")); + } + + return result.ToString(); + } + } +} diff --git a/00.未分类/UnitTestProject2/UnitTest1.cs b/00.未分类/UnitTestProject2/UnitTest1.cs index 45ffe56..70f1f6d 100644 --- a/00.未分类/UnitTestProject2/UnitTest1.cs +++ b/00.未分类/UnitTestProject2/UnitTest1.cs @@ -1,14 +1,18 @@ using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Orm.Metadata.DataEntity; using Microsoft.VisualStudio.TestTools.UnitTesting; -using Renci.SshNet; using Spire.Doc; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Windows.Forms; -using Kingdee.K3.SCM.App.Stock.Report; +using HandleUtils; +using System.Data.SqlClient; +using Kingdee.BOS.Util; +using E_ZKEcc.Service; +using E_ZKEcc.Domian; + namespace UnitTestProject2 { [TestClass] @@ -57,157 +61,98 @@ namespace UnitTestProject2 [TestMethod] public void TestMethod2() { + // HUIWE_SFTP_TST@sftp.betagrid.gxs.com 22 string ip = "sftp.betagrid.gxs.com"; string port = "22"; string user = "HUIWE_SFTP_TST"; string pwd = "@m+n|9+v^.R}1[^"; string localPath = "D:\\Work\\GateDge\\SFTP\\aatat.docx"; - string remotePath = "/aatat.docx"; + string remotePath = "/././POLLABLE"; SFTPHelper SFTPHelper = new SFTPHelper(ip, user, pwd, port); - var flag = SFTPHelper.Put(localPath, remotePath); + var result = SFTPHelper.GetFileList(remotePath, "*BIN"); + SFTPHelper.Disconnect(); return; } - public class SFTPHelper + [TestMethod] + public void TestMethod4() + { + //var list = new List(); + + //list.Add(new EmployeeUpdateDomain() + //{ + // pin = "AAA", + // name = "" + //}); + + //var str = JsonUtil.SerializeWithOutNull(list); + var apiInfo = new ApiInfoDomian(); + apiInfo.appKey = "3391hexqe5h0wv4z4veju_dvn7gntnr5oiv_dxjabqtt"; + apiInfo.apiVersion = "v2"; + apiInfo.serverUrl = "http://14.21.32.187:8088"; + var service = new EmployeeService(apiInfo); + + var data = service.GetEmployee(null); + return; + } + + [Serializable] + public class EmployeeUpdateDomain { - #region 字段或属性 - private SftpClient _sftp; /// - /// SFTP连接状态 + /// 人员编号 长度为1~24个字符 必填 /// - public bool Connected => _sftp.IsConnected; - #endregion + public string pin { get; set; } - #region 构造 /// - /// 构造 + /// 名称。长度为1~20个字符 /// - /// IP - /// 端口 - /// 用户名 - /// 密码 - public SFTPHelper(string ip, string user, string pwd, string port = "22") - { - _sftp = new SftpClient(ip, int.Parse(port), user, pwd); - Connect(); - } + public string name { get; set; } - ~SFTPHelper() - { - Disconnect(); - } - #endregion - - #region 连接SFTP /// - /// 连接SFTP + /// 人员所属部门编号(更新可以不填,新增必填) /// - /// true成功 - public bool Connect() - { - try - { - if (!Connected) - { - _sftp.Connect(); - } - return true; - } - catch (Exception ex) - { - throw new Exception(string.Format("连接SFTP失败,原因:{0}", ex.Message)); - } - } - #endregion + public string deptnumber { get; set; } - #region 断开SFTP /// - /// 断开SFTP - /// - public void Disconnect() - { - try - { - if (_sftp != null && Connected) - { - _sftp.Disconnect(); - } - } - catch (Exception ex) - { - throw new Exception(string.Format("断开SFTP失败,原因:{0}", ex.Message)); - } - } - #endregion - - #region SFTP上传文件 - /// - /// SFTP上传文件 + /// 性别 。'M'表示男,'F'表示女 允许值: 'M', 'F' /// - /// 本地文件全路径 例:G:\\Project\\logo.png - /// 远程路径 例:/logo.png - public bool Put(string localPath, string remotePath) - { - try - { - using (var file = File.OpenRead(localPath)) - { - Connect(); - _sftp.UploadFile(file, remotePath); - Disconnect(); - } - return true; - } - catch (Exception ex) - { - return false; - } - } - #endregion + public string gender { get; set; } - #region SFTP获取文件 /// - /// SFTP获取文件 + /// 身份证号 /// - /// 远程路径 - /// 本地路径 - public void Get(string remotePath, string localPath) - { - try - { - Connect(); - var byt = _sftp.ReadAllBytes(remotePath); - Disconnect(); - File.WriteAllBytes(localPath, byt); - } - catch (Exception ex) - { - throw new Exception(string.Format("SFTP文件获取失败,原因:{0}", ex.Message)); - } + public string identitycard { get; set; } - } - #endregion - - #region 删除SFTP文件 /// - /// 删除SFTP文件 + /// 人员自助密码 /// - /// 远程路径 - public void Delete(string remoteFile) - { - try - { - Connect(); - _sftp.Delete(remoteFile); - Disconnect(); - } - catch (Exception ex) - { - throw new Exception(string.Format("SFTP文件删除失败,原因:{0}", ex.Message)); - } - } - #endregion + public string selfpassword { get; set; } + /// + /// 人员是否考勤 + /// + public int? att { get; set; } + + /// + /// 验证方式 + /// + public int? comverifys { get; set; } + + /// + /// 比对照片信息,BASE64格式 + /// + public string enrollpic { get; set; } + } + + [TestMethod] + public void TestMethod3() + { + string sqlConn = "Data Source=ASSDB;User ID=ooa;Password=123qwe123"; + + SqlConnection con = new SqlConnection(sqlConn); + //SqlConnection con = new SqlConnection("Server=.;Database=ASSDB;uid=ooa;pwd=123qwe123;Trusted_Connection=False;"); + con.Open(); } diff --git a/00.未分类/UnitTestProject2/UnitTestProject2.csproj b/00.未分类/UnitTestProject2/UnitTestProject2.csproj index 3c38b6b..b03c1cb 100644 --- a/00.未分类/UnitTestProject2/UnitTestProject2.csproj +++ b/00.未分类/UnitTestProject2/UnitTestProject2.csproj @@ -39,6 +39,9 @@ 4 + + C:\Users\Fareoh\Desktop\对比\dll\GDHNJN.BusinessForm.BusinessPlugIn.dll + ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.dll @@ -78,6 +81,7 @@ + @@ -89,6 +93,16 @@ + + + {9a0273e4-d584-4418-951c-020d4eff1732} + E_ZKEccSDK + + + {d6a5e5a0-7529-4ffa-9f9d-b2c610919bf6} + HandleUtils + + diff --git a/00.未分类/公式.sql b/00.未分类/公式.sql new file mode 100644 index 0000000..ff3446e --- /dev/null +++ b/00.未分类/公式.sql @@ -0,0 +1,28 @@ +SELECT * +INTO #T1 +FROM ( + SELECT 1 ID,'A+B' 公式 + union ALL + SELECT 2 ID,'A+B+C' 公式 +) tt +declare @tttt varchar(MAX),@ttt varchar(MAX) +SELECT @tttt = ISNULL(STUFF((select ' WHEN '+ CONVERT(nvarchar(100), tt.ID) + 'THEN '+ tt.公式 from #T1 tt for xml path('')),1,1,''),'') +SET @ttt = N' +SELECT tt.A,CASE tt.ID '+@tttt+' ELSE 0 END +FROM( + SELECT 1 A,2 B,3 C,1 ID + union ALL + SELECT 2 A,3 B,3 C,2 ID + union ALL + SELECT 1 A,3 B,3 C,1 ID + union ALL + SELECT 1 A,1 B,3 C,1 ID +) tt +' +--SELECT @ttt +exec(@ttt) + +DROP TABLE #T1 +--DROP TABLE #T2 + + diff --git a/01.扩展/HandleUtils/Base64Helper.cs b/01.扩展/HandleUtils/Base64Helper.cs index 2f64325..d43729e 100644 --- a/01.扩展/HandleUtils/Base64Helper.cs +++ b/01.扩展/HandleUtils/Base64Helper.cs @@ -5,7 +5,7 @@ using System.Text; namespace HandleUtils { - public class Base64Helper + public static class Base64Helper { /// /// Base64加密,采用utf8编码方式加密 diff --git a/01.扩展/HandleUtils/EncryptHelper.cs b/01.扩展/HandleUtils/EncryptHelper.cs index 9cebe32..672446b 100644 --- a/01.扩展/HandleUtils/EncryptHelper.cs +++ b/01.扩展/HandleUtils/EncryptHelper.cs @@ -5,6 +5,9 @@ using System.Text; namespace HandleUtils { + /// + /// 加密/解密 + /// public static class EncryptHelper { public static string UrlEncode(string value) diff --git a/01.扩展/HandleUtils/HandleUtils.csproj b/01.扩展/HandleUtils/HandleUtils.csproj index 207bbc8..90d99c5 100644 --- a/01.扩展/HandleUtils/HandleUtils.csproj +++ b/01.扩展/HandleUtils/HandleUtils.csproj @@ -31,6 +31,12 @@ 4 + + ..\..\packages\SSH.NET.2020.0.2\lib\net40\Renci.SshNet.dll + + + ..\..\packages\Renci.SshNet.Async.1.4.0\lib\net40\Renci.SshNet.Async.dll + @@ -42,6 +48,7 @@ + diff --git a/01.扩展/HandleUtils/SFTPHelper.cs b/01.扩展/HandleUtils/SFTPHelper.cs new file mode 100644 index 0000000..aae8d41 --- /dev/null +++ b/01.扩展/HandleUtils/SFTPHelper.cs @@ -0,0 +1,253 @@ +using Renci.SshNet; +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; + +namespace HandleUtils +{ + public class SFTPHelper + { + #region 字段或属性 + + private SftpClient _sftp; + + /// + /// SFTP连接状态 + /// + public bool Connected => _sftp.IsConnected; + + #endregion + + #region 构造 + /// + /// 构造 + /// + /// IP + /// 端口 + /// 用户名 + /// 密码 + public SFTPHelper(string ip, string user, string pwd, string port = "22") + { + _sftp = new SftpClient(ip, int.Parse(port), user, pwd); + Connect(); + } + + ~SFTPHelper() + { + Disconnect(); + } + #endregion + + #region 连接SFTP + /// + /// 连接SFTP + /// + /// true成功 + public bool Connect() + { + try + { + if (!Connected) + { + _sftp.Connect(); + } + return true; + } + catch (Exception ex) + { + throw new Exception(string.Format("连接SFTP失败,原因:{0}", ex.Message)); + } + } + #endregion + + #region 断开SFTP + /// + /// 断开SFTP + /// + public void Disconnect() + { + try + { + if (_sftp != null && Connected) + { + _sftp.Disconnect(); + } + } + catch (Exception ex) + { + throw new Exception(string.Format("断开SFTP失败,原因:{0}", ex.Message)); + } + } + #endregion + + #region SFTP上传文件 + /// + /// SFTP上传文件 + /// + /// 本地路径 + /// 远程路径 + public void Put(string localPath, string remotePath) + { + try + { + using (var file = File.OpenRead(localPath)) + { + Connect(); + _sftp.UploadFile(file, remotePath); + } + } + catch (Exception ex) + { + // TxtLog.WriteTxt(CommonMethod.GetProgramName(), string.Format("SFTP文件上传失败,原因:{0}", ex.Message)); + throw new Exception(string.Format("SFTP文件上传失败,原因:{0}", ex.Message)); + } + finally + { + Disconnect(); + } + } + #endregion + + #region SFTP获取文件 + /// + /// SFTP获取文件 + /// + /// 远程路径 + /// 本地路径 + public void Get(string remotePath, string localPath) + { + try + { + Connect(); + var byt = _sftp.ReadAllBytes(remotePath); + File.WriteAllBytes(localPath, byt); + } + catch (Exception ex) + { + // TxtLog.WriteTxt(CommonMethod.GetProgramName(), string.Format("SFTP文件获取失败,原因:{0}", ex.Message)); + throw new Exception(string.Format("SFTP文件获取失败,原因:{0}", ex.Message)); + } + finally + { + Disconnect(); + } + + } + #endregion + + #region 重命名SFTP文件 + /// + /// 重命名SFTP文件 + /// 旧远程路径 + /// 新远程路径 + /// + public void Rename_SFTP(string oldFilePath, string newFilePath) + { + try + { + Connect(); + _sftp.RenameFile(oldFilePath, newFilePath); + } + catch (Exception ex) + { + // TxtLog.WriteTxt(CommonMethod.GetProgramName(), string.Format("SFTP文件删除失败,原因:{0}", ex.Message)); + throw new Exception(string.Format("SFTP文件删除失败,原因:{0}", ex.Message)); + } + finally + { + Disconnect(); + } + } + #endregion + + #region 删除SFTP文件 + /// + /// 删除SFTP文件 + /// + /// 远程路径 + public void Delete(string remoteFile) + { + try + { + Connect(); + _sftp.Delete(remoteFile); + } + catch (Exception ex) + { + // TxtLog.WriteTxt(CommonMethod.GetProgramName(), string.Format("SFTP文件删除失败,原因:{0}", ex.Message)); + throw new Exception(string.Format("SFTP文件删除失败,原因:{0}", ex.Message)); + } + finally + { + Disconnect(); + } + } + #endregion + + #region 获取SFTP文件列表 + /// + /// 获取SFTP文件列表 + /// + /// 远程目录 + /// 文件后缀 + /// + public List GetFileList(string remotePath, string fileSuffix) + { + try + { + //Connect(); + var files = _sftp.ListDirectory(remotePath); + var objList = new List(); + foreach (var file in files) + { + string name = file.Name; + if (name.Length > (fileSuffix.Length + 1) && fileSuffix == name.Substring(name.Length - fileSuffix.Length)) + { + objList.Add(name); + } + } + return objList; + } + catch (Exception ex) + { + // TxtLog.WriteTxt(CommonMethod.GetProgramName(), string.Format("SFTP文件列表获取失败,原因:{0}", ex.Message)); + throw new Exception(string.Format("SFTP文件列表获取失败,原因:{0}", ex.Message)); + } + finally + { + Disconnect(); + } + } + #endregion + + #region 移动SFTP文件 + /// + /// 移动SFTP文件 + /// + /// 旧远程路径 + /// 新远程路径 + public void Move(string oldRemotePath, string newRemotePath) + { + try + { + Connect(); + _sftp.RenameFile(oldRemotePath, newRemotePath); + } + catch (Exception ex) + { + // TxtLog.WriteTxt(CommonMethod.GetProgramName(), string.Format("SFTP文件移动失败,原因:{0}", ex.Message)); + throw new Exception(string.Format("SFTP文件移动失败,原因:{0}", ex.Message)); + } + finally + { + Disconnect(); + } + } + #endregion + + + } +} diff --git a/03.珠海市汇威精密制造有限公司/GXS对接.txt b/03.珠海市汇威精密制造有限公司/GXS对接.txt new file mode 100644 index 0000000..a0f927b --- /dev/null +++ b/03.珠海市汇威精密制造有限公司/GXS对接.txt @@ -0,0 +1,11 @@ +1.定时获取/接到通知后去手动获取 +2.每次获取单据列表,筛选未同步的更新 +3.接收到的订单号是否作为云星空系统中单据编号 +4.订单流程确认 +4.1.订单(U:汇威 C:对应客户) +4.1.1.获取订单 C to U ORDERS.xml +4.1.2.获取订单修改 C to U ORDCHG.xml +4.1.3.发送订单确认 U to C (订单确认后是否能修改) POACK.xml +4.2.订单发货信息 (u:汇威 c:对应客户) +4.2.1.发送发货信息 U to C ASN.xml +4.2.2.发送发票 U to C INVOIC.xml \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HUIWEI/HUIWEI.csproj b/03.珠海市汇威精密制造有限公司/HUIWEI/HUIWEI.csproj index 8c6d727..5c92a12 100644 --- a/03.珠海市汇威精密制造有限公司/HUIWEI/HUIWEI.csproj +++ b/03.珠海市汇威精密制造有限公司/HUIWEI/HUIWEI.csproj @@ -90,19 +90,31 @@ - + + + + + + + + + + + + + diff --git a/03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/SQLServer/更新对应表中产品对照倒置id.sql b/03.珠海市汇威精密制造有限公司/HUIWEI/PRD_MO/sql/更新对应表中产品对照倒置id.sql similarity index 89% rename from 03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/SQLServer/更新对应表中产品对照倒置id.sql rename to 03.珠海市汇威精密制造有限公司/HUIWEI/PRD_MO/sql/更新对应表中产品对照倒置id.sql index fa6ffff..009a9b3 100644 --- a/03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/SQLServer/更新对应表中产品对照倒置id.sql +++ b/03.珠海市汇威精密制造有限公司/HUIWEI/PRD_MO/sql/更新对应表中产品对照倒置id.sql @@ -18,7 +18,7 @@ FROM hw_mjcpdzb t0 inner join hw_mjcpdzbs t0e on t0.FID = t0e.FID WHERE exists (SELECT 1 from #tmp t WHERE t.fid = t0.fid AND t0e.FCPID = t0.FCPID) -/***********bomеģ߱start***********/ +/***********更新bom中的模具编码start***********/ --UPDATE t0 SET t0.FMJDZDZID = tt.FEntryID SELECT tt.FEntryID,t0.* @@ -28,7 +28,7 @@ FROM drop table #tmp drop table #tmp1 -/***********bomеģ߱end***********/ +/***********更新bom中的模具编码end***********/ --UPDATE t1e SET t1e.FMJDZDZID = t0.FMJDZDZID SELECT diff --git a/03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/SQLServer/模具-产品对照倒置表.sql b/03.珠海市汇威精密制造有限公司/HUIWEI/PRD_MO/sql/模具-产品对照倒置表.sql similarity index 52% rename from 03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/SQLServer/模具-产品对照倒置表.sql rename to 03.珠海市汇威精密制造有限公司/HUIWEI/PRD_MO/sql/模具-产品对照倒置表.sql index 9690fd6..cd1e336 100644 --- a/03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/SQLServer/模具-产品对照倒置表.sql +++ b/03.珠海市汇威精密制造有限公司/HUIWEI/PRD_MO/sql/模具-产品对照倒置表.sql @@ -1,23 +1,23 @@ -IF EXISTS(SELECT * FROM sysobjects WHERE name = 'V_HWMJCPDZDZB')--Ϊͼ - DROP VIEW V_HWMJCPDZDZB--ͼ +IF EXISTS(SELECT * FROM sysobjects WHERE name = 'V_HWMJCPDZDZB')--单引号里面为视图名称 + DROP VIEW V_HWMJCPDZDZB--视图名称 GO CREATE VIEW V_HWMJCPDZDZB AS SELECT t0e.FEntryID 'FID' ,t0e.FID AS 'FPID' ,t0e.FCPID - ,t0e.FMJSMZQ AS 'FMJSCZQ'--'ģ' - ,CAST(t0e.FMJQS AS decimal(23,6)) AS 'FMJQS'--'ģǻ' - ,t0e.FBZCL AS 'FBZCN'--'׼' - ,t0e.FJTBZ --AS '̨ע' - ,t0e.FMJHH --AS 'ģ/ϸ' - ,t0e.F_PAEZ_DECIMAL AS 'FCPDZ'--'Ʒ' - ,t0e.F_PAEZ_DECIMAL1 AS 'FCCSKZL'--'ˮ' + ,t0e.FMJSMZQ AS 'FMJSCZQ'--'模具生产周期' + ,CAST(t0e.FMJQS AS decimal(23,6)) AS 'FMJQS'--'模具腔数' + ,t0e.FBZCL AS 'FBZCN'--'标准产能' + ,t0e.FJTBZ --AS '机台备注' + ,t0e.FMJHH --AS '共模/互换明细' + ,t0e.F_PAEZ_DECIMAL AS 'FCPDZ'--'产品单重' + ,t0e.F_PAEZ_DECIMAL1 AS 'FCCSKZL'--'产出水口重量' ,t0.FNUMBER ,t0.FMJID - ,t0.F_PAEZ_TEXT AS 'FMJGGXH'--'ģ߹(** mm' - ,t0.F_PAEZ_TEXT1 AS 'FMJXS'--'ģѨ' - ,t0.F_PAEZ_COMBO AS 'FMJLX'--'ģ' + ,t0.F_PAEZ_TEXT AS 'FMJGGXH'--'模具规格(宽*高*厚 mm)' + ,t0.F_PAEZ_TEXT1 AS 'FMJXS'--'模具穴数' + ,t0.F_PAEZ_COMBO AS 'FMJLX'--'模具类型' ,t0.FDOCUMENTSTATUS ,t0.FFORBIDSTATUS ,t1_l.FNAME AS 'FName' diff --git a/03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/SQLServer/模具产品对照-同一个模具下多个相同产品查询.sql b/03.珠海市汇威精密制造有限公司/HUIWEI/PRD_MO/sql/模具产品对照-同一个模具下多个相同产品查询.sql similarity index 100% rename from 03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/SQLServer/模具产品对照-同一个模具下多个相同产品查询.sql rename to 03.珠海市汇威精密制造有限公司/HUIWEI/PRD_MO/sql/模具产品对照-同一个模具下多个相同产品查询.sql diff --git a/03.珠海市汇威精密制造有限公司/HUIWEI/SAL_SaleOrder/AdvanceShipmentNotification.cs b/03.珠海市汇威精密制造有限公司/HUIWEI/SAL_SaleOrder/AdvanceShipmentNotification.cs new file mode 100644 index 0000000..992032a --- /dev/null +++ b/03.珠海市汇威精密制造有限公司/HUIWEI/SAL_SaleOrder/AdvanceShipmentNotification.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Xml.Serialization; + +namespace HUIWEI.SAL_SaleOrder +{ + + // 注意: 生成的代码可能至少需要 .NET Framework 4.5 或 .NET Core/Standard 2.0。 + /// + [Serializable()] + [DesignerCategory("code")] + [XmlType(AnonymousType = true)] + [XmlRoot(Namespace = "", IsNullable = false)] + public partial class AdvanceShipmentNotification + { + /// + public AdvanceShipmentNotificationHeader Header { get; set; } + + /// + [XmlElement("LineItem")] + public AdvanceShipmentNotificationLineItem[] LineItem { get; set; } + } + + /// + [Serializable()] + [DesignerCategory("code")] + [XmlType(AnonymousType = true)] + public partial class AdvanceShipmentNotificationHeader + { + + /// + public string Supplier { get; set; } + + /// + public string Buyer { get; set; } + + /// + [XmlElement(DataType = "date")] + public DateTime PO_Date { get; set; } + + /// + public ulong LEX_PO { get; set; } + + /// + public object Internal_PO { get; set; } + + /// + [XmlElement(DataType = "date")] + public DateTime Delivery_Date { get; set; } + + /// + public string Ship_Address { get; set; } + + /// + public ulong Lot_Number { get; set; } + + /// + [XmlElement("Actual_Ex-factory_Date", DataType = "date")] + public DateTime Actual_Exfactory_Date { get; set; } + + /// + [XmlElement(DataType = "date")] + public DateTime ETD_HK { get; set; } + + /// + public string Container_Number { get; set; } + + /// + public string Container_Type { get; set; } + + /// + public string Carrier { get; set; } + /// + public string Vessel_Name_Or_Flight { get; set; } + + /// + public string Bill_Of_Lading { get; set; } + + /// + public string Shipping_Condition { get; set; } + + /// + public object Shipping_Month { get; set; } + } + + /// + [Serializable()] + [DesignerCategory("code")] + [XmlType(AnonymousType = true)] + public partial class AdvanceShipmentNotificationLineItem + { + + /// + public byte Item_Line_Number { get; set; } + + /// + public string LEX_PN { get; set; } + + /// + public ushort Container_Qty { get; set; } + + /// + public byte Pallet_Qty { get; set; } + + /// + public byte Pallets { get; set; } + + /// + public string Unit_Of_Measure { get; set; } + + /// + public string LXK_Description { get; set; } + + /// + public string Serial_No { get; set; } + } + + +} diff --git a/03.珠海市汇威精密制造有限公司/HUIWEI/WinSCP/xml/ASN.xml b/03.珠海市汇威精密制造有限公司/HUIWEI/SAL_SaleOrder/xml/ASN.xml similarity index 100% rename from 03.珠海市汇威精密制造有限公司/HUIWEI/WinSCP/xml/ASN.xml rename to 03.珠海市汇威精密制造有限公司/HUIWEI/SAL_SaleOrder/xml/ASN.xml diff --git a/03.珠海市汇威精密制造有限公司/HUIWEI/WinSCP/xml/INVOIC.xml b/03.珠海市汇威精密制造有限公司/HUIWEI/SAL_SaleOrder/xml/INVOIC.xml similarity index 100% rename from 03.珠海市汇威精密制造有限公司/HUIWEI/WinSCP/xml/INVOIC.xml rename to 03.珠海市汇威精密制造有限公司/HUIWEI/SAL_SaleOrder/xml/INVOIC.xml diff --git a/03.珠海市汇威精密制造有限公司/HUIWEI/WinSCP/xml/ORDCHG.xml b/03.珠海市汇威精密制造有限公司/HUIWEI/SAL_SaleOrder/xml/ORDCHG.xml similarity index 100% rename from 03.珠海市汇威精密制造有限公司/HUIWEI/WinSCP/xml/ORDCHG.xml rename to 03.珠海市汇威精密制造有限公司/HUIWEI/SAL_SaleOrder/xml/ORDCHG.xml diff --git a/03.珠海市汇威精密制造有限公司/HUIWEI/WinSCP/xml/ORDERS.xml b/03.珠海市汇威精密制造有限公司/HUIWEI/SAL_SaleOrder/xml/ORDERS.xml similarity index 100% rename from 03.珠海市汇威精密制造有限公司/HUIWEI/WinSCP/xml/ORDERS.xml rename to 03.珠海市汇威精密制造有限公司/HUIWEI/SAL_SaleOrder/xml/ORDERS.xml diff --git a/03.珠海市汇威精密制造有限公司/HUIWEI/WinSCP/xml/POACK.xml b/03.珠海市汇威精密制造有限公司/HUIWEI/SAL_SaleOrder/xml/POACK.xml similarity index 100% rename from 03.珠海市汇威精密制造有限公司/HUIWEI/WinSCP/xml/POACK.xml rename to 03.珠海市汇威精密制造有限公司/HUIWEI/SAL_SaleOrder/xml/POACK.xml diff --git a/03.珠海市汇威精密制造有限公司/HUIWEI/SaleOutStockDetailRptPlugInEx/SaleOutStockDetailRptEx.cs b/03.珠海市汇威精密制造有限公司/HUIWEI/Sal_OutStockDetailRpt/SaleOutStockDetailRptEx.cs similarity index 90% rename from 03.珠海市汇威精密制造有限公司/HUIWEI/SaleOutStockDetailRptPlugInEx/SaleOutStockDetailRptEx.cs rename to 03.珠海市汇威精密制造有限公司/HUIWEI/Sal_OutStockDetailRpt/SaleOutStockDetailRptEx.cs index a2d9ae4..1112b54 100644 --- a/03.珠海市汇威精密制造有限公司/HUIWEI/SaleOutStockDetailRptPlugInEx/SaleOutStockDetailRptEx.cs +++ b/03.珠海市汇威精密制造有限公司/HUIWEI/Sal_OutStockDetailRpt/SaleOutStockDetailRptEx.cs @@ -1,14 +1,17 @@ using Kingdee.BOS.App.Data; using Kingdee.BOS.Contracts; 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.Linq; using System.Text; -namespace HUIWEI.SaleOutStockDetailRptPlugInEx +namespace HUIWEI.Sal_OutStockDetailRpt { + [Description("销售出库明细报表数据源插件-扩展"), HotUpdate] internal class SaleOutStockDetailRptEx: SaleOutStockDetailRpt { private string[] TempTableName; diff --git a/03.珠海市汇威精密制造有限公司/HUIWEI/TablePlugIn.cs b/03.珠海市汇威精密制造有限公司/HUIWEI/TablePlugIn.cs deleted file mode 100644 index 3836344..0000000 --- a/03.珠海市汇威精密制造有限公司/HUIWEI/TablePlugIn.cs +++ /dev/null @@ -1,340 +0,0 @@ -using Kingdee.BOS; -using Kingdee.BOS.Core.List; -using Kingdee.BOS.Core.DynamicForm; -using Kingdee.BOS.Core.DynamicForm.PlugIn; -using Kingdee.BOS.Core.List.PlugIn.Args; -using Kingdee.BOS.Core.Metadata; -using Kingdee.BOS.Core.Metadata.ConvertElement; -using Kingdee.BOS.Core.Metadata.EntityElement; -//using Kingdee.BOS.Core.Report.PlugIn; -//using Kingdee.BOS.Core.Report.PlugIn.Args; -using Kingdee.BOS.Orm.DataEntity; -using Kingdee.K3.Core.MFG.EntityHelper; -using Kingdee.BOS.Resource; -using System; -using System.Collections.Generic; -using System.Linq; -using Kingdee.BOS.Core.BusinessFlow.ServiceArgs; - -namespace HW.ProductionMaterialsReport -{ - public class TablePlugIn : AbstractDynamicFormPlugIn - { - private readonly string _fromId; - - //public override void FormatCellValue(FormatCellValueArgs args) - //{ - // var billParam = new BillShowParameter(); - - //} - - //public override void CellDbClick(CellEventArgs args) - //{ - // base.CellDbClick(args); - - //} - private void ListShowFrom() - { - //ListShowParameter showParam = new ListShowParameter(); - //showParam.IsLookUp = false; - //showParam.OpenStyle.ShowType = ShowType.Modal; - //showParam.FormId = "YourFormId"; - //showParam.Width = 1000; - //showParam.Height = 600; - //showParam.IsShowQuickFilter = false; - - //ListRegularFilterParameter regularFilterPara = new ListRegularFilterParameter(); - //string filter = "YourFilterCondition"; - //regularFilterPara.Filter = filter; - //showParam.ListFilterParameter = regularFilterPara; - - //this.View.ShowForm(showParam); - } - - protected void TrckDown() - { - List selectedRows = this.GetSelectedRows(); - if (selectedRows.Count == 0) - { - this.View.ShowMessage(ResManager.LoadKDString("请选择需要下查的的分录!", "015649000004851", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - return; - } - ViewLinkDataParameter viewLinkDataParameter = this.BuildViewLinkDataParameter(); - ShowConvertOpFormEventArgs thirdConvertEventArgs = null; - List list = this.LoadConvertBills(viewLinkDataParameter, out thirdConvertEventArgs); - if (list == null || list.Count == 0) - { - this.View.ShowMessage(ResManager.LoadKDString("没有关联业务数据!", "015649000004852", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - return; - } - if (!this.ExistsTrackerData(viewLinkDataParameter, thirdConvertEventArgs)) - { - this.View.ShowMessage(ResManager.LoadKDString("没有关联业务数据!", "015649000004852", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - return; - } - this.ShowLookUpTrackerForm(viewLinkDataParameter, list, thirdConvertEventArgs); - } - - private bool ExistsTrackerData(ViewLinkDataParameter viewParameter, ShowConvertOpFormEventArgs thirdConvertEventArgs) - { - if (thirdConvertEventArgs.ReplaceRelations != null && thirdConvertEventArgs.ReplaceRelations.Count > 0) - { - return true; - } - if (viewParameter.Instances.Count == 0) - { - return false; - } - string formId = viewParameter.BillInfo.FormId; - foreach (KeyValuePair> keyValuePair in viewParameter.Instances) - { - string key = keyValuePair.Key; - List value = keyValuePair.Value; - TableDefine tableDefine = BusinessFlowServiceHelper.LoadTableDefine(this.View.Context, formId, key); - List list = new List(); - foreach (BusinessFlowInstance businessFlowInstance in value) - { - if (!this.ValidateInstance(businessFlowInstance, viewParameter.LookUpType, tableDefine.TableNumber)) - { - list.Add(businessFlowInstance); - } - } - foreach (BusinessFlowInstance item in list) - { - value.Remove(item); - } - } - foreach (KeyValuePair> keyValuePair2 in viewParameter.Instances) - { - List value2 = keyValuePair2.Value; - if (value2.Count > 0) - { - return true; - } - } - return false; - } - - private bool ValidateInstance(BusinessFlowInstance instance, ViewLinkDataParameter.Enum_LookUpType lookUpType, string tableNumber) - { - if (instance.FirstNode == null) - { - return false; - } - List list = instance.SerarchTargetFormNodes(tableNumber); - if (lookUpType == ViewLinkDataParameter.Enum_LookUpType.Down) - { - using (List.Enumerator enumerator = list.GetEnumerator()) - { - while (enumerator.MoveNext()) - { - RouteTreeNode routeTreeNode = enumerator.Current; - if (routeTreeNode.ChildNodes.Count > 0) - { - return true; - } - } - return false; - } - } - foreach (RouteTreeNode routeTreeNode2 in list) - { - if (routeTreeNode2.ParentNode != null) - { - return true; - } - } - return false; - } - - private FormMetadata _oplanMeta; - - protected FormMetadata OPlanMetaData - { - get - { - if (this._oplanMeta == null) - { - this._oplanMeta = (MetaDataServiceHelper.Load(this.View.Context, "SFC_OperationPlanning", true) as FormMetadata); - } - return this._oplanMeta; - } - } - - protected List LoadConvertBills(ViewLinkDataParameter viewParameter, out ShowConvertOpFormEventArgs thirdConvertEventArgs) - { - List list = ConvertServiceHelper.GetConvertBills(this.View.Context, FormOperationEnum.Push, viewParameter.BillInfo.FormId, false); - DynamicFormViewPlugInProxy service = this.View.GetService(); - thirdConvertEventArgs = new ShowConvertOpFormEventArgs(FormOperationEnum.TrackDown, list); - if (service != null) - { - new List(); - thirdConvertEventArgs.SelectedRows = this.GetSelectedEntityRows(); - list = (thirdConvertEventArgs.Bills as List); - } - if (list == null || list.Count == 0) - { - this.View.ShowMessage(ResManager.LoadKDString("从启用的单据转换流程中找不到可下查的单据", "015649000004854", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - return new List(); - } - return list; - } - - public ListSelectedRow[] GetSelectedEntityRows() - { - List list = new List(); - List selectedRows = this.GetSelectedRows(); - foreach (DynamicObject dynamicObject in selectedRows) - { - long dynamicObjectItemValue = dynamicObject.GetDynamicObjectItemValue("OperId", 0L); - list.Add(new ListSelectedRow(this.currNodeID, dynamicObjectItemValue.ToString(), 0, this._oplanMeta.Id) - { - EntryEntityKey = "FENTITY" - }); - } - if (list.Count == 0) - { - ListSelectedRow item = new ListSelectedRow(this.currNodeID, "0", 0, this._oplanMeta.Id); - list.Add(item); - } - return list.ToArray(); - } - - private ViewLinkDataParameter BuildViewLinkDataParameter() - { - if (!this.CheckSelectDataId() && this.GetSelectedRows().Count == 0) - { - this.View.ShowMessage(ResManager.LoadKDString("没有选择要下查的数据!", "015649000004853", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - return null; - } - Dictionary>> linkIds = this.GetLinkIds(); - ViewLinkDataParameter viewLinkDataParameter = new ViewLinkDataParameter(this.OPlanMetaData.Id, ViewLinkDataParameter.Enum_LookUpType.Down); - foreach (KeyValuePair>> keyValuePair in linkIds) - { - string key = keyValuePair.Key; - List> value = keyValuePair.Value; - foreach (Tuple tuple in value) - { - ViewLinkDataRowInfo item = new ViewLinkDataRowInfo(key, tuple.Item1, tuple.Item2); - viewLinkDataParameter.BillInfo.Rows.Add(item); - } - } - this.BuildInstanceParameter(viewLinkDataParameter, linkIds); - return viewLinkDataParameter; - } - - private string currNodeID = string.Empty; - - protected Dictionary>> GetLinkIds() - { - Dictionary>> dictionary = new Dictionary>>(); - List list = new List(); - List> list2 = new List>(); - long num = Convert.ToInt64(this.currNodeID); - list.Add(num); - list2.Add(new Tuple(num, num)); - dictionary.Add("FBILLHEAD", list2); - List list3 = new List(); - List> list4 = new List>(); - List selectedRows = this.GetSelectedRows(); - foreach (DynamicObject dynamicObject in selectedRows) - { - long dynamicObjectItemValue = dynamicObject.GetDynamicObjectItemValue("SeqId", 0L); - if (!list3.Contains(dynamicObjectItemValue)) - { - list3.Add(dynamicObjectItemValue); - list4.Add(new Tuple(num, dynamicObjectItemValue)); - } - } - if (list3.Count > 0) - { - dictionary.Add("FENTITY", list4); - } - return dictionary; - } - - - private bool CheckSelectDataId() - { - bool result = true; - object value = this.Model.GetValue("FOPlanID"); - if (value == null) - { - result = false; - this.View.ShowMessage(ResManager.LoadKDString("没有选择工序计划!", "015376000004785", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - } - long num = Convert.ToInt64(value); - if (num == 0L) - { - result = false; - this.View.ShowMessage(ResManager.LoadKDString("没有选择工序计划!", "015376000004785", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - } - if (!ShopWorkBenchServiceHelper.IsExistOPlan(base.Context, num)) - { - result = false; - this.View.ShowMessage(ResManager.LoadKDString("工序计划已经删除,请刷新界面或重新选择其他工序计划!", "015376000004804", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - } - return result; - } - - private void BuildInstanceParameter(ViewLinkDataParameter viewParameter, Dictionary>> allEntityIds) - { - string formId = viewParameter.BillInfo.FormId; - foreach (KeyValuePair>> keyValuePair in allEntityIds) - { - string key = keyValuePair.Key; - List> value = keyValuePair.Value; - List list = (from p in value - select p.Item2).ToList(); - BusinessFlowInstanceCollection businessFlowInstanceCollection = this.LoadInstances(this.View.Context, formId, key, list.ToArray()); - List list2 = new List(); - foreach (BusinessFlowInstance businessFlowInstance in businessFlowInstanceCollection) - { - if (businessFlowInstance.FirstNode != null) - { - list2.Add(businessFlowInstance); - } - } - if (list2.Count > 0) - { - viewParameter.Instances[key] = list2; - } - } - } - - public BusinessFlowInstanceCollection LoadInstances(Context ctx, string formId, string entityKey, long[] entityIds) - { - LoadInstancesByEntityIdArgs args = new LoadInstancesByEntityIdArgs(formId, entityKey, entityIds); - return BusinessFlowDataServiceHelper.LoadInstancesByEntityId(ctx, args); - } - - private bool ShowLookUpTrackerForm(ViewLinkDataParameter viewParamter, List convertBills, ShowConvertOpFormEventArgs thirdConvertEventArgs) - { - if (convertBills != null && convertBills.Count > 0) - { - string key = "LookUpTrackerParam"; - Dictionary dictionary = new Dictionary(); - dictionary["ViewParameter"] = viewParamter; - dictionary["ConvertBills"] = convertBills; - dictionary["PlugParam"] = thirdConvertEventArgs; - this.View.Session[key] = dictionary; - DynamicFormShowParameter dynamicFormShowParameter = new DynamicFormShowParameter(); - dynamicFormShowParameter.FormId = "BF_LookUpTracker"; - dynamicFormShowParameter.ParentPageId = this.View.PageId; - dynamicFormShowParameter.OpenStyle.ShowType = ShowType.Default; - this.View.ShowForm(dynamicFormShowParameter); - return true; - } - return false; - } - - private List GetSelectedRows() - { - EntryEntity entryEntity = this.View.BusinessInfo.GetEntryEntity("FDetailEntity"); - List list = new List(); - return (from w in this.Model.GetEntityDataObject(entryEntity) - where w.GetDynamicObjectItemValue("IsSelect", false) - select w).ToList(); - } - } -} diff --git a/03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/HW.PRD_MO.Python.py b/03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/HW.PRD_MO.Python.py deleted file mode 100644 index 5996fe9..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/HW.PRD_MO.Python.py +++ /dev/null @@ -1,47 +0,0 @@ -#clrп -import clr -#Ӷcloudij -clr.AddReference('System') -clr.AddReference('System.Data') -clr.AddReference("ExtensionMethods") -# ý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еijʵ󣨷ռ䵼룬ݹ鵼룩 -from System import * -from System.Data import * -from System.Collections.Generic import List -from ExtensionMethods import BooleanExtension as boolObjEx -from ExtensionMethods import DateTimeExtension as dateObjEx -from ExtensionMethods import ObjectExtension as objEx -from ExtensionMethods import StringExtension as strObjEx -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 Kingdee.BOS.App.Data import * -from Kingdee.BOS.ServiceHelper import * - -def OnPreparePropertys(e): - e.FieldKeys.Add("FWorkTimeType") - - -def EndOperationTransaction(e): - # 8ύ9126 - if this.FormOperation.OperationId == 8: - va = "1111"; - # raise Exception("sss:{0}".format(type(strObjEx.ToDouble(va)))); - raise Exception("sss:{0}".format(type(DictionaryUtils.Long2Int(va)))); - # raise Exception(va.ToDouble()); \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/类1.py b/03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/类1.py deleted file mode 100644 index ba97fdb..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PRD_MO.Python/类1.py +++ /dev/null @@ -1,181 +0,0 @@ -import clr -clr.AddReference("System") -clr.AddReference("Kingdee.BOS") -clr.AddReference("Kingdee.BOS.Core") -clr.AddReference("Kingdee.BOS.DataEntity") -clr.AddReference("Kingdee.BOS.App") -clr.AddReference("Kingdee.BOS.Contracts") -clr.AddReference("Kingdee.BOS.ServiceHelper") -from Kingdee.BOS import* -from Kingdee.BOS.Contracts import* -from Kingdee.BOS.Contracts.Report import* -from Kingdee.BOS.Core import * -from Kingdee.BOS.Core.Metadata import * -from Kingdee.BOS.Core.Report import* -from Kingdee.BOS.Core.SqlBuilder import* -from Kingdee.BOS.Core.Enums import * -from Kingdee.BOS.App.Data import* -from Kingdee.BOS.Orm.DataEntity import* -from System import* -from System.ComponentModel import* -from System.Collections.Generic import* -from System.Text import* -from System.Threading.Tasks import* -from Kingdee.BOS.ServiceHelper import * -#ʼڴ¼ñȫֲ -def Initialize(): - this.ReportProperty.ReportType=ReportType.REPORTTYPE_NORMAL; - this.IsCreateTempTableByPlugin=True; - #Ƿַ֧,ںGetSummaryColumnInfoӻֶ, - #ҪBOSй˿ĻҳǩûϢ,ɲο:˱ - this.ReportProperty.IsGroupSummary=True; - #IsUIDesignerColumns=False,ʾͨ,GetReportHeadersйͷ - #ҪBOS˿ʾά,ֶαʶʱֶαһ - #˱ͷϸ˵ο:˱й - this.ReportProperty.IsUIDesignerColumns=False; - -#ʱ,ʽ˱ȡsqlƴӲȡ˱ȡŵʱ -#(this.IsCreateTempTableByPlugin=True)BuilderReportSqlAndTempTableʱ -#3ӿڣ˱ȡ߼sqlָBuilderSelectFieldSQLBuilderTempTableOrderBySQLBuilderFormWhereSQL -#rptfilter:˱Դȡ -#tableName:ϵͳԶ˱ʱ߱Ψһԣձҳչʾݰ󶨴ʱյıҪдʱ -def BuilderReportSqlAndTempTable(rptfilter,tableName): - #baseDataTemp=filter.BaseDataTempTable;#ʱ;ݷΧȨޣñѸݷΧ˳ʱ - #ѭȡлݷΧݣƴӵSQLʵȨ޹ - #for b in baseDataTemp: - # baseType=b.BaseDataFormId;#FormId - # PKFldName=b.PKFieldName;#ʱлֶ,,FORGID - # baseTempTab=b.TempTable;#ݷΧʱ - #filterStr=filter.FilterParameter.FilterString;#˿ҳǩ˱ʽ - #˿ݹҳǩʵݰȡԶĹֵֶ - #DynamicObject,ǰ潲ʵݰʽȡֵðʵԱʶ - custFilter = rptfilter.FilterParameter.CustomFilter; - if(custFilter==None): - return; - orgObj=custFilter["F_BPW_OrgId"];#ȡ֯ - whereOrgs=""; - if(orgObj != None): - orgId=("{0}").format(orgObj["Id"]);#֯ID - whereOrgs=(" and a.FPURCHASEORGID in ({0}) ").format(orgId);#ѡ֯ƴ֯ - materials=custFilter["F_BPW_Materials"];#϶ѡ - matList=List[str](); - if(materials != None): - for m in materials: - materialNum="'"+str(m["F_BPW_Materials"]["Number"])+"'";#ȡ˿ѡĶϱ - matList.Add(materialNum); - whereMat=(" and m.FNumber in ({0})").format(str.Join(",",matList)) if(matList.Count>0) else "";#ƴ϶ѡ - beginDate=str(custFilter["F_BPW_BeginDate"]);#ȡʼ - EndDate=str(custFilter["F_BPW_EndDate"]);#ȡ - beginDate=str(DateTime.Parse(("{0}").format(beginDate)).AddDays(-1));#ʼڵǰһ - itemDate=beginDate; - fldsSql=List[str]();#̬ͷSQL,൱SelectIJֶǶ̬ƴӵģԴʵֶ̬ - #ӿʼѭ1죬һֱڣ˽Ҫ¼Ŀʼڱ<,ڹ˽עʵ - while(itemDate != EndDate): - myDate=DateTime.Parse(("{0}").format(itemDate)); - fldKey=("F{0}_{1}_{2}").format(myDate.Year,myDate.Month,myDate.Day);#ÿڹΨһ - ss=("{0}=SUM(Case when a.FDATE='{1}' then b.FQty else 0 end)").format(fldKey,myDate);#ÿ충ϼSQL - fldsSql.Add(ss);#SQLӵ̬SQLб - nextDate=myDate.AddDays(1); - itemDate=str(nextDate);#+1 - myDate=DateTime.Parse(("{0}").format(itemDate));#ѡĽֹڣѭһˣﲹһ - fldKey=("F{0}_{1}_{2}").format(myDate.Year,myDate.Month,myDate.Day); - ss=("{0}=SUM(Case when a.FDATE='{1}' then b.FQty else 0 end)").format(fldKey,myDate); - fldsSql.Add(ss);#SQLӵ̬SQLб - #raise Exception(str.Join(',',fldsSql));#ʱôд룬Ķ̬SQLԲ - #װд뱨ʱSQL - #ע!!!: ʱһҪFIDENTITYID Ҫ1ʼҲظ ϺţȻǰ̨ʾհ!!!! - sql=("""/*dialect*/?select row_Number() Over(order by a.orgName,a.MaterialNum) FIDENTITYID, a.* -into {0} -from -(select orgL.FNAME orgName,m.FNUMBER MaterialNum,mL.FNAME materialName,mL.FSPECIFICATION SpecNum,unitL.FNAME unit, -{1} -from t_PUR_POOrder a -inner join T_ORG_ORGANIZATIONS org on org.FORGID=a.FPURCHASEORGID -inner join T_ORG_ORGANIZATIONS_L orgL on orgL.FORGID=org.FORGID and orgL.FLOCALEID=2052 -inner join t_PUR_POOrderEntry b on a.FID=b.FID -inner join T_BD_MATERIAL m on m.FMATERIALID=b.FMATERIALID -inner join T_BD_MATERIAL_L mL on mL.FMATERIALID=m.FMATERIALID and mL.FLOCALEID=2052 -inner Join T_BD_UNIT_L unitL on unitL.FUNITID=b.FUNITID and unitL.FLOCALEID=2052 -where a.FDATE>='{3}' and a.FDATE<='{4}' {2} {5} -group by orgL.FNAME,m.FNUMBER,mL.FNAME,mL.FSPECIFICATION,unitL.FNAME -) a - """).format(tableName,str.Join(',',fldsSql),whereOrgs,beginDate,EndDate,whereMat); - #raise Exception(sql);#ͨ˷Sqlе֤ - DBUtils.Execute(this.Context,sql);#ִSQLдʱ - -#˱ͷ -def GetReportHeaders(Filter): - header=ReportHeader(); - localEid=this.Context.UserLocale.LCID;#ȡǰԻ,Ϊ2052 - header.AddChild("orgName",LocaleValue("ɹ֯",localEid));#ֶ,ͷ,ֶʱеֶֶӦ൱ÿһͷӦʱĸֶ - header.AddChild("MaterialNum",LocaleValue("ϱ",localEid)); - header.AddChild("materialName",LocaleValue("",localEid)); - header.AddChild("SpecNum",LocaleValue("ͺ",localEid)); - header.AddChild("unit",LocaleValue("ɹλ",localEid)); - - #ݹѡ䣬̬ͷ,湹SQLֶε߼ - custFilter = Filter.FilterParameter.CustomFilter; - beginDate=str(custFilter["F_BPW_BeginDate"]);#ȡʼ - EndDate=str(custFilter["F_BPW_EndDate"]);#ȡ - itemDate=beginDate; - fldsSql=List[str](); - while(itemDate != EndDate): - myDate=DateTime.Parse(("{0}").format(itemDate)); - fldKey=("F{0}_{1}_{2}").format(myDate.Year,myDate.Month,myDate.Day);#ֶҪǰ湹SQLֶζӦ - header.AddChild(fldKey,LocaleValue(str(("{0}-{1}-{2}").format(myDate.Year,myDate.Month,myDate.Day)),localEid),SqlStorageType.SqlDecimal); - nextDate=myDate.AddDays(1); - itemDate=str(nextDate); - myDate=DateTime.Parse(("{0}").format(itemDate)); - fldKey=("F{0}_{1}_{2}").format(myDate.Year,myDate.Month,myDate.Day);#ֶҪǰ湹SQLֶζӦ - header.AddChild(fldKey,LocaleValue(str(("{0}-{1}-{2}").format(myDate.Year,myDate.Month,myDate.Day)),localEid),SqlStorageType.SqlDecimal); -#еʹ԰ͷ˳ʾ - colIndex=0; - for child in header.GetChilds(): - if(child.GetChildCount()==0): - child.ColIndex=colIndex; - colIndex=colIndex+1; - else: - child.ColIndex = colIndex; - colIndex=colIndex+1; - for childHeader in child.GetChilds(): - childHeader.ColIndex=colIndex; - colIndex=colIndex+1; - return header; - -#ñͷֵֶ -#Ҫǰѹ˿õֵֶʾͷ -def GetReportTitles(Filter): - reportTitles=ReportTitles(); - custFilter=Filter.FilterParameter.CustomFilter;#ȡ˿ݰ - orgObj=custFilter["F_BPW_OrgId"];#ȡ֯ - beginDate=str(custFilter["F_BPW_BeginDate"]);#ȡʼ - EndDate=str(custFilter["F_BPW_EndDate"]);#ȡ - if(orgObj != None): - reportTitles.AddTitle("F_BPW_OrgId", orgObj["Name"]); - reportTitles.AddTitle("F_BPW_BeginDate", beginDate); - reportTitles.AddTitle("F_BPW_EndDate", EndDate); - return reportTitles; - -#ñײϼ -def GetSummaryColumnInfo(rptfilter): - result=List[SummaryField](); - #ֶǶ̬ģҲҪ̬Ӻϼ,ֶǰ汣һ - custFilter = rptfilter.FilterParameter.CustomFilter; - beginDate=str(custFilter["F_BPW_BeginDate"]);#ȡʼ - EndDate=str(custFilter["F_BPW_EndDate"]);#ȡ - itemDate=beginDate; - fldsSql=List[str](); - while(itemDate != EndDate): - myDate=DateTime.Parse(("{0}").format(itemDate)); - fldKey=("F{0}_{1}_{2}").format(myDate.Year,myDate.Month,myDate.Day);#ֶҪǰ湹SQLֶζӦ - result.Add(SummaryField(fldKey,BOSEnums.Enu_SummaryType.SUM)); - nextDate=myDate.AddDays(1); - itemDate=str(nextDate); - myDate=DateTime.Parse(("{0}").format(itemDate)); - fldKey=("F{0}_{1}_{2}").format(myDate.Year,myDate.Month,myDate.Day); - result.Add(SummaryField(fldKey,BOSEnums.Enu_SummaryType.SUM)); - return result; - -#رմͨڴ˴̲ʱ -def CloseReport(): - this.DropTempTable(); diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/HW.PythonPlugIn.pyproj b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/HW.PythonPlugIn.pyproj deleted file mode 100644 index 941c29e..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/HW.PythonPlugIn.pyproj +++ /dev/null @@ -1,57 +0,0 @@ - - - Debug - 2.0 - {615361a4-2f0e-4521-a8c5-46bdb8aa6f28} - . - - - ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin - . - . - HW.PythonPlugIn - HW.PythonPlugIn - - - true - false - - - true - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/ProductionMaterialsReport.py b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/ProductionMaterialsReport.py deleted file mode 100644 index 068e542..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/ProductionMaterialsReport.py +++ /dev/null @@ -1,323 +0,0 @@ -import clr -clr.AddReference("System") -clr.AddReference("Kingdee.BOS") -clr.AddReference("Kingdee.BOS.Core") -clr.AddReference("Kingdee.BOS.DataEntity") -clr.AddReference("Kingdee.BOS.App") -clr.AddReference("Kingdee.BOS.Contracts") -clr.AddReference("Kingdee.BOS.ServiceHelper") -clr.AddReference("ExtensionMethods") -# clr.AddReference("K3CExttensionMethods") -from Kingdee.BOS import* -from Kingdee.BOS.Contracts import* -from Kingdee.BOS.Contracts.Report import* -from Kingdee.BOS.Core import * -from Kingdee.BOS.Core.Metadata import * -from Kingdee.BOS.Core.Report import* -from Kingdee.BOS.Core.SqlBuilder import* -from Kingdee.BOS.Core.Enums import * -from Kingdee.BOS.App.Data import* -from Kingdee.BOS.Orm.DataEntity import* -from System import * -from System.ComponentModel import* -from System.Collections.Generic import* -from System.Text import* -from System.Threading.Tasks import* -from Kingdee.BOS.ServiceHelper import * -from ExtensionMethods import BooleanExtension as boolObjEx -from ExtensionMethods import DateTimeExtension as dateObjEx -from ExtensionMethods import ObjectExtension as objEx -from ExtensionMethods import StringExtension as strObjEx -# from K3CExttensionMethods import ListHeaderExtension as lhObjEx - -#初始化,在此事件中设置报表的属性全局参数 -def Initialize(): - this.ReportProperty.ReportType= ReportType.REPORTTYPE_NORMAL; - this.IsCreateTempTableByPlugin=True; - #是否支持分组汇总,在后面GetSummaryColumnInfo方法中添加汇总字段, - #要在BOS中过滤框的汇总页签配置汇总信息,可参考:简单账表分组汇总设置 - this.ReportProperty.IsGroupSummary=True; - #IsUIDesignerColumns=False,表示报表的列通过插件控制,后续在GetReportHeaders中构建列头 - #需要在BOS过滤框的显示隐藏列中维护,字段标识与临时表字段保持一致 - #账表列头构建更多详细说明参考:账表列构建 - this.ReportProperty.IsUIDesignerColumns=False; - this.ReportProperty.PrimaryKeyFieldName = "FID"; - -#创建临时报表,正式进入账表取数sql拼接并取数,把账表取数结果放到创建的临时表中 -#如果参数(this.IsCreateTempTableByPlugin=True),即调用BuilderReportSqlAndTempTable构建临时表 -#否则调用以下3个接口,完成账表取数逻辑的sql指令即:BuilderSelectFieldSQL、BuilderTempTableOrderBySQL、BuilderFormWhereSQL -#rptfilter:账表参数,可以从这里获取过滤条件等 -#tableName:系统自动创建的账表临时表名,具备唯一性,最终报表页面展示的数据绑定此临时表,所以最终的报表结果数据要写入此临时表中 -def BuilderReportSqlAndTempTable(rptfilter,tableName): - #baseDataTemp=filter.BaseDataTempTable;#基础资料临时表;若设置了数据范围权限,该表会把根据数据范围过滤出来的内码存入临时表; - #循环获取所有基础资料数据范围的数据,可用来拼接到报表SQL里面实现数据权限过滤 - #for b in baseDataTemp: - # baseType=b.BaseDataFormId;#基础资料FormId - # PKFldName=b.PKFieldName;#临时表中基础资料主键字段名,例如,FORGID - # baseTempTab=b.TempTable;#基础资料数据范围临时表名 - #filterStr=filter.FilterParameter.FilterString;#过滤框条件页签过滤表达式 - #过滤框快捷过滤页签的实体数据包,从这里面获取自定义的过滤字段值 - #DynamicObject类型,用前面讲的实体数据包操作方式取值,用绑定实体属性标识 - custFilter = rptfilter.FilterParameter.CustomFilter; - if(custFilter == None): - return; - whereSql = ""; - # 产品id - _proMaterialId = custFilter["ProMaterialId"]; - if(_proMaterialId != None): - whereSql = whereSql + " AND t0e.FMATERIALID = " + str(_proMaterialId["Id"]); - - # 物料id - _materialId = custFilter["MaterialId"]; - if(_materialId != None): - whereSql = whereSql + " AND t1e.FMATERIALID = " + str(_materialId["Id"]); - - # 生产任务单 - _billNo = objEx.ToSafeString(custFilter["BILLNO"]); - if(_billNo != ""): - whereSql = whereSql + " AND t0.FBILLNO LIKE '%{0}%'".format(_billNo); - - # 生产投料单 - _PPBomBillNo = objEx.ToSafeString(custFilter["PPBOMBILLNO"]); - if(_PPBomBillNo != ""): - whereSql = whereSql + " AND t1.FBILLNO LIKE '%{0}%'".format(_PPBomBillNo); - - # 销售订单 - _saleOrderNo = objEx.ToSafeString(custFilter["SALEORDERNO"]); - if(_saleOrderNo != ""): - whereSql = whereSql + " AND t0e.FSALEORDERNO LIKE '%{0}%'".format(_saleOrderNo); - - _lcId = this.Context.UserLocale.LCID; - #raise Exception(str.Join(',',fldsSql));#调试时,可用此行代码,看看构建的动态列SQL对不对 - #组装最终写入报表临时表的SQL - #注意!!!: 最终临时表一定要有FIDENTITYID ,要从1开始,且不重复 ,不断号,不然前台显示空白!!!! - sql=("""/*dialect*/  -DECLARE @LCID int -SET @LCID = {1} - -SELECT - ROW_NUMBER() OVER(ORDER BY t0.FDATE DESC,t0.FID DESC,t0e.FSEQ ASC) AS FIDENTITYID--1.行号 - ,t0.FID - ,t0e.FSEQ - ,t0e.FENTRYID - ,t0.FDATE --2.单据日期 - ,t1.FBILLNO AS 'FPPBOMBILLNO'--3.生产投料单号 - ,t1.FID AS 'FPPBOMID' - ,t0e.FSALEORDERNO --4.销售订单号 - ,t0.FBILLNO--7.生产任务单号 - ,t0e.FPLANSTARTDATE--38.计划开工日期 - ,t0e.FPLANFINISHDATE--39.计划完工日期 - ,t0e.FQTY--12.产品生产数量 - ,t0e.FYIELDRATE - ,t0e.FROUTINGID - ,t0e.FMATERIALID AS 'ProMaterialId' - ,t0e.FUNITID AS 'PrdUnitId' - ,t1e.FENTRYID AS 'PPBOMENTRYID' - ,t1e.FMATERIALID - ,(t1e.FNUMERATOR / t1e.FDENOMINATOR) AS 'FUnitNeedQty' --18.物料单位用量 - ,t1e.FNEEDQTY --22.物料总需求 - ,t1e.FUNITID - ,t1e.FBOMENTRYID - ,t1e.FSTDQTY --标准用量 --29.标准数量 - ,t1e.FMUSTQTY --应发数量 --30.应发数量 - ,t1.FWORKSHOPID - ,t0.FCUSTOMERID --客户id - ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN '主产品' WHEN 2 THEN '联产品' WHEN 3 THEN '副产品' ELSE '' END) AS 'PRODUCTTYPE'--43.生产类型 - ,(CASE t0e_a.FSTATUS WHEN 6 THEN '已结案'ELSE '' END) AS 'StatusIs6'--45.生产任务单结案否 - ,(CASE t1.FDOCUMENTSTATUS WHEN 'A' THEN '创建' WHEN 'B' THEN '审核中' WHEN 'C' THEN '已审核' WHEN 'D' THEN '重新审核' WHEN 'Z' THEN '暂存' ELSE '' END) AS 'PPBOMStatus'--46.生产投料单状态 - INTO #TmpTable0 -FROM T_PRD_MO t0 - INNER JOIN T_PRD_MOENTRY t0e on t0.FID = t0e.FID - INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID - INNER JOIN T_PRD_PPBOM t1 on t1.FMOENTRYID = t0e.FENTRYID AND t1.FMOID = t0e.FID - INNER JOIN T_PRD_PPBOMENTRY t1e on t1e.FID = t1.FID -WHERE 1 = 1 {2} -SELECT - tt.* - ,t0e_q.FBASEWIPQTY --23.当前在制品数量 - ,t0e_q.FPICKEDQTY --27.已领数量 - ,t0e_q.FNOPICKEDQTY --28.未领数量 - ,t0e_l.FMEMO --31.备注 - ,t0e_q.FPICKEDQTY * (100 - tt.FYIELDRATE) AS 'FLossQty'--32.损耗数量 - ,t0e_q.FSCRAPQTY --33.报废数量 - ,t0e_q.FREPICKEDQTY --37.补料数量 - ,t0e_q.FINVENTORYQTY - ,t0e_c.FSTOCKID - ,t0e_c.FSTOCKLOCID - INTO #TmpTable1 -FROM #TmpTable0 tt - LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = tt.PPBOMENTRYID --生产用料清单数量拆分表 - LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = tt.PPBOMENTRYID - LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = tt.PPBOMENTRYID AND t0e_l.FLOCALEID = @LCID - -SELECT tt.* - ,t1.FMNEMONICCODE AS 'ProMnemonicCode'--6.助记码 - ,t1.FNUMBER AS 'ProNumber'--8.产品编码 - ,t1_l.FNAME AS 'ProName'--9.产品名称 - ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.产品规格型号 - ,t2_l.FNAME AS 'ProUnitName'--11.产品单位 - ,t3.FNUMBER AS 'MaterialNumber'--8.物料编码 - ,t3_l.FNAME AS 'MaterialName'--9.物料名称 - ,t3_l.FSPECIFICATION AS 'MaterialSpecification'--10.物料规格型号 - ,t4_l.FNAME AS 'MaterialUnitName'--11.物料单位 - ,(CASE t3.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.物料来源 - ,t6_l.FNAME AS 'WORKSHOPNAME' --44.生产车间 - ,t3.FMASTERID - ,t3.FUSEORGID - ,t7_l.FMEMO AS 'BOMMEMO' --42.BOM备注项 - ,t5_l.FNAME AS 'FSTOCKNAME' - ,t8.FNUMBER AS SaleUnitNumber --5.购货单位代码 - INTO #TmpTable2 -FROM #TmpTable1 tt - LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = tt.ProMaterialId - LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = tt.ProMaterialId AND t1_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = tt.PrdUnitId AND t2_l.FLOCALEID = @LCID - LEFT JOIN T_BD_MATERIAL t3 ON t3.FMATERIALID = tt.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t3_l ON t3_l.FMATERIALID = tt.FMATERIALID AND t3_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t4_l ON t4_l.FUNITID = tt.FUNITID AND t4_l.FLOCALEID = @LCID - LEFT JOIN T_BD_STOCK_L t5_l ON t5_l.FSTOCKID = tt.FSTOCKID AND t5_l.FLOCALEID =@LCID - LEFT JOIN T_BD_DEPARTMENT_L t6_l on t6_l.FDEPTID = tt.FWORKSHOPID AND t6_l.FLOCALEID = @LCID - LEFT JOIN T_ENG_BOMCHILD_L t7_l ON t7_l.FENTRYID = tt.FBOMENTRYID AND t7_l.FLOCALEID = @LCID - LEFT JOIN T_BD_CUSTOMER t8 on t8.FCUSTID = tt.FCUSTOMERID -SELECT tt.* - ,t1.FBASEQTY - ,t2_l.FNAME AS 'ROUTENAME' - ,t3e_A.FBASEINVQTY - ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.欠料 - ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.物料在途数 - ,t3e_A.FPURCHASEQTY --采购在途数量 - ,t3e_A.FREQUISITIONQTY --采购申请在途数量 - ,6 AS 'LOWEST6' - ,t3e_A.FREQUISITIONQTY - t3e_A.FPURCHASEQTY AS 'PR_C2PO_QTY' - ,0 AS 'ToBeInspectQTY' - ,0 AS 'PlanThrowInQty' - ,'' AS 'PlanThrowInDate' - ,'' AS 'CubicleName' - ,'' AS 'OTHERMEMO' - INTO {0} -FROM #TmpTable2 tt - LEFT JOIN ( - SELECT - t0.FMATERIALID - ,t0.FSTOCKORGID - ,sum(t0.FBASEQTY) AS FBASEQTY - FROM - T_STK_INVENTORY t0 - GROUP BY - t0.FMATERIALID - ,t0.FSTOCKORGID - ) t1 on t1.FMATERIALID = tt.FMASTERID AND t1.FSTOCKORGID = tt.FUSEORGID - LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = tt.FROUTINGID AND t2_L.FLOCALEID = @LCID - LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FPPBOMENTRYID = tt.PPBOMENTRYID AND t3e.FMATERIALIDSUB = tt.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID - -DROP TABLE #TmpTable0 -DROP TABLE #TmpTable1 -DROP TABLE #TmpTable2 - """).format(tableName,_lcId,whereSql); - # raise Exception(sql);#可以通过此方法弹出Sql语句进行调试验证 - DBUtils.Execute(this.Context,sql);#执行SQL,将报表数据写入临时表 - -#构建账表列头 -def GetReportHeaders(rptfilter): - - header = ReportHeader(); - localEid = this.Context.UserLocale.LCID;#获取当前语言环境代码,中文为2052 - # 索引 - global _colIndex - _colIndex = 0; - def Incr1(val = 1): - global _colIndex - _resNum = _colIndex - _colIndex += val - return _resNum - datas = [ - {"fieldName" :"FDATE", "showName" :"单据日期","Mergeable" : True,"dataType":SqlStorageType.SqlDatetime } - ,{"fieldName" :"FPPBOMBILLNO", "showName" :"生产投料单号","Mergeable" : True,"IsHyperlink":True } - ,{"fieldName" :"FSALEORDERNO", "showName" :"销售订单号","Mergeable" : True } - ,{"fieldName" :"SaleUnitNumber", "showName" :"购货单位代码","Mergeable" : True } - ,{"fieldName" :"ProMnemoniccode", "showName" :"助记码","Mergeable" : True } - ,{"fieldName" :"FBILLNO", "showName" :"生产任务单号","Mergeable" : True } - ,{"fieldName" :"ProNumber", "showName" :"产品代码","Mergeable" : True } - ,{"fieldName" :"ProName", "showName" :"产品名称","Mergeable" : True } - ,{"fieldName" :"ProSpecification", "showName" :"产品规格型号","Mergeable" : True } - ,{"fieldName" :"ProUnitName", "showName" :"产品单位","Mergeable" : True } - ,{"fieldName" :"FQTY", "showName" :"产品生产数量","Mergeable" : True,"dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"MaterialNumber", "showName" :"物料代码" } - ,{"fieldName" :"MaterialName", "showName" :"物料名称" } - ,{"fieldName" :"Materialsrc", "showName" :"物料来源" } - ,{"fieldName" :"MaterialSpecification", "showName" :"物料规格型号" } - ,{"fieldName" :"ROUTENAME", "showName" :"物料技术标准" } - ,{"fieldName" :"FUnitNeedQty", "showName" :"物料单位用量","dataType":SqlStorageType.SqlDecimal} - ,{"fieldName" :"MaterialUnitName", "showName" :"物料单位" } - ,{"fieldName" :"FBASEINVQTY", "showName" :"物料库存量","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"ToBeInspectQTY", "showName" :"物料待检数","dataType":SqlStorageType.SqlDecimal} - ,{"fieldName" :"FNEEDQTY", "showName" :"物料总需求","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"FBASEWIPQTY", "showName" :"当前在制品数量","dataType":SqlStorageType.SqlDecimal} - ,{"fieldName" :"FBASELACKQTY", "showName" :"欠料","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"FBASEONORDERQTY", "showName" :"物料在途数","dataType":SqlStorageType.SqlDecimal} - ,{"fieldName" :"PlanThrowInQty", "showName" :"计划投料数量","dataType":SqlStorageType.SqlDecimal} - ,{"fieldName" :"FPICKEDQTY", "showName" :"已领数量","dataType":SqlStorageType.SqlDecimal} - ,{"fieldName" :"FNOPICKEDQTY", "showName" :"未领数量","dataType":SqlStorageType.SqlDecimal} - ,{"fieldName" :"FSTDQTY", "showName" :"标准数量","dataType":SqlStorageType.SqlDecimal} - ,{"fieldName" :"FMUSTQTY", "showName" :"应发数量","dataType":SqlStorageType.SqlDecimal} - ,{"fieldName" :"FMEMO", "showName" :"备注"} - ,{"fieldName" :"FLossQty", "showName" :"损耗数量","dataType":SqlStorageType.SqlDecimal} - ,{"fieldName" :"FSCRAPQTY", "showName" :"报废数量","dataType":SqlStorageType.SqlDecimal} - ,{"fieldName" :"PlanThrowInDate", "showName" :"计划发料日期","dataType":SqlStorageType.SqlDatetime } - ,{"fieldName" :"FSTOCKNAME", "showName" :"仓库" } - ,{"fieldName" :"FSTOCKLOCNAME", "showName" :"仓位" } - ,{"fieldName" :"FREPICKEDQTY", "showName" :"补料数量","dataType":SqlStorageType.SqlDecimal} - ,{"fieldName" :"FPLANSTARTDATE", "showName" :"计划开工日期","dataType":SqlStorageType.SqlDatetime } - ,{"fieldName" :"FPLANFINISHDATE", "showName" :"计划完工日期","dataType":SqlStorageType.SqlDatetime } - ,{"fieldName" :"CubicleName", "showName" :"工位" } - ,{"fieldName" :"OTHERMEMO", "showName" :"其他备注项" } - ,{"fieldName" :"BOMMEMO", "showName" :"BOM备注项" } - ,{"fieldName" :"PRODUCTTYPE", "showName" :"生产类型" } - ,{"fieldName" :"WORKSHOPNAME", "showName" :"生产车间" } - ,{"fieldName" :"StatusIs6", "showName" :"生产任务单结案否" } - ,{"fieldName" :"PPBOMStatus", "showName" :"生产投料单状态" } - ,{"fieldName" :"PR_C2PO_QTY", "showName" :"PR已审未转PO数量","dataType":SqlStorageType.SqlDecimal} - ]; - - for item in datas: - head = header.AddChild(item["fieldName"], LocaleValue(item["showName"], localEid), Incr1()) - if "dataType" in item: - head.ColType = item["dataType"] - if "Mergeable" in item: - head.Mergeable = item["Mergeable"] - if "IsLeaf" in item: - head.IsHyperlink = item["IsHyperlink"] - - return header; - -#设置报表表头字段值 -#这里主要是把过滤框设置的字段值,显示到报表表头 -def GetReportTitles(rptfilter): - reportTitles = ReportTitles(); - - custFilter = rptfilter.FilterParameter.CustomFilter; - if(custFilter == None): - return; - _proMaterialId = custFilter["ProMaterialId"]; - _materialId = custFilter["MaterialId"]; - - _billNo = objEx.ToSafeString(custFilter["BILLNO"]); - _PPBomBillNo = objEx.ToSafeString(custFilter["PPBOMBILLNO"]); - _saleOrderNo = objEx.ToSafeString(custFilter["SALEORDERNO"]); - if(_proMaterialId != None): - reportTitles.AddTitle("FTitleProMaterialId", _proMaterialId["Name"]); - if(_materialId != None): - reportTitles.AddTitle("FTitleMaterialId", _materialId["Name"]); - if(_billNo != ""): - reportTitles.AddTitle("FTitleBILLNO", _billNo); - if(_PPBomBillNo != ""): - reportTitles.AddTitle("FTitlePPBOMBILLNO", _PPBomBillNo); - if(_saleOrderNo != ""): - reportTitles.AddTitle("FTitleSALEORDERNO", _saleOrderNo); - - return reportTitles; - -#报表关闭触发,通常在此处清理报表过程产生的临时表 -def CloseReport(): - this.DropTempTable(); \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/TablePlugIn.py b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/TablePlugIn.py deleted file mode 100644 index bcf66aa..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/TablePlugIn.py +++ /dev/null @@ -1,67 +0,0 @@ -import clr -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.ServiceHelper") -from Kingdee.BOS import * -from Kingdee.BOS.Core import * -from Kingdee.BOS.Core.Bill import * -from Kingdee.BOS.Core.Report import * -from System import * -from System.Data import * -from System.Net import * -from System.Text import * -from Kingdee.BOS.App.Data import * -from Kingdee.BOS.Core.List.PlugIn import * -from Kingdee.BOS.Core.List.PlugIn.Args import * - -def FormatCellValue(args): - # ڸʽ - if args.Header.ColType == SqlStorageType.SqlDatetime: - args.FormateValue = ("{0}").format(DateTime.Parse(str(args.FormateValue)).ToString("yyyy-MM-dd")) - -def CellDbClick(e): - e.Cancel = True - fldKey = e.Header.FieldName; - # 嵥 - if fldKey == "FPPBOMBILLNO": - reportModel = this.Model - tab = reportModel.DataSource - row = e.CellRowIndex - _moId = value=("{0}").format(tab.Rows[row-1]["FPPBOMID"]); - if _moId != None and str(_moId) != "" and str(_moId) != "0": - ShowForm("PRD_PPBOM", _moId) - # - if fldKey == "FBILLNO": - reportModel = this.Model - tab = reportModel.DataSource - row = e.CellRowIndex - _moId = value=("{0}").format(tab.Rows[row-1]["FID"]); - if _moId != None and str(_moId) != "" and str(_moId) != "0": - ShowForm("PRD_MO", _moId) - # - if fldKey == "MaterialName": - reportModel = this.Model - tab = reportModel.DataSource - row = e.CellRowIndex - _moId = value=("{0}").format(tab.Rows[row-1]["FMATERIALID"]); - if _moId != None and str(_moId) != "" and str(_moId) != "0": - ShowForm("BD_MATERIAL", _moId) - #Ʒ - if fldKey == "ProName": - reportModel = this.Model - tab = reportModel.DataSource - row = e.CellRowIndex - _moId = value=("{0}").format(tab.Rows[row-1]["ProMaterialId"]); - if _moId != None and str(_moId) != "" and str(_moId) != "0": - ShowForm("BD_MATERIAL", _moId) - -def ShowForm(_fromId, _pkVal, _operationStatus = OperationStatus.VIEW ,_openStyleShowType = ShowType.Floating): - showParam = BillShowParameter(); - showParam.FormId = _fromId; - showParam.OpenStyle.ShowType = _openStyleShowType; - showParam.Status = _operationStatus; - showParam.PKey = _pkVal; - this.View.ShowForm(showParam) \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/20240206联合查询.sql b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/20240206联合查询.sql deleted file mode 100644 index 138c71b..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/20240206联合查询.sql +++ /dev/null @@ -1,127 +0,0 @@ ---declare @proMaterialId int ---,@materialId int ---,@FBILLNO varchar(80) ---,@FPPBOMBILLNO varchar(80) ---,@FSALEORDERNO varchar(80) ---,@LCID int ---SET @proMaterialId = '' ---SET @materialId = '' ---SET @FBILLNO = '' ---SET @FPPBOMBILLNO = '' ---SET @FSALEORDERNO = '' -DECLARE @LCID int -SET @LCID = 2052 - -SELECT - ROW_NUMBER() OVER(ORDER BY t0.FID,t0e.FENTRYID) AS FIDENTITYID--1.к - ,t0.FID - ,t0e.FSEQ - ,t0e.FENTRYID - ,t0.FDATE --2. - ,t1.FBILLNO AS 'FPPBOMBILLNO'--3.Ͷϵ - ,t0e.FSALEORDERNO --4.۶ - --5.λ - ,t0.FBILLNO--7.񵥺 - ,t0e.FPLANSTARTDATE--38.ƻ - ,t0e.FPLANFINISHDATE--39.ƻ깤 - ,t0e.FQTY--12.Ʒ - ,t0e.FYIELDRATE - ,t0e.FROUTINGID - ,t0e.FMATERIALID AS 'ProMaterialId' - ,t0e.FUNITID AS 'PrdUnitId' - ,t1e.FENTRYID AS 'PPBOMENTRYID' - ,t1e.FMATERIALID - ,(t1e.FNUMERATOR / t1e.FDENOMINATOR) AS 'FUnitNeedQty' --18.ϵλ - ,t1e.FNEEDQTY --22. - ,t1e.FUNITID - ,t1e.FBOMENTRYID - ,t1e.FSTDQTY --׼ --29.׼ - ,t1e.FMUSTQTY --Ӧ --30.Ӧ - ,t1.FWORKSHOPID - ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS 'PRODUCTTYPE'--43. - ,(CASE t0e_a.FSTATUS WHEN 6 THEN 'ѽ᰸'ELSE '' END) AS 'StatusIs6'--45.񵥽᰸ - ,(CASE t1.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'PPBOMStatus'--46.Ͷϵ״̬ - INTO #TmpTable0 -FROM T_PRD_MO t0 - INNER JOIN T_PRD_MOENTRY t0e on t0.FID = t0e.FID - INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID - INNER JOIN T_PRD_PPBOM t1 on t1.FMOENTRYID = t0e.FENTRYID AND t1.FMOID = t0e.FID - INNER JOIN T_PRD_PPBOMENTRY t1e on t1e.FID = t1.FID -WHERE 1 = 1 - --AND t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END) - --AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END) - --AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END) - --AND t1.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE t1.FBILLNO END) - --AND t1e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t1e.FMATERIALID END) - -SELECT - tt.* - ,t0e_q.FBASEWIPQTY --23.ǰƷ - ,t0e_q.FPICKEDQTY --27. - ,t0e_q.FNOPICKEDQTY --28.δ - ,t0e_l.FMEMO --31.ע - ,t0e_q.FPICKEDQTY * (100 - tt.FYIELDRATE) AS 'FLossQty'--32. - ,t0e_q.FSCRAPQTY --33. - ,t0e_q.FREPICKEDQTY --37. - ,t0e_c.FSTOCKID - ,t0e_c.FSTOCKLOCID - INTO #TmpTable1 -FROM #TmpTable0 tt - LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = tt.PPBOMENTRYID --嵥ֱ - LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = tt.PPBOMENTRYID - LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = tt.PPBOMENTRYID AND t0e_l.FLOCALEID = @LCID - -SELECT tt.* - ,t1.FMNEMONICCODE AS 'ProMnemonicCode'--6. - ,t1.FNUMBER AS 'ProNumber'--8.Ʒ - ,t1_l.FNAME AS 'ProName'--9.Ʒ - ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.Ʒͺ - ,t2_l.FNAME AS 'ProUnitName'--11.Ʒλ - ,t3.FNUMBER AS 'MaterialNumber'--8.ϱ - ,t3_l.FNAME AS 'MaterialName'--9. - ,t3_l.FSPECIFICATION AS 'MaterialSpecification'--10.Ϲͺ - ,t4_l.FNAME AS 'MaterialUnitName'--11.ϵλ - ,(CASE t3.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.Դ - ,t6_l.FNAME AS 'WORKSHOPNAME' --44. - ,t3.FMASTERID - ,t3.FUSEORGID - ,t7_l.FMEMO AS 'BOMMEMO' --42.BOMע - ,t5_l.FNAME AS 'FSTOCKNAME' - INTO FSTOCKLOCID -FROM #TmpTable1 tt - LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = tt.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = tt.FMATERIALID AND t1_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = tt.FUNITID AND t2_l.FLOCALEID = @LCID - LEFT JOIN T_BD_MATERIAL t3 ON t3.FMATERIALID = tt.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t3_l ON t3_l.FMATERIALID = tt.FMATERIALID AND t3_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t4_l ON t4_l.FUNITID = tt.FUNITID AND t4_l.FLOCALEID = @LCID - LEFT JOIN T_BD_STOCK_L t5_l ON t5_l.FSTOCKID = tt.FSTOCKID AND t5_l.FLOCALEID =@LCID - LEFT JOIN T_BD_DEPARTMENT_L t6_l on t6_l.FDEPTID = tt.FWORKSHOPID AND t6_l.FLOCALEID = @LCID - LEFT JOIN T_ENG_BOMCHILD_L t7_l ON t7_l.FENTRYID = tt.FBOMENTRYID AND t7_l.FLOCALEID = @LCID - -SELECT tt.* - ,t1.FBASEQTY - ,t2_l.FNAME AS 'ROUTENAME' - ,t3e_A.FBASEINVQTY - ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.Ƿ - ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.; - ,6 AS 'LOWEST6' -FROM #TmpTable2 tt - LEFT JOIN ( - SELECT - t0.FMATERIALID - ,t0.FSTOCKORGID - ,sum(t0.FBASEQTY) AS FBASEQTY - FROM - T_STK_INVENTORY t0 - GROUP BY - t0.FMATERIALID - ,t0.FSTOCKORGID - ) t1 on t1.FMATERIALID = tt.FMASTERID AND t1.FSTOCKORGID = tt.FUSEORGID - LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = tt.FROUTINGID AND t2_L.FLOCALEID = @LCID - LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FPPBOMENTRYID = tt.PPBOMENTRYID AND t3e.FMATERIALIDSUB = tt.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID - -DROP TABLE #TmpTable0 -DROP TABLE #TmpTable1 -DROP TABLE #TmpTable2 \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/2新BOM层级库存状态.sql b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/2新BOM层级库存状态.sql deleted file mode 100644 index 7905725..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/2新BOM层级库存状态.sql +++ /dev/null @@ -1,3168 +0,0 @@ -declare - @moBillNo varchar(100) - ,@salesBillNo varchar(100) - ,@ProMateriaNumber varchar(100) - ,@startMaterialId int - ,@endMaterialId int - ,@FSDate varchar (30) - ,@FEDate varchar (30) - ,@FSStock varchar (max) - ,@FName varchar (255) -SET @moBillNo ='' -SET @salesBillNo ='' -SET @moBillNo = 0 -SET @moBillNo = 0 -SET @FSDate = '2024-02-06' -SET @FEDate = '2024-03-06' ---SET @FSNumber = 'TSH182H000208O' ---SET @FENumber = 'TSH182H000208O' -SET @FSStock ='' -SET @FName = '' - -SET nocount ON -declare @FCloseBALDate varchar (30) -declare @FClosedate varchar (30) - ---ѯʼһڵĩ -If NOT Exists( - SELECT FORGID,MAX(FCLOSEDATE) fclosedate - FROM T_STK_CLOSEPROFILE - WHERE FORGID IN (1) AND FCATEGORY = 'STK' AND (FCLOSEDATE < @FSDate) - GROUP BY FORGID) -BEGIN - SET @FClosedate='2020-01-01' - SET @FCloseBALDate='2020-01-01' - --print @FClosedate -END -ELSE -BEGIN - --SET @FClosedate='2019-07-01' - SELECT @FClosedate= CONVERT(varchar (30),DATEADD(D,1,MAX(FCLOSEDATE)),23) FROM - T_STK_CLOSEPROFILE WHERE ((FORGID IN (1) AND FCATEGORY = 'STK') AND (FCLOSEDATE < @FSDate)) GROUP BY FORGID - SET @FCloseBALDate=CONVERT(varchar (30),DATEADD(D,-1,@FClosedate),23) - --print @FClosedat -END - - --ʱѡȡֿ - -IF EXISTS(SELECT * FROM tempdb..SYSOBJECTS WHERE id=OBJECT_ID('tempdb..#tmpStockID')) -BEGIN - DROP TABLE #tmpStockID - print '' -END -Create Table #tmpStockID ( - FID INT IDENTITY(1,1) - ,FStockID INT -) -DECLARE @Strsql varchar(max) -SET @Strsql= 'INSERT INTO #tmpStockID SELECT DISTINCT FSTOCKID FROM T_BD_STOCK WHERE 1=1 ' +@FSStock -EXEC(@Strsql) - ---״̬ - -if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#Stock_Status_temp')) -begin - DROP TABLE #Stock_Status_temp - print '' -END - -Create Table #Stock_Status_temp ( - INT IDENTITY(1,1), - INT, - ϴ varchar(100) null, - varchar(255) null, - ͺ varchar(255) null, - ɱ varchar(100) null, - --λ varchar(30) null, - ڽ DECIMAL (18,2) Null, - ڲɹ DECIMAL (18,2) Null, - ں DECIMAL (18,2) Null, - ĩ DECIMAL (18,2) Null, - ; DECIMAL (18,2) Null, - DECIMAL (18,2) Null, - DECIMAL (18,2) Null, - δ DECIMAL (18,2) Null, - DECIMAL (18,2) Null, - ۳ DECIMAL (18,2) Null, - ֿⲦ DECIMAL (18,2) Null, - ֿⲦ DECIMAL (18,2) Null, - 깺δת DECIMAL (18,2) Null, - ܶ DECIMAL (18,2) Null, - ռ DECIMAL (18,2) Null, - ÿ DECIMAL (18,2) Null, - ֿ INT, - ֿ varchar(100) null, - ֿ varchar(255) null, - װ INT, - װʽ varchar(255) null -) - -if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#TMP')) -begin - DROP TABLE #TMP - print '' -END - -CREATE TABLE #TMP ( - FID INT IDENTITY(1,1), - FSTOCKORGID INT NOT NULL DEFAULT 0, - FBILLENTRYID INT NOT NULL DEFAULT 0, - FORDERBY INT NOT NULL DEFAULT 0, - FSTOCKIO CHAR (1) NULL, - FMATERIALID INT NOT NULL DEFAULT 0, - FAUXPROPID INT NOT NULL DEFAULT 0, - FDATE DATETIME NULL, - FSTOCKID INT NOT NULL DEFAULT 0, - FSTOCKLOCID INT NOT NULL DEFAULT 0, - FSTOCKSTATUSID INT NOT NULL DEFAULT 0, - FBILLNAME NVARCHAR (100) NULL, - FBILLID INT NOT NULL DEFAULT 0, - FBILLSEQID INT NULL, - FBILLNO NVARCHAR (100) NULL, - FBASEQCQTY DECIMAL (23,10) NOT NULL DEFAULT 0, - FBASEINQTY DECIMAL (23,10) NOT NULL DEFAULT 0, - FBASEOUTQTY DECIMAL (23,10) NOT NULL DEFAULT 0 -) - ---BOM㼶 - -IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#YC_T_MRP')) -BEGIN - DROP TABLE #YC_T_MRP -END - -CREATE TABLE #YC_T_MRP( - FID INT IDENTITY(1,1), - FBOMNumber NVARCHAR(255), - FMATERIALID INT, - ϱ NVARCHAR(255), - NVARCHAR(255), - Ʒ DECIMAL(28,10) DEFAULT (0), - DECIMAL(28,10),--BOM - ĸ DECIMAL(28,10),--BOMĸ - FQty DECIMAL(28,10),-- - FLevle INT, - FERPCLSID INT, - FProMaterialId INT, - FOrderNum NVARCHAR(255), - FBOMID INT, - BOM㼶 NVARCHAR(200) NULL, - FSEQ1 INT, - FSEQ2 INT, - FSEQ3 INT, - FSEQ4 INT, - FSEQ5 INT, - FSEQ6 INT, - FParentNumber NVARCHAR(255) -) - -IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#BOMTMP')) -BEGIN - DROP TABLE #BOMTMP -END - -/* ţ۶ţϽɸѡӦ*/ -SELECT - t0.FBILLNO - ,t0.FID - ,t0e.FQTY - ,t0e.FENTRYID - ,t0e.FMATERIALID - ,t0e_a.FREPQUAQTY - --,t0e_a.FREQSRC --1.۶ - ,(CASE WHEN t1e.FSRCBILLNO is null THEN (CASE t0e_a.FREQSRC WHEN 1 THEN t0e.FSALEORDERNO ELSE '' END) ELSE t1e.FSRCBILLNO END) AS 'FSALEORDERNO' - INTO #TEMPMO -FROM - T_PRD_MO t0 - INNER JOIN T_PRD_MOENTRY t0e ON t0.FID = t0E.FID - INNER JOIN T_PRD_MOENTRY_A t0e_a ON t0e_a.FENTRYID = t0e.FENTRYID - LEFT JOIN T_SAL_DELIVERYNOTICEENTRY t1e ON t1e.FENTRYID = t0e.FSRCBILLENTRYID AND t0e.FSRCBILLID = t0e.FSALEORDERID -WHERE 1 = 1 - AND t0.FDOCUMENTSTATUS = 'C' - AND (t0e_a.FSTATUS < 5) - --AND t0e.FMATERIALID = 100258 - AND t0.FBILLNO = 'MO000023' - -/*ȡ״̬BOMʱ*/ -SELECT - ID=IDENTITY(INT,1,1) - ,T0.FID - ,T0.FNUMBER - ,T0.FMATERIALID - ,ROW_NUMBER() OVER(PARTITION BY T0.FMATERIALID ORDER BY t0.FID DESC) AS ROWID - ,t0.FDOCUMENTSTATUS - ,t0.FYIELDRATE - INTO #BOMTmp -FROM T_ENG_BOM T0 - INNER JOIN T_BD_MATERIAL TM ON t0.FMATERIALID=TM.FMATERIALID --ϱ -WHERE (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A') - --AND tm.FNUMBER = 'TSH182H000208O' - AND tm.FMATERIALID IN (SELECT DISTINCT FMATERIALID FROM #TEMPMO) -ORDER BY FMATERIALID,FNUMBER - ---/*ʱУͬһϴֻһ°汾BOM*/ -DELETE FROM #BOMTmp WHERE ROWID != 1 - ---ѯһƷϢ -INSERT INTO #YC_T_MRP( - FBOMNumber,FMATERIALID,ϱ,,Ʒ - ,,ĸ,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum - ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) -SELECT - t0.FNUMBER,T0.FMATERIALID,t1.FNUMBER 'ϱ',t3.FNAME '',t0.FYIELDRATE 'Ʒ' - ,1 '',1 'ĸ',1 'FQty','0' 'FLevle',T2.FERPCLSID 'FERPCLSID',t1.FMATERIALID,t1.FNUMBER 'ϱ' - ,t0.FID 'FBOMID',0 'FSEQ1',0 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6','' 'FParentNumber' -FROM T_ENG_BOM t0 - INNER JOIN T_BD_MATERIAL t1 ON t0.FMATERIALID=t1.FMATERIALID --ϱ - LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID --ϱ - LEFT OUTER JOIN T_BD_MATERIAL_L t3 ON (t1.FMATERIALID = t3.FMATERIALID AND t3.FLocaleId = 2052)--ϱ - INNER JOIN #BOMTmp t6 ON t0.FMATERIALID=t6.FMATERIALID AND t0.FNUMBER=t6.FNUMBER -WHERE 1=1 - AND (t0.FDOCUMENTSTATUS = 'C') -ORDER BY T0.FNUMBER - ---ݵһƷѯһƷIJϢ -DECLARE @num INT,@level int,@LoopCount int -SET @num = 1 -SET @level =1 -SET @LoopCount = 0; - -INSERT INTO #YC_T_MRP( - FBOMNumber,FMATERIALID,ϱ,,Ʒ - ,,ĸ,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum - ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) -SELECT - t10.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t10.FYIELDRATE 'Ʒ' - ,t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty' - ,@level AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t5.FProMaterialId,T5.FOrderNum - ,0 'FBOMID',T5.FSEQ1 'FSEQ1',t6.FSEQ 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t5.ϱ 'FParentNumber' -FROM #YC_T_MRP t5 - LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FBOMID=t6.FID--BOM¼ - INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --ϱ - LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ - LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ - LEFT JOIN T_ENG_BOM t10 ON t10.FID=t6.FID--BOM -WHERE (t7.FFORBIDSTATUS = 'A') - AND T5.FLevle = 0 AND T5.FERPCLSID >= 2 - AND t10.FDOCUMENTSTATUS = 'C' - -WHILE (@num > 0 AND @LoopCount < 10) -BEGIN - - SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID - INTO #BOMTmp1 FROM #YC_T_MRP t1 - INNER JOIN T_ENG_BOM t0 ON t1.FMATERIALID=t0.FMATERIALID--BOMͷ - WHERE 1=1 AND (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A') AND T1.FLevle=@level AND T1.FERPCLSID>=2 - - DELETE FROM #BOMTmp1 WHERE id NOT IN (SELECT max(id) FROM #BOMTmp1 GROUP BY FMATERIALID) - - INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,ϱ,,Ʒ,,ĸ,FQty,FLevle - ,FERPCLSID,FProMaterialId,FOrderNum,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) - SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t5.FYIELDRATE 'Ʒ' - ,t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty' - ,@level + 1 AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t1.FProMaterialId,T1.FOrderNum,0 'FBOMID' - ,t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t6.FSEQ 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t1.ϱ 'FParentNumber' - FROM #YC_T_MRP t1 - INNER JOIN T_ENG_BOM t5 ON t1.FMATERIALID=t5.FMATERIALID--BOMͷ - LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FID=t6.FID--BOM¼ - INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --ϱ - LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ - LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ - INNER JOIN #BOMTmp1 t10 ON t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER - WHERE 1 = 1 AND (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=@level AND T1.FERPCLSID>=2 AND t5.FDOCUMENTSTATUS = 'C' - - SET @num = @@ROWCOUNT - SET @level += 1 - SET @LoopCount += 1 - - DROP TABLE #BOMTmp1 - -END - -UPDATE #YC_T_MRP SET BOM㼶 =REPLICATE('.',FLevle)++ convert(varchar(4),FLevle) - ---ⵥ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT - TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, - ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid, - ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, - TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty -FROM T_PRD_INSTOCK TS - INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID - LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - --((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0) - ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty -FROM T_PRD_INSTOCK TS - INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---ⵥ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE. -FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname, -TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty ---t_STK_InStock -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID - -INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEUNITQTY) fbaseqcqty -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (( -((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE. -FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---ⵥ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID, -FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid,TSE.FRECEIVESTOCKSTATUS fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00')AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (TSE.FRECEIVESTOCKID > 0)) AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') - AND TSE.FRECEIVESTOCKFLAG = '1') - ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid, -TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid, -TSE.FRECEIVESTOCKSTATUS fstockstatusid,'ʼ',(0 - SUM(TSE.FBASEUNITQTY)) fbaseqcqty - -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (TSE.FRECEIVESTOCKID > 0)) -AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') AND TSE.FRECEIVESTOCKFLAG = '1') -GROUP BY TS.FSTOCKORGID,TSE.FRECEIVEOWNERTYPEID,TSE.FRECEIVEOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FRECEIVEAUXPROPID,0), -ISNULL(TSE.FRECEIVELOT_TEXT,' '),ISNULL(TSE.FRECEIVEMTONO,' '),TSE.FRECEIVESTOCKID,ISNULL(TSE.FRECEIVESTOCKLOCID,0), -TSE.FRECEIVESTOCKSTATUS,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ϵ - - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID, -FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) ---ϵ -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND - TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty - -FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ( -((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID, - TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE - ---۳ⵥ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'۳ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty -FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) -AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) ---AND TS.FBILLNO='SA1907050103' - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, - ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid, - 'ʼ',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty - FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID - INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((( - ((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') - AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE, - TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ϵ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_PRD_FEEDMTRL TS -INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) -LEFT OUTER JOIN T_PRD_FEEDMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) ---AND ts.FBILLNO IN ('M31910140010','M31907010006') - - ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid,'ʼ' fbillname,SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty - FROM T_PRD_FEEDMTRL TS INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID - INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) - AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '), - TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ϵ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty -FROM T_PRD_RETURNMTRL TS -INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -LEFT OUTER JOIN T_PRD_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) ---AND ts.FBILLNO='M21907200004' - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty - FROM T_PRD_RETURNMTRL TS INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), - ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, - TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ϵ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid, -0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,(0 - TSE.FBASEUNITQTY) fbaseinqty,0 fbaseoutqty -FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) -AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId)))) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty -FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) - AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) - AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE= 'B' AND TMB.FISINVENTORY = '1') - AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId)))) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), - ISNULL(TSE.FLOT_TEXT,''),ISNULL(TSE.FMTONO,''),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, - TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ϵ ±־ FSTOCKFLAG 0:δ 1:Ѹ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty -FROM T_PUR_RECEIVE TS INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TMB.FMaterialId = TSE.FMaterialId - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TMB.FISINVENTORY = '1') -AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1') - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEUNITQTY) fbaseqcqty - -FROM T_PUR_RECEIVE TS -INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1') -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), - ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, - TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---˻ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - ---˻ -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'˻' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEUNITQTY) fbaseoutqty -FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) - ---AND TS.FBILLNO ='SB1908230003' - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEUNITQTY) fbaseqcqty - FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID - INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') - AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - - ---ⵥ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty -FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty -FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID, -TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ϵ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEACTUALQTY fbaseoutqty - -FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',(0 - SUM(TSE.FBASEACTUALQTY)) fbaseqcqty -FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID, -ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---ϵ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid, - 0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ - fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEQTY) fbaseoutqty - -FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEQTY) fbaseqcqty -FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), - TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---װж - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid,'װж' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE -(((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - - FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID, - TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---װж - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FDETAILID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid,'װж' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, - -CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseoutqty -FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID -INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID - -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, - ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID - INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID, - TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE - - - ---ŵ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid,'ŵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, - 'ʼ',SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - -FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE, - ISNULL(TSE.FBOMID,0) - - - ---ⵥ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseinqty,0 fbaseoutqty - -FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_MISCELLANEOUSENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE<= '2019-11-12 23:59:59')) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID, -ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---ⵥ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,0 fbaseinqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseoutqty -FROM T_STK_MISDELIVERY TS -INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_MISDELIVERYENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - --ʼ -INSERT INTO #TMP (FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN (0 - TSE.FBASEQTY) ELSE TSE.FBASEQTY END) fbaseqcqty - FROM T_STK_MISDELIVERY TS INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), - TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---мӹⵥ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'мӹⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,FBASEQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_OEMINSTOCK TS -INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_OEMINSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(FBASEQTY) fbaseqcqty -FROM T_STK_OEMINSTOCK TS INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---мӹϵ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'мӹϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,(0 - FBASEQTY) fbaseinqty,0 fbaseoutqty - -FROM T_STK_OEMINSTOCKRTN TS -INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_OEMINSTOCKRTNENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND FRETURNTYPE = 'StockReMat') - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'',(0 - SUM(FBASEQTY)) fbaseqcqty - FROM T_STK_OEMINSTOCKRTN TS INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - AND FRETURNTYPE = 'StockReMat') - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID, - ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), - TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---̬ת - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'̬ת' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_STATUSCONVERT TS -INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', -SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty -FROM T_STK_STATUSCONVERT TS INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---״̬ת - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'״̬ת' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STOCKCONVERTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', -SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty -FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), -TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---ӯ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ӯ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEGAINQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_STKCOUNTGAIN TS -INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(TSE.FBASEGAINQTY) fbaseqcqty -FROM T_STK_STKCOUNTGAIN TS INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---̿ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'̿' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,0 fbaseinqty,TSE.FBASELOSSQTY fbaseoutqty -FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, - 'ʼ',SUM(0 - TSE.FBASELOSSQTY) fbaseqcqty - FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID, - ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ֱӵ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid, -TSE.FDESTSTOCKSTATUSID fstockstatusid,'ֱӵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty - -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - - -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS -.FOBJECTTYPEID = 'STK_TransferDirect') - - - ---ʼ - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FDESTSTOCKID fstockid, -ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ', -SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END - -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect') -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0), -TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - - - ---ֱӵ - - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID, -FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio, -TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid, -'ֱӵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect') - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio, -TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'ʼ', - -SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END - -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty - - -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect') -GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID, -TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE - - ---ֲʽ뵥 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid, -TSE.FDESTSTOCKSTATUSID fstockstatusid,'ֲʽ뵥' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GEN -ERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty - -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(TSE.FBASEQTY) fbaseqcqty - FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID, - TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - ---ֲʽ뵥 - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'ֲʽ뵥' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseinqty,0 fbaseoutqty -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) -AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - - - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'',SUM((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseqcqty - FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKOUTORGID IN (1) - AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) - AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FSRCMTONO,' '), - TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FSRCPRODUCEDATE,TSE.FSRCEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE - ---ֲʽ - - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid, -TSE.FSRCSTOCKSTATUSID fstockstatusid,'ֲʽ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseinqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty - -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid, - 'ʼ',SUM(0 - TSE.FBASEQTY) fbaseqcqty - FROM T_STK_STKTRANSFEROUTENTRY TSE INNER JOIN T_STK_STKTRANSFEROUT TS ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON -TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID, - TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - ---ֲʽ - - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid, -'ֲʽ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A') - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid, - 'ʼ',SUM(TSE.FBASEQTY) fbaseqcqty - FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A') - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0), - TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - - ---ֲʽ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKINORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid, -ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid, -'ֲʽ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B') - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKINORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(TSE.FBASEQTY) fbaseqcqty -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B') -GROUP BY TS.FSTOCKINORGID,TSE.FOWNERTYPEINID,TSE.FOWNERINID,TSE.FDESTMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FDESTMTONO,' '),TSE.FDESTSTOCKID, -ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEINID,TSE.FKEEPERINID,TSE.FDESTPRODUCEDATE,TSE.FDESTEXPIRYDATE,ISNULL(TSE.FDESTBOMID,0),TS.FDATE - - - ---Ʋֿ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid, -TSE.FDESTSTOCKSTATUSID fstockstatusid,'Ʋֿ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, - 0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty -FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - - FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '), - TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - - - - --Ʋֿ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio, -TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid, - TSE.FSRCSTOCKSTATUSID fstockstatusid, - 'Ʋֿ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty, - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty - FROM T_REM_STKTRANSFERIN TS - INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty - FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE - - ---ίⲹϵ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ίⲹϵ' fbillname,TS.FID fbillid, -TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) -LEFT OUTER JOIN T_SUB_FEEDMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, - -'ʼ',SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty - FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID, - TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---ίϵ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ίϵ' fbillname,TS.FID fbillid, -TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) -LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(0 - TSE.FBASESTOCKACTUALQTY) fbaseqcqty - FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID - INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSEQ.FOWNERTYPEID,TSEQ.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '), - TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSEQ.FKEEPERTYPEID,TSEQ.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ίϵ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ίϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -0 fbaseinqty,(0 - TSE.FBASESTOCKQTY) fbaseoutqty -FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -LEFT OUTER JOIN T_SUB_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASESTOCKQTY) fbaseqcqty -FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID, -TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSEA.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), -TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---߲Ʒⵥ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby, - 'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'߲Ʒⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty -FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_REM_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, - 'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty - FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), - TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ----߲Ʒ˿ⵥ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO, - FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'߲Ʒ˿ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty -FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_REM_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty -FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID, -ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---ϵ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby, -'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS -.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty - -FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_REM_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty -FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) -AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID, -ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID,TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE - - ---ϵ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty - -FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -LEFT OUTER JOIN T_REM_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty -FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), -TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---ίⳬĵ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ίⳬĵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty - -FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SUB_EXCONSUMEENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty -FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOwnerTypeId,TSE.FOwnerId,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), -ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---˿ⵥ - - INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'˿ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty -FROM -T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID -LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND TS.FEntrustRetStockId = 0) - - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(0 - TSE.FBASEREALQTY) fbaseqcqty -FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) -AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS= 'A')) AND TS.FEntrustRetStockId = 0) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '), - TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---˿ⵥ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, - -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'˿ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEOUTQTY) fbaseinqty,0 fbaseoutqty - -FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_SP_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(0 - TSE.FBASEOUTQTY) fbaseqcqty - FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TSE.FSTOCKORGID fstockorgid,TSE.FBALDATE fdate,-200 forderby, - 'I' fstockio,TM.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TBS.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'',SUM(TSE.FBASEENDQTY) fbaseqcqty -FROM T_STK_INVBAL TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID) -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID) -LEFT OUTER JOIN T_ENG_BOM TB ON (TB.FMASTERID = TSE.FBOMID AND TB.FUSEORGID = TSE.FSTOCKORGID) -LEFT OUTER JOIN V_ITEMCLASS_OWNER VO ON ((VO.FMASTERID = TSE.FOWNERID AND VO.FFORMID = TSE.FOWNERTYPEID) AND (VO.FUSEORGID = TSE.FSTOCKORGID OR VO.FUSEORGID = 0 -OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VO.FFORMID AND BT.FSTRATEGYTYPE = 1)))) -LEFT OUTER JOIN V_ITEMCLASS_OWNER_L VO_L ON (VO.FITEMID = VO_L.FITEMID AND VO_L.FLOCALEID = 2052) -LEFT OUTER JOIN V_ITEMCLASS_KEEPER VK ON ((VK.FMASTERID = TSE.FKEEPERID AND VK.FFORMID = TSE.FKEEPERTYPEID) AND (VK.FUSEORGID = TSE.FSTOCKORGID OR VK.FUSEORGID = 0 -OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VK.FFORMID AND BT.FSTRATEGYTYPE = 1)))) -LEFT OUTER JOIN V_ITEMCLASS_KEEPER_L VK_L ON (VK.FITEMID = VK_L.FITEMID AND VK_L.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_LOTMASTER TBLM ON (ISNULL(TSE.FLOT,0) = TBLM.FMASTERID AND TBLM.FUSEORGID IN (1)) - -WHERE ((TSE.FSTOCKORGID IN (1) AND (FBALTYPE IN(0,1) AND (FSTOCKORGID = 1 AND TSE.FBALDATE =@FCloseBALDate ))) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND TM.FFORBIDSTATUS = 'A') - - -GROUP BY TSE.FSTOCKORGID,TSE.FOWNERTYPEID,VO.FITEMID,TSE.FBALDATE,TM.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TBLM.FNUMBER,' '),ISNULL(TSE.FMTONO,' '), -TBS.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,VK.FITEMID,TSE.FLOT,TMS.FISBATCHMANAGE,TMS.FISKFPERIOD, -TMS.FISEXPPARTOFLOT,TBLM.FPRODUCEDATE,TSE.FPRODUCEDATE,TBLM.FEXPIRYDATE,TSE.FEXPIRYDATE,ISNULL(TB.FID,0) - ---ϲг - -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp1 -FROM #TMP ---WHERE FDATE <='2019-08-30' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - - - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ -FROM #tmp1 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - - ---ڽ ---SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY ---INTO #tmp2 - ---FROM #TMP -----WHERE FDATE <=@FSDate ---GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID ---ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - ---SELECT * -UPDATE t1 SET t1.ڽ=t2.FBASEQCQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp1 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - ---ĩ -UPDATE t1 SET t1.ĩ=t2.FBASEQCQTY+t2.FBASEINQTY-t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN - #tmp1 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - ---ڲɹ -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp4 FROM #TMP TS WHERE FORDERBY<>'-200' AND fstockio='I' AND ( FBILLNAME NOT like'%%' AND FBILLNAME<>'̬ת') -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID, -FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID ---ڲɹ - -UPDATE t1 SET t1.ڲɹ=t2.FBASEINQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp4 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - ---ں -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp5 FROM #TMP TS WHERE fstockio='O' AND ( FBILLNAME NOT like'%%' AND FBILLNAME<>'̬ת') -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID ---ں - -UPDATE t1 SET t1.ں=t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp5 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - - ---ֿⲦֿⲦ - -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp6 FROM #TMP TS WHERE FORDERBY<>'-200' AND ( FBILLNAME like'%%' ) -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - ---ֿⲦ--ֿⲦ - -UPDATE t1 SET t1.ֿⲦ=t2.FBASEINQTY,t1.ֿⲦ=t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp6 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - - --- -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp7 FROM #TMP TS WHERE ( FBILLNAME IN('ϵ','ίϵ' )) -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - --- -UPDATE t1 SET t1.=t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp7 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - - ---۳ - -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp8 FROM #TMP TS WHERE ( FBILLNAME ='۳ⵥ' ) -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - ---۳ -UPDATE t1 SET t1.۳=t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp8 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - ---ܶ ---۶ܶ ---******************************************* - ---ѯ ---(C.FBASEREMAINOUTQTY+C.FBaseReturnQty)ۼ˿+ʣδ -SELECT (A.FBILLNO) AS ۵,(A.FID) ,(B.FENTRYID) ۷¼,(B.FSEQ) , -B.FMATERIALID AS ,B.FBASEUNITQTY ,(C.FBASEREMAINOUTQTY+C.FBaseReturnQty) AS δ,FBaseReturnQty, -ISNULL(B.FSTOCKID,0) ֿ,B.FAUXPROPID,A.FCLOSESTATUS,FCLOSEDATE,A.FDATE,B.FMRPCLOSESTATUS ҵر -INTO #tmpSal -FROM T_SAL_ORDER A -INNER JOIN T_SAL_ORDERENTRY B ON A.FID =B.FID -LEFT JOIN T_SAL_ORDERENTRY_R C ON C.FID=B.FID AND C.FENTRYID =B.FENTRYID -LEFT JOIN T_SAL_ORDERENTRY_E D ON D.FID=B.FID AND D.FENTRYID =B.FENTRYID - -WHERE 1=1 AND A.FCANCELSTATUS='A' AND A.FDOCUMENTSTATUS='C' --AND B.FMRPTERMINATESTATUS='A' -AND (B.FTERMINATEDATE >@FEDate OR ISNULL(B.FTERMINATEDATE,'') ='') -AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')--رڿʼ֮ǰݲ -AND A.FDATE <=@FEDate --AND A.FBILLNO='SO1909200018' -ORDER BY A.FDATE,A.FID,B.FENTRYID,B.FMATERIALID - - - ---δ ---SELECT * -UPDATE t1 SET t1.δ=δ+t2.fbaseoutqty -FROM #tmpSal t1 -INNER JOIN ( -SELECT TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID,SUM(TSE.FBASEUNITQTY) fbaseoutqty -FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID - -WHERE TS.FDATE>@FEDate AND -( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -GROUP BY TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID ) t2 ON t2.FSOORDERNO =t1.۵ AND t2.FSOENTRYID=t1.۷¼ AND t1.=t2.FMATERIALID - ---۳˻ ---˻ ---SELECT * -UPDATE t1 SET t1.δ=δ+t2.fbaseoutqty -FROM #tmpSal t1 -INNER JOIN ( -SELECT TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID,SUM((TSE.FBASEUNITQTY)) fbaseoutqty -FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID - -WHERE TS.FDATE>@FEDate -AND ( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -GROUP BY TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID -) t2 ON t2.FORDERNO =t1.۵ AND t2.FSOENTRYID=t1.۷¼ AND t1.=t2.FMATERIALID - - - -SELECT ,,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ -INTO #tmpSal1 FROM #tmpSal B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ ) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -ORDER BY - - -SELECT ,,δ,FAUXPROPID,ֿ -INTO #tmpSal3 FROM #tmpSal1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) ---LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) ---LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -ORDER BY - - - -SELECT ,SUM(),SUM(δ)δ,FAUXPROPID,ֿ -INTO #tmpSal2 FROM #tmpSal3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - ---۶ܶ -UPDATE t1 SET t1.ܶ=t2.δ -FROM #Stock_Status_temp t1 -INNER JOIN #tmpSal2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,ܶ) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS - ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -FROM #tmpSal2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. ) - -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - ---******************************************* - - - ---; ---************************************************ - ---ɹ -SELECT ddd.FPurchaseOrgID fstockorgid,ddd.FBILLNO ɹ,ddd.FID AS ɹ,B.FENTRYID ɹ¼,b.FMATERIALID , -ISNULL(b.FAUXPROPID,0) fauxpropid,ddd.FDATE fdate,TMS.FSTOCKID ֿ,FBASEUNITQTY ɹ, -FREMAINSTOCKINQTY ʣ,FBASESTOCKINQTY ,ddd.FCLOSEDATE -INTO #tmppoorder -FROM t_pur_poorderentry b -INNER JOIN t_pur_poorder ddd ON (ddd.FID = b.FID AND FbusinessType NOT IN ('ZCCG','FYCG')) -INNER JOIN t_pur_poorderentry_r r ON b.fentryid = r.fentryid -INNER JOIN t_pur_poorderentry_d td ON b.fentryid = td.fentryid -INNER JOIN T_BD_MATERIALSTOCK TMS ON b.FMATERIALID = TMS.FMATERIALID -WHERE (ddd.FPurchaseOrgID IN (1) AND (((ddd.FPurchaseOrgID IN (1)) -AND (ddd.FDATE <=@FEDate)) AND ddd.fdocumentStatus = 'C')) -AND (b.FTERMINATEDATE >@FEDate OR ISNULL(b.FTERMINATEDATE,'') ='') -AND (ddd.FCLOSEDATE>@FEDate or ISNULL(ddd.FCLOSEDATE,'')='') - ---ⵥ ---SELECT * - -UPDATE t1 SET t1.ʣ=ʣ+t2.fbaseinqty -FROM #tmppoorder t1 -INNER JOIN ( - SELECT TSE.FMATERIALID,tse.FPOORDERENTRYID,tse.FPOORDERNO,SUM(TSE.FBASEUNITQTY) fbaseinqty - FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID - - INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID) - INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 AND TS.FDATE > @FEDate - AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND TS.FDOCUMENTSTATUS IN ('C') - GROUP BY TSE.FPOORDERNO,TSE.FPOORDERENTRYID,TSE.FMATERIALID -)t2 ON t2.FPOORDERNO =t1.ɹ AND t2.FPOORDERENTRYID=t1.ɹ¼ AND t1.=t2.FMATERIALID - - ---ϵ - --SELECT * -UPDATE t1 SET t1.ʣ=ʣ-t2.fbaseinqty -FROM #tmppoorder t1 -INNER JOIN( - SELECT tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID fmaterialid,SUM( TSE.FBASEUNITQTY) fbaseinqty - - FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID - WHERE 1=1 AND (TS.FDATE >@FEDate) - AND TS.FDOCUMENTSTATUS IN ('C') AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND (TSE.FSTOCKID > 0) - AND TSF.FISGENFORIOS = '0'AND (TSE.FSTOCKFLAG = '1' OR (TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') ) - GROUP BY tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID -)t2 ON t2.FORDERNO =t1.ɹ AND t2.FPOORDERENTRYID=t1.ɹ¼ AND t1.=t2.FMATERIALID - - ---º; - -SELECT ,ɹ,ʣ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ -INTO #tmppoorder1 FROM #tmppoorder B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT - JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - - -SELECT ,ɹ,ʣ,FAUXPROPID,ֿ -INTO #tmppoorder3 FROM #tmppoorder1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK - ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -ORDER BY - - - - -SELECT ,SUM(ɹ)ɹ,SUM(ʣ)ʣ,FAUXPROPID,ֿ -INTO #tmppoorder2 FROM #tmppoorder3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - - ---; -UPDATE t1 SET t1.;=t2.ʣ -FROM #Stock_Status_temp t1 -INNER JOIN #tmppoorder2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,;) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(ʣ) -FROM #tmppoorder2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER - JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE ʣ<>0 AND - NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - - - - - ---************************************************ - --- ---************************************************* ---ѯֹ֮ǰ -SELECT (MO.FBILLNO) ,ME.FPRODUCTTYPE, -(MO.FID) ,(ME.FENTRYID) ¼,MA.FCONVEYDATE,ME.FMATERIALID , -ISNULL(ME.FSTOCKID,0) ֿ,ME.FAUXPROPID,MO.FDATE,ME.FSEQ,(ME.FQTY) , ---MQ.FBASENOSTOCKINQTY δ -(CASE WHEN (MQ.FBASENOSTOCKINQTY)>0 THEN (MQ.FBASENOSTOCKINQTY) ELSE 0 END) AS δ,MQ.FBASERESTKQTY ˿ - -INTO #tmpMO -FROM T_PRD_MO MO -INNER JOIN T_PRD_MOENTRY ME ON MO.FID =ME.FID -LEFT JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -LEFT JOIN T_PRD_MOENTRY_Q MQ ON MQ.FID =ME.FID AND ME.FENTRYID =MQ.FENTRYID -WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1 ---AND MO.FBILLNO IN('MO1909090271','MO1905070262') -AND MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>'' -AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='') - - ---ֹ֮ɵⵥ ---SELECT * -UPDATE t1 SET t1.δ=δ+t2.fbaseInqty -FROM #tmpMO t1 -INNER JOIN( - SELECT TSE.FMATERIALID,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseInqty - FROM T_PRD_INSTOCK TS INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID - LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 - AND TS.FDATE > @FEDate AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' - --AND TS.FBILLNO='MM1909090128' - GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID - --ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID -) t2 ON t1.=t2.FMOID AND t1.¼=t2.FMOENTRYID AND t1.=t2.FMATERIALID - ---ֹ֮ɵ˿ⵥ ---SELECT * -UPDATE t1 SET t1.δ=δ-t2.fbaseOutqty -FROM #tmpMO t1 -INNER JOIN( - SELECT TSE.FMATERIALID fmaterialid,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseOutqty - FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID - LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 - AND TS.FDATE > @FEDate - AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A' - AND TS.FCANCELSTATUS = 'A' AND TS.FEntrustRetStockId = 0 - GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID -) t2 ON t1.=t2.FMOID AND t1.¼=t2.FMOENTRYID AND t1.=t2.FMATERIALID - - ---º - -SELECT ,,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ -INTO #tmpMO1 FROM #tmpMO B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - -SELECT ,,δ,FAUXPROPID,ֿ -INTO #tmpMO3 FROM #tmpMO1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -ORDER BY - - - -SELECT ,SUM(),SUM(δ)δ,FAUXPROPID,ֿ -INTO #tmpMO2 FROM #tmpMO3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - --- -UPDATE t1 SET t1.=t2.δ -FROM #Stock_Status_temp t1 -INNER JOIN #tmpMO2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -FROM #tmpMO2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - ---***************END********************************** - - --- ---******************start******************************* - -----ѯֹ֮ǰϵ - -SELECT TS.FSTOCKORGID fstockorgid,TS.FBILLNO ϵ,TS.FID AS ,TSE.FENTRYID Ϸ¼,TSE.FMATERIALID , - ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID ֿ,FBASEUNITQTY , -CASE WHEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY))>0 THEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY)) ELSE 0 END δ, -(FBASEUNITQTY-FINSTOCKBASEQTY +FRETURNBASEQTY) -INTO #TMPRECEIVE -FROM T_PUR_RECEIVE TS -INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_RECEIVEENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID) -INNER JOIN T_PUR_RECEIVEENTRY_R TSER ON (TSE.FID = TSER.FID AND TSE.FENTRYID = TSER.FENTRYID) -INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID -WHERE 1=1 AND (TS.FDATE <= @FEDate) ---AND ts.FBILLNO='T61908290024-' AND FRETURNBASEQTY<>0 -AND( FEXECUTEDATE>@FEDate OR ISNULL(FEXECUTEDATE,'')='')--ִ -AND (TS.FSTOCKORGID IN (1)) -AND (TSE.FSTOCKID > 0)AND TSE.FSTOCKFLAG = '0' - --- AND TS.FDOCUMENTSTATUS IN ('C') -------ѯֹ֮ǰⵥ - ---SELECT * -UPDATE t1 SET t1.δ=δ+t2.fbaseInqty -FROM #TMPRECEIVE t1 -INNER JOIN ( - SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty - FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID) - INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 AND TS.FDATE >@FEDate - AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' - GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID - --ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID -) t2 ON t1.=t2.FSBILLID AND t1.Ϸ¼=t2.FSID AND t1.=t2.FMATERIALID - --- ---ѯֹ֮ϵ ---SELECT * -UPDATE t1 SET t1.δ=δ+t2.fbaseInqty -FROM #TMPRECEIVE t1 -INNER JOIN ( - SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty - FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_PUR_MRBENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID) - INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID - WHERE 1=1 AND TS.FDATE >@FEDate - AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' - GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID - -) t2 ON t1.=t2.FSBILLID AND t1.Ϸ¼=t2.FSID AND t1.=t2.FMATERIALID - - - ---º - -SELECT ,,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ -INTO #TMPRECEIVE1 FROM #TMPRECEIVE B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - - -SELECT ,,δ,FAUXPROPID,ֿ -INTO #TMPRECEIVE3 - FROM #TMPRECEIVE1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - -SELECT ,SUM(),SUM(δ)δ,FAUXPROPID,ֿ -INTO #TMPRECEIVE2 FROM #TMPRECEIVE3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - - --- -UPDATE t1 SET t1.=t2.δ -FROM #Stock_Status_temp t1 -INNER JOIN #TMPRECEIVE2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -FROM #TMPRECEIVE2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE δ<>0 AND - NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - - ---****************END********************************* - ---*********************δ***************************************** - ---δ() ---***********************δ()***************************** ---ѯֹ֮ǰ -SELECT (MO.FBILLNO) ,(MO.FID) ,(ME.FENTRYID) ¼, -PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼, -ISNULL(PC.FSTOCKID,0) ֿ,PE.FAUXPROPID,(PE.FMUSTQTY) AS Ӧ, -PQ.FSELPICKEDQTY AS ѡ,PQ.FBASENOPICKEDQTY AS δ -INTO #tmpPPBOM - FROM T_PRD_MO MO -INNER JOIN T_PRD_MOENTRY ME ON MO.FID =ME.FID -INNER JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -INNER JOIN T_PRD_PPBOM PP ON PP.FMOID=MO.FID AND ME.FENTRYID =PP.FMOENTRYID -INNER JOIN T_PRD_PPBOMENTRY PE ON PP.FID =PE.FID -LEFT JOIN T_PRD_PPBOMENTRY_Q PQ ON PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID -LEFT JOIN T_PRD_PPBOMENTRY_C PC ON PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID -WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1 -AND (MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>'') -AND (MA.FFINISHDATE >@FEDate OR ISNULL(MA.FFINISHDATE,'')='')--2020-04-27֮깤Ϊ׼깤 ---AND (MA.FCLOSEDATE>@FEDate OR ISNULL(MA.FCLOSEDATE,'')='')--2020-04-27֮ǰǽ᰸ - ---AND PP.FBILLNO ='PP1910150215' - - --ѯֹ֮еϵ - --SELECT δ,t2.fbaseOutqty,* -UPDATE t1 SET t1.δ=δ+t2.fbaseOutqty -FROM #tmpPPBOM t1 -INNER JOIN ( -SELECT tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO, -TSE.FMATERIALID,SUM(TSED.FBASESTOCKACTUALQTY) fbaseOutqty -FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - -WHERE (TS.FDATE> @FEDate) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A') -GROUP BY tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID -) t2 ON t1.=t2.FMOBILLNO AND t1.¼=t2.FMOENTRYID -AND t1.ϵ=t2.FPPBOMBILLNO AND t1.ϵ¼=t2.FPPBOMENTRYID AND t1.=t2.FMATERIALID - - - ---ºδ ---SELECT * FROM #tmpPPBOM - -SELECT ,Ӧ,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ -INTO #tmpPPBOM1 FROM #tmpPPBOM B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - -SELECT ,Ӧ,δ,FAUXPROPID,ֿ -INTO #tmpPPBOM3 FROM #tmpPPBOM1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - -SELECT ,SUM(Ӧ)Ӧ,SUM(δ)δ,FAUXPROPID,ֿ -INTO #tmpPPBOM2 FROM #tmpPPBOM3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - ---δ() -UPDATE t1 SET t1.δ=t2.δ -FROM #Stock_Status_temp t1 -INNER JOIN #tmpPPBOM2 -t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,δ) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -FROM #tmpPPBOM2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE δ>0 AND - NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - ---*************************δ()***************************************** - - - ---δ(ί) ---*************************δ(ί)*************************** ---ѯֹ֮ǰίⵥ -SELECT (MO.FBILLNO) ίⵥ,(MO.FID) ί,(ME.FENTRYID) ίⵥ¼, -PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼, -ISNULL(PC.FSTOCKID,0) ֿ,PE.FAUXPROPID,(PE.FMUSTQTY) AS Ӧ, -PQ.FSELPICKEDQTY AS ѡ,PQ.FBASENOPICKEDQTY AS δ -INTO #tmpSubBOM -FROM T_SUB_REQORDER MO -INNER JOIN T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID ---INNER JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -INNER JOIN T_SUB_PPBOM PP ON PP.FSUBREQID =MO.FID AND ME.FENTRYID =PP.FSUBREQENTRYID -INNER JOIN T_SUB_PPBOMENTRY PE ON PP.FID =PE.FID -LEFT JOIN T_SUB_PPBOMENTRY_Q PQ ON PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID -LEFT JOIN T_SUB_PPBOMENTRY_C PC ON PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID -WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1 -AND (MO.FDATE <=@FEDate AND ISNULL(ME.FCONVEYDATE,'')<>'') -AND (ME.FCLOSEDATE>@FEDate OR ISNULL(ME.FCLOSEDATE,'')='') - - - - - --ѯֹ֮еϵ - --SELECT δ,t2.fbaseOutqty,* -UPDATE t1 SET t1.δ=δ+t2.fbaseOutqty -FROM #tmpSubBOM t1 -INNER JOIN ( -SELECT tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO, -TSE.FMATERIALID,SUM(TSE.FBASESTOCKACTUALQTY) fbaseOutqty -FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - -WHERE (TS.FDATE> @FEDate) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A') -GROUP BY tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID -) t2 ON t1.ίⵥ=t2.FSUBREQBILLNO AND t1.ίⵥ¼=t2.FSUBREQENTRYID -AND t1.ϵ=t2.FPPBOMBILLNO AND t1.ϵ¼=t2.FPPBOMENTRYID AND t1.=t2.FMATERIALID - - - ---ºδ ---SELECT * FROM #tmpPPBOM - -SELECT ,Ӧ,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ - INTO #tmpSubBOM1 FROM #tmpSubBOM B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - -SELECT ,Ӧ,δ,FAUXPROPID,ֿ -INTO #tmpSubBOM3 FROM #tmpSubBOM1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - -SELECT ,SUM(Ӧ)Ӧ,SUM(δ)δ,FAUXPROPID,ֿ -INTO #tmpSubBOM2 FROM #tmpSubBOM3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - - ---δ(ί) -UPDATE t1 SET t1.δ=ISNULL(t1.δ,0)+ISNULL(t2.δ,0) -FROM #Stock_Status_temp t1 -INNER JOIN #tmpSubBOM2 -t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,δ) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ - ,ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -FROM #tmpSubBOM2 TSE - INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. ) - INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 - INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) - LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.ֿ AND TSL.FLOCALEID = 2052) - LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID - LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID - LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID ---SELECT * FROM #tmpSal2 TSE -WHERE δ > 0 - AND NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - ---*********************δ(ί)*END******************************* - --- --ֹѯδ --- UPDATE t1 SET t1.δ=ISNULL(t1.δ,0)+ISNULL(t1.ܶ,0) ---FROM #Stock_Status_temp t1 ---WHERE ISNULL(t1.ܶ,0)<>0 - ---**********************END******************************* - ---깺δת ---*******************strat***************************** - ---ѯֹ֮ǰвɹ - -SELECT TS.FAPPLICATIONORGID fstockorgid,TS.FBILLNO 뵥,TS.FID AS ,TSE.FENTRYID ¼,TSE.FMATERIALID , - ISNULL(TSE.FAUXPROPID,0) FAUXPROPID,TS.FAPPLICATIONDATE fdate,TMS.FSTOCKID ֿ, - FBASEUNITQTY ,TSEF.FREMAINQTY AS δת -INTO #TMPREQ -FROM T_PUR_REQUISITION TS - INNER JOIN T_PUR_REQENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PUR_REQENTRY_R TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_PUR_REQENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID) - LEFT JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID=TM.FMATERIALID - LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -WHERE 1=1 ---AND ts.FBILLNO ='SQ1910100001'AND FORDERBASEQTY<>FBASEUNITQTY AND TS.FCLOSESTATUS<>'B' - AND (TS.FAPPLICATIONDATE <=@FEDate) - AND (TS.FCLOSEDATE>@FEDate or ISNULL(TS.FCLOSEDATE,'')='') - AND (TS.FAPPLICATIONORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - - --ѯֹ֮вɹ - --SELECT * -UPDATE t1 SET t1.δת=δת+t2.fbaseOrdqty -FROM #TMPREQ t1 -INNER JOIN ( - SELECT t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID,SUM(t1.FBASEUNITQTY) fbaseOrdqty - FROM T_PUR_POORDER t0 - INNER JOIN T_PUR_POORDERENTRY t1 ON (t0.FID = t1.FID) - INNER JOIN T_PUR_POORDERENTRY_R t1R ON(t1R.FID = t1.FID AND t1.FENTRYID = t1R.FENTRYID) - INNER JOIN T_PUR_POORDERENTRY_LK t1k ON(t1.FENTRYID = t1k.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON t1.FMATERIALID = TM.FMATERIALID - WHERE t0.FDATE>@FEDate - AND ( t0.FCANCELSTATUS = 'A' AND TM.FFORBIDSTATUS = 'A') - GROUP BY t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID - -) t2 ON t1.=t2.FSBILLID AND t1.¼=t2.FSID AND t1.=t2.FMATERIALID - - ---º - - -SELECT ,,δת,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ -INTO #TMPREQ1 FROM #TMPREQ B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - -SELECT ,,δת,FAUXPROPID,ֿ -INTO #TMPREQ3 FROM #TMPREQ1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -(TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - -SELECT ,SUM(),SUM(δת)δת,FAUXPROPID,ֿ -INTO #TMPREQ2 FROM #TMPREQ3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - ---깺δת -UPDATE t1 SET t1.깺δת=t2.δת -FROM #Stock_Status_temp t1 -INNER JOIN #TMPREQ2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,깺δת) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δת) -FROM #TMPREQ2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE δת<>0 AND - NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - - ---***************************************************** - ---ռ - ---******************************************************** - SELECT TSE.FMATERIALID ,(TSE.FBASEQTY)FBASEQTY, - CASE WHEN TSE.FSTOCKID<>0 THEN TSE.FSTOCKID ELSE ISNULL(tms.FSTOCKID,0)END FSTOCKID,TSE.FAUXPROPID - INTO #TMPLINK FROM T_PLN_RESERVELINK TS - INNER JOIN T_PLN_RESERVELINKENTRY TSE ON TS.FID=TSE.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID - LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = TSE.FSTOCKID ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052) - WHERE TSE.FBASEQTY<>0 - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---GROUP BY TSE.FSTOCKID,TSE.FMATERIALID,FAUXPROPID -ORDER BY FSTOCKID,TSE.FMATERIALID,FAUXPROPID - - -SELECT ,SUM(FBASEQTY)FBASEQTY,FAUXPROPID,B.FSTOCKID ֿ -INTO #TMPLINK1 FROM #TMPLINK B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) ---LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.FSTOCKID ) ---LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.FSTOCKID AND TSL.FLOCALEID = 2052) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -(TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -GROUP BY b.FSTOCKID,,FAUXPROPID -ORDER BY b.FSTOCKID,,FAUXPROPID - ---ռ -UPDATE t1 SET t1.ռ=t2.FBASEQTY -FROM #Stock_Status_temp t1 - INNER JOIN #TMPLINK1 t2 ON t1.=t2. - AND t1.ֿ=t2.ֿ - AND t1.װ=T2.FAUXPROPID - ---ݾռ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,ռ) -SELECT - TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS - ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ - ,ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ - ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(FBASEQTY) -FROM #TMPLINK1 TSE - INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. ) - INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID=TML.FMATERIALID AND TML.FLOCALEID =2052 - INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) - LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) - LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID - LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID - LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID -WHERE FBASEQTY <> 0 - AND NOT EXISTS( - SELECT 1 - FROM #Stock_Status_temp t2 - WHERE TSE.=t2. - AND TSE.ֿ=t2.ֿ - AND t2.װ=TSE.FAUXPROPID) - - ---*********************ռEND*********************************** - - ---ÿ ---******************************************************* - -UPDATE t1 SET t1.ÿ=ISNULL(ĩ,0)+ISNULL(t1.,0)+ISNULL(;,0)-ISNULL(δ,0)-ISNULL(ܶ,0) -FROM #Stock_Status_temp t1 - ---*********************ÿEND********************************** - ---BOM -SELECT =IDENTITY(INT,1,1),,ϴ,,ͺ,ɱ,ڽ - ,ڲɹ,ں,ĩ,;,,,δ,,۳ - ,ֿⲦ,ֿⲦ,깺δת,ܶ,ռ,ÿ - ,ֿ,ֿ,ֿ,װʽ,FProMaterialId,Ʒ - INTO #Stock_Bom -FROM ( - SELECT t1.FMATERIALID ,ϴ,t2.,ͺ,ɱ,ڽ,ڲɹ,ں,ĩ - ,;,,,δ,,۳,ֿⲦ,ֿⲦ,깺δת - ,ܶ,ռ,ÿ,t2.ֿ,ֿ,ֿ,װʽ,t1.FProMaterialId,t1.FOrderNum Ʒ,FOrderNum - ,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6 - FROM #YC_T_MRP t1 - INNER JOIN #Stock_Status_temp t2 ON t1.ϱ=t2.ϴ - UNION ALL - SELECT t1.FMATERIALID ,t1.ϱ ϴ,t2.FNAME ,t2.FSPECIFICATION ͺ - ,ISNULL(TM.FOLDNUMBER,'') ɱ,0 ڽ,0 ڲɹ,0 ں,0 ĩ - ,0 ;,0 ,0 , 0 δ,0 ,0 ۳,0 ֿⲦ - ,0 ֿⲦ,0 깺δת,0 ܶ,0 ռ,0 ÿ,ts.FSTOCKID,ts.FNUMBER AS ֿ - ,tsl.FNAME AS ֿ,''װʽ,t1.FProMaterialId,t1.FOrderNum Ʒ,FOrderNum - ,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6 - FROM #YC_T_MRP t1 - INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = t1.FMATERIALID ) - INNER JOIN T_BD_MATERIAL_L t2 ON (t2.FMATERIALID = t1.FMATERIALID ) - INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID - INNER JOIN T_BD_STOCK ts ON tms.FSTOCKID=ts.FSTOCKID - LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TS.FSTOCKID AND TSL.FLOCALEID = 2052) - WHERE 1=1 - AND ϱ NOT IN (SELECT DISTINCT ϴ FROM #Stock_Status_temp t2) - AND TMS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID))t -ORDER BY FOrderNum,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6 - -SELECT - t0.FMATERIALID AS 'ProMateralId' - ,t1e.FMATERIALID - ,t1e_c.FSTOCKID - --,t1.FBILLNO - ,SUM(t1e.FBASENEEDQTY) AS 'FBASENEEDQTY'--λ - ,SUM(t1e_q.FBASEPICKEDQTY) AS 'FBASEPICKEDQTY'--λ - ,SUM(t1e_q.FBASENOPICKEDQTY) AS 'FBASENOPICKEDQTY'--λδ - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOIDS' - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FENTRYID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOENTRYIDS' - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FBILLNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MONOS' - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FSALEORDERNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID AND tt.FSALEORDERNO !='' for xml path('')),1,1,''),'') AS 'SALENOS' - INTO #TEMPMOQTY -FROM #TEMPMO t0 - INNER JOIN T_PRD_PPBOMENTRY t1e ON t1e.FMOENTRYID = t0.FENTRYID --嵥 - INNER JOIN T_PRD_PPBOMENTRY_Q t1e_q ON t1e_q.FENTRYID = t1e.FENTRYID - INNER JOIN T_PRD_PPBOMENTRY_C t1e_c ON t1e_c.FENTRYID = t1e.FENTRYID -GROUP BY - t0.FMATERIALID,t1e.FMATERIALID,t1e_c.FSTOCKID -SELECT t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS - INTO #TEMPMONO2Pro -FROM #TEMPMOQTY t0 -GROUP BY t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS - -SELECT AS 'FIDENTITYID' - ,ϴ,,ͺ,ɱ - ,ڽ,ڲɹ,ں,ĩ - ,۳,ֿⲦ,ֿⲦ,깺δת - ,;,,,δ,,ܶ,ռ,ÿ - ,ֿ,ֿ,װʽ,Ʒ - ,t1.FBASENEEDQTY - ,t1.FBASENOPICKEDQTY - ,t1.FBASEPICKEDQTY - ,CASE CHARINDEX(',',t2.MONOS) WHEN 0 THEN t2.MONOS ELSE '' END AS 'MONO' - ,CASE CHARINDEX(',',t2.SALENOS) WHEN 0 THEN t2.SALENOS ELSE '' END AS 'SALENO' - ,t2.SALENOS,t2.MOENTRYIDS,t2.MOIDS - --INTO {0} -FROM #Stock_Bom t0 - LEFT JOIN #TEMPMONO2Pro t2 on t2.ProMateralId = t0.FProMaterialId - LEFT JOIN #TEMPMOQTY t1 ON t0. = t1.FMATERIALID AND t0.ֿ = t1.FSTOCKID AND t0.FProMaterialId = t1.ProMateralId - -DROP TABLE #TEMPMO -DROP TABLE #TEMPMOQTY -DROP TABLE #TEMPMONO2Pro -DROP TABLE #Stock_Bom -DROP TABLE #TMP -DROP TABLE #TMP1 -DROP TABLE #TMPLINK -DROP TABLE #TMPLINK1 -DROP TABLE #TMP4 -DROP TABLE #TMP5 -DROP TABLE #TMP6 -DROP TABLE #TMP7 -DROP TABLE #TMP8 -DROP TABLE #tmpSal -DROP TABLE #tmpSal1 -DROP TABLE #tmpSal2 -DROP TABLE #tmpSal3 -DROP TABLE #tmpMO -DROP TABLE #tmpMO1 -DROP TABLE #tmpMO2 -DROP TABLE #tmpMO3 - -DROP TABLE #TMPREQ -DROP TABLE #TMPREQ1 -DROP TABLE #TMPREQ2 -DROP TABLE #TMPREQ3 -DROP TABLE #TMPRECEIVE -DROP TABLE #TMPRECEIVE1 -DROP TABLE #TMPRECEIVE2 -DROP TABLE #TMPRECEIVE3 -DROP TABLE #tmppoorder -DROP TABLE #tmppoorder1 -DROP TABLE #tmppoorder2 -DROP TABLE #tmppoorder3 -DROP TABLE #tmpPPBOM -DROP TABLE #tmpPPBOM1 -DROP TABLE #tmpPPBOM2 -DROP TABLE #tmpPPBOM3 -DROP TABLE #tmpSUBBOM -DROP TABLE #tmpSUBBOM1 -DROP TABLE #tmpSUBBOM2 -DROP TABLE #tmpSUBBOM3 -DROP TABLE #Stock_Status_temp -SET nocount off \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/aaaaaa.sql b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/aaaaaa.sql deleted file mode 100644 index d9129a5..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/aaaaaa.sql +++ /dev/null @@ -1,3218 +0,0 @@ -declare - @moBillNo varchar(100) - ,@salesBillNo varchar(100) - ,@ProMateriaNumber varchar(100) - ,@startMaterialId int - ,@endMaterialId int - ,@FSDate varchar (30) - ,@FEDate varchar (30) - ,@FSStock varchar (max) - ,@FName varchar (255) -SET @moBillNo ='' -SET @salesBillNo ='' -SET @moBillNo = 0 -SET @moBillNo = 0 -SET @FSDate = '2024-02-06' -SET @FEDate = '2024-03-06' ---SET @FSNumber = 'TSH182H000208O' ---SET @FENumber = 'TSH182H000208O' -SET @FSStock ='' -SET @FName = '' - -SET nocount ON -declare @FCloseBALDate varchar (30) -declare @FClosedate varchar (30) - ---ѯʼһڵĩ -If NOT Exists( - SELECT FORGID,MAX(FCLOSEDATE) fclosedate - FROM T_STK_CLOSEPROFILE - WHERE 1=1 - --AND FORGID IN (1) - AND FCATEGORY = 'STK' AND (FCLOSEDATE < @FSDate) - GROUP BY FORGID) -BEGIN - SET @FClosedate='2020-01-01' - SET @FCloseBALDate='2020-01-01' - --print @FClosedate -END -ELSE -BEGIN - --SET @FClosedate='2019-07-01' - SELECT @FClosedate= CONVERT(varchar (30),DATEADD(D,1,MAX(FCLOSEDATE)),23) FROM - T_STK_CLOSEPROFILE WHERE (( - 1 =1 - --AND FORGID IN (1) - AND FCATEGORY = 'STK') AND (FCLOSEDATE < @FSDate)) GROUP BY FORGID - SET @FCloseBALDate=CONVERT(varchar (30),DATEADD(D,-1,@FClosedate),23) - --print @FClosedat -END - - --ʱѡȡֿ - -IF EXISTS(SELECT * FROM tempdb..SYSOBJECTS WHERE id=OBJECT_ID('tempdb..#tmpStockID')) -BEGIN - DROP TABLE #tmpStockID - print '' -END -Create Table #tmpStockID ( - FID INT IDENTITY(1,1) - ,FStockID INT -) -DECLARE @Strsql varchar(max) -SET @Strsql= 'INSERT INTO #tmpStockID SELECT DISTINCT FSTOCKID FROM T_BD_STOCK WHERE 1=1 ' +@FSStock -EXEC(@Strsql) - ---״̬ - -if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#Stock_Status_temp')) -begin - DROP TABLE #Stock_Status_temp - print '' -END - -Create Table #Stock_Status_temp ( - INT IDENTITY(1,1), - INT, - ϴ varchar(100) null, - varchar(255) null, - ͺ varchar(255) null, - ɱ varchar(100) null, - --λ varchar(30) null, - ڽ DECIMAL (18,2) Null, - ڲɹ DECIMAL (18,2) Null, - ں DECIMAL (18,2) Null, - ĩ DECIMAL (18,2) Null, - ; DECIMAL (18,2) Null, - DECIMAL (18,2) Null, - DECIMAL (18,2) Null, - δ DECIMAL (18,2) Null, - DECIMAL (18,2) Null, - ۳ DECIMAL (18,2) Null, - ֿⲦ DECIMAL (18,2) Null, - ֿⲦ DECIMAL (18,2) Null, - 깺δת DECIMAL (18,2) Null, - ܶ DECIMAL (18,2) Null, - ռ DECIMAL (18,2) Null, - ÿ DECIMAL (18,2) Null, - ֿ INT, - ֿ varchar(100) null, - ֿ varchar(255) null, - װ INT, - װʽ varchar(255) null -) - -if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#TMP')) -begin - DROP TABLE #TMP - print '' -END - -CREATE TABLE #TMP ( - FID INT IDENTITY(1,1), - FSTOCKORGID INT NOT NULL DEFAULT 0, - FBILLENTRYID INT NOT NULL DEFAULT 0, - FORDERBY INT NOT NULL DEFAULT 0, - FSTOCKIO CHAR (1) NULL, - FMATERIALID INT NOT NULL DEFAULT 0, - FAUXPROPID INT NOT NULL DEFAULT 0, - FDATE DATETIME NULL, - FSTOCKID INT NOT NULL DEFAULT 0, - FSTOCKLOCID INT NOT NULL DEFAULT 0, - FSTOCKSTATUSID INT NOT NULL DEFAULT 0, - FBILLNAME NVARCHAR (100) NULL, - FBILLID INT NOT NULL DEFAULT 0, - FBILLSEQID INT NULL, - FBILLNO NVARCHAR (100) NULL, - FBASEQCQTY DECIMAL (23,10) NOT NULL DEFAULT 0, - FBASEINQTY DECIMAL (23,10) NOT NULL DEFAULT 0, - FBASEOUTQTY DECIMAL (23,10) NOT NULL DEFAULT 0 -) - ---BOM㼶 - -IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#YC_T_MRP')) -BEGIN - DROP TABLE #YC_T_MRP -END - -CREATE TABLE #YC_T_MRP( - FID INT IDENTITY(1,1), - FBOMNumber NVARCHAR(255), - FMATERIALID INT, - ϱ NVARCHAR(255), - NVARCHAR(255), - Ʒ DECIMAL(28,10) DEFAULT (0), - DECIMAL(28,10),--BOM - ĸ DECIMAL(28,10),--BOMĸ - FQty DECIMAL(28,10),-- - FLevle INT, - FERPCLSID INT, - FProMaterialId INT, - FOrderNum NVARCHAR(255), - FBOMID INT, - BOM㼶 NVARCHAR(200) NULL, - FSEQ1 INT, - FSEQ2 INT, - FSEQ3 INT, - FSEQ4 INT, - FSEQ5 INT, - FSEQ6 INT, - FParentNumber NVARCHAR(255) -) - -IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#BOMTMP')) -BEGIN - DROP TABLE #BOMTMP -END - -/* ţ۶ţϽɸѡӦ*/ -SELECT - t0.FBILLNO - ,t0.FID - ,t0e.FQTY - ,t0e.FENTRYID - ,t0e.FMATERIALID - ,t0e_a.FREPQUAQTY - --,t0e_a.FREQSRC --1.۶ - ,(CASE WHEN t1e.FSRCBILLNO is null THEN (CASE t0e_a.FREQSRC WHEN 1 THEN t0e.FSALEORDERNO ELSE '' END) ELSE t1e.FSRCBILLNO END) AS 'FSALEORDERNO' - INTO #TEMPMO -FROM - T_PRD_MO t0 - INNER JOIN T_PRD_MOENTRY t0e ON t0.FID = t0E.FID - INNER JOIN T_PRD_MOENTRY_A t0e_a ON t0e_a.FENTRYID = t0e.FENTRYID - LEFT JOIN T_SAL_DELIVERYNOTICEENTRY t1e ON t1e.FENTRYID = t0e.FSRCBILLENTRYID AND t0e.FSRCBILLID = t0e.FSALEORDERID -WHERE 1 = 1 - AND t0.FDOCUMENTSTATUS = 'C' - AND (t0e_a.FSTATUS < 5) - --AND t0e.FMATERIALID = 100258 - AND t0.FBILLNO = 'MO000023' - -/*ȡ״̬BOMʱ*/ -SELECT - ID=IDENTITY(INT,1,1) - ,T0.FID - ,T0.FNUMBER - ,T0.FMATERIALID - ,ROW_NUMBER() OVER(PARTITION BY T0.FMATERIALID ORDER BY t0.FID DESC) AS ROWID - ,t0.FDOCUMENTSTATUS - ,t0.FYIELDRATE - INTO #BOMTmp -FROM T_ENG_BOM T0 - INNER JOIN T_BD_MATERIAL TM ON t0.FMATERIALID=TM.FMATERIALID --ϱ -WHERE (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A') - --AND tm.FNUMBER = 'TSH182H000208O' - AND tm.FMATERIALID IN (SELECT DISTINCT FMATERIALID FROM #TEMPMO) -ORDER BY FMATERIALID,FNUMBER - ---/*ʱУͬһϴֻһ°汾BOM*/ -DELETE FROM #BOMTmp WHERE ROWID != 1 - ---ѯһƷϢ -INSERT INTO #YC_T_MRP( - FBOMNumber,FMATERIALID,ϱ,,Ʒ - ,,ĸ,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum - ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) -SELECT - t0.FNUMBER,T0.FMATERIALID,t1.FNUMBER 'ϱ',t3.FNAME '',t0.FYIELDRATE 'Ʒ' - ,1 '',1 'ĸ',1 'FQty','0' 'FLevle',T2.FERPCLSID 'FERPCLSID',t1.FMATERIALID,t1.FNUMBER 'ϱ' - ,t0.FID 'FBOMID',0 'FSEQ1',0 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6','' 'FParentNumber' -FROM T_ENG_BOM t0 - INNER JOIN T_BD_MATERIAL t1 ON t0.FMATERIALID=t1.FMATERIALID --ϱ - LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID --ϱ - LEFT OUTER JOIN T_BD_MATERIAL_L t3 ON (t1.FMATERIALID = t3.FMATERIALID AND t3.FLocaleId = 2052)--ϱ - INNER JOIN #BOMTmp t6 ON t0.FMATERIALID=t6.FMATERIALID AND t0.FNUMBER=t6.FNUMBER -WHERE 1=1 - AND (t0.FDOCUMENTSTATUS = 'C') -ORDER BY T0.FNUMBER - ---ݵһƷѯһƷIJϢ -DECLARE @num INT,@level int,@LoopCount int -SET @num = 1 -SET @level =1 -SET @LoopCount = 0; - -INSERT INTO #YC_T_MRP( - FBOMNumber,FMATERIALID,ϱ,,Ʒ - ,,ĸ,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum - ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) -SELECT - t10.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t10.FYIELDRATE 'Ʒ' - ,t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty' - ,@level AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t5.FMATERIALID,T5.FOrderNum - ,0 'FBOMID',T5.FSEQ1 'FSEQ1',t6.FSEQ 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t5.ϱ 'FParentNumber' -FROM #YC_T_MRP t5 - LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FBOMID=t6.FID--BOM¼ - INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --ϱ - LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ - LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ - LEFT JOIN T_ENG_BOM t10 ON t10.FID=t6.FID--BOM -WHERE (t7.FFORBIDSTATUS = 'A') - AND T5.FLevle = 0 AND T5.FERPCLSID >= 2 - AND t10.FDOCUMENTSTATUS = 'C' - -WHILE (@num > 0 AND @LoopCount < 10) -BEGIN - - SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID - INTO #BOMTmp1 FROM #YC_T_MRP t1 - INNER JOIN T_ENG_BOM t0 ON t1.FMATERIALID=t0.FMATERIALID--BOMͷ - WHERE 1=1 AND (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A') AND T1.FLevle=@level AND T1.FERPCLSID>=2 - - DELETE FROM #BOMTmp1 WHERE id NOT IN (SELECT max(id) FROM #BOMTmp1 GROUP BY FMATERIALID) - - INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,ϱ,,Ʒ,,ĸ,FQty,FLevle - ,FERPCLSID,FProMaterialId,FOrderNum,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) - SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t5.FYIELDRATE 'Ʒ' - ,t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty' - ,@level + 1 AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t1.FMATERIALID,T1.FOrderNum,0 'FBOMID' - ,t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t6.FSEQ 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t1.ϱ 'FParentNumber' - FROM #YC_T_MRP t1 - INNER JOIN T_ENG_BOM t5 ON t1.FMATERIALID=t5.FMATERIALID--BOMͷ - LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FID=t6.FID--BOM¼ - INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --ϱ - LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ - LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ - INNER JOIN #BOMTmp1 t10 ON t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER - WHERE 1 = 1 AND (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=@level AND T1.FERPCLSID>=2 AND t5.FDOCUMENTSTATUS = 'C' - - SET @num = @@ROWCOUNT - SET @level += 1 - SET @LoopCount += 1 - - DROP TABLE #BOMTmp1 - -END - -UPDATE #YC_T_MRP SET BOM㼶 =REPLICATE('.',FLevle)++ convert(varchar(4),FLevle) - ---ⵥ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT - TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, - ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid, - ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, - TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty -FROM T_PRD_INSTOCK TS - INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID - LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - --((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) - AND ((( 1=1 /*TS.FSTOCKORGID IN (1)*/ AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0) - ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty -FROM T_PRD_INSTOCK TS - INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---ⵥ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE. -FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname, -TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty ---t_STK_InStock -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID - -INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEUNITQTY) fbaseqcqty -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (( -((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE. -FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---ⵥ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID, -FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid,TSE.FRECEIVESTOCKSTATUS fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00')AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (TSE.FRECEIVESTOCKID > 0)) AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') - AND TSE.FRECEIVESTOCKFLAG = '1') - ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid, -TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid, -TSE.FRECEIVESTOCKSTATUS fstockstatusid,'ʼ',(0 - SUM(TSE.FBASEUNITQTY)) fbaseqcqty - -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (TSE.FRECEIVESTOCKID > 0)) -AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') AND TSE.FRECEIVESTOCKFLAG = '1') -GROUP BY TS.FSTOCKORGID,TSE.FRECEIVEOWNERTYPEID,TSE.FRECEIVEOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FRECEIVEAUXPROPID,0), -ISNULL(TSE.FRECEIVELOT_TEXT,' '),ISNULL(TSE.FRECEIVEMTONO,' '),TSE.FRECEIVESTOCKID,ISNULL(TSE.FRECEIVESTOCKLOCID,0), -TSE.FRECEIVESTOCKSTATUS,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ϵ - - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID, -FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) ---ϵ -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND - TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty - -FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ( -((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID, - TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE - ---۳ⵥ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'۳ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty -FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) -AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) ---AND TS.FBILLNO='SA1907050103' - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, - ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid, - 'ʼ',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty - FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID - INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((( - ((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') - AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE, - TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ϵ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_PRD_FEEDMTRL TS -INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) -LEFT OUTER JOIN T_PRD_FEEDMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) ---AND ts.FBILLNO IN ('M31910140010','M31907010006') - - ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid,'ʼ' fbillname,SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty - FROM T_PRD_FEEDMTRL TS INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID - INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((/*TS.FSTOCKORGID IN (1) AND*/ - TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '), - TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ϵ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty -FROM T_PRD_RETURNMTRL TS -INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -LEFT OUTER JOIN T_PRD_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) ---AND ts.FBILLNO='M21907200004' - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty - FROM T_PRD_RETURNMTRL TS INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), - ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, - TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ϵ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid, -0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,(0 - TSE.FBASEUNITQTY) fbaseinqty,0 fbaseoutqty -FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) -AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId)))) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty -FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((--TS.FSTOCKORGID IN (1) - 1 = 1 - AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) - AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE= 'B' AND TMB.FISINVENTORY = '1') - AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId)))) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), - ISNULL(TSE.FLOT_TEXT,''),ISNULL(TSE.FMTONO,''),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, - TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ϵ ±־ FSTOCKFLAG 0:δ 1:Ѹ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty -FROM T_PUR_RECEIVE TS INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TMB.FMaterialId = TSE.FMaterialId - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TMB.FISINVENTORY = '1') -AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1') - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEUNITQTY) fbaseqcqty - -FROM T_PUR_RECEIVE TS -INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND */TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1') -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), - ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, - TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---˻ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - ---˻ -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'˻' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEUNITQTY) fbaseoutqty -FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) - ---AND TS.FBILLNO ='SB1908230003' - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEUNITQTY) fbaseqcqty - FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID - INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') - AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - - ---ⵥ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty -FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty -FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID, -TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ϵ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEACTUALQTY fbaseoutqty - -FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',(0 - SUM(TSE.FBASEACTUALQTY)) fbaseqcqty -FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID, -ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---ϵ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid, - 0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ - fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEQTY) fbaseoutqty - -FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASEQTY) fbaseqcqty -FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((/*TS.FSTOCKORGID IN (1) AND */TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), - TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---װж - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid,'װж' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE -(((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - - FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID, - TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---װж - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FDETAILID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid,'װж' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, - -CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseoutqty -FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID -INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID - -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, - ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID - INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID, - TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE - - - ---ŵ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid,'ŵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, - 'ʼ',SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - -FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE, - ISNULL(TSE.FBOMID,0) - - - ---ⵥ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseinqty,0 fbaseoutqty - -FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_MISCELLANEOUSENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE<= '2019-11-12 23:59:59')) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID, -ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---ⵥ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,0 fbaseinqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseoutqty -FROM T_STK_MISDELIVERY TS -INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_MISDELIVERYENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((/*TS.FSTOCKORGID IN (1) AND*/ TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - --ʼ -INSERT INTO #TMP (FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN (0 - TSE.FBASEQTY) ELSE TSE.FBASEQTY END) fbaseqcqty - FROM T_STK_MISDELIVERY TS INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - --AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - AND ((( TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), - TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---мӹⵥ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'мӹⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,FBASEQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_OEMINSTOCK TS -INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_OEMINSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) ---AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(FBASEQTY) fbaseqcqty -FROM T_STK_OEMINSTOCK TS INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND ((( TS.FDOCUMENTSTATUS IN ('C')) ---AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---мӹϵ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'мӹϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,(0 - FBASEQTY) fbaseinqty,0 fbaseoutqty - -FROM T_STK_OEMINSTOCKRTN TS -INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_OEMINSTOCKRTNENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND FRETURNTYPE = 'StockReMat') ---AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND FRETURNTYPE = 'StockReMat') - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'',(0 - SUM(FBASEQTY)) fbaseqcqty - FROM T_STK_OEMINSTOCKRTN TS INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND ((( TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - --AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - AND FRETURNTYPE = 'StockReMat') - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID, - ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), - TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---̬ת - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'̬ת' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_STATUSCONVERT TS -INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', -SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty -FROM T_STK_STATUSCONVERT TS INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) ---AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---״̬ת - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'״̬ת' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STOCKCONVERTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) ---AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', -SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty -FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) ---AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), -TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---ӯ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ӯ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEGAINQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_STKCOUNTGAIN TS -INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND ((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) ---AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(TSE.FBASEGAINQTY) fbaseqcqty -FROM T_STK_STKCOUNTGAIN TS INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND ((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) ---AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---̿ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'̿' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,0 fbaseinqty,TSE.FBASELOSSQTY fbaseoutqty -FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND ((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) ---AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, - 'ʼ',SUM(0 - TSE.FBASELOSSQTY) fbaseqcqty - FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND ((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) - --AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID, - ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ֱӵ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid, -TSE.FDESTSTOCKSTATUSID fstockstatusid,'ֱӵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty - -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - - -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') ---AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS -.FOBJECTTYPEID = 'STK_TransferDirect') - - - ---ʼ - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FDESTSTOCKID fstockid, -ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ', -SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END - -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) ---AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect') -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0), -TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - - - ---ֱӵ - - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID, -FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio, -TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid, -'ֱӵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') ---AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect') - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio, -TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'ʼ', - -SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END - -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty - - -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) ---AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect') -GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID, -TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE - - ---ֲʽ뵥 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid, -TSE.FDESTSTOCKSTATUSID fstockstatusid,'ֲʽ뵥' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GEN -ERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty - -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') ---AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(TSE.FBASEQTY) fbaseqcqty - FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - --AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID, - TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - ---ֲʽ뵥 - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'ֲʽ뵥' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseinqty,0 fbaseoutqty -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) ---AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) -AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - - - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'',SUM((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseqcqty - FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((1=1 - --AND (((TS.FSTOCKOUTORGID IN (1) - AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) - AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FSRCMTONO,' '), - TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FSRCPRODUCEDATE,TSE.FSRCEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE - ---ֲʽ - - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid, -TSE.FSRCSTOCKSTATUSID fstockstatusid,'ֲʽ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseinqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty - -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FDOCUMENTSTATUS IN ('C')) ---AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid, - 'ʼ',SUM(0 - TSE.FBASEQTY) fbaseqcqty - FROM T_STK_STKTRANSFEROUTENTRY TSE INNER JOIN T_STK_STKTRANSFEROUT TS ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON -TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) - --AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID, - TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - ---ֲʽ - - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid, -'ֲʽ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A') - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid, - 'ʼ',SUM(TSE.FBASEQTY) fbaseqcqty - FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A') - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0), - TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - - ---ֲʽ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKINORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid, -ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid, -'ֲʽ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B') - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKINORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(TSE.FBASEQTY) fbaseqcqty -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B') -GROUP BY TS.FSTOCKINORGID,TSE.FOWNERTYPEINID,TSE.FOWNERINID,TSE.FDESTMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FDESTMTONO,' '),TSE.FDESTSTOCKID, -ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEINID,TSE.FKEEPERINID,TSE.FDESTPRODUCEDATE,TSE.FDESTEXPIRYDATE,ISNULL(TSE.FDESTBOMID,0),TS.FDATE - - - ---Ʋֿ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid, -TSE.FDESTSTOCKSTATUSID fstockstatusid,'Ʋֿ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, - 0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty -FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - - FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '), - TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - - - - --Ʋֿ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio, -TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid, - TSE.FSRCSTOCKSTATUSID fstockstatusid, - 'Ʋֿ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty, - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty - FROM T_REM_STKTRANSFERIN TS - INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty - FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE - - ---ίⲹϵ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ίⲹϵ' fbillname,TS.FID fbillid, -TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) -LEFT OUTER JOIN T_SUB_FEEDMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, - -'ʼ',SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty - FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID, - TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---ίϵ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ίϵ' fbillname,TS.FID fbillid, -TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) -LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(0 - TSE.FBASESTOCKACTUALQTY) fbaseqcqty - FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID - INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSEQ.FOWNERTYPEID,TSEQ.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '), - TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSEQ.FKEEPERTYPEID,TSEQ.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---ίϵ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ίϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -0 fbaseinqty,(0 - TSE.FBASESTOCKQTY) fbaseoutqty -FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -LEFT OUTER JOIN T_SUB_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSE.FBASESTOCKQTY) fbaseqcqty -FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID, -TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSEA.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), -TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---߲Ʒⵥ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby, - 'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'߲Ʒⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty -FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_REM_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, - 'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty - FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), - TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ----߲Ʒ˿ⵥ - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO, - FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'߲Ʒ˿ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty -FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_REM_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(TSE.FBASEREALQTY) fbaseqcqty -FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID, -ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---ϵ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby, -'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS -.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty - -FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_REM_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty -FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) -AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID, -ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID,TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE - - ---ϵ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty - -FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -LEFT OUTER JOIN T_REM_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty -FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), -TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---ίⳬĵ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ίⳬĵ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty - -FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SUB_EXCONSUMEENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty -FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOwnerTypeId,TSE.FOwnerId,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), -ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---˿ⵥ - - INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'˿ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty -FROM -T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID -LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND TS.FEntrustRetStockId = 0) - - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(0 - TSE.FBASEREALQTY) fbaseqcqty -FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) -AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS= 'A')) AND TS.FEntrustRetStockId = 0) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '), - TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---˿ⵥ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, - -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'˿ⵥ' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEOUTQTY) fbaseinqty,0 fbaseoutqty - -FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_SP_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ',SUM(0 - TSE.FBASEOUTQTY) fbaseqcqty - FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TSE.FSTOCKORGID fstockorgid,TSE.FBALDATE fdate,-200 forderby, - 'I' fstockio,TM.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TBS.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'',SUM(TSE.FBASEENDQTY) fbaseqcqty -FROM T_STK_INVBAL TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID) -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID) -LEFT OUTER JOIN T_ENG_BOM TB ON (TB.FMASTERID = TSE.FBOMID AND TB.FUSEORGID = TSE.FSTOCKORGID) -LEFT OUTER JOIN V_ITEMCLASS_OWNER VO ON ((VO.FMASTERID = TSE.FOWNERID AND VO.FFORMID = TSE.FOWNERTYPEID) AND (VO.FUSEORGID = TSE.FSTOCKORGID OR VO.FUSEORGID = 0 -OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VO.FFORMID AND BT.FSTRATEGYTYPE = 1)))) -LEFT OUTER JOIN V_ITEMCLASS_OWNER_L VO_L ON (VO.FITEMID = VO_L.FITEMID AND VO_L.FLOCALEID = 2052) -LEFT OUTER JOIN V_ITEMCLASS_KEEPER VK ON ((VK.FMASTERID = TSE.FKEEPERID AND VK.FFORMID = TSE.FKEEPERTYPEID) AND (VK.FUSEORGID = TSE.FSTOCKORGID OR VK.FUSEORGID = 0 -OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VK.FFORMID AND BT.FSTRATEGYTYPE = 1)))) -LEFT OUTER JOIN V_ITEMCLASS_KEEPER_L VK_L ON (VK.FITEMID = VK_L.FITEMID AND VK_L.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_LOTMASTER TBLM ON (ISNULL(TSE.FLOT,0) = TBLM.FMASTERID AND TBLM.FUSEORGID IN (1)) - -WHERE ((TSE.FSTOCKORGID IN (1) AND (FBALTYPE IN(0,1) AND (FSTOCKORGID = 1 AND TSE.FBALDATE =@FCloseBALDate ))) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND TM.FFORBIDSTATUS = 'A') - - -GROUP BY TSE.FSTOCKORGID,TSE.FOWNERTYPEID,VO.FITEMID,TSE.FBALDATE,TM.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TBLM.FNUMBER,' '),ISNULL(TSE.FMTONO,' '), -TBS.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,VK.FITEMID,TSE.FLOT,TMS.FISBATCHMANAGE,TMS.FISKFPERIOD, -TMS.FISEXPPARTOFLOT,TBLM.FPRODUCEDATE,TSE.FPRODUCEDATE,TBLM.FEXPIRYDATE,TSE.FEXPIRYDATE,ISNULL(TB.FID,0) - ---ϲг - -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp1 -FROM #TMP ---WHERE FDATE <='2019-08-30' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - - - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ -FROM #tmp1 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - - ---ڽ ---SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY ---INTO #tmp2 - ---FROM #TMP -----WHERE FDATE <=@FSDate ---GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID ---ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - ---SELECT * -UPDATE t1 SET t1.ڽ=t2.FBASEQCQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp1 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - ---ĩ -UPDATE t1 SET t1.ĩ=t2.FBASEQCQTY+t2.FBASEINQTY-t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN - #tmp1 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - ---ڲɹ -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp4 FROM #TMP TS WHERE FORDERBY<>'-200' AND fstockio='I' AND ( FBILLNAME NOT like'%%' AND FBILLNAME<>'̬ת') -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID, -FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID ---ڲɹ - -UPDATE t1 SET t1.ڲɹ=t2.FBASEINQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp4 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - ---ں -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp5 FROM #TMP TS WHERE fstockio='O' AND ( FBILLNAME NOT like'%%' AND FBILLNAME<>'̬ת') -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID ---ں - -UPDATE t1 SET t1.ں=t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp5 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - - ---ֿⲦֿⲦ - -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp6 FROM #TMP TS WHERE FORDERBY<>'-200' AND ( FBILLNAME like'%%' ) -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - ---ֿⲦ--ֿⲦ - -UPDATE t1 SET t1.ֿⲦ=t2.FBASEINQTY,t1.ֿⲦ=t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp6 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - - --- -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp7 FROM #TMP TS WHERE ( FBILLNAME IN('ϵ','ίϵ' )) -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - --- -UPDATE t1 SET t1.=t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp7 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - - ---۳ - -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp8 FROM #TMP TS WHERE ( FBILLNAME ='۳ⵥ' ) -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - ---۳ -UPDATE t1 SET t1.۳=t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp8 t2 ON t1.=t2.FMATERIALID AND t1.ֿ=t2.FSTOCKID AND t1.װ=T2.FAUXPROPID - ---ܶ ---۶ܶ ---******************************************* - ---ѯ ---(C.FBASEREMAINOUTQTY+C.FBaseReturnQty)ۼ˿+ʣδ -SELECT (A.FBILLNO) AS ۵,(A.FID) ,(B.FENTRYID) ۷¼,(B.FSEQ) , -B.FMATERIALID AS ,B.FBASEUNITQTY ,(C.FBASEREMAINOUTQTY+C.FBaseReturnQty) AS δ,FBaseReturnQty, -ISNULL(B.FSTOCKID,0) ֿ,B.FAUXPROPID,A.FCLOSESTATUS,FCLOSEDATE,A.FDATE,B.FMRPCLOSESTATUS ҵر -INTO #tmpSal -FROM T_SAL_ORDER A -INNER JOIN T_SAL_ORDERENTRY B ON A.FID =B.FID -LEFT JOIN T_SAL_ORDERENTRY_R C ON C.FID=B.FID AND C.FENTRYID =B.FENTRYID -LEFT JOIN T_SAL_ORDERENTRY_E D ON D.FID=B.FID AND D.FENTRYID =B.FENTRYID - -WHERE 1=1 AND A.FCANCELSTATUS='A' AND A.FDOCUMENTSTATUS='C' --AND B.FMRPTERMINATESTATUS='A' -AND (B.FTERMINATEDATE >@FEDate OR ISNULL(B.FTERMINATEDATE,'') ='') -AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')--رڿʼ֮ǰݲ -AND A.FDATE <=@FEDate --AND A.FBILLNO='SO1909200018' -ORDER BY A.FDATE,A.FID,B.FENTRYID,B.FMATERIALID - - - ---δ ---SELECT * -UPDATE t1 SET t1.δ=δ+t2.fbaseoutqty -FROM #tmpSal t1 -INNER JOIN ( -SELECT TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID,SUM(TSE.FBASEUNITQTY) fbaseoutqty -FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID - -WHERE TS.FDATE>@FEDate AND -( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -GROUP BY TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID ) t2 ON t2.FSOORDERNO =t1.۵ AND t2.FSOENTRYID=t1.۷¼ AND t1.=t2.FMATERIALID - ---۳˻ ---˻ ---SELECT * -UPDATE t1 SET t1.δ=δ+t2.fbaseoutqty -FROM #tmpSal t1 -INNER JOIN ( -SELECT TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID,SUM((TSE.FBASEUNITQTY)) fbaseoutqty -FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID - -WHERE TS.FDATE>@FEDate -AND ( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -GROUP BY TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID -) t2 ON t2.FORDERNO =t1.۵ AND t2.FSOENTRYID=t1.۷¼ AND t1.=t2.FMATERIALID - - - -SELECT ,,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ -INTO #tmpSal1 FROM #tmpSal B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ ) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -ORDER BY - - -SELECT ,,δ,FAUXPROPID,ֿ -INTO #tmpSal3 FROM #tmpSal1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) ---LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) ---LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -ORDER BY - - - -SELECT ,SUM(),SUM(δ)δ,FAUXPROPID,ֿ -INTO #tmpSal2 FROM #tmpSal3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - ---۶ܶ -UPDATE t1 SET t1.ܶ=t2.δ -FROM #Stock_Status_temp t1 -INNER JOIN #tmpSal2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,ܶ) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS - ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -FROM #tmpSal2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. ) - -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - ---******************************************* - - - ---; ---************************************************ - ---ɹ -SELECT ddd.FPurchaseOrgID fstockorgid,ddd.FBILLNO ɹ,ddd.FID AS ɹ,B.FENTRYID ɹ¼,b.FMATERIALID , -ISNULL(b.FAUXPROPID,0) fauxpropid,ddd.FDATE fdate,TMS.FSTOCKID ֿ,FBASEUNITQTY ɹ, -FREMAINSTOCKINQTY ʣ,FBASESTOCKINQTY ,ddd.FCLOSEDATE -INTO #tmppoorder -FROM t_pur_poorderentry b -INNER JOIN t_pur_poorder ddd ON (ddd.FID = b.FID AND FbusinessType NOT IN ('ZCCG','FYCG')) -INNER JOIN t_pur_poorderentry_r r ON b.fentryid = r.fentryid -INNER JOIN t_pur_poorderentry_d td ON b.fentryid = td.fentryid -INNER JOIN T_BD_MATERIALSTOCK TMS ON b.FMATERIALID = TMS.FMATERIALID -WHERE (ddd.FPurchaseOrgID IN (1) AND (((ddd.FPurchaseOrgID IN (1)) -AND (ddd.FDATE <=@FEDate)) AND ddd.fdocumentStatus = 'C')) -AND (b.FTERMINATEDATE >@FEDate OR ISNULL(b.FTERMINATEDATE,'') ='') -AND (ddd.FCLOSEDATE>@FEDate or ISNULL(ddd.FCLOSEDATE,'')='') - ---ⵥ ---SELECT * - -UPDATE t1 SET t1.ʣ=ʣ+t2.fbaseinqty -FROM #tmppoorder t1 -INNER JOIN ( - SELECT TSE.FMATERIALID,tse.FPOORDERENTRYID,tse.FPOORDERNO,SUM(TSE.FBASEUNITQTY) fbaseinqty - FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID - - INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID) - INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 AND TS.FDATE > @FEDate - AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND TS.FDOCUMENTSTATUS IN ('C') - GROUP BY TSE.FPOORDERNO,TSE.FPOORDERENTRYID,TSE.FMATERIALID -)t2 ON t2.FPOORDERNO =t1.ɹ AND t2.FPOORDERENTRYID=t1.ɹ¼ AND t1.=t2.FMATERIALID - - ---ϵ - --SELECT * -UPDATE t1 SET t1.ʣ=ʣ-t2.fbaseinqty -FROM #tmppoorder t1 -INNER JOIN( - SELECT tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID fmaterialid,SUM( TSE.FBASEUNITQTY) fbaseinqty - - FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID - WHERE 1=1 AND (TS.FDATE >@FEDate) - AND TS.FDOCUMENTSTATUS IN ('C') AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND (TSE.FSTOCKID > 0) - AND TSF.FISGENFORIOS = '0'AND (TSE.FSTOCKFLAG = '1' OR (TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') ) - GROUP BY tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID -)t2 ON t2.FORDERNO =t1.ɹ AND t2.FPOORDERENTRYID=t1.ɹ¼ AND t1.=t2.FMATERIALID - - ---º; - -SELECT ,ɹ,ʣ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ -INTO #tmppoorder1 FROM #tmppoorder B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT - JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - - -SELECT ,ɹ,ʣ,FAUXPROPID,ֿ -INTO #tmppoorder3 FROM #tmppoorder1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK - ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -ORDER BY - - - - -SELECT ,SUM(ɹ)ɹ,SUM(ʣ)ʣ,FAUXPROPID,ֿ -INTO #tmppoorder2 FROM #tmppoorder3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - - ---; -UPDATE t1 SET t1.;=t2.ʣ -FROM #Stock_Status_temp t1 -INNER JOIN #tmppoorder2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,;) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(ʣ) -FROM #tmppoorder2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER - JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE ʣ<>0 AND - NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - - - - - ---************************************************ - --- ---************************************************* ---ѯֹ֮ǰ -SELECT (MO.FBILLNO) ,ME.FPRODUCTTYPE, -(MO.FID) ,(ME.FENTRYID) ¼,MA.FCONVEYDATE,ME.FMATERIALID , -ISNULL(ME.FSTOCKID,0) ֿ,ME.FAUXPROPID,MO.FDATE,ME.FSEQ,(ME.FQTY) , ---MQ.FBASENOSTOCKINQTY δ -(CASE WHEN (MQ.FBASENOSTOCKINQTY)>0 THEN (MQ.FBASENOSTOCKINQTY) ELSE 0 END) AS δ,MQ.FBASERESTKQTY ˿ - -INTO #tmpMO -FROM T_PRD_MO MO -INNER JOIN T_PRD_MOENTRY ME ON MO.FID =ME.FID -LEFT JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -LEFT JOIN T_PRD_MOENTRY_Q MQ ON MQ.FID =ME.FID AND ME.FENTRYID =MQ.FENTRYID -WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1 ---AND MO.FBILLNO IN('MO1909090271','MO1905070262') -AND MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>'' -AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='') - - ---ֹ֮ɵⵥ ---SELECT * -UPDATE t1 SET t1.δ=δ+t2.fbaseInqty -FROM #tmpMO t1 -INNER JOIN( - SELECT TSE.FMATERIALID,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseInqty - FROM T_PRD_INSTOCK TS INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID - LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 - AND TS.FDATE > @FEDate AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' - --AND TS.FBILLNO='MM1909090128' - GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID - --ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID -) t2 ON t1.=t2.FMOID AND t1.¼=t2.FMOENTRYID AND t1.=t2.FMATERIALID - ---ֹ֮ɵ˿ⵥ ---SELECT * -UPDATE t1 SET t1.δ=δ-t2.fbaseOutqty -FROM #tmpMO t1 -INNER JOIN( - SELECT TSE.FMATERIALID fmaterialid,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseOutqty - FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID - LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 - AND TS.FDATE > @FEDate - AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A' - AND TS.FCANCELSTATUS = 'A' AND TS.FEntrustRetStockId = 0 - GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID -) t2 ON t1.=t2.FMOID AND t1.¼=t2.FMOENTRYID AND t1.=t2.FMATERIALID - - ---º - -SELECT ,,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ -INTO #tmpMO1 FROM #tmpMO B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - -SELECT ,,δ,FAUXPROPID,ֿ -INTO #tmpMO3 FROM #tmpMO1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -ORDER BY - - - -SELECT ,SUM(),SUM(δ)δ,FAUXPROPID,ֿ -INTO #tmpMO2 FROM #tmpMO3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - --- -UPDATE t1 SET t1.=t2.δ -FROM #Stock_Status_temp t1 -INNER JOIN #tmpMO2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -FROM #tmpMO2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - ---***************END********************************** - - --- ---******************start******************************* - -----ѯֹ֮ǰϵ - -SELECT TS.FSTOCKORGID fstockorgid,TS.FBILLNO ϵ,TS.FID AS ,TSE.FENTRYID Ϸ¼,TSE.FMATERIALID , - ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID ֿ,FBASEUNITQTY , -CASE WHEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY))>0 THEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY)) ELSE 0 END δ, -(FBASEUNITQTY-FINSTOCKBASEQTY +FRETURNBASEQTY) -INTO #TMPRECEIVE -FROM T_PUR_RECEIVE TS -INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_RECEIVEENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID) -INNER JOIN T_PUR_RECEIVEENTRY_R TSER ON (TSE.FID = TSER.FID AND TSE.FENTRYID = TSER.FENTRYID) -INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID -WHERE 1=1 AND (TS.FDATE <= @FEDate) ---AND ts.FBILLNO='T61908290024-' AND FRETURNBASEQTY<>0 -AND( FEXECUTEDATE>@FEDate OR ISNULL(FEXECUTEDATE,'')='')--ִ -AND (TS.FSTOCKORGID IN (1)) -AND (TSE.FSTOCKID > 0)AND TSE.FSTOCKFLAG = '0' - --- AND TS.FDOCUMENTSTATUS IN ('C') -------ѯֹ֮ǰⵥ - ---SELECT * -UPDATE t1 SET t1.δ=δ+t2.fbaseInqty -FROM #TMPRECEIVE t1 -INNER JOIN ( - SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty - FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID) - INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 AND TS.FDATE >@FEDate - AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' - GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID - --ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID -) t2 ON t1.=t2.FSBILLID AND t1.Ϸ¼=t2.FSID AND t1.=t2.FMATERIALID - --- ---ѯֹ֮ϵ ---SELECT * -UPDATE t1 SET t1.δ=δ+t2.fbaseInqty -FROM #TMPRECEIVE t1 -INNER JOIN ( - SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty - FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_PUR_MRBENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID) - INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID - WHERE 1=1 AND TS.FDATE >@FEDate - AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' - GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID - -) t2 ON t1.=t2.FSBILLID AND t1.Ϸ¼=t2.FSID AND t1.=t2.FMATERIALID - - - ---º - -SELECT ,,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ -INTO #TMPRECEIVE1 FROM #TMPRECEIVE B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - - -SELECT ,,δ,FAUXPROPID,ֿ -INTO #TMPRECEIVE3 - FROM #TMPRECEIVE1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - -SELECT ,SUM(),SUM(δ)δ,FAUXPROPID,ֿ -INTO #TMPRECEIVE2 FROM #TMPRECEIVE3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - - --- -UPDATE t1 SET t1.=t2.δ -FROM #Stock_Status_temp t1 -INNER JOIN #TMPRECEIVE2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -FROM #TMPRECEIVE2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE δ<>0 AND - NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - - ---****************END********************************* - ---*********************δ***************************************** - ---δ() ---***********************δ()***************************** ---ѯֹ֮ǰ -SELECT (MO.FBILLNO) ,(MO.FID) ,(ME.FENTRYID) ¼, -PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼, -ISNULL(PC.FSTOCKID,0) ֿ,PE.FAUXPROPID,(PE.FMUSTQTY) AS Ӧ, -PQ.FSELPICKEDQTY AS ѡ,PQ.FBASENOPICKEDQTY AS δ -INTO #tmpPPBOM - FROM T_PRD_MO MO -INNER JOIN T_PRD_MOENTRY ME ON MO.FID =ME.FID -INNER JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -INNER JOIN T_PRD_PPBOM PP ON PP.FMOID=MO.FID AND ME.FENTRYID =PP.FMOENTRYID -INNER JOIN T_PRD_PPBOMENTRY PE ON PP.FID =PE.FID -LEFT JOIN T_PRD_PPBOMENTRY_Q PQ ON PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID -LEFT JOIN T_PRD_PPBOMENTRY_C PC ON PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID -WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1 -AND (MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>'') -AND (MA.FFINISHDATE >@FEDate OR ISNULL(MA.FFINISHDATE,'')='')--2020-04-27֮깤Ϊ׼깤 ---AND (MA.FCLOSEDATE>@FEDate OR ISNULL(MA.FCLOSEDATE,'')='')--2020-04-27֮ǰǽ᰸ - ---AND PP.FBILLNO ='PP1910150215' - - --ѯֹ֮еϵ - --SELECT δ,t2.fbaseOutqty,* -UPDATE t1 SET t1.δ=δ+t2.fbaseOutqty -FROM #tmpPPBOM t1 -INNER JOIN ( -SELECT tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO, -TSE.FMATERIALID,SUM(TSED.FBASESTOCKACTUALQTY) fbaseOutqty -FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - -WHERE (TS.FDATE> @FEDate) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A') -GROUP BY tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID -) t2 ON t1.=t2.FMOBILLNO AND t1.¼=t2.FMOENTRYID -AND t1.ϵ=t2.FPPBOMBILLNO AND t1.ϵ¼=t2.FPPBOMENTRYID AND t1.=t2.FMATERIALID - - - ---ºδ ---SELECT * FROM #tmpPPBOM - -SELECT ,Ӧ,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ -INTO #tmpPPBOM1 FROM #tmpPPBOM B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - -SELECT ,Ӧ,δ,FAUXPROPID,ֿ -INTO #tmpPPBOM3 FROM #tmpPPBOM1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - -SELECT ,SUM(Ӧ)Ӧ,SUM(δ)δ,FAUXPROPID,ֿ -INTO #tmpPPBOM2 FROM #tmpPPBOM3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - ---δ() -UPDATE t1 SET t1.δ=t2.δ -FROM #Stock_Status_temp t1 -INNER JOIN #tmpPPBOM2 -t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,δ) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -FROM #tmpPPBOM2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE δ>0 AND - NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - ---*************************δ()***************************************** - - - ---δ(ί) ---*************************δ(ί)*************************** ---ѯֹ֮ǰίⵥ -SELECT (MO.FBILLNO) ίⵥ,(MO.FID) ί,(ME.FENTRYID) ίⵥ¼, -PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼, -ISNULL(PC.FSTOCKID,0) ֿ,PE.FAUXPROPID,(PE.FMUSTQTY) AS Ӧ, -PQ.FSELPICKEDQTY AS ѡ,PQ.FBASENOPICKEDQTY AS δ -INTO #tmpSubBOM -FROM T_SUB_REQORDER MO -INNER JOIN T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID ---INNER JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -INNER JOIN T_SUB_PPBOM PP ON PP.FSUBREQID =MO.FID AND ME.FENTRYID =PP.FSUBREQENTRYID -INNER JOIN T_SUB_PPBOMENTRY PE ON PP.FID =PE.FID -LEFT JOIN T_SUB_PPBOMENTRY_Q PQ ON PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID -LEFT JOIN T_SUB_PPBOMENTRY_C PC ON PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID -WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1 -AND (MO.FDATE <=@FEDate AND ISNULL(ME.FCONVEYDATE,'')<>'') -AND (ME.FCLOSEDATE>@FEDate OR ISNULL(ME.FCLOSEDATE,'')='') - - - - - --ѯֹ֮еϵ - --SELECT δ,t2.fbaseOutqty,* -UPDATE t1 SET t1.δ=δ+t2.fbaseOutqty -FROM #tmpSubBOM t1 -INNER JOIN ( -SELECT tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO, -TSE.FMATERIALID,SUM(TSE.FBASESTOCKACTUALQTY) fbaseOutqty -FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - -WHERE (TS.FDATE> @FEDate) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A') -GROUP BY tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID -) t2 ON t1.ίⵥ=t2.FSUBREQBILLNO AND t1.ίⵥ¼=t2.FSUBREQENTRYID -AND t1.ϵ=t2.FPPBOMBILLNO AND t1.ϵ¼=t2.FPPBOMENTRYID AND t1.=t2.FMATERIALID - - - ---ºδ ---SELECT * FROM #tmpPPBOM - -SELECT ,Ӧ,δ,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ - INTO #tmpSubBOM1 FROM #tmpSubBOM B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - -SELECT ,Ӧ,δ,FAUXPROPID,ֿ -INTO #tmpSubBOM3 FROM #tmpSubBOM1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - - -SELECT ,SUM(Ӧ)Ӧ,SUM(δ)δ,FAUXPROPID,ֿ -INTO #tmpSubBOM2 FROM #tmpSubBOM3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - - ---δ(ί) -UPDATE t1 SET t1.δ=ISNULL(t1.δ,0)+ISNULL(t2.δ,0) -FROM #Stock_Status_temp t1 -INNER JOIN #tmpSubBOM2 -t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,δ) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ - ,ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -FROM #tmpSubBOM2 TSE - INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. ) - INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 - INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) - LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.ֿ AND TSL.FLOCALEID = 2052) - LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID - LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID - LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID ---SELECT * FROM #tmpSal2 TSE -WHERE δ > 0 - AND NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - ---*********************δ(ί)*END******************************* - --- --ֹѯδ --- UPDATE t1 SET t1.δ=ISNULL(t1.δ,0)+ISNULL(t1.ܶ,0) ---FROM #Stock_Status_temp t1 ---WHERE ISNULL(t1.ܶ,0)<>0 - ---**********************END******************************* - ---깺δת ---*******************strat***************************** - ---ѯֹ֮ǰвɹ - -SELECT TS.FAPPLICATIONORGID fstockorgid,TS.FBILLNO 뵥,TS.FID AS ,TSE.FENTRYID ¼,TSE.FMATERIALID , - ISNULL(TSE.FAUXPROPID,0) FAUXPROPID,TS.FAPPLICATIONDATE fdate,TMS.FSTOCKID ֿ, - FBASEUNITQTY ,TSEF.FREMAINQTY AS δת -INTO #TMPREQ -FROM T_PUR_REQUISITION TS - INNER JOIN T_PUR_REQENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PUR_REQENTRY_R TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_PUR_REQENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID) - LEFT JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID=TM.FMATERIALID - LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -WHERE 1=1 ---AND ts.FBILLNO ='SQ1910100001'AND FORDERBASEQTY<>FBASEUNITQTY AND TS.FCLOSESTATUS<>'B' - AND (TS.FAPPLICATIONDATE <=@FEDate) - AND (TS.FCLOSEDATE>@FEDate or ISNULL(TS.FCLOSEDATE,'')='') - AND (TS.FAPPLICATIONORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - - --ѯֹ֮вɹ - --SELECT * -UPDATE t1 SET t1.δת=δת+t2.fbaseOrdqty -FROM #TMPREQ t1 -INNER JOIN ( - SELECT t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID,SUM(t1.FBASEUNITQTY) fbaseOrdqty - FROM T_PUR_POORDER t0 - INNER JOIN T_PUR_POORDERENTRY t1 ON (t0.FID = t1.FID) - INNER JOIN T_PUR_POORDERENTRY_R t1R ON(t1R.FID = t1.FID AND t1.FENTRYID = t1R.FENTRYID) - INNER JOIN T_PUR_POORDERENTRY_LK t1k ON(t1.FENTRYID = t1k.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON t1.FMATERIALID = TM.FMATERIALID - WHERE t0.FDATE>@FEDate - AND ( t0.FCANCELSTATUS = 'A' AND TM.FFORBIDSTATUS = 'A') - GROUP BY t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID - -) t2 ON t1.=t2.FSBILLID AND t1.¼=t2.FSID AND t1.=t2.FMATERIALID - - ---º - - -SELECT ,,δת,FAUXPROPID,CASE WHEN B.ֿ<>0 THEN B.ֿ ELSE ISNULL(tms.FSTOCKID,0) END ֿ -INTO #TMPREQ1 FROM #TMPREQ B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - -SELECT ,,δת,FAUXPROPID,ֿ -INTO #TMPREQ3 FROM #TMPREQ1 B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -(TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY - - -SELECT ,SUM(),SUM(δת)δת,FAUXPROPID,ֿ -INTO #TMPREQ2 FROM #TMPREQ3 -GROUP BY ֿ,,FAUXPROPID -ORDER BY ֿ,,FAUXPROPID - ---깺δת -UPDATE t1 SET t1.깺δת=t2.δת -FROM #Stock_Status_temp t1 -INNER JOIN #TMPREQ2 t2 ON t1.=t2. AND t1.ֿ=t2.ֿ AND t1.װ=T2.FAUXPROPID - ---ݾ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,깺δת) - -SELECT TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δת) -FROM #TMPREQ2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE δת<>0 AND - NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.=t2. AND TSE.ֿ=t2.ֿ AND t2.װ=TSE.FAUXPROPID) - - ---***************************************************** - ---ռ - ---******************************************************** - SELECT TSE.FMATERIALID ,(TSE.FBASEQTY)FBASEQTY, - CASE WHEN TSE.FSTOCKID<>0 THEN TSE.FSTOCKID ELSE ISNULL(tms.FSTOCKID,0)END FSTOCKID,TSE.FAUXPROPID - INTO #TMPLINK FROM T_PLN_RESERVELINK TS - INNER JOIN T_PLN_RESERVELINKENTRY TSE ON TS.FID=TSE.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID - LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = TSE.FSTOCKID ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052) - WHERE TSE.FBASEQTY<>0 - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---GROUP BY TSE.FSTOCKID,TSE.FMATERIALID,FAUXPROPID -ORDER BY FSTOCKID,TSE.FMATERIALID,FAUXPROPID - - -SELECT ,SUM(FBASEQTY)FBASEQTY,FAUXPROPID,B.FSTOCKID ֿ -INTO #TMPLINK1 FROM #TMPLINK B -LEFT JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) ---LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.FSTOCKID ) ---LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.FSTOCKID AND TSL.FLOCALEID = 2052) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -(TM.FNUMBER IN(SELECT DISTINCT ϱ FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -GROUP BY b.FSTOCKID,,FAUXPROPID -ORDER BY b.FSTOCKID,,FAUXPROPID - ---ռ -UPDATE t1 SET t1.ռ=t2.FBASEQTY -FROM #Stock_Status_temp t1 - INNER JOIN #TMPLINK1 t2 ON t1.=t2. - AND t1.ֿ=t2.ֿ - AND t1.װ=T2.FAUXPROPID - ---ݾռ - -INSERT INTO #Stock_Status_temp (,ϴ,,ͺ,ɱ,װʽ,ֿ,ֿ,ֿ,װ,ռ) -SELECT - TM.fmaterialid AS ,(TM.fnumber) ϴ,(TML.FNAME) AS - ,(TML.FSPECIFICATION) AS ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ - ,ISNULL(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ - ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(FBASEQTY) -FROM #TMPLINK1 TSE - INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. ) - INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID=TML.FMATERIALID AND TML.FLOCALEID =2052 - INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) - LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) - LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID - LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100002=t4.FENTRYID - LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100002=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID -WHERE FBASEQTY <> 0 - AND NOT EXISTS( - SELECT 1 - FROM #Stock_Status_temp t2 - WHERE TSE.=t2. - AND TSE.ֿ=t2.ֿ - AND t2.װ=TSE.FAUXPROPID) - - ---*********************ռEND*********************************** - - ---ÿ ---******************************************************* - -UPDATE t1 SET t1.ÿ=ISNULL(ĩ,0)+ISNULL(t1.,0)+ISNULL(;,0)-ISNULL(δ,0)-ISNULL(ܶ,0) -FROM #Stock_Status_temp t1 - ---*********************ÿEND********************************** - ---BOM -SELECT =IDENTITY(INT,1,1),,ϴ,,ͺ,ɱ,ڽ - ,ڲɹ,ں,ĩ,;,,,δ,,۳,ֿⲦ - ,ֿⲦ,깺δת, ܶ,ռ,ÿ,ֿ,ֿ,ֿ,װʽ,Ʒ - INTO #Stock_Bom -FROM ( - SELECT t1.FMATERIALID ,ϴ,t2.,ͺ,ɱ,ڽ,ڲɹ,ں,ĩ - ,;,,,δ,,۳,ֿⲦ,ֿⲦ,깺δת - ,ܶ,ռ,ÿ,t2.ֿ,ֿ,ֿ,װʽ,t1.FOrderNum Ʒ,FOrderNum - ,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6 - FROM #YC_T_MRP t1 - INNER JOIN #Stock_Status_temp t2 ON t1.ϱ=t2.ϴ - UNION ALL - SELECT t1.FMATERIALID ,t1.ϱ ϴ,t2.FNAME ,t2.FSPECIFICATION ͺ - ,ISNULL(TM.FOLDNUMBER,'') ɱ,0 ڽ,0 ڲɹ,0 ں,0 ĩ - ,0 ;,0 ,0 , 0 δ,0 ,0 ۳,0 ֿⲦ - ,0 ֿⲦ,0 깺δת,0 ܶ,0 ռ,0 ÿ,ts.FSTOCKID,ts.FNUMBER AS ֿ - ,tsl.FNAME AS ֿ,''װʽ,t1.FOrderNum Ʒ,FOrderNum - ,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6 - FROM #YC_T_MRP t1 - INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = t1.FMATERIALID ) - INNER JOIN T_BD_MATERIAL_L t2 ON (t2.FMATERIALID = t1.FMATERIALID ) - INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID - INNER JOIN T_BD_STOCK ts ON tms.FSTOCKID=ts.FSTOCKID - LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TS.FSTOCKID AND TSL.FLOCALEID = 2052) - WHERE 1=1 - AND ϱ NOT IN (SELECT DISTINCT ϴ FROM #Stock_Status_temp t2) - AND TMS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID))t -ORDER BY FOrderNum,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6 - -SELECT - t0.FMATERIALID AS 'ProMateralId' - ,t2.FNUMBER - ,t0.FQTY - ,t1e.FMATERIALID - ,t1e_c.FSTOCKID - --,t1.FBILLNO - ,SUM(t1e.FBASENEEDQTY) AS 'FBASENEEDQTY'--λ - ,SUM(t1e_q.FBASEPICKEDQTY) AS 'FBASEPICKEDQTY'--λ - ,SUM(t1e_q.FBASENOPICKEDQTY) AS 'FBASENOPICKEDQTY'--λδ - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOIDS' - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FENTRYID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOENTRYIDS' - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FBILLNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MONOS' - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FSALEORDERNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID AND tt.FSALEORDERNO !='' for xml path('')),1,1,''),'') AS 'SALENOS' - INTO #TEMPMOQTY -FROM #TEMPMO t0 - --INNER JOIN T_PRD_PPBOM t1 ON t0.FENTRYID = t1.FMOENTRYID AND t0.FMATERIALID = t1.FMATERIALID - INNER JOIN T_PRD_PPBOMENTRY t1e ON t1e.FMOENTRYID = t0.FENTRYID --嵥 - INNER JOIN T_PRD_PPBOMENTRY_Q t1e_q ON t1e_q.FENTRYID = t1e.FENTRYID - INNER JOIN T_PRD_PPBOMENTRY_C t1e_c ON t1e_c.FENTRYID = t1e.FENTRYID - INNER JOIN T_BD_MATERIAL t2 on t2.FMATERIALID = t0.FMATERIALID -GROUP BY - t0.FMATERIALID,t0.FQTY,t1e.FMATERIALID,t1e_c.FSTOCKID,t2.FNUMBER - -SELECT AS 'FIDENTITYID' - ,ϴ - , - ,ͺ - ,ɱ - ,ڽ - ,ڲɹ - ,ں - ,ĩ - ,; - , - , - ,δ - , - ,۳ - ,ֿⲦ - ,ֿⲦ - ,깺δת - ,ܶ - ,ռ - ,ÿ - ,ֿ - ,ֿ - ,װʽ - ,Ʒ - ,t1.FBASENEEDQTY - ,t1.FBASENOPICKEDQTY - ,t1.FBASEPICKEDQTY - ,t1.FQTY - ,CASE CHARINDEX(',',t1.MONOS) WHEN 0 THEN t1.MONOS ELSE '' END AS 'MONO' - ,CASE CHARINDEX(',',t1.SALENOS) WHEN 0 THEN t1.SALENOS ELSE '' END AS 'SALENO' - ,t1.SALENOS - ,t1.MOENTRYIDS - ,t1.MOIDS - --INTO {0} -FROM #Stock_Bom t0 - LEFT JOIN #TEMPMOQTY t1 ON t0. = t1.FMATERIALID - AND t0.ֿ = t1.FSTOCKID - AND t1.FNUMBER = t0.Ʒ - -DROP TABLE #TEMPMO -DROP TABLE #TEMPMOQTY -DROP TABLE #Stock_Bom -DROP TABLE #TMP -DROP TABLE #TMP1 -DROP TABLE #TMPLINK -DROP TABLE #TMPLINK1 -DROP TABLE #TMP4 -DROP TABLE #TMP5 -DROP TABLE #TMP6 -DROP TABLE #TMP7 -DROP TABLE #TMP8 -DROP TABLE #tmpSal -DROP TABLE #tmpSal1 -DROP TABLE #tmpSal2 -DROP TABLE #tmpSal3 -DROP TABLE #tmpMO -DROP TABLE #tmpMO1 -DROP TABLE #tmpMO2 -DROP TABLE #tmpMO3 - -DROP TABLE #TMPREQ -DROP TABLE #TMPREQ1 -DROP TABLE #TMPREQ2 -DROP TABLE #TMPREQ3 -DROP TABLE #TMPRECEIVE -DROP TABLE #TMPRECEIVE1 -DROP TABLE #TMPRECEIVE2 -DROP TABLE #TMPRECEIVE3 -DROP TABLE #tmppoorder -DROP TABLE #tmppoorder1 -DROP TABLE #tmppoorder2 -DROP TABLE #tmppoorder3 -DROP TABLE #tmpPPBOM -DROP TABLE #tmpPPBOM1 -DROP TABLE #tmpPPBOM2 -DROP TABLE #tmpPPBOM3 -DROP TABLE #tmpSUBBOM -DROP TABLE #tmpSUBBOM1 -DROP TABLE #tmpSUBBOM2 -DROP TABLE #tmpSUBBOM3 -DROP TABLE #Stock_Status_temp -SET nocount off \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/bbbbbb.sql b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/bbbbbb.sql deleted file mode 100644 index d04404a..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/bbbbbb.sql +++ /dev/null @@ -1,50 +0,0 @@ ---δ -/* ţ۶ţϽɸѡӦ*/ -SELECT - t0.FBILLNO - ,t0.FID - ,t0e.FQTY - ,t0e.FENTRYID - ,t0e.FMATERIALID - ,t0e_a.FREPQUAQTY - --,t0e_a.FREQSRC --1.۶ - ,(CASE WHEN t1e.FSRCBILLNO is null THEN (CASE t0e_a.FREQSRC WHEN 1 THEN t0e.FSALEORDERNO ELSE '' END) ELSE t1e.FSRCBILLNO END) AS 'FSALEORDERNO' - INTO #TEMPMO -FROM - T_PRD_MO t0 - INNER JOIN T_PRD_MOENTRY t0e ON t0.FID = t0E.FID - INNER JOIN T_PRD_MOENTRY_A t0e_a ON t0e_a.FENTRYID = t0e.FENTRYID - LEFT JOIN T_SAL_DELIVERYNOTICEENTRY t1e on t1e.FENTRYID = t0e.FSRCBILLENTRYID AND t0e.FSRCBILLID = t0e.FSALEORDERID -WHERE 1 = 1 - AND t0.FDOCUMENTSTATUS = 'C' - AND (t0e_a.FSTATUS < 5) - --AND t0e.FMATERIALID = 100258 - AND t0.FBILLNO = 'MO000023' - -SELECT - t0.FMATERIALID AS 'ProMateralId' - ,t1e.FMATERIALID - ,t1e_c.FSTOCKID - --,t1.FBILLNO - ,SUM(t1e.FBASENEEDQTY) AS 'FBASENEEDQTY'--λ - ,SUM(t1e_q.FBASEPICKEDQTY) AS 'FBASEPICKEDQTY'--λ - ,SUM(t1e_q.FBASENOPICKEDQTY) AS 'FBASENOPICKEDQTY'--λδ - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOIDS' - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FENTRYID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOENTRYIDS' - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FBILLNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MONOS' - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FSALEORDERNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID AND tt.FSALEORDERNO !='' for xml path('')),1,1,''),'') AS 'SALENOS' - INTO #TEMPMOQTY -FROM #TEMPMO t0 - INNER JOIN T_PRD_PPBOMENTRY t1e ON t1e.FMOENTRYID = t0.FENTRYID --嵥 - INNER JOIN T_PRD_PPBOMENTRY_Q t1e_q ON t1e_q.FENTRYID = t1e.FENTRYID - INNER JOIN T_PRD_PPBOMENTRY_C t1e_c ON t1e_c.FENTRYID = t1e.FENTRYID -GROUP BY - t0.FMATERIALID,t1e.FMATERIALID,t1e_c.FSTOCKID - -SELECT t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS - --INTO #TEMPMONO2Pro -FROM #TEMPMOQTY t0 -GROUP BY t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS - -DROP TABLE #TEMPMO ---DROP TABLE #TMPLIST diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/bom层级库存状态.sql b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/bom层级库存状态.sql deleted file mode 100644 index 4c930f4..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/bom层级库存状态.sql +++ /dev/null @@ -1,3260 +0,0 @@ -USE [AIS20220916152454] -GO -/****** Object: StoredProcedure [dbo].[Pro_BOMStockStatusBillEXP] Script Date: 2024/2/27 13:47:24 ******/ -SET ANSI_NULLS ON -GO -SET QUOTED_IDENTIFIER ON -GO - - ---״̬ TBH25702K01 - ALTER procedure [dbo].[Pro_BOMStockStatusBillEXP] ( - @FSNumber varchar (50) , - @FENumber varchar (50) , - @FSStock varchar (max), - @FSDate varchar (30), - @FEDate varchar (30), - @FName varchar (255) - ) - -as - -set nocount on - -declare @FCloseBALDate varchar (30) -declare @FClosedate varchar (30) - ---ѯʼһڵĩ -If NOT Exists(SELECT FORGID, MAX(FCLOSEDATE) fclosedate FROM T_STK_CLOSEPROFILE WHERE FORGID IN (1) AND FCATEGORY = 'STK' AND (FCLOSEDATE < @FSDate) - GROUP BY FORGID) -BEGIN - SET @FClosedate='2020-01-01' - SET @FCloseBALDate='2020-01-01' - --print @FClosedate -END -ELSE -BEGIN - --SET @FClosedate='2019-07-01' - SELECT @FClosedate= CONVERT(varchar (30), DATEADD(D, 1,MAX(FCLOSEDATE)),23) FROM - T_STK_CLOSEPROFILE WHERE ((FORGID IN (1) AND FCATEGORY = 'STK') AND (FCLOSEDATE < @FSDate)) GROUP BY FORGID - SET @FCloseBALDate=CONVERT(varchar (30), DATEADD(D, -1,@FClosedate),23) - --print @FClosedat -END - - declare @FSWL varchar (50) - declare @FEWL varchar (50) - - - set @FSWL='' - set @FEWL='' - - if @FSNumber<>'' and @FENumber<>'' - begin - SET @FSWL= @FSNumber - SET @FEWL= @FENumber - end - if @FSNumber<>'' and @FENumber='' - begin - SET @FSWL= @FSNumber - SELECT @FEWL=MAX(FNUMBER) -FROM T_BD_MATERIAL - end - if @FSNumber='' and @FENumber<>'' - begin - SET @FEWL= @FENumber - SELECT @FSWL=MIN(FNUMBER) FROM T_BD_MATERIAL - end - if @FSNumber='' and @FENumber='' - begin - SELECT @FSWL=MIN(FNUMBER) FROM T_BD_MATERIAL - SELECT @FEWL=MAX(FNUMBER) FROM T_BD_MATERIAL - end - - --ʱѡȡֿ - - if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#tmpStockID')) - begin - drop table #tmpStockID - print '' - end - Create Table #tmpStockID ( - FID INT IDENTITY(1,1), - FStockID INT , - ) - DECLARE @Strsql varchar(max) - set @Strsql= 'insert into #tmpStockID select distinct FSTOCKID from T_BD_STOCK where 1=1 ' +@FSStock - EXEC(@Strsql) - ---״̬ - - if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#Stock_Status_temp')) - begin - drop table #Stock_Status_temp - print '' - end - - Create Table #Stock_Status_temp ( - INT IDENTITY(1,1), - INT , - ϴ varchar(100) null , - varchar(255) null , - ͺ varchar(255) null , - ɱ varchar(100) null , - --λ varchar(30) null , - ڽ DECIMAL (18, 2) Null , - ڲɹ DECIMAL (18, 2) Null , - ں DECIMAL (18, 2) Null , - ĩ DECIMAL (18, 2) Null , - ; DECIMAL (18, 2) Null , - DECIMAL (18, 2) Null , - DECIMAL (18, 2) Null , - δ DECIMAL (18, 2) Null , - DECIMAL (18, 2) Null , - ۳ DECIMAL (18, 2) Null , - ֿⲦ DECIMAL (18, 2) Null , - ֿⲦ DECIMAL (18, 2) Null , - 깺δת DECIMAL (18, 2) Null, - ܶ DECIMAL (18, 2) Null , - ռ DECIMAL (18, 2) Null , - ÿ DECIMAL (18, 2) Null , - ֿ INT , - ֿ varchar(100) null , - ֿ varchar(255) null , - װ INT , - װʽ varchar(255) null - ) - - if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#TMP')) - begin - drop table #TMP - print '' - end - -CREATE TABLE #TMP ( -FID INT IDENTITY(1,1), -FSTOCKORGID INT NOT NULL DEFAULT 0, -FBILLENTRYID INT NOT NULL DEFAULT 0, -FORDERBY INT NOT NULL DEFAULT 0, -FSTOCKIO CHAR (1) NULL, -FMATERIALID INT NOT NULL DEFAULT 0, -FAUXPROPID INT NOT NULL DEFAULT 0, -FDATE DATETIME NULL, -FSTOCKID INT NOT NULL DEFAULT 0, -FSTOCKLOCID INT NOT NULL DEFAULT 0, -FSTOCKSTATUSID INT NOT NULL DEFAULT 0, -FBILLNAME NVARCHAR (100) NULL, -FBILLID INT NOT NULL DEFAULT 0, -FBILLSEQID INT NULL, -FBILLNO NVARCHAR (100) NULL, -FBASEQCQTY DECIMAL (23, 10) NOT NULL DEFAULT 0, -FBASEINQTY DECIMAL (23, 10) NOT NULL DEFAULT 0, -FBASEOUTQTY DECIMAL (23, 10) NOT NULL DEFAULT 0 -) - - ---BOM㼶 - - if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#YC_T_MRP')) - begin - drop table #YC_T_MRP - end - - -CREATE TABLE #YC_T_MRP( - FID INT IDENTITY(1,1), - FBOMNumber NVARCHAR(255), - FMATERIALID INT, - ϱ NVARCHAR(255), - NVARCHAR(255), - Ʒ DECIMAL(28,10) DEFAULT (0), - DECIMAL(28,10),--BOM - ĸ DECIMAL(28,10),--BOMĸ - FQty DECIMAL(28,10),-- - FLevle INT , - FERPCLSID INT, - FOrderNum NVARCHAR(255), - FBOMID INT, - BOM㼶 NVARCHAR(200) NULL, - FSEQ1 INT, - FSEQ2 INT, - FSEQ3 INT, - FSEQ4 INT, - FSEQ5 INT, - FSEQ6 INT, - FParentNumber NVARCHAR(255) -) - - if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#BOMTmp')) - begin - drop table #BOMTmp - end - - -/*ȡ״̬BOMʱ*/ -SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID -INTO #BOMTmp -FROM T_ENG_BOM T0 -INNER JOIN T_BD_MATERIAL TM ON t0.FMATERIALID=TM.FMATERIALID --ϱ -WHERE (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A') -AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - ORDER BY FMATERIALID,FNUMBER - -/*ʱУͬһϴֻһ°汾BOM*/ - delete FROM #BOMTmp WHERE id not in (SELECT max(id) FROM #BOMTmp group by FMATERIALID) - - ---ѯһƷϢ -INSERT INTO #YC_T_MRP( - FBOMNumber,FMATERIALID,ϱ,,Ʒ - ,,ĸ,FQty,FLevle,FERPCLSID,FOrderNum - ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) -SELECT - t0.FNUMBER,T0.FMATERIALID,t1.FNUMBER 'ϱ',t3.FNAME '',t0.FYIELDRATE 'Ʒ' - ,1 '', 1 'ĸ', 1 'FQty','0' 'FLevle',T2.FERPCLSID 'FERPCLSID',t1.FNUMBER 'ϱ' - ,t0.FID 'FBOMID',0 'FSEQ1',0 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6','' 'FParentNumber' -FROM T_ENG_BOM t0 - INNER JOIN T_BD_MATERIAL t1 ON t0.FMATERIALID=t1.FMATERIALID --ϱ - LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID --ϱ - LEFT OUTER JOIN T_BD_MATERIAL_L t3 ON (t1.FMATERIALID = t3.FMATERIALID AND t3.FLocaleId = 2052)--ϱ - INNER JOIN #BOMTmp t6 on t0.FMATERIALID=t6.FMATERIALID AND t0.FNUMBER=t6.FNUMBER -WHERE 1=1 - AND (t0.FDOCUMENTSTATUS = 'C') -ORDER BY T0.FNUMBER - ---SELECT * FROM #YC_T_MRP ---ݵһƷѯһƷIJϢ -INSERT INTO #YC_T_MRP( - FBOMNumber,FMATERIALID,ϱ,,Ʒ - ,,ĸ,FQty,FLevle,FERPCLSID,FOrderNum - ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) -SELECT - t10.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t10.FYIELDRATE 'Ʒ' - ,t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty' - ,'1' 'FLevle',t8.FERPCLSID 'FERPCLSID',T5.FOrderNum - ,0 'FBOMID',T5.FSEQ1 'FSEQ1',t6.FSEQ 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t5.ϱ 'FParentNumber' -FROM #YC_T_MRP t5 - LEFT OUTER JOIN T_ENG_BOMCHILD t6 on t5.FBOMID=t6.FID--BOM¼ - INNER JOIN T_BD_MATERIAL t7 on t6.FMATERIALID=t7.FMATERIALID --ϱ - LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ - LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ - LEFT JOIN T_ENG_BOM t10 on t10.FID=t6.FID--BOM -WHERE (t7.FFORBIDSTATUS = 'A') - AND T5.FLevle=0 AND T5.FERPCLSID >= 2 - AND t10.FDOCUMENTSTATUS = 'C' - - - -/*ȡڶ״̬BOMʱ*/ - -SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID -INTO #BOMTmp1 FROM #YC_T_MRP t1 -INNER JOIN T_ENG_BOM t0 on t1.FMATERIALID=t0.FMATERIALID--BOMͷ -WHERE 1=1 and (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A') AND T1.FLevle=1 AND T1.FERPCLSID>=2 - - - - /*ʱУͬһϴֻһ°汾BOM*/ - delete FROM #BOMTmp1 WHERE id not in (SELECT max(id) FROM #BOMTmp1 group by FMATERIALID) - - ---ݵڶǶƻIJƷѯڶƷIJϢ -INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,ϱ,,Ʒ,,ĸ,FQty,FLevle,FERPCLSID,FOrderNum,FBOMID, -FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) -SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t5.FYIELDRATE 'Ʒ', -t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty', -'2' 'FLevle',t8.FERPCLSID 'FERPCLSID',T1.FOrderNum,0 'FBOMID', -t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t6.FSEQ 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6' -,t1.ϱ 'FParentNumber' -FROM #YC_T_MRP t1 -INNER JOIN T_ENG_BOM t5 on t1.FMATERIALID=t5.FMATERIALID--BOMͷ -LEFT OUTER JOIN T_ENG_BOMCHILD t6 on t5.FID=t6.FID--BOM¼ -INNER JOIN T_BD_MATERIAL t7 on t6.FMATERIALID=t7.FMATERIALID --ϱ -LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ -LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ -INNER JOIN #BOMTmp1 t10 on t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER -WHERE 1=1 and (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=1 AND T1.FERPCLSID>=2 AND t5.FDOCUMENTSTATUS = 'C' - - - - -/*ȡ״̬BOMʱ*/ - -SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID -INTO #BOMTmp2 FROM #YC_T_MRP t1 -INNER JOIN T_ENG_BOM t0 on t1.FMATERIALID=t0.FMATERIALID--BOMͷ -WHERE 1=1 and (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A') AND T1.FLevle=2 AND T1.FERPCLSID>=2 - - - -/*ʱУͬһϴֻһ°汾BOM*/ -delete FROM #BOMTmp2 WHERE id not in (SELECT max(id) FROM #BOMTmp2 group by FMATERIALID) - - ---ݵǶƻIJƷѯƷIJϢ -INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,ϱ,,Ʒ,,ĸ,FQty,FLevle,FERPCLSID,FOrderNum,FBOMID, -FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) -SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t5.FYIELDRATE 'Ʒ', -t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty', -'3' 'FLevle',t8.FERPCLSID 'FERPCLSID',T1.FOrderNum,0 'FBOMID', -t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t1.FSEQ3 'FSEQ3',t6.FSEQ 'FSEQ4',0 'FSEQ5',0 'FSEQ6' -,t1.ϱ 'FParentNumber' -FROM #YC_T_MRP t1 -INNER JOIN T_ENG_BOM t5 on t1.FMATERIALID=t5.FMATERIALID--BOMͷ -LEFT OUTER JOIN T_ENG_BOMCHILD t6 on t5.FID=t6.FID--BOM¼ -INNER JOIN T_BD_MATERIAL t7 on t6.FMATERIALID=t7.FMATERIALID --ϱ -LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ -LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ -INNER JOIN #BOMTmp2 t10 on t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER -WHERE (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=2 AND T1.FERPCLSID>=2 -AND t5.FDOCUMENTSTATUS = 'C' - - - - -/*ȡļ״̬BOMʱ*/ - -SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID -INTO #BOMTmp3 FROM #YC_T_MRP t1 -INNER JOIN T_ENG_BOM t0 on t1.FMATERIALID=t0.FMATERIALID--BOMͷ -WHERE 1=1 and (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A') AND T1.FLevle=3 AND T1.FERPCLSID>=2 - - - - /*ʱУͬһϴֻһ°汾BOM*/ - delete FROM #BOMTmp3 WHERE id not in (SELECT max(id) FROM #BOMTmp3 group by FMATERIALID) - - ---ݵļǶƻIJƷѯļƷIJϢ -INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,ϱ,,Ʒ,,ĸ,FQty,FLevle,FERPCLSID,FOrderNum,FBOMID, -FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) -SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t5.FYIELDRATE 'Ʒ', -t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty', -'4' 'FLevle',t8.FERPCLSID 'FERPCLSID',T1.FOrderNum,0 'FBOMID', -t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t1.FSEQ3 'FSEQ3',t1.FSEQ4 'FSEQ4',T6.FSEQ 'FSEQ5',0 'FSEQ6' -,t1.ϱ 'FParentNumber' -FROM #YC_T_MRP t1 -INNER JOIN T_ENG_BOM t5 on t1.FMATERIALID=t5.FMATERIALID--BOMͷ -LEFT OUTER JOIN T_ENG_BOMCHILD t6 on t5.FID=t6.FID--BOM¼ -INNER JOIN T_BD_MATERIAL t7 on t6.FMATERIALID=t7.FMATERIALID --ϱ -LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ -LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ -INNER JOIN #BOMTmp3 t10 on t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER -WHERE (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=3 AND T1.FERPCLSID>=2 -AND t5.FDOCUMENTSTATUS = 'C' - - - - -/*ȡļ״̬BOMʱ*/ - -SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID -INTO #BOMTmp4 FROM #YC_T_MRP t1 -INNER JOIN T_ENG_BOM t0 on t1.FMATERIALID=t0.FMATERIALID--BOMͷ -WHERE 1=1 and (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A') AND T1.FLevle=4 AND T1.FERPCLSID>=2 - - - - /*ʱУͬһϴֻһ°汾BOM*/ - delete FROM #BOMTmp4 WHERE id not in (SELECT max(id) FROM #BOMTmp4 group by FMATERIALID) - - ---ݵ弶ǶƻIJƷѯ弶ƷIJϢ -INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,ϱ,,Ʒ,,ĸ,FQty,FLevle,FERPCLSID,FOrderNum,FBOMID, -FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) -SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER 'ϱ',T9.FNAME '',t5.FYIELDRATE 'Ʒ', -t6.FNUMERATOR '',t6.FDENOMINATOR 'ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty', -'5' 'FLevle',t8.FERPCLSID 'FERPCLSID',T1.FOrderNum,0 'FBOMID', -t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t1.FSEQ3 'FSEQ3',t1.FSEQ4 'FSEQ4', t1.FSEQ5'FSEQ5',T6.FSEQ 'FSEQ6' -,t1.ϱ 'FParentNumber' -FROM #YC_T_MRP t1 -INNER JOIN T_ENG_BOM t5 on t1.FMATERIALID=t5.FMATERIALID--BOMͷ -LEFT OUTER JOIN T_ENG_BOMCHILD t6 on t5.FID=t6.FID--BOM¼ -INNER JOIN T_BD_MATERIAL t7 on t6.FMATERIALID=t7.FMATERIALID --ϱ -LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --ϱ -LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--ϱ -INNER JOIN #BOMTmp4 t10 on t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER -WHERE (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=4 AND T1.FERPCLSID>=2 -AND t5.FDOCUMENTSTATUS = 'C' - -UPDATE #YC_T_MRP SET BOM㼶 =REPLICATE('.', FLevle) + + convert(varchar(4),FLevle) - ---select * from #YC_T_MRP - - ---ⵥ -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby,'I' fstockio, TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSTOCKID fstockid, -ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno, 0 fbaseqcqty, TSE.FBASEREALQTY fbaseinqty, 0 fbaseoutqty -FROM T_PRD_INSTOCK TS -INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0) - ---and ts.FBILLNO ='MM1907010113' - ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(TSE.FBASEREALQTY) fbaseqcqty -FROM T_PRD_INSTOCK TS INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0) -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), -ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE,TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---ⵥ -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid , TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE. -FSTOCKSTATUSID fstockstatusid, 'ⵥ' fbillname, -TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, TSE.FBASEUNITQTY fbaseinqty, 0 fbaseoutqty ---t_STK_InStock -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID - -INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID,FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', SUM(TSE.FBASEUNITQTY) fbaseqcqty -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (( -((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), -ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE. -FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - - ---ⵥ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, -FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY,FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FRECEIVESTOCKID fstockid, ISNULL(TSE.FRECEIVESTOCKLOCID, 0) fstocklocid, TSE.FRECEIVESTOCKSTATUS fstockstatusid, 'ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty, 0 fbaseinqty, TSE.FBASEUNITQTY fbaseoutqty -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00')AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (TSE.FRECEIVESTOCKID > 0)) AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') - AND TSE.FRECEIVESTOCKFLAG = '1') - ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, -TSE.FMATERIALID fmaterialid, ISNULL(TSE.FRECEIVEAUXPROPID, 0) fauxpropid, -TSE.FRECEIVESTOCKID fstockid, ISNULL(TSE.FRECEIVESTOCKLOCID, 0) fstocklocid, -TSE.FRECEIVESTOCKSTATUS fstockstatusid, 'ʼ', (0 - SUM(TSE.FBASEUNITQTY)) fbaseqcqty - -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (TSE.FRECEIVESTOCKID > 0)) -AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') AND TSE.FRECEIVESTOCKFLAG = '1') -GROUP BY TS.FSTOCKORGID, TSE.FRECEIVEOWNERTYPEID, TSE.FRECEIVEOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FRECEIVEAUXPROPID, 0), -ISNULL(TSE.FRECEIVELOT_TEXT, ' '), ISNULL(TSE.FRECEIVEMTONO, ' '), TSE.FRECEIVESTOCKID, ISNULL(TSE.FRECEIVESTOCKLOCID, 0), -TSE.FRECEIVESTOCKSTATUS, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---ϵ - - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, -FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) ---ϵ -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, -0 fbaseqcqty, 0 fbaseinqty, TSED.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND - TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty - -FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ( -((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSED.FOWNERTYPEID, TSED.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), - ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSED.FKEEPERTYPEID, - TSED.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0), TS.FDATE - ---۳ⵥ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio,TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, '۳ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, -0 fbaseqcqty, 0 fbaseinqty, TSE.FBASEUNITQTY fbaseoutqty -FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) -AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) ---AND TS.FBILLNO='SA1907050103' - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, - ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid, - 'ʼ', SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty - FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID - INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((( - ((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') - AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), - ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, - TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---ϵ -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, TSEQ.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_PRD_FEEDMTRL TS -INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) -LEFT OUTER JOIN T_PRD_FEEDMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) ---and ts.FBILLNO in ('M31910140010','M31907010006') - - ---ʼ - -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ' fbillname,SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty - FROM T_PRD_FEEDMTRL TS INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID - INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) - AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), - TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---ϵ -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, (0 - TSEA.FBASESTOCKQTY) fbaseoutqty -FROM T_PRD_RETURNMTRL TS -INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -LEFT OUTER JOIN T_PRD_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) ---and ts.FBILLNO='M21907200004' - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', SUM(TSEA.FBASESTOCKQTY) fbaseqcqty - FROM T_PRD_RETURNMTRL TS INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID,0), - ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, - TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---ϵ -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, -0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, -0 fbaseqcqty, (0 - TSE.FBASEUNITQTY) fbaseinqty, 0 fbaseoutqty -FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) -AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId)))) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty -FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) - AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) - AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE= 'B' AND TMB.FISINVENTORY = '1') - AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId)))) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), - ISNULL(TSE.FLOT_TEXT, ''), ISNULL(TSE.FMTONO,''), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, - TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---ϵ ±־ FSTOCKFLAG 0:δ 1:Ѹ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, TSE.FBASEUNITQTY fbaseinqty, 0 fbaseoutqty -FROM T_PUR_RECEIVE TS INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TMB.FMaterialId = TSE.FMaterialId - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TMB.FISINVENTORY = '1') -AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1') - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(TSE.FBASEUNITQTY) fbaseqcqty - -FROM T_PUR_RECEIVE TS -INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1') -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), - ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, - TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - - ---˻ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - ---˻ -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby,'O' fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, '˻' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, (0 - TSE.FBASEUNITQTY) fbaseoutqty -FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) - ---AND TS.FBILLNO ='SB1908230003' - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(TSE.FBASEUNITQTY) fbaseqcqty - FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID - INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') - AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), -ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - - - ---ⵥ -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno, 0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty -FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(TSE.FBASEREALQTY) fbaseqcqty -FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), -ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, -TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---ϵ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, TSE.FBASEACTUALQTY fbaseoutqty - -FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ʼ',(0 - SUM(TSE.FBASEACTUALQTY)) fbaseqcqty -FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, -ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - ---ϵ - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, - 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ - fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, (0 - TSE.FBASEQTY) fbaseoutqty - -FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', SUM(TSE.FBASEQTY) fbaseqcqty -FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), - TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - ---װж - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid, 'װж' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, -CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE -(((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', - SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - - FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, - TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---װж - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FDETAILID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid, 'װж' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, - -CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseinqty, CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseoutqty -FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID -INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID - -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, - ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID - INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), - ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, - TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0), TS.FDATE - - - ---ŵ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid, 'ŵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, - 'ʼ', SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - -FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), - ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, - ISNULL(TSE.FBOMID, 0) - - - ---ⵥ - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio,TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, -0 fbaseqcqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseinqty, 0 fbaseoutqty - -FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_MISCELLANEOUSENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE<= '2019-11-12 23:59:59')) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ - -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', - SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), -ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, -ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - - ---ⵥ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, -0 fbaseqcqty, 0 fbaseinqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseoutqty -FROM T_STK_MISDELIVERY TS -INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_MISDELIVERYENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - --ʼ -INSERT INTO #TMP (FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', - SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN (0 - TSE.FBASEQTY) ELSE TSE.FBASEQTY END) fbaseqcqty - FROM T_STK_MISDELIVERY TS INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), - TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---мӹⵥ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio,TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'мӹⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno, 0 fbaseqcqty, FBASEQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_OEMINSTOCK TS -INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_OEMINSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', SUM(FBASEQTY) fbaseqcqty -FROM T_STK_OEMINSTOCK TS INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---мӹϵ - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio,TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'мӹϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,(0 - FBASEQTY) fbaseinqty, 0 fbaseoutqty - -FROM T_STK_OEMINSTOCKRTN TS -INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_OEMINSTOCKRTNENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND FRETURNTYPE = 'StockReMat') - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'', (0 - SUM(FBASEQTY)) fbaseqcqty - FROM T_STK_OEMINSTOCKRTN TS INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - AND FRETURNTYPE = 'StockReMat') - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, - ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), - TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - ---̬ת - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio, TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'̬ת' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_STATUSCONVERT TS -INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', -SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty -FROM T_STK_STATUSCONVERT TS INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), -ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---״̬ת - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'״̬ת' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STOCKCONVERTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ʼ', -SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty -FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID,0), -TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - - ---ӯ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'ӯ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, TSE.FBASEGAINQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_STKCOUNTGAIN TS -INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ', SUM(TSE.FBASEGAINQTY) fbaseqcqty -FROM T_STK_STKCOUNTGAIN TS INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), -ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO,' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - - ---̿ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'̿' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, -0 fbaseqcqty, 0 fbaseinqty,TSE.FBASELOSSQTY fbaseoutqty -FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, - 'ʼ', SUM(0 - TSE.FBASELOSSQTY) fbaseqcqty - FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, - ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---ֱӵ - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate ,TSE.FDESTSTOCKID fstockid, ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid, -TSE.FDESTSTOCKSTATUSID fstockstatusid, 'ֱӵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty - -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - - -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS -.FOBJECTTYPEID = 'STK_TransferDirect') - - - ---ʼ - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TSE.FDESTSTOCKID fstockid, -ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ', -SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END - -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect') -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), -ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FDESTSTOCKID, ISNULL(TSE.FDESTSTOCKLOCID, 0), -TSE.FDESTSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FBOMID, TS.FDATE - - - ---ֱӵ - - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, -FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio, -TSE.FSRCMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FSRCSTOCKSTATUSID fstockstatusid, -'ֱӵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect') - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, -TSE.FSRCMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FSRCSTOCKSTATUSID fstockstatusid, 'ʼ', - -SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END - -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty - - -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect') -GROUP BY TS.FSTOCKOUTORGID, TSE.FOWNERTYPEOUTID, TSE.FOWNEROUTID, TSE.FSRCMATERIALID, ISNULL(TSE.FAUXPROPID, 0), -ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSRCSTOCKID, ISNULL(TSE.FSRCSTOCKLOCID, 0), TSE.FSRCSTOCKSTATUSID, -TSE.FKEEPERTYPEOUTID, TSE.FKEEPEROUTID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FSRCBOMID, TS.FDATE - - ---ֲʽ뵥 - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate,TSE.FDESTSTOCKID fstockid, ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid, -TSE.FDESTSTOCKSTATUSID fstockstatusid, 'ֲʽ뵥' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, -0 fbaseqcqty, CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GEN -ERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty - -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FDESTSTOCKID fstockid, ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(TSE.FBASEQTY) fbaseqcqty - FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FDESTLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FDESTSTOCKID, ISNULL(TSE.FDESTSTOCKLOCID, 0), TSE.FDESTSTOCKSTATUSID, - TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FBOMID, TS.FDATE - ---ֲʽ뵥 - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FSRCMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FSRCSTOCKSTATUSID fstockstatusid, 'ֲʽ뵥' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno, 0 fbaseqcqty,((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseinqty, 0 fbaseoutqty -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) -AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - - - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - - SELECT TS.FSTOCKOUTORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FSRCMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FSRCSTOCKSTATUSID fstockstatusid, '', SUM((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseqcqty - FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKOUTORGID IN (1) - AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) - AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - GROUP BY TS.FSTOCKOUTORGID, TSE.FOWNERTYPEOUTID, TSE.FOWNEROUTID, TSE.FSRCMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FSRCMTONO, ' '), - TSE.FSRCSTOCKID, ISNULL(TSE.FSRCSTOCKLOCID, 0), TSE.FSRCSTOCKSTATUSID, TSE.FKEEPERTYPEOUTID, TSE.FKEEPEROUTID, TSE.FSRCPRODUCEDATE, TSE.FSRCEXPIRYDATE, TSE.FSRCBOMID, TS.FDATE - ---ֲʽ - - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio, -TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, -TSE.FSRCSTOCKSTATUSID fstockstatusid, 'ֲʽ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseinqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty - -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) - - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FSRCSTOCKSTATUSID fstockstatusid, - 'ʼ', SUM(0 - TSE.FBASEQTY) fbaseqcqty - FROM T_STK_STKTRANSFEROUTENTRY TSE INNER JOIN T_STK_STKTRANSFEROUT TS ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON -TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), - ISNULL(TSE.FMTONO, ' '), TSE.FSRCSTOCKID, ISNULL(TSE.FSRCSTOCKLOCID, 0), TSE.FSRCSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, - TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FBOMID, TS.FDATE - ---ֲʽ - - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid, -'ֲʽ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty, 0 fbaseoutqty -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A') - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid, - 'ʼ', SUM(TSE.FBASEQTY) fbaseqcqty - FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A') - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSRCSTOCKID, ISNULL(TSE.FSRCSTOCKLOCID, 0), - TSE.FDESTSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FBOMID, TS.FDATE - - ---ֲʽ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKINORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio,TSE.FDESTMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FDESTSTOCKID fstockid, -ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid, -'ֲʽ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty,TSE.FBASEQTY fbaseinqty, 0 fbaseoutqty -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B') - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKINORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FDESTMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FDESTSTOCKID fstockid, ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid, -'ʼ', SUM(TSE.FBASEQTY) fbaseqcqty -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B') -GROUP BY TS.FSTOCKINORGID, TSE.FOWNERTYPEINID, TSE.FOWNERINID, TSE.FDESTMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FDESTLOT_TEXT, ' '), ISNULL(TSE.FDESTMTONO, ' '), TSE.FDESTSTOCKID, -ISNULL(TSE.FDESTSTOCKLOCID, 0), TSE.FDESTSTOCKSTATUSID, TSE.FKEEPERTYPEINID, TSE.FKEEPERINID, TSE.FDESTPRODUCEDATE, TSE.FDESTEXPIRYDATE, ISNULL(TSE.FDESTBOMID, 0), TS.FDATE - - - ---Ʋֿ - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FDESTSTOCKID fstockid, ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid, -TSE.FDESTSTOCKSTATUSID fstockstatusid, 'Ʋֿ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, - 0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty -FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FDESTSTOCKID fstockid, ISNULL(TSE.FDESTSTOCKLOCID, 0) fstocklocid, TSE.FDESTSTOCKSTATUSID fstockstatusid,'ʼ', - SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - - FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FDESTLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), - TSE.FDESTSTOCKID, ISNULL(TSE.FDESTSTOCKLOCID, 0), TSE.FDESTSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FBOMID, TS.FDATE - - - - --Ʋֿ - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio, -TSE.FSRCMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, - TSE.FSRCSTOCKSTATUSID fstockstatusid, - 'Ʋֿ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty, - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty - FROM T_REM_STKTRANSFERIN TS - INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FSRCMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSRCSTOCKID fstockid, ISNULL(TSE.FSRCSTOCKLOCID, 0) fstocklocid, TSE.FSRCSTOCKSTATUSID fstockstatusid, 'ʼ', - SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty - FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKOUTORGID, TSE.FOWNERTYPEOUTID, TSE.FOWNEROUTID, TSE.FSRCMATERIALID, ISNULL(TSE.FAUXPROPID, 0), -ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSRCSTOCKID, ISNULL(TSE.FSRCSTOCKLOCID, 0), TSE.FSRCSTOCKSTATUSID, TSE.FKEEPERTYPEOUTID, TSE.FKEEPEROUTID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, TSE.FSRCBOMID, TS.FDATE - - ---ίⲹϵ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ίⲹϵ' fbillname, TS.FID fbillid, -TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, TSEQ.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) -LEFT OUTER JOIN T_SUB_FEEDMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, - -'ʼ', SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty - FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, - TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - - ---ίϵ - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ίϵ' fbillname, TS.FID fbillid, -TSE.FSEQ fbillseqid, TS.FBILLNO fbillno,0 fbaseqcqty, 0 fbaseinqty, TSE.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) -LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ', SUM(0 - TSE.FBASESTOCKACTUALQTY) fbaseqcqty - FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID - INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID, TSEQ.FOWNERTYPEID, TSEQ.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), - TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSEQ.FKEEPERTYPEID, TSEQ.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---ίϵ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'ίϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, -0 fbaseinqty, (0 - TSE.FBASESTOCKQTY) fbaseoutqty -FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -LEFT OUTER JOIN T_SUB_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(TSE.FBASESTOCKQTY) fbaseqcqty -FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, -TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSEA.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), -TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - ---߲Ʒⵥ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid, 0 forderby, - 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, '߲Ʒⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno, 0 fbaseqcqty, TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty -FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_REM_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, - TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, - 'ʼ', SUM(TSE.FBASEREALQTY) fbaseqcqty - FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), - TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ----߲Ʒ˿ⵥ - - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, - FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TS.FDATE fdate,TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'߲Ʒ˿ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, -0 fbaseqcqty, (0 - TSE.FBASEREALQTY) fbaseinqty, 0 fbaseoutqty -FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_REM_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ', SUM(TSE.FBASEREALQTY) fbaseqcqty -FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, -ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - - ---ϵ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, -'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS -.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, TSED.FBASESTOCKACTUALQTY fbaseoutqty - -FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_REM_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ', SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty -FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) -AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSED.FOWNERTYPEID, TSED.FOWNERID, TSE.FMATERIALID, -ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSED.FKEEPERTYPEID, TSED.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0), TS.FDATE - - ---ϵ -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid,'ϵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno, 0 fbaseqcqty, 0 fbaseinqty, (0 - TSEA.FBASESTOCKQTY) fbaseoutqty - -FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -LEFT OUTER JOIN T_REM_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) - and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, 'ʼ', SUM(TSEA.FBASESTOCKQTY) fbaseqcqty -FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), -TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - - ---ίⳬĵ -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'O' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'ίⳬĵ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty,0 fbaseinqty, TSE.FBASEUNITQTY fbaseoutqty - -FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SUB_EXCONSUMEENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ', SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty -FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSE.FOwnerTypeId, TSE.FOwnerId, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), -ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID,0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - ---˿ⵥ - - INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio,TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'˿ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, TS.FBILLNO fbillno, 0 fbaseqcqty, (0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty -FROM -T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID -LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND TS.FEntrustRetStockId = 0) - - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ', SUM(0 - TSE.FBASEREALQTY) fbaseqcqty -FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) -AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS= 'A')) AND TS.FEntrustRetStockId = 0) - GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), - TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - ---˿ⵥ - -INSERT INTO #TMP (FSTOCKORGID, FBILLENTRYID, FORDERBY,FSTOCKIO, FMATERIALID, FAUXPROPID, FDATE, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID, FBILLNAME, FBILLID, FBILLSEQID, FBILLNO, FBASEQCQTY, FBASEINQTY, FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TSE.FENTRYID fbillentryid, 0 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, - -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, '˿ⵥ' fbillname, TS.FID fbillid, TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno, 0 fbaseqcqty, (0 - TSE.FBASEOUTQTY) fbaseinqty, 0 fbaseoutqty - -FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_SP_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - --ʼ -INSERT INTO #TMP ( FSTOCKORGID,FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid, TS.FDATE fdate, -200 forderby, 'I' fstockio, TSE.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TSE.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'ʼ', SUM(0 - TSE.FBASEOUTQTY) fbaseqcqty - FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID, TSE.FOWNERTYPEID, TSE.FOWNERID, TS.FDATE, TSE.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TSE.FLOT_TEXT, ' '), ISNULL(TSE.FMTONO, ' '), TSE.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID, TSE.FKEEPERID, TSE.FPRODUCEDATE, TSE.FEXPIRYDATE, ISNULL(TSE.FBOMID, 0) - - - -INSERT INTO #TMP ( FSTOCKORGID, FDATE, FORDERBY, FSTOCKIO, FMATERIALID, FAUXPROPID, FSTOCKID, FSTOCKLOCID, FSTOCKSTATUSID,FBILLNAME, FBASEQCQTY) - -SELECT TSE.FSTOCKORGID fstockorgid, TSE.FBALDATE fdate, -200 forderby, - 'I' fstockio, TM.FMATERIALID fmaterialid, ISNULL(TSE.FAUXPROPID, 0) fauxpropid, -TBS.FSTOCKID fstockid, ISNULL(TSE.FSTOCKLOCID, 0) fstocklocid, TSE.FSTOCKSTATUSID fstockstatusid, -'', SUM(TSE.FBASEENDQTY) fbaseqcqty -FROM T_STK_INVBAL TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID) -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID) -LEFT OUTER JOIN T_ENG_BOM TB ON (TB.FMASTERID = TSE.FBOMID AND TB.FUSEORGID = TSE.FSTOCKORGID) -LEFT OUTER JOIN V_ITEMCLASS_OWNER VO ON ((VO.FMASTERID = TSE.FOWNERID AND VO.FFORMID = TSE.FOWNERTYPEID) AND (VO.FUSEORGID = TSE.FSTOCKORGID OR VO.FUSEORGID = 0 -OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VO.FFORMID AND BT.FSTRATEGYTYPE = 1)))) -LEFT OUTER JOIN V_ITEMCLASS_OWNER_L VO_L ON (VO.FITEMID = VO_L.FITEMID AND VO_L.FLOCALEID = 2052) -LEFT OUTER JOIN V_ITEMCLASS_KEEPER VK ON ((VK.FMASTERID = TSE.FKEEPERID AND VK.FFORMID = TSE.FKEEPERTYPEID) AND (VK.FUSEORGID = TSE.FSTOCKORGID OR VK.FUSEORGID = 0 -OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VK.FFORMID AND BT.FSTRATEGYTYPE = 1)))) -LEFT OUTER JOIN V_ITEMCLASS_KEEPER_L VK_L ON (VK.FITEMID = VK_L.FITEMID AND VK_L.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_LOTMASTER TBLM ON (ISNULL(TSE.FLOT, 0) = TBLM.FMASTERID AND TBLM.FUSEORGID IN (1)) - -WHERE ((TSE.FSTOCKORGID IN (1) AND (FBALTYPE in(0, 1) AND (FSTOCKORGID = 1 AND TSE.FBALDATE =@FCloseBALDate ))) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TBS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - AND TM.FFORBIDSTATUS = 'A') - - -GROUP BY TSE.FSTOCKORGID, TSE.FOWNERTYPEID, VO.FITEMID, TSE.FBALDATE, TM.FMATERIALID, ISNULL(TSE.FAUXPROPID, 0), ISNULL(TBLM.FNUMBER, ' '), ISNULL(TSE.FMTONO, ' '), -TBS.FSTOCKID, ISNULL(TSE.FSTOCKLOCID, 0), TSE.FSTOCKSTATUSID, TSE.FKEEPERTYPEID, VK.FITEMID, TSE.FLOT, TMS.FISBATCHMANAGE, TMS.FISKFPERIOD, -TMS.FISEXPPARTOFLOT, TBLM.FPRODUCEDATE, TSE.FPRODUCEDATE, TBLM.FEXPIRYDATE, TSE.FEXPIRYDATE, ISNULL(TB.FID, 0) - - ---ϲг - -select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY -into #tmp1 -from #TMP ---where FDATE <='2019-08-30' -group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID -order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID - - - -insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ) - -select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ -from #tmp1 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID) -inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID - - - ---ڽ ---select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY ---into #tmp2 - ---from #TMP -----where FDATE <=@FSDate ---group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID ---order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID - ---select * -UPDATE t1 set t1.ڽ=t2.FBASEQCQTY - from #Stock_Status_temp t1 -inner join #tmp1 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID - - ---ĩ - - ---select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY ---into #tmp3 ---from #TMP - -----where FDATE <=@FEDate ---group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID ---order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID - - ---ĩ -UPDATE t1 set t1.ĩ=t2.FBASEQCQTY+t2.FBASEINQTY-t2.FBASEOUTQTY - from #Stock_Status_temp t1 -inner join - #tmp1 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID - - ---ڲɹ -select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY -into #tmp4 from #TMP TS where FORDERBY<>'-200' and fstockio='I' and ( FBILLNAME not like'%%' and FBILLNAME<>'̬ת') -and ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'and TS.FDATE <='2019-11-12' -group by FSTOCKORGID, FMATERIALID, -FAUXPROPID, FSTOCKID -order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID ---ڲɹ - -UPDATE t1 set t1.ڲɹ=t2.FBASEINQTY - from #Stock_Status_temp t1 -inner join #tmp4 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID - ---ں -select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY -into #tmp5 from #TMP TS where fstockio='O' and ( FBILLNAME not like'%%' and FBILLNAME<>'̬ת') -and ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'and TS.FDATE <='2019-11-12' -group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID -order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID ---ں - -UPDATE t1 set t1.ں=t2.FBASEOUTQTY - from #Stock_Status_temp t1 -inner join #tmp5 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID - - ---ֿⲦֿⲦ - -select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY -into #tmp6 from #TMP TS where FORDERBY<>'-200' and ( FBILLNAME like'%%' ) -and ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'and TS.FDATE <='2019-11-12' -group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID -order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID - ---ֿⲦ--ֿⲦ - -UPDATE t1 set t1.ֿⲦ=t2.FBASEINQTY,t1.ֿⲦ=t2.FBASEOUTQTY - from #Stock_Status_temp t1 -inner join #tmp6 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID - - --- -select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY -into #tmp7 from #TMP TS where ( FBILLNAME in('ϵ','ίϵ' )) -and ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'and TS.FDATE <='2019-11-12' -group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID -order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID - --- -UPDATE t1 set t1.=t2.FBASEOUTQTY - from #Stock_Status_temp t1 -inner join #tmp7 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID - - ---۳ - -select FSTOCKORGID, FMATERIALID, FAUXPROPID, FSTOCKID,sum( FBASEQCQTY)FBASEQCQTY, sum(FBASEINQTY)FBASEINQTY, sum(FBASEOUTQTY) FBASEOUTQTY -into #tmp8 from #TMP TS where ( FBILLNAME ='۳ⵥ' ) -and ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'and TS.FDATE <='2019-11-12' -group by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID -order by FSTOCKORGID, FMATERIALID,FAUXPROPID, FSTOCKID - ---۳ -UPDATE t1 set t1.۳=t2.FBASEOUTQTY - from #Stock_Status_temp t1 -inner join #tmp8 t2 on t1.=t2.FMATERIALID and t1.ֿ=t2.FSTOCKID and t1.װ=T2.FAUXPROPID - - - - ---ܶ ---۶ܶ ---******************************************* - ---ѯ ---(C.FBASEREMAINOUTQTY+C.FBaseReturnQty)ۼ˿+ʣδ -select (A.FBILLNO) as ۵,(A.FID) ,(B.FENTRYID) ۷¼ ,(B.FSEQ) , -B.FMATERIALID AS ,B.FBASEUNITQTY ,(C.FBASEREMAINOUTQTY+C.FBaseReturnQty) as δ,FBaseReturnQty, -isnull(B.FSTOCKID,0) ֿ,B.FAUXPROPID ,A.FCLOSESTATUS ,FCLOSEDATE, A.FDATE , B.FMRPCLOSESTATUS ҵر -into #tmpSal -from T_SAL_ORDER A -inner join T_SAL_ORDERENTRY B on A.FID =B.FID -left join T_SAL_ORDERENTRY_R C ON C.FID=B.FID AND C.FENTRYID =B.FENTRYID -left join T_SAL_ORDERENTRY_E D on D.FID=B.FID AND D.FENTRYID =B.FENTRYID - -WHERE 1=1 AND A.FCANCELSTATUS='A' AND A.FDOCUMENTSTATUS='C' --AND B.FMRPTERMINATESTATUS='A' -AND (B.FTERMINATEDATE >@FEDate OR isnull(B.FTERMINATEDATE,'') ='') -AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')--رڿʼ֮ǰݲ -AND A.FDATE <=@FEDate --AND A.FBILLNO='SO1909200018' -ORDER BY A.FDATE ,A.FID,B.FENTRYID,B.FMATERIALID - - - ---δ ---select * -update t1 set t1.δ=δ+t2.fbaseoutqty -from #tmpSal t1 -inner join ( -SELECT TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID,sum(TSE.FBASEUNITQTY) fbaseoutqty -FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID - -WHERE TS.FDATE>@FEDate and -( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -group by TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID ) t2 on t2.FSOORDERNO =t1.۵ and t2.FSOENTRYID=t1.۷¼ and t1.=t2.FMATERIALID - ---۳˻ ---˻ ---select * -update t1 set t1.δ=δ+t2.fbaseoutqty -from #tmpSal t1 -inner join ( -SELECT TSE.FORDERNO,TSE.FSOENTRYID ,TSE.FMATERIALID,sum((TSE.FBASEUNITQTY)) fbaseoutqty -FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID - -WHERE TS.FDATE>@FEDate -and ( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -group by TSE.FORDERNO,TSE.FSOENTRYID ,TSE.FMATERIALID -) t2 on t2.FORDERNO =t1.۵ and t2.FSOENTRYID=t1.۷¼ and t1.=t2.FMATERIALID - - - -select ,, δ,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ -into #tmpSal1 from #tmpSal B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ ) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - -order by - - -select ,, δ,FAUXPROPID, ֿ -into #tmpSal3 from #tmpSal1 B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) ---left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) ---LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - -order by - - - -select ,sum(), sum(δ)δ ,FAUXPROPID, ֿ -into #tmpSal2 from #tmpSal3 -group by ֿ,,FAUXPROPID -order by ֿ,,FAUXPROPID - ---۶ܶ -UPDATE t1 set t1.ܶ=t2.δ -from #Stock_Status_temp t1 -inner join #tmpSal2 t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID - - ---ݾ - -insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,ܶ) - -select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as - ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -from #tmpSal2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. ) - -inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID - ---select * from #tmpSal2 TSE -where not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID) - ---******************************************* - - - ---; ---************************************************ - ---ɹ -select ddd.FPurchaseOrgID fstockorgid, ddd.FBILLNO ɹ ,ddd.FID AS ɹ , B.FENTRYID ɹ¼,b.FMATERIALID , -ISNULL(b.FAUXPROPID, 0) fauxpropid, ddd.FDATE fdate, TMS.FSTOCKID ֿ, FBASEUNITQTY ɹ , -FREMAINSTOCKINQTY ʣ,FBASESTOCKINQTY ,ddd.FCLOSEDATE -into #tmppoorder -FROM t_pur_poorderentry b -INNER JOIN t_pur_poorder ddd ON (ddd.FID = b.FID AND FbusinessType NOT IN ('ZCCG', 'FYCG')) -INNER JOIN t_pur_poorderentry_r r ON b.fentryid = r.fentryid -INNER JOIN t_pur_poorderentry_d td ON b.fentryid = td.fentryid -INNER JOIN T_BD_MATERIALSTOCK TMS ON b.FMATERIALID = TMS.FMATERIALID -WHERE (ddd.FPurchaseOrgID IN (1) AND (((ddd.FPurchaseOrgID IN (1)) -AND (ddd.FDATE <=@FEDate)) AND ddd.fdocumentStatus = 'C')) -AND (b.FTERMINATEDATE >@FEDate OR isnull(b.FTERMINATEDATE,'') ='') -AND (ddd.FCLOSEDATE>@FEDate or isnull(ddd.FCLOSEDATE,'')='') - ---ⵥ ---select * - -update t1 set t1.ʣ=ʣ+t2.fbaseinqty -from #tmppoorder t1 -inner join ( - SELECT TSE.FMATERIALID , tse.FPOORDERENTRYID,tse.FPOORDERNO ,SUM(TSE.FBASEUNITQTY) fbaseinqty - FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID - - INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID) - INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 AND TS.FDATE > @FEDate - and (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND TS.FDOCUMENTSTATUS IN ('C') - group by TSE.FPOORDERNO,TSE.FPOORDERENTRYID ,TSE.FMATERIALID -)t2 on t2.FPOORDERNO =t1.ɹ and t2.FPOORDERENTRYID=t1.ɹ¼ and t1.=t2.FMATERIALID - - ---ϵ - --select * -update t1 set t1.ʣ=ʣ-t2.fbaseinqty -from #tmppoorder t1 -INNER JOIN( - SELECT tse.FPOORDERENTRYID,tse.FORDERNO ,TSE.FMATERIALID fmaterialid, sum( TSE.FBASEUNITQTY) fbaseinqty - - FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID - WHERE 1=1 and (TS.FDATE >@FEDate) - AND TS.FDOCUMENTSTATUS IN ('C') AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND (TSE.FSTOCKID > 0) - AND TSF.FISGENFORIOS = '0'AND (TSE.FSTOCKFLAG = '1' OR (TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') ) - group by tse.FPOORDERENTRYID,tse.FORDERNO ,TSE.FMATERIALID -)t2 on t2.FORDERNO =t1.ɹ and t2.FPOORDERENTRYID=t1.ɹ¼ and t1.=t2.FMATERIALID - - ---º; - -select ,ɹ, ʣ,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ -into #tmppoorder1 from #tmppoorder B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -left - join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -order by - - - - -select ,ɹ, ʣ,FAUXPROPID, ֿ -into #tmppoorder3 from #tmppoorder1 B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK - ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - -order by - - - - -select ,sum(ɹ)ɹ, sum(ʣ)ʣ ,FAUXPROPID, ֿ -into #tmppoorder2 from #tmppoorder3 -group by ֿ,,FAUXPROPID -order by ֿ,,FAUXPROPID - - ---; -UPDATE t1 set t1.;=t2.ʣ -from #Stock_Status_temp t1 -inner join #tmppoorder2 t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID - ---ݾ - -insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,;) - -select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(ʣ) -from #tmppoorder2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. ) -inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID - ---select * from #tmpSal2 TSE -where ʣ<>0 AND - not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID) - - - - - ---************************************************ - --- ---************************************************* ---ѯֹ֮ǰ -select (MO.FBILLNO) ,ME.FPRODUCTTYPE , -(MO.FID) ,(ME.FENTRYID) ¼,MA.FCONVEYDATE,ME.FMATERIALID , -isnull(ME.FSTOCKID,0) ֿ,ME.FAUXPROPID ,MO.FDATE,ME.FSEQ,(ME.FQTY) , ---MQ.FBASENOSTOCKINQTY δ -(CASE WHEN (MQ.FBASENOSTOCKINQTY)>0 THEN (MQ.FBASENOSTOCKINQTY) else 0 end) as δ,MQ.FBASERESTKQTY ˿ - -into #tmpMO -from T_PRD_MO MO -inner join T_PRD_MOENTRY ME ON MO.FID =ME.FID -left JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -left JOIN T_PRD_MOENTRY_Q MQ ON MQ.FID =ME.FID AND ME.FENTRYID =MQ.FENTRYID -WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1 ---AND MO.FBILLNO IN('MO1909090271' ,'MO1905070262') -AND MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>'' -AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='') - - ---ֹ֮ɵⵥ ---select * -update t1 set t1.δ=δ+t2.fbaseInqty -from #tmpMO t1 -inner join( - SELECT TSE.FMATERIALID , TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,sum(TSE.FBASEREALQTY) fbaseInqty - FROM T_PRD_INSTOCK TS INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID - LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 - AND TS.FDATE > @FEDate AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' - --AND TS.FBILLNO='MM1909090128' - group by TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID - --order by TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID -) t2 on t1.=t2.FMOID and t1.¼=t2.FMOENTRYID and t1.=t2.FMATERIALID - ---ֹ֮ɵ˿ⵥ ---select * -update t1 set t1.δ=δ-t2.fbaseOutqty -from #tmpMO t1 -inner join( - SELECT TSE.FMATERIALID fmaterialid, TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseOutqty - FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID - LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - where 1=1 - AND TS.FDATE > @FEDate - AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A' - AND TS.FCANCELSTATUS = 'A' AND TS.FEntrustRetStockId = 0 - group by TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID -) t2 on t1.=t2.FMOID and t1.¼=t2.FMOENTRYID and t1.=t2.FMATERIALID - - ---º - -select ,, δ,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ -into #tmpMO1 from #tmpMO B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -order by - - - -select ,, δ,FAUXPROPID, ֿ -into #tmpMO3 from #tmpMO1 B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - -order by - - - -select ,sum(), sum(δ)δ ,FAUXPROPID, ֿ -into #tmpMO2 from #tmpMO3 -group by ֿ,,FAUXPROPID -order by ֿ,,FAUXPROPID - --- -UPDATE t1 set t1.=t2.δ -from #Stock_Status_temp t1 -inner join #tmpMO2 t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID - ---ݾ - -insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,) - -select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -from #tmpMO2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. ) -inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID - ---select * from #tmpSal2 TSE -where not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID) - ---***************end********************************** - - --- ---******************start******************************* - -----ѯֹ֮ǰϵ - -SELECT TS.FSTOCKORGID fstockorgid, TS.FBILLNO ϵ ,TS.FID AS , TSE.FENTRYID Ϸ¼,TSE.FMATERIALID , - ISNULL(TSE.FAUXPROPID, 0) fauxpropid, TS.FDATE fdate, TSE.FSTOCKID ֿ, FBASEUNITQTY , -CASE WHEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY))>0 THEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY)) ELSE 0 END δ, -(FBASEUNITQTY-FINSTOCKBASEQTY +FRETURNBASEQTY) -INTO #TMPRECEIVE -FROM T_PUR_RECEIVE TS -INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_RECEIVEENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID) -INNER JOIN T_PUR_RECEIVEENTRY_R TSER ON (TSE.FID = TSER.FID AND TSE.FENTRYID = TSER.FENTRYID) -INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID -WHERE 1=1 and (TS.FDATE <= @FEDate) ---and ts.FBILLNO='T61908290024-' and FRETURNBASEQTY<>0 -AND( FEXECUTEDATE>@FEDate OR ISNULL(FEXECUTEDATE,'')='')--ִ -and (TS.FSTOCKORGID IN (1)) -AND (TSE.FSTOCKID > 0)AND TSE.FSTOCKFLAG = '0' - --- AND TS.FDOCUMENTSTATUS IN ('C') -------ѯֹ֮ǰⵥ - ---select * -update t1 set t1.δ=δ+t2.fbaseInqty -from #TMPRECEIVE t1 -INNER JOIN ( - SELECT TSE.FMATERIALID , TSE.FSRCBILLNO,TSEL .FSBILLID ,TSEL.FSID ,SUM(TSE.FBASEUNITQTY) fbaseinqty - FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID) - INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 AND TS.FDATE >@FEDate - and (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' - group by TSE.FSRCBILLNO,TSEL .FSBILLID ,TSEL.FSID,TSE.FMATERIALID - --order by TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID -) t2 on t1.=t2.FSBILLID and t1.Ϸ¼=t2.FSID and t1.=t2.FMATERIALID - --- ---ѯֹ֮ϵ ---select * -update t1 set t1.δ=δ+t2.fbaseInqty -from #TMPRECEIVE t1 -INNER JOIN ( - SELECT TSE.FMATERIALID , TSE.FSRCBILLNO,TSEL .FSBILLID ,TSEL.FSID ,SUM(TSE.FBASEUNITQTY) fbaseinqty - FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_PUR_MRBENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID) - INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID - WHERE 1=1 AND TS.FDATE >@FEDate - and (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' - group by TSE.FSRCBILLNO,TSEL .FSBILLID ,TSEL.FSID,TSE.FMATERIALID - -) t2 on t1.=t2.FSBILLID and t1.Ϸ¼=t2.FSID and t1.=t2.FMATERIALID - - - ---º - -select ,, δ,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ -into #TMPRECEIVE1 from #TMPRECEIVE B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -order by - - - - -select ,, δ,FAUXPROPID, ֿ -into #TMPRECEIVE3 - from #TMPRECEIVE1 B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -order by - - -select ,sum(), sum(δ)δ ,FAUXPROPID, ֿ -into #TMPRECEIVE2 from #TMPRECEIVE3 -group by ֿ,,FAUXPROPID -order by ֿ,,FAUXPROPID - - --- -UPDATE t1 set t1.=t2.δ -from #Stock_Status_temp t1 -inner join #TMPRECEIVE2 t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID - ---ݾ - -insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,) - -select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -from #TMPRECEIVE2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE. ) -inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID - ---select * from #tmpSal2 TSE -where δ<>0 AND - not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID) - - ---****************end********************************* - ---*********************δ***************************************** - ---δ() ---***********************δ()***************************** ---ѯֹ֮ǰ -select (MO.FBILLNO) ,(MO.FID) ,(ME.FENTRYID) ¼, -PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼, -isnull(PC.FSTOCKID,0) ֿ,PE.FAUXPROPID ,(PE.FMUSTQTY) AS Ӧ, -PQ.FSELPICKEDQTY as ѡ,PQ.FBASENOPICKEDQTY AS δ -into #tmpPPBOM - from T_PRD_MO MO -inner join T_PRD_MOENTRY ME ON MO.FID =ME.FID -inner JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -inner join T_PRD_PPBOM PP on PP.FMOID=MO.FID AND ME.FENTRYID =PP.FMOENTRYID -inner join T_PRD_PPBOMENTRY PE on PP.FID =PE.FID -left join T_PRD_PPBOMENTRY_Q PQ on PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID -left join T_PRD_PPBOMENTRY_C PC on PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID -WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1 -AND (MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>'') -AND (MA.FFINISHDATE >@FEDate OR ISNULL(MA.FFINISHDATE ,'')='')--2020-04-27֮깤Ϊ׼깤 ---AND (MA.FCLOSEDATE>@FEDate OR ISNULL(MA.FCLOSEDATE,'')='')--2020-04-27֮ǰǽ᰸ - ---and PP.FBILLNO ='PP1910150215' - - --ѯֹ֮еϵ - --select δ,t2.fbaseOutqty, * -update t1 set t1.δ=δ+t2.fbaseOutqty -from #tmpPPBOM t1 -INNER JOIN ( -SELECT tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO, -TSE.FMATERIALID,sum(TSED.FBASESTOCKACTUALQTY) fbaseOutqty -FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - -WHERE (TS.FDATE> @FEDate) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A') -group by tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID -) t2 on t1.=t2.FMOBILLNO and t1.¼=t2.FMOENTRYID -and t1.ϵ=t2.FPPBOMBILLNO and t1.ϵ¼=t2.FPPBOMENTRYID and t1.=t2.FMATERIALID - - - ---ºδ ---select * from #tmpPPBOM - -select ,Ӧ, δ,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ -into #tmpPPBOM1 from #tmpPPBOM B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -order by - - - -select ,Ӧ, δ,FAUXPROPID, ֿ -into #tmpPPBOM3 from #tmpPPBOM1 B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -order by - - - -select ,sum(Ӧ)Ӧ, sum(δ)δ ,FAUXPROPID, ֿ -into #tmpPPBOM2 from #tmpPPBOM3 -group by ֿ,,FAUXPROPID -order by ֿ,,FAUXPROPID - ---δ() -UPDATE t1 set t1.δ=t2.δ -from #Stock_Status_temp t1 -inner join #tmpPPBOM2 -t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID - ---ݾ - -insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,δ) - -select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -from #tmpPPBOM2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. ) -inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID - ---select * from #tmpSal2 TSE -where δ>0 AND - not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID) - ---*************************δ()***************************************** - - - ---δ(ί) ---*************************δ(ί)*************************** ---ѯֹ֮ǰίⵥ -select (MO.FBILLNO) ίⵥ ,(MO.FID) ί,(ME.FENTRYID) ίⵥ¼, -PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼, -isnull(PC.FSTOCKID,0) ֿ,PE.FAUXPROPID ,(PE.FMUSTQTY) AS Ӧ, -PQ.FSELPICKEDQTY as ѡ,PQ.FBASENOPICKEDQTY AS δ -into #tmpSubBOM -from T_SUB_REQORDER MO -inner join T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID ---inner JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -inner join T_SUB_PPBOM PP on PP.FSUBREQID =MO.FID AND ME.FENTRYID =PP.FSUBREQENTRYID -inner join T_SUB_PPBOMENTRY PE on PP.FID =PE.FID -left join T_SUB_PPBOMENTRY_Q PQ on PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID -left join T_SUB_PPBOMENTRY_C PC on PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID -WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1 -AND (MO.FDATE <=@FEDate AND ISNULL(ME.FCONVEYDATE,'')<>'') -AND (ME.FCLOSEDATE>@FEDate OR ISNULL(ME.FCLOSEDATE,'')='') - - - - - --ѯֹ֮еϵ - --select δ,t2.fbaseOutqty, * -update t1 set t1.δ=δ+t2.fbaseOutqty -from #tmpSubBOM t1 -INNER JOIN ( -SELECT tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO, -TSE.FMATERIALID,sum(TSE.FBASESTOCKACTUALQTY) fbaseOutqty -FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - -WHERE (TS.FDATE> @FEDate) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A') -group by tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID -) t2 on t1.ίⵥ=t2.FSUBREQBILLNO and t1.ίⵥ¼=t2.FSUBREQENTRYID -and t1.ϵ=t2.FPPBOMBILLNO and t1.ϵ¼=t2.FPPBOMENTRYID and t1.=t2.FMATERIALID - - - ---ºδ ---select * from #tmpPPBOM - -select ,Ӧ, δ,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ - into #tmpSubBOM1 from #tmpSubBOM B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -order by - - - -select ,Ӧ, δ,FAUXPROPID, ֿ -into #tmpSubBOM3 from #tmpSubBOM1 B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -order by - - - -select ,sum(Ӧ)Ӧ, sum(δ)δ ,FAUXPROPID, ֿ -into #tmpSubBOM2 from #tmpSubBOM3 -group by ֿ,,FAUXPROPID -order by ֿ,,FAUXPROPID - - ---δ(ί) -UPDATE t1 set t1.δ=isnull(t1.δ,0)+isnull(t2.δ,0) -from #Stock_Status_temp t1 -inner join #tmpSubBOM2 -t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID - - ---ݾ - -insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,δ) - -select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δ) -from #tmpSubBOM2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. ) -inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID - ---select * from #tmpSal2 TSE -where δ>0 AND - not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID) - - - - ---*********************δ(ί)*end******************************* - --- --ֹѯδ --- UPDATE t1 set t1.δ=isnull(t1.δ,0)+isnull(t1.ܶ,0) ---from #Stock_Status_temp t1 ---where isnull(t1.ܶ,0)<>0 - ---**********************end******************************* - - - - ---깺δת ---*******************strat***************************** - ---ѯֹ֮ǰвɹ - - SELECT TS.FAPPLICATIONORGID fstockorgid, TS.FBILLNO 뵥 ,TS.FID AS ,TSE.FENTRYID ¼,TSE.FMATERIALID , - ISNULL(TSE.FAUXPROPID, 0) FAUXPROPID, TS.FAPPLICATIONDATE fdate, TMS.FSTOCKID ֿ, - FBASEUNITQTY ,TSEF.FREMAINQTY as δת - INTO #TMPREQ -FROM T_PUR_REQUISITION TS -INNER JOIN T_PUR_REQENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_REQENTRY_R TSEF ON (TSE.FID = TSEF.FID -AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_REQENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID) -LEFT JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID=TM.FMATERIALID -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -WHERE 1=1 ---AND ts.FBILLNO ='SQ1910100001'AND FORDERBASEQTY<>FBASEUNITQTY AND TS.FCLOSESTATUS<>'B' - AND (TS.FAPPLICATIONDATE <=@FEDate) - AND (TS.FCLOSEDATE>@FEDate or isnull(TS.FCLOSEDATE,'')='') - AND (TS.FAPPLICATIONORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - - - - --ѯֹ֮вɹ - --select * -update t1 set t1.δת=δת+t2.fbaseOrdqty -from #TMPREQ t1 -INNER JOIN ( - SELECT t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID ,t1.FMATERIALID,sum(t1.FBASEUNITQTY) fbaseOrdqty - FROM T_PUR_POORDER t0 - INNER JOIN T_PUR_POORDERENTRY t1 on (t0.FID = t1.FID) - INNER JOIN T_PUR_POORDERENTRY_R t1R ON(t1R.FID = t1.FID AND t1.FENTRYID = t1R.FENTRYID) - INNER JOIN T_PUR_POORDERENTRY_LK t1k ON(t1.FENTRYID = t1k.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON t1.FMATERIALID = TM.FMATERIALID - WHERE t0.FDATE>@FEDate and - ( t0.FCANCELSTATUS = 'A' AND TM.FFORBIDSTATUS = 'A') - group by t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID ,t1.FMATERIALID - -) t2 on t1.=t2.FSBILLID and t1.¼=t2.FSID and t1.=t2.FMATERIALID - - ---º - - -select ,, δת,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) end ֿ -into #TMPREQ1 from #TMPREQ B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -order by - - -select ,, δת,FAUXPROPID, ֿ -into #TMPREQ3 from #TMPREQ1 B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -(TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -order by - - -select ,sum(), sum(δת)δת ,FAUXPROPID, ֿ -into #TMPREQ2 from #TMPREQ3 -group by ֿ,,FAUXPROPID -order by ֿ,,FAUXPROPID - ---깺δת -UPDATE t1 set t1.깺δת=t2.δת -from #Stock_Status_temp t1 -inner join #TMPREQ2 t2 on t1.=t2. and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID - ---ݾ - -insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,깺δת) - -select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(δת) -from #TMPREQ2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. ) -inner join T_BD_MATERIAL_L TML on TM.FMATERIALID =TML.FMATERIALID and TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID - ---select * from #tmpSal2 TSE -where δת<>0 AND - not exists(select * from #Stock_Status_temp t2 where TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID) - - ---***************************************************** - ---ռ - ---******************************************************** - select TSE.FMATERIALID ,(TSE.FBASEQTY)FBASEQTY, - case when TSE.FSTOCKID<>0 then TSE.FSTOCKID else isnull(tms.FSTOCKID,0)end FSTOCKID,TSE.FAUXPROPID - into #TMPLINK from T_PLN_RESERVELINK TS - INNER JOIN T_PLN_RESERVELINKENTRY TSE ON TS.FID=TSE.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID - LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = TSE.FSTOCKID ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052) - where TSE.FBASEQTY<>0 - --and (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) ---group by TSE.FSTOCKID,TSE.FMATERIALID,FAUXPROPID -order by FSTOCKID,TSE.FMATERIALID,FAUXPROPID - - -select ,sum(FBASEQTY)FBASEQTY,FAUXPROPID, B.FSTOCKID ֿ -into #TMPLINK1 from #TMPLINK B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) ---left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.FSTOCKID ) ---LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.FSTOCKID AND TSL.FLOCALEID = 2052) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -(TM.FNUMBER in(select distinct ϱ from #YC_T_MRP )) -and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -group by b.FSTOCKID,,FAUXPROPID -order by b.FSTOCKID,,FAUXPROPID - - - - - ---ռ -UPDATE t1 set t1.ռ=t2.FBASEQTY -from #Stock_Status_temp t1 -inner join #TMPLINK1 t2 on t1.=t2. and t1.ֿ=t2.ֿ - and t1.װ=T2.FAUXPROPID - ---ݾռ - -insert into #Stock_Status_temp (, ϴ, , ͺ, ɱ,װʽ,ֿ, ֿ, ֿ,װ,ռ) - -select TM.fmaterialid as ,(TM.fnumber) ϴ,(TML.FNAME) as ,(TML.FSPECIFICATION) as ͺ,ISNULL(TM.FOLDNUMBER,'') AS ɱ, -isnull(t5.FAUXPTYNUMBER,'') װʽ,TBS.FSTOCKID ֿ,TSL.fname ֿ,TBS.fnumber ֿ,TSE.FAUXPROPID AS װ,(FBASEQTY) -from #TMPLINK1 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE. ) -inner join T_BD_MATERIAL_L TML on TM.FMATERIALID=TML.FMATERIALID and TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.ֿ AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 on TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 on t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 on t3.FF100001=t5.FAUXPTYID and t3.FID =t5.FAUXPTYVALUEID - ---select * from #tmpSal2 TSE -where FBASEQTY<>0 AND - not exists(select * from #Stock_Status_temp t2 where -TSE.=t2. and TSE.ֿ=t2.ֿ and t2.װ=TSE.FAUXPROPID) - - - - - ---*********************ռEND*********************************** - - ---ÿ ---******************************************************* - -UPDATE t1 set t1.ÿ=isnull(ĩ,0)+isnull(t1.,0)+isnull(;,0)-isnull(δ,0)-isnull(ܶ,0) -from #Stock_Status_temp t1 - ---*********************ÿEND********************************** - - --BOM -select =IDENTITY(INT,1,1), ϴ , , ͺ , ɱ , ڽ , - ڲɹ , ں , ĩ , ; , , , -δ , ,۳ ,ֿⲦ ,ֿⲦ,깺δת , -ܶ ,ռ ,ÿ , ֿ ,ֿ , װʽ , Ʒ into #Stock_Bom -from ( - select ϴ , t2. , ͺ , ɱ , ڽ , - ڲɹ , ں , ĩ , ; , , , -δ , ,۳ ,ֿⲦ ,ֿⲦ,깺δת , -ܶ ,ռ ,ÿ , ֿ ,ֿ , װʽ , t1.FOrderNum Ʒ -,FOrderNum,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6 -from #YC_T_MRP t1 -INNER join #Stock_Status_temp t2 on t1.ϱ=t2.ϴ -union all -select t1.ϱ ϴ , t2.FNAME , t2.FSPECIFICATION ͺ , isnull(TM.FOLDNUMBER,'') ɱ , -0 ڽ , 0 ڲɹ , 0 ں , 0 ĩ ,0 ; ,0 , 0 , -0 δ , 0 ,0 ۳ ,0 ֿⲦ ,0 ֿⲦ,0 깺δת , 0 ܶ , -0 ռ ,0 ÿ , ts.FNUMBER as ֿ ,tsl.FNAME as ֿ , ''װʽ, t1.FOrderNum Ʒ -,FOrderNum,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6 -from #YC_T_MRP t1 -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = t1.FMATERIALID ) -INNER JOIN T_BD_MATERIAL_L t2 ON (t2.FMATERIALID = t1.FMATERIALID ) -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -inner join T_BD_STOCK ts on tms.FSTOCKID=ts.FSTOCKID -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TS.FSTOCKID AND TSL.FLOCALEID = 2052) -where ϱ not in (select distinct ϴ from #Stock_Status_temp t2) -and TMS.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - - )t - order by FOrderNum,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6 - -select * from #Stock_Bom where like '%'+@FName+'%' - -drop table #TMP -drop table #TMP1 -DROP TABLE #TMPLINK -DROP TABLE #TMPLINK1 -drop table #TMP4 -drop table #TMP5 -drop table #TMP6 -drop table #TMP7 -drop table #TMP8 -drop table #tmpSal -drop table #tmpSal1 -drop table #tmpSal2 -drop table #tmpSal3 -drop table #tmpMO -drop table #tmpMO1 -drop table #tmpMO2 -drop table #tmpMO3 - -drop table #TMPREQ -drop table #TMPREQ1 -drop table #TMPREQ2 -drop table #TMPREQ3 -DROP TABLE #TMPRECEIVE -DROP TABLE #TMPRECEIVE1 -DROP TABLE #TMPRECEIVE2 -DROP TABLE #TMPRECEIVE3 -drop table #tmppoorder -drop table #tmppoorder1 -drop table #tmppoorder2 -drop table #tmppoorder3 -drop table #tmpPPBOM -drop table #tmpPPBOM1 -drop table #tmpPPBOM2 -drop table #tmpPPBOM3 -drop table #tmpSUBBOM -drop table #tmpSUBBOM1 -drop table #tmpSUBBOM2 -drop table #tmpSUBBOM3 -drop table #Stock_Status_temp - -set nocount off diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/创建临时表.sql b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/创建临时表.sql deleted file mode 100644 index 13bd909..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/创建临时表.sql +++ /dev/null @@ -1,88 +0,0 @@ -/* - Navicat Premium Data Transfer - - Source Server : sql server - Source Server Type : SQL Server - Source Server Version : 15002080 - Source Host : .:1433 - Source Catalog : AIS20231110222743 - Source Schema : dbo - - Target Server Type : SQL Server - Target Server Version : 15002080 - File Encoding : 65001 - - Date: 06/02/2024 11:40:17 -*/ - - --- ---------------------------- --- Table structure for TMP123123123123123 --- ---------------------------- -IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[TMP123123123123123]') AND type IN ('U')) - DROP TABLE [dbo].[TMP123123123123123] -GO - -CREATE TABLE [dbo].[TMP123123123123123] ( - [FIDENTITYID] bigint NOT NULL, - [FID] int NOT NULL, - [FSEQ] int NULL, - [FENTRYID] int NOT NULL, - [FDATE] datetime NULL, - [FPLANSTARTDATE] datetime NULL, - [FPLANFINISHDATE] datetime NULL, - [FSALEORDERNO] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL, - [FBILLNO] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL, - [FQTY] decimal(23,10) NOT NULL, - [FYIELDRATE] decimal(19,6) NOT NULL, - [FROUTINGID] int NULL, - [PRODUCTTYPE] varchar(6) COLLATE Chinese_PRC_CI_AS NOT NULL, - [ProMaterialId] int NULL, - [PrdUnitId] int NULL, - [FPPBOMBILLNO] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL, - [FBOMENTRYID] int NULL, - [ProMnemoniccode] nvarchar(20) COLLATE Chinese_PRC_CI_AS NULL, - [ProNumber] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL, - [ProName] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL, - [ProSpecification] nvarchar(510) COLLATE Chinese_PRC_CI_AS NULL, - [ProUnitName] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL, - [FMATERIALID] int NULL, - [FUnitNeedQty] decimal(38,15) NULL, - [FNEEDQTY] decimal(23,10) NOT NULL, - [FUNITID] int NOT NULL, - [FBASEWIPQTY] decimal(23,10) NULL, - [FPICKEDQTY] decimal(23,10) NULL, - [FNOPICKEDQTY] decimal(23,10) NULL, - [FSTDQTY] decimal(23,10) NOT NULL, - [FMUSTQTY] decimal(23,10) NOT NULL, - [FMEMO] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL, - [FLossQty] decimal(38,10) NULL, - [FSCRAPQTY] decimal(23,10) NULL, - [FREPICKEDQTY] decimal(23,10) NULL, - [FWORKSHOPID] int NULL, - [FSTOCKID] int NULL, - [FSTOCKLOCID] int NULL, - [PPBOMStatus] varchar(8) COLLATE Chinese_PRC_CI_AS NOT NULL, - [MaterialNumber] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL, - [MaterialName] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL, - [MaterialSpecification] nvarchar(510) COLLATE Chinese_PRC_CI_AS NULL, - [MaterialUnitName] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL, - [Materialsrc] varchar(3) COLLATE Chinese_PRC_CI_AS NOT NULL, - [WORKSHOPNAME] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL, - [FMASTERID] int NULL, - [FUSEORGID] int NULL, - [BOMMEMO] nvarchar(255) COLLATE Chinese_PRC_CI_AS NULL, - [FSTOCKNAME] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL, - [FBASEQTY] decimal(38,10) NULL, - [ROUTENAME] nvarchar(80) COLLATE Chinese_PRC_CI_AS NULL, - [FBASEINVQTY] decimal(23,10) NULL, - [FBASELACKQTY] decimal(23,10) NULL, - [FBASEONORDERQTY] decimal(23,10) NULL, - [StatusIs6] varchar(6) COLLATE Chinese_PRC_CI_AS NOT NULL, - [LOWEST6] int NOT NULL -) -GO - -ALTER TABLE [dbo].[TMP123123123123123] SET (LOCK_ESCALATION = TABLE) -GO - diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/新BOM层级库存状态.sql b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/新BOM层级库存状态.sql deleted file mode 100644 index 81eaa7f..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/新BOM层级库存状态.sql +++ /dev/null @@ -1,281 +0,0 @@ -declare - @moBillNo varchar(100) - ,@salesBillNo varchar(100) - ,@startMaterialId int - ,@endMaterialId int - ,@FSDate varchar (30) - ,@FEDate varchar (30) - ,@FSNumber varchar (50) - ,@FENumber varchar (50) - ,@FSStock varchar (max) -SET @moBillNo ='' -SET @salesBillNo ='' -SET @moBillNo = 0 -SET @moBillNo = 0 -SET @FSDate = '2024-01-05' -SET @FEDate = '2024-02-05' -SET @FSNumber = '1.01' -SET @FENumber = '1.01' ---SET @FSNumber = 'TSH182H000208O' ---SET @FENumber = 'TSH182H000208O' -SET @FSStock ='' - -declare @FCloseBALDate varchar (30) -declare @FClosedate varchar (30) - ---ѯʼһڵĩ -If NOT Exists( - SELECT FORGID, MAX(FCLOSEDATE) fclosedate - FROM T_STK_CLOSEPROFILE - WHERE FORGID IN (1) AND FCATEGORY = 'STK' AND (FCLOSEDATE < @FSDate) - GROUP BY FORGID) -BEGIN - SET @FClosedate='2020-01-01' - SET @FCloseBALDate='2020-01-01' - --print @FClosedate -END -ELSE -BEGIN - --SET @FClosedate='2019-07-01' - SELECT @FClosedate= CONVERT(varchar (30), DATEADD(D, 1,MAX(FCLOSEDATE)),23) FROM - T_STK_CLOSEPROFILE WHERE ((FORGID IN (1) AND FCATEGORY = 'STK') AND (FCLOSEDATE < @FSDate)) GROUP BY FORGID - SET @FCloseBALDate=CONVERT(varchar (30), DATEADD(D, -1,@FClosedate),23) - --print @FClosedat -END - -DECLARE @FSWL varchar (50) -DECLARE @FEWL varchar (50) - -SET @FSWL='' -SET @FEWL='' - -IF @FSNumber<>'' and @FENumber<>'' -BEGIN - SET @FSWL= @FSNumber - SET @FEWL= @FENumber -END -IF @FSNumber<>'' and @FENumber='' -BEGIN - SET @FSWL= @FSNumber - SELECT @FEWL=MAX(FNUMBER) FROM T_BD_MATERIAL -END -IF @FSNumber='' and @FENumber<>'' -BEGIN - SET @FEWL= @FENumber - SELECT @FSWL=MIN(FNUMBER) FROM T_BD_MATERIAL -END -IF @FSNumber='' and @FENumber='' -BEGIN - SELECT @FSWL=MIN(FNUMBER) FROM T_BD_MATERIAL - SELECT @FEWL=MAX(FNUMBER) FROM T_BD_MATERIAL -END - - --ʱѡȡֿ - -IF EXISTS(select * FROM tempdb..SYSOBJECTS WHERE id=OBJECT_ID('tempdb..#tmpStockID')) -BEGIN - DROP TABLE #tmpStockID - print '' -END -Create Table #tmpStockID ( - FID INT IDENTITY(1,1) - ,FStockID INT -) -DECLARE @Strsql varchar(max) -SET @Strsql= 'insert into #tmpStockID select distinct FSTOCKID from T_BD_STOCK where 1=1 ' +@FSStock -EXEC(@Strsql) - ---״̬ - -if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#Stock_Status_temp')) -begin - drop table #Stock_Status_temp - print '' -end - -Create Table #Stock_Status_temp ( - INT IDENTITY(1,1), - INT , - ϴ varchar(100) null , - varchar(255) null , - ͺ varchar(255) null , - ɱ varchar(100) null , - --λ varchar(30) null , - ڽ DECIMAL (18, 2) Null , - ڲɹ DECIMAL (18, 2) Null , - ں DECIMAL (18, 2) Null , - ĩ DECIMAL (18, 2) Null , - ; DECIMAL (18, 2) Null , - DECIMAL (18, 2) Null , - DECIMAL (18, 2) Null , - δ DECIMAL (18, 2) Null , - DECIMAL (18, 2) Null , - ۳ DECIMAL (18, 2) Null , - ֿⲦ DECIMAL (18, 2) Null , - ֿⲦ DECIMAL (18, 2) Null , - 깺δת DECIMAL (18, 2) Null, - ܶ DECIMAL (18, 2) Null , - ռ DECIMAL (18, 2) Null , - ÿ DECIMAL (18, 2) Null , - ֿ INT , - ֿ varchar(100) null , - ֿ varchar(255) null , - װ INT , - װʽ varchar(255) null -) - -if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#TMP')) -begin - drop table #TMP - print '' -end - -CREATE TABLE #TMP ( - FID INT IDENTITY(1,1), - FSTOCKORGID INT NOT NULL DEFAULT 0, - FBILLENTRYID INT NOT NULL DEFAULT 0, - FORDERBY INT NOT NULL DEFAULT 0, - FSTOCKIO CHAR (1) NULL, - FMATERIALID INT NOT NULL DEFAULT 0, - FAUXPROPID INT NOT NULL DEFAULT 0, - FDATE DATETIME NULL, - FSTOCKID INT NOT NULL DEFAULT 0, - FSTOCKLOCID INT NOT NULL DEFAULT 0, - FSTOCKSTATUSID INT NOT NULL DEFAULT 0, - FBILLNAME NVARCHAR (100) NULL, - FBILLID INT NOT NULL DEFAULT 0, - FBILLSEQID INT NULL, - FBILLNO NVARCHAR (100) NULL, - FBASEQCQTY DECIMAL (23, 10) NOT NULL DEFAULT 0, - FBASEINQTY DECIMAL (23, 10) NOT NULL DEFAULT 0, - FBASEOUTQTY DECIMAL (23, 10) NOT NULL DEFAULT 0 -) - ---BOM㼶 - -IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#YC_T_MRP')) -BEGIN - DROP TABLE #YC_T_MRP -END - -CREATE TABLE #YC_T_MRP( - FID INT IDENTITY(1,1), - FBOMNumber NVARCHAR(255), - FMATERIALID INT, - ϱ NVARCHAR(255), - NVARCHAR(255), - Ʒ DECIMAL(28,10) DEFAULT (0), - DECIMAL(28,10),--BOM - ĸ DECIMAL(28,10),--BOMĸ - FQty DECIMAL(28,10),-- - FLevle INT , - FERPCLSID INT, - FOrderNum NVARCHAR(255), - FBOMID INT, - BOM㼶 NVARCHAR(200) NULL, - FSEQ1 INT, - FSEQ2 INT, - FSEQ3 INT, - FSEQ4 INT, - FSEQ5 INT, - FSEQ6 INT, - FParentNumber NVARCHAR(255) -) - -IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#BOMTMP')) -BEGIN - DROP TABLE #BOMTMP -END - -/*ȡ״̬BOMʱ*/ -SELECT - ID=IDENTITY(INT,1,1) - ,T0.FID - ,T0.FNUMBER - ,T0.FMATERIALID - ,ROW_NUMBER() OVER(PARTITION BY T0.FMATERIALID ORDER BY t0.FID DESC) AS ROWID - INTO #BOMTmp -FROM T_ENG_BOM T0 - INNER JOIN T_BD_MATERIAL TM ON t0.FMATERIALID=TM.FMATERIALID --ϱ -WHERE (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A') - AND (TM.FNUMBER >= @FSWL AND TM.FNUMBER <=@FEWL) -ORDER BY FMATERIALID,FNUMBER - ---/*ʱУͬһϴֻһ°汾BOM*/ ---DELETE FROM #BOMTmp WHERE id NOT IN (SELECT max(id) FROM #BOMTmp GROUP BY FMATERIALID) -DELETE FROM #BOMTmp WHERE ROWID > 1 - -IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#TMP_TOP_BOM_SET')) -BEGIN - DROP TABLE #TMP_TOP_BOM_SET -END - -CREATE TABLE #TMP_TOP_BOM_SET( - FID int - ,FNUMBER varchar(80) - ,FMATERIALID int - ,FSEQ int - ,BOMLEVEL int - ,TOPID int - ,showlevel varchar(80) - ,BOMID int - ,FERPCLSID int -) -CREATE INDEX [#TMP_TOP_BOM_SET_FID] ON #TMP_TOP_BOM_SET(FID); - -INSERT INTO #TMP_TOP_BOM_SET -SELECT - t0.FID - ,t1.FNUMBER - ,t0.FMATERIALID - ,ROW_NUMBER() over(partition BY t0.FID order by t0.fid) - ,1 'BOMLEVEL' - ,t0.FID AS 'TOPID' - ,'' - ,t0.FID AS 'BOMID' - ,t2.FERPCLSID -FROM T_ENG_BOM t0 - INNER JOIN T_BD_MATERIAL t1 on t0.FMATERIALID = t1.FMATERIALID - LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID - INNER JOIN #BOMTmp t3 on t3.FNUMBER = t0.FNUMBER AND t3.FMATERIALID = t0.FMATERIALID -WHERE 1 = 1 - AND (t0.FDOCUMENTSTATUS = 'C') - -DECLARE @num INT,@level int,@LoopCount int -SET @num = 1 -SET @level =1 -SET @LoopCount = 0; - - -WHILE (@num > 0 AND @LoopCount < 10) -BEGIN - INSERT INTO #TMP_TOP_BOM_SET - SELECT - t3.FID - ,t2.FNUMBER - ,t1.FMATERIALID - ,ROW_NUMBER() over(partition BY t0.TOPID,t0.bomid order by t0.fseq) 'FSEQ' - ,@level + 1 AS 'BOMLEVEL' - ,t0.TOPID - ,CONCAT(t0.showlevel,'-',CAST(dense_rank() over(partition BY t0.topid,t0.bomid,t0.fid order by t1.fseq) as VARCHAR)) 'showLevel' - ,0 'OID' - ,t4.FERPCLSID - FROM - #TMP_TOP_BOM_SET t0 - LEFT JOIN T_ENG_BOMCHILD t1 on t0.BOMID = t1.FID - INNER JOIN T_BD_MATERIAL t2 on t2.FMATERIALID = t1.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t1_l on t1_l.FMATERIALID = t1.FMATERIALID AND t1_l.FLOCALEID = 2052 - LEFT JOIN T_ENG_BOM t3 on t1.FID = t3.FID--t1.FMATERIALID = t3.FMATERIALID - LEFT JOIN T_BD_MATERIALBASE t4 on t4.FMATERIALID = t1.FMATERIALID - WHERE 1 = 1 - --AND (t2.FERPCLSID = 2 OR t2.FERPCLSID = 5 ) - AND t0.FERPCLSID >= 2 - AND t0.BOMLEVEL = @level - AND t3.FDOCUMENTSTATUS = 'C' - AND t2.FFORBIDSTATUS = 'A' - - SET @num = @@ROWCOUNT - SET @level += 1 - SET @LoopCount += 1 -END -SELECT * FROM #TMP_TOP_BOM_SET \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/生产投料查询表_20240206.sql b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/生产投料查询表_20240206.sql deleted file mode 100644 index bb41244..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/生产投料查询表_20240206.sql +++ /dev/null @@ -1,179 +0,0 @@ - --IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].TMP123123123123123') AND type IN ('U')) - -- DROP TABLE [dbo].TMP123123123123123 - --GO - - declare @tableName varchar(80) - ,@seqFid varchar(80) - ,@proMaterialId int - ,@materialId int - ,@FBILLNO varchar(80) - ,@FPPBOMBILLNO varchar(80) - ,@FSALEORDERNO varchar(80) - ,@LCID int - - SET @tableName = 'TMP123123123123123' - SET @seqFid = 'ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID' - SET @proMaterialId = '' - SET @materialId = '' - SET @FBILLNO = '' - SET @FPPBOMBILLNO = '' - SET @FSALEORDERNO = '' - SET @LCID = 2052 -/***********************生产订单关联信息start****************************/ - SELECT - --ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID--1.行号 - t0.FID - ,t0e.FSEQ - ,t0e.FENTRYID - ,t0.FDATE --2.单据日期 - ,t0e.FPLANSTARTDATE--38.计划开工日期 - ,t0e.FPLANFINISHDATE--39.计划完工日期 - ,t0e.FSALEORDERNO --4.销售订单号 - ,t0.FBILLNO--7.生产任务单号 - ,t0e.FQTY--12.产品生产数量 - --,t0e.FSTOCKID--35.仓库 - --,t0e.FSTOCKLOCID--36.仓位 - ,t0e.FYIELDRATE - ,t0e.FROUTINGID - ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN '主产品' WHEN 2 THEN '主产品' WHEN 3 THEN '主产品' ELSE '' END) AS 'PRODUCTTYPE'--43.生产类型 - ,t0e.FMATERIALID AS 'ProMaterialId' - ,t0e.FUNITID AS 'PrdUnitId' - --,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'ProMaterialsrc' --15.物料来源 - INTO #TMPMO_BASE_INFO - FROM - T_PRD_MO t0 - INNER JOIN T_PRD_MOENTRY t0e on t0e.FID = t0.FID - WHERE - t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END) - AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END) - AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END) - - CREATE INDEX #TMPMO_BASE_INFO_INDEX_FENTRYID ON #TMPMO_BASE_INFO(FENTRYID); - - SELECT tt.* - ,(CASE t0e_a.FSTATUS WHEN 6 THEN '已结案'ELSE '' END) AS 'StatusIs6'--45.生产任务单结案否 - ,t1.FMNEMONICCODE AS 'ProMnemoniccode'--6.助记码 - ,t1.FNUMBER AS 'ProNumber'--8.产品编码 - ,t1_l.FNAME AS 'ProName'--9.产品名称 - ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.产品规格型号 - ,t2_l.FNAME AS 'ProUnitName'--11.产品单位 - INTO #TmpTable0 - FROM #TMPMO_BASE_INFO tt - INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = tt.FENTRYID - LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = tt.ProMaterialId - LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = tt.ProMaterialId AND t1_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = tt.PrdUnitId AND t2_l.FLOCALEID = @LCID - - DROP TABLE #TMPMO_BASE_INFO - - CREATE INDEX #TmpTable0_FENTRYID_INDEX ON #TmpTable0(FENTRYID); -/***********************生产订单关联信息end****************************/ - -/***********************生产用料清单关联信息start****************************/ - SELECT - tt.* - ,t0.FBILLNO AS 'FPPBOMBILLNO'--3.生产投料单号 - ,t0e.FMATERIALID - ,t0e.FENTRYID AS 'PPBOMENTRYID' - ,(t0e.FNUMERATOR / t0e.FDENOMINATOR) AS 'FUnitNeedQty' --18.物料单位用量 - ,t0e.FNEEDQTY --22.物料总需求 - ,t0e.FUNITID - ,t0e.FBOMENTRYID - ,t0e.FSTDQTY --标准用量 --29.标准数量 - ,t0e.FMUSTQTY --应发数量 --30.应发数量 - ,t0.FWORKSHOPID - ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '创建' WHEN 'B' THEN '审核中' WHEN 'C' THEN '已审核' WHEN 'D' THEN '重新审核' WHEN 'Z' THEN '暂存' ELSE '' END) AS 'PPBOMStatus'--46.生产投料单状态 - INTO #TMPPPBOM_BASE_INFO - FROM - T_PRD_PPBOM t0 --生产用料清单 - INNER JOIN T_PRD_PPBOMENTRY t0e ON t0.FID = t0e.FID - INNER JOIN #TmpTable0 tt on t0.FMOENTRYID = tt.FENTRYID - WHERE - T0.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE T0.FBILLNO END) - AND t0e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t0e.FMATERIALID END) - - CREATE INDEX #TMPPPBOM_BASE_INFO_PPBOMENTRYID_INDEX ON #TMPPPBOM_BASE_INFO(PPBOMENTRYID); - - SELECT tt.* - ,t0e_q.FBASEWIPQTY --23.当前在制品数量 - ,t0e_q.FPICKEDQTY --27.已领数量 - ,t0e_q.FNOPICKEDQTY --28.未领数量 - ,t0e_l.FMEMO --31.备注 - ,t0e_q.FPICKEDQTY * (100 - tt.FYIELDRATE) AS 'FLossQty'--32.损耗数量 - ,t0e_q.FSCRAPQTY --33.报废数量 - ,t0e_q.FREPICKEDQTY --37.补料数量 - ,t0e_c.FSTOCKID - ,t0e_c.FSTOCKLOCID - INTO #TmpTable1 - FROM #TMPPPBOM_BASE_INFO tt - LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = tt.PPBOMENTRYID --生产用料清单数量拆分表 - LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = tt.PPBOMENTRYID - LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = tt.PPBOMENTRYID AND t0e_l.FLOCALEID = @LCID - - DROP TABLE #TMPPPBOM_BASE_INFO - - SELECT - tt.* - ,t1.FNUMBER AS 'MaterialNumber'--8.物料编码 - ,t1_l.FNAME AS 'MaterialName'--9.物料名称 - ,t1_l.FSPECIFICATION AS 'MaterialSpecification'--10.物料规格型号 - ,t2_l.FNAME AS 'MaterialUnitName'--11.物料单位 - ,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.物料来源 - ,t4_l.FNAME AS 'WORKSHOPNAME' --44.生产车间 - ,t1.FMASTERID - ,t1.FUSEORGID - ,t5_l.FMEMO AS 'BOMMEMO' --42.BOM备注项 - ,t3_l.FNAME AS 'FSTOCKNAME' - into #TmpTable2 - FROM - #TmpTable1 tt - LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = tt.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = tt.FMATERIALID AND t1_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = tt.FUNITID AND t2_l.FLOCALEID = @LCID - LEFT JOIN T_BD_STOCK_L t3_l ON t3_l.FSTOCKID = tt.FSTOCKID AND t3_l.FLOCALEID =@LCID - LEFT JOIN T_BD_DEPARTMENT_L t4_l on t4_l.FDEPTID = tt.FWORKSHOPID AND t4_l.FLOCALEID = @LCID - LEFT JOIN T_ENG_BOMCHILD_L t5_l ON t5_l.FENTRYID = tt.FBOMENTRYID AND t5_L.FLOCALEID = @LCID - -/***********************生产用料清单关联信息end****************************/ - SELECT - t0.* - ,t1.FBASEQTY - ,t2_l.FNAME AS 'ROUTENAME' - ,t3e_A.FBASEINVQTY - ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.欠料 - ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.物料在途数 - ,6 AS 'LOWEST6' - --INTO #TmpTable3 - FROM - #TmpTable2 t0 - LEFT JOIN ( - SELECT - t0.FMATERIALID - ,t0.FSTOCKORGID - ,sum(t0.FBASEQTY) AS FBASEQTY - FROM - T_STK_INVENTORY t0 - GROUP BY - t0.FMATERIALID - ,t0.FSTOCKORGID - ) t1 on t1.FMATERIALID = t0.FMASTERID AND t1.FSTOCKORGID = t0.FUSEORGID - LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = t0.FROUTINGID AND t2_L.FLOCALEID = @LCID - LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FMOID = t0.FID AND t3e.FMOENTRYID = t0.FENTRYID AND t3e.FMOENTRYSEQ = t0.FSEQ AND t3e.FMATERIALIDSUB = t0.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID - - - --exec(N' - --SELECT - -- t0.* - -- ,' + @seqFid+ ' - -- INTO ' + @tableName + ' - --FROM - -- #TmpTable3 t0 - --') - - drop table #TmpTable0 - drop table #TmpTable1 - drop table #TmpTable2 - --drop table #TmpTable3 - - --exec(N'SELECT * FROM '+ @tableName) \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/缺料分析查询报表.sql b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/缺料分析查询报表.sql deleted file mode 100644 index 7326fda..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/缺料分析查询报表.sql +++ /dev/null @@ -1,248 +0,0 @@ -DECLARE @needNum DECIMAL(23,6) -,@sDate varchar(100) -,@eDate varchar(100) -SET @needNum = 20 -SET @sDate = '2024-03-01' -SET @eDate = '2024-03-24' - -CREATE TABLE #TMPMATERIALINFO(MATERIALID int,needNum decimal(23,6)) -INSERT INTO #TMPMATERIALINFO -SELECT -101521 AS 'MATERIALID' -,10 needNum -Union -SELECT -101530 AS 'MATERIALID' -,30 needNum - -SELECT MATERIALID,SUM(needNum) needNum -INTO #TMPMATERIALNUM -FROM #TMPMATERIALINFO -GROUP BY MATERIALID -DROP TABLE #TMPMATERIALINFO - ---SELECT @needNum AS 'needNum' ---,t0.FMATERIALID AS 'MATERIALID' ---INTO #TMPMATERIALNUM ---FROM T_BD_MATERIAL t0 ---WHERE t0.FDOCUMENTSTATUS = 'C' --- --AND t0.FMATERIALID = 100245 --- --AND t0.FMATERIALID = 122599 --- AND t0.FNUMBER IN ('1.02','1.05') --- --AND t0.FMATERIALID IN (100259,100235) - -SELECT t0.FMASTERID - ,t0.FMATERIALID - ,t0.FNUMBER - ,t0.FUSEORGID - ,t1.needNum AS 'ProMaterialQty' - INTO #ProMaterial -FROM T_BD_MATERIAL t0 - INNER JOIN #TMPMATERIALNUM t1 on t0.FMATERIALID = t1.MATERIALID -WHERE t0.FDOCUMENTSTATUS = 'C' - -CREATE TABLE #PRO_MATERIAL_LACKANALYE( - FIDENTITYID int not null default 0 - ,ProMaterialId int not null default 0 - ,BomId int - ,Ʒ varchar(100) default '' - ,Ʒ varchar(100) default '' - ,Ʒ_ decimal(23,6) default 0 - ,Ʒ_ʱ decimal(23,6) default 0 - ,Ʒ_δ decimal(23,6) default 0 - ,Ʒ_ decimal(23,6) default 0 - ,Ʒ_ܶ decimal(23,6) default 0 - ,Ʒ_; decimal(23,6) default 0 - ,Ʒ_ÿ decimal(23,6) default 0 - ,Ʒ_ʵ decimal(23,6) default 0 - ,BOMLEVEL int - ,IsProduct int - ,ϸϼ int -) - -CREATE TABLE #MATERIAL_LACKANALYE( - FIDENTITYID int not null default 0 - ,MaterialId int not null default 0 - ,BomId int - ,ϴ varchar(100) default '' - , varchar(100) default '' - ,_ decimal(23,6) default 0 - ,_ʱ decimal(23,6) default 0 - ,_δ decimal(23,6) default 0 - ,_ decimal(23,6) default 0 - ,_ܶ decimal(23,6) default 0 - ,_; decimal(23,6) default 0 - ,_ÿ decimal(23,6) default 0 - ,_ʵ decimal(23,6) default 0 - ,BOMLEVEL int - ,IsProduct int - ,ϸϼ int -) - -SELECT t0.FMATERIALID - ,ISNULL(t3.sumQTY,0) AS ʱ - ,ISNULL(t4.sumBASENOPICKEDQTY,0) AS δ - ,ISNULL(t5.sumNoStockInQty,0) AS - ,ISNULL(t1. - t1.δ,0) AS 'ܶ' - ,ISNULL(t2. - t2.,0) AS ';' - ,(ISNULL(t3.sumQTY,0) - ISNULL(t4.sumBASENOPICKEDQTY,0) + ISNULL(t5.sumNoStockInQty,0) - ISNULL(t1. - t1.δ,0) + ISNULL(t2. - t2.,0)) AS 'ÿ' - INTO #Material_Stock_Statu -FROM T_BD_MATERIAL t0 - LEFT JOIN ( - SELECT - t0e.FMATERIALID,SUM(t0e.FQTY) AS '' - ,SUM((t0e_r.FBASEREMAINOUTQTY + t0e_r.FBASERETURNQTY)) AS 'δ' - FROM T_SAL_ORDER t0 - INNER JOIN T_SAL_ORDERENTRY t0e on t0.FID = t0e.FID - INNER JOIN T_SAL_ORDERENTRY_R t0e_r on t0e.FID = t0e_r.FID AND t0e_r.FENTRYID = t0e.FENTRYID - WHERE t0.FDOCUMENTSTATUS = 'C' - AND t0.FCANCELSTATUS = 'A' - AND t0.FCLOSESTATUS = 'A' - AND t0.FDATE between @sDate AND @eDate - GROUP BY t0e.FMATERIALID - ) t1 on t1.FMATERIALID = t0.FMATERIALID - LEFT JOIN ( - SELECT - t0e.FMATERIALID,SUM(t0e.FQTY) AS '' - ,SUM(t0e_r.FREMAINSTOCKINQTY) AS 'ʣ' - ,SUM(t0e_r.FBASESTOCKINQTY) AS '' - FROM T_PUR_POORDER t0 - INNER JOIN T_PUR_POORDERENTRY t0e on t0.FID = t0e.FID AND t0.FBUSINESSTYPE != 'ZCCG' AND t0.FBUSINESSTYPE != 'FYCG' - INNER JOIN T_PUR_POORDERENTRY_R t0e_r on t0e.FID = t0e_r.FID AND t0e_r.FENTRYID = t0e.FENTRYID - WHERE t0.FDOCUMENTSTATUS = 'C' - AND t0.FCANCELSTATUS = 'A' - AND t0.FCLOSESTATUS = 'A' - AND t0.FDATE BETWEEN @sDate AND @eDate - GROUP BY t0e.FMATERIALID - ) t2 on t2.FMATERIALID = t0.FMATERIALID - LEFT JOIN ( - SELECT tt0.FMATERIALID,tt0.FSTOCKORGID,SUM(tt0.FBASEQTY) AS sumQTY - FROM T_STK_INVENTORY tt0 - GROUP BY tt0.FMATERIALID,tt0.FSTOCKORGID - ) t3 on t3.FMATERIALID = t0.FMASTERID AND t3.FSTOCKORGID = t0.FUSEORGID - LEFT JOIN ( - SELECT t0e.FMATERIALID,SUM(t0e_q.FBASENOPICKEDQTY) sumBASENOPICKEDQTY - FROM T_PRD_PPBOMENTRY t0e - INNER JOIN T_PRD_PPBOMENTRY_Q t0e_q on t0e.FENTRYID = t0e_q.FENTRYID - INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FMOENTRYID - WHERE t0e_a.FSTATUS = 4 - GROUP BY t0e.FMATERIALID - ) t4 on t4.FMATERIALID = t0.FMATERIALID - LEFT JOIN ( - SELECT t0e.FMATERIALID,SUM(t0e_q.FNOSTOCKINQTY) AS sumNoStockInQty - FROM T_PRD_MOENTRY t0e - INNER JOIN T_PRD_MOENTRY_Q t0e_q on t0e.FENTRYID = t0e_q.FENTRYID - INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID - WHERE t0e_a.FSTATUS = 4 - GROUP BY t0e.FMATERIALID - ) t5 on t5.FMATERIALID = t0.FMATERIALID -WHERE t0.FDOCUMENTSTATUS = 'C' - AND t0.FFORBIDSTATUS = 'A' - -INSERT INTO #MATERIAL_LACKANALYE -SELECT - ROW_NUMBER() OVER (ORDER BY t0.FMATERIALID) - ,t0.FMATERIALID - ,t1.FID - ,t2.FNUMBER - ,t2_l.FNAME - ,t0.ProMaterialQty - ,t3.ʱ - ,t3.δ - ,t3. - ,t3.ܶ - ,t3.; - ,t3.ÿ - ,(CASE - WHEN t3.ÿ > t0.ProMaterialQty THEN 0 - ELSE t3.ÿ - t0.ProMaterialQty - END) - ,0 - ,1 - ,1 -FROM #ProMaterial t0 - INNER JOIN ( - SELECT tt.FID,tt.FMATERIALID,ROW_NUMBER() OVER (PARTITION BY tt.FMATERIALID ORDER BY tt.FID DESC) AS 'rn' FROM T_ENG_BOM tt - WHERE 1 = 1 - AND tt.FDOCUMENTSTATUS = 'C' - AND tt.FFORBIDSTATUS = 'A' - ) t1 on t0.FMATERIALID = t1.FMATERIALID AND t1.rn = 1 --AND t0.FUSEORGID = t1.FUSEORGID - INNER JOIN T_BD_MATERIAL t2 on t2.FMATERIALID = t1.FMATERIALID - INNER JOIN T_BD_MATERIAL_L t2_l on t2_l.FMATERIALID = t1.FMATERIALID AND t2_l.FLOCALEID = 2052 - LEFT JOIN #Material_Stock_Statu t3 on t1.FMATERIALID = t3.FMATERIALID -WHERE 1 = 1 - --AND EXISTS (SELECT COUNT(1) FROM T_ENG_BOM tt GROUP BY tt.FMATERIALID HAVING MAX(tt.FID) = t1.FID) - --AND t1.FDOCUMENTSTATUS = 'C' - --AND t1.FFORBIDSTATUS = 'A' -ORDER BY - t0.FNUMBER - ---INSERT INTO #MATERIAL_LACKANALYE ---SELECT * FROM #PRO_MATERIAL_LACKANALYE -DECLARE @num INT,@level int,@LoopCount int -SET @num = 1 -SET @level =0 -SET @LoopCount = 0; - -WHILE (@num <> 0 AND @LoopCount < 10) -BEGIN - INSERT INTO #MATERIAL_LACKANALYE(MaterialId,BomId,_,_ʱ,_δ,_,_ܶ,_;,_ÿ,_ʵ,BOMLEVEL,ϸϼ,IsProduct) - SELECT - tt.FMATERIALID - ,ISNULL(t2.FID,0) AS BomId - ,ABS(tt._) - ,t3.ʱ - ,t3.δ - ,t3. - ,t3.ܶ - ,t3.; - ,t3.ÿ - ,(CASE - WHEN t3.ÿ > (ABS(tt._) + ISNULL(t4.ϼ_ʵ,0)) THEN 0 - ELSE t3.ÿ - (ABS(tt._) + ISNULL(t4.ϼ_ʵ,0)) - END) AS 'ʵ' - ,@level + 1 - ,tt.co - ,0 - FROM ( - SELECT - t1.FMATERIALID - ,SUM(t0._ʵ * (t1.FNUMERATOR / t1.FDENOMINATOR)) AS '_' - ,count(1) co - FROM - #MATERIAL_LACKANALYE t0 - INNER JOIN T_ENG_BOMCHILD t1 on t0.BomId = t1.FID - WHERE 1 = 1 - AND t0.BOMLEVEL = @level - GROUP BY t1.FMATERIALID - ) tt - LEFT JOIN ( - SELECT tt3.FID,tt3.FNUMBER,tt3.FMATERIALID,ROW_NUMBER() OVER (PARTITION BY tt3.FMATERIALID ORDER BY tt3.FID DESC) AS 'rn' - FROM T_ENG_BOM tt3 - WHERE 1 = 1 AND tt3.FDOCUMENTSTATUS = 'C' AND tt3.FFORBIDSTATUS = 'A' - ) t2 ON t2.rn = 1 AND tt.FMATERIALID = t2.FMATERIALID - LEFT JOIN #Material_Stock_Statu t3 on t3.FMATERIALID = tt.FMATERIALID - LEFT JOIN ( - SELECT tt.MaterialId,sum(tt._ʵ) AS 'ϼ_ʵ' FROM #MATERIAL_LACKANALYE tt GROUP BY tt.MaterialId - ) t4 on t4.MaterialId = tt.FMATERIALID - - SET @num = @@ROWCOUNT - SET @level += 1 - SET @LoopCount += 1 - -END - -UPDATE t0 SET - t0.ϴ = t1.FNUMBER - ,t0. = t1_l.FNAME -FROM #MATERIAL_LACKANALYE t0 - INNER JOIN T_BD_MATERIAL t1 on t0.MaterialId = t1.FMATERIALID - INNER JOIN T_BD_MATERIAL_L t1_l on t0.MaterialId = t1_l.FMATERIALID AND t1_l.FLOCALEID = 2052 - -SELECT t0.* FROM #MATERIAL_LACKANALYE t0 - -DROP TABLE #ProMaterial -DROP TABLE #TMPMATERIALNUM -DROP TABLE #PRO_MATERIAL_LACKANALYE -DROP TABLE #MATERIAL_LACKANALYE -DROP TABLE #Material_Stock_Statu \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/缺料查询报表.sql b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/缺料查询报表.sql deleted file mode 100644 index 5e67a9d..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/sql/缺料查询报表.sql +++ /dev/null @@ -1,819 +0,0 @@ - -/****** Object: StoredProcedure [dbo].[Pro_YEB_MaterialInventory] Script Date: 2024-03-08 14:18:49 ******/ -SET ANSI_NULLS ON -GO -SET QUOTED_IDENTIFIER ON -GO - ---sp_helptext Pro_YEB_MaterialInventory - - --exec Pro_YEB_MaterialInventory '','',0 - --״̬ -alter procedure [dbo].[Pro_YEB_MaterialInventory] ( - @FNumber varchar (max) , - @FStock varchar (max) , - @Flag bit - ) -AS - -set nocount on - --ʱѡȡֿ - -DECLARE @sStock varchar(max), @sNumber varchar(max) ----- ---set @sStock='' ---set @sNumber='' - -set @sStock=@FStock -set @sNumber=@FNumber - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpStockID')) -BEGIN - drop table #tmpStockID -END - Create Table #tmpStockID ( - FID INT IDENTITY(1,1), - FStockID INT , - ) - - DECLARE @Strsql varchar(max) - set @Strsql= 'insert into #tmpStockID SELECT distinct FSTOCKID FROM T_BD_STOCK where 1=1 '+@sStock - EXEC(@Strsql) - - if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMaterialID')) - BEGIN - drop table #tmpMaterialID - END - -Create Table #tmpMaterialID ( -FID INT IDENTITY(1,1), -FMaterialID INT , -) - -DECLARE @Ssql varchar(max) -set @Ssql= 'insert into #tmpMaterialID SELECT distinct FMATERIALID FROM T_BD_MATERIAL where 1=1 and FUSEORGID=1 '+@sNumber -- and FNUMBER=''1.W003'' -EXEC(@Ssql) - - if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#Stock_Status_temp')) - BEGIN - drop table #Stock_Status_temp - END - - Create Table #Stock_Status_temp ( - INT IDENTITY(1,1), - INT , - ϴ varchar(100) null , - varchar(255) null , - ͺ varchar(255) null , - varchar(50) null , - λ varchar(30) null , - Ʒ varchar(255) null , - --FLT1 varchar(255) null , - FLT int null , - ȫ DECIMAL (18, 2) Null , - п DECIMAL (18, 2) Null , - Ԥ DECIMAL (18, 2) Null , - δPR DECIMAL (18, 2) Null , - ѷ DECIMAL (18, 2) Null , - ۽ DECIMAL (18, 2) Null , - ƻԱ varchar(255) null , - ɹԱ varchar(100) null - ) - CREATE INDEX IDX_MaterialID ON #Stock_Status_temp () - - - --drop table #YC_Sum_MRP F_PKGR_Brand Ʒ L/T F_PKGR_HUMIDITYSENSITIVITY ɹԱ -insert into #Stock_Status_temp ( ,ϴ , , ͺ,,λ, ȫ, ƻԱ) -SELECT TM.fmaterialid AS ,TM.fnumber,n.FNAME AS ,n.FSPECIFICATION AS ͺ, -(case when TMB.FERPCLSID=1 THEN '⹺' when TMB.FERPCLSID=2 THEN '' - when TMB.FERPCLSID=3 THEN 'ί' when TMB.FERPCLSID=5 THEN '' else ''END) '', - TUL1.FNAME 'λ',isnull(TMP.FPLANSAFESTOCKQTY,0) AS 'ȫ' ,ISNULL(PL.FNAME,'') AS 'ƻԱ' -FROM t_bd_material TM -inner join T_BD_MATERIAL_L n on TM.FMATERIALID =n.FMATERIALID and n.FLOCALEID =2052 -inner join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT OUTER JOIN T_BD_MATERIALBASE TMB on TM.FMATERIALID = TMB.FMATERIALID -LEFT OUTER JOIN T_BD_MATERIALPLAN TMP ON TM.FMATERIALID=TMP.FMATERIALID -LEFT OUTER JOIN T_BD_UNIT_L TUL1 ON ( TMS.FSTOREUNITID = TUL1.FUNITID AND TUL1.FLOCALEID = 2052) -LEFT OUTER JOIN V_BD_PLANNER_L PL ON ( TMP.FPLANERID = PL.fid AND PL.FLOCALEID = 2052) -where TM.FDOCUMENTSTATUS='C' AND TM.FFORBIDSTATUS ='A' and TMB.FERPCLSID<>5 -and TM.FMATERIALID in ( SELECT distinct FMATERIALID FROM #tmpMaterialID) - - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tempINV')) -BEGIN - drop table #tempINV -END - --- ʱ,ÿ -SELECT TM.fmaterialid AS ,TM.fnumber,n.FNAME AS ,n.FSPECIFICATION AS ͺ, -TUL1.FNAME 'λ',t1.FSTOCKID ,TSK.FNUMBER AS FStockNumber,TSL.FNAME 'ֿ', t1.FBASEQTY 'λ', -(isnull(t1.FBASEQTY,0) - isnull(TSUB.FBASELOCKQTY,0)) AS 'ÿ' -into #tempINV ---SELECT * -FROM t_bd_material TM -inner join T_BD_MATERIAL_L n on TM.FMATERIALID =n.FMATERIALID and n.FLOCALEID =2052 -inner join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT OUTER JOIN T_BD_MATERIALPLAN TMP ON TM.FMATERIALID=TMP.FMATERIALID -inner join T_STK_INVENTORY t1 on TM.FMASTERID = t1.FMATERIALID AND TM.FUSEORGID = t1.FSTOCKORGID and t1.FBASEQTY > 0 -LEFT OUTER JOIN T_ORG_ORGANIZATIONS_L O ON ( t1.FSTOCKORGID = O.FORGID AND O.FLOCALEID = 2052) -- -INNER JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = t1.FSTOCKID AND ( TSK.FUSEORGID = t1.FSTOCKORGID)) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = t1.FSTOCKID AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_UNIT TUS ON TMS.FSTOREUNITID = TUS.FUNITID -LEFT OUTER JOIN T_BD_UNIT_L TUL0 ON (TMS.FSTOREUNITID = TUL0.FUNITID AND TUL0.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_UNIT_L TUL1 ON ( t1.FBASEUNITID = TUL1.FUNITID AND TUL1.FLOCALEID = 2052) ---Ԥ -LEFT OUTER JOIN ( - SELECT TLKE.FSUPPLYINTERID finventryid,SUM (TLKE.FBASEQTY) fbaselockqty, SUM (TLKE.FSECQTY) fseclockqty FROM T_PLN_RESERVELINKENTRY TLKE - INNER JOIN T_PLN_RESERVELINK TLKH ON TLKE.FID = TLKH.FID - WHERE (TLKE.FSUPPLYFORMID = 'STK_Inventory' AND TLKE.FLINKTYPE = '4' ) - GROUP BY TLKE.FSUPPLYINTERID) tsub ON t1.FID = TSUB.FINVENTRYID -WHERE -- TM.FUSEORGID =100038 and -((t1.FBASEQTY <> 0) OR (t1.FSECQTY <> 0)) and - TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp) -and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) - - - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tempINVSum')) -BEGIN - drop table #tempINVSum -END - --insert into #Stock_Status_temp ( ,ϴ , , ͺ,λ, ֿ, ֿ, ֿ ,ʱ,ÿ) - SELECT ,fnumber, , ͺ, min(λ)λ,min(FSTOCKID)FSTOCKID ,min( FStockNumber)FStockNumber, - min(ֿ)ֿ, sum(λ)λ ,sum(ÿ) ÿ - into #tempINVSum FROM #tempINV - group BY ,fnumber, , ͺ - - - - --ʱ,ÿ -UPDATE t1 set t1.п=isnull(t2.ÿ,0)--,t1.ֿ=t2.FSTOCKID, t1.ֿ=t2.ֿ, t1.ֿ=t2.FStockNumber -FROM #Stock_Status_temp t1 -inner join #tempINVSum t2 on t1.=t2. - - - - --SELECT * FROM #Stock_Status_temp - ---; (Ԥ) ---************************Ԥ************************ - -UPDATE t1 set t1.Ԥ=0 FROM #Stock_Status_temp t1 - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmppoorder')) -BEGIN - drop table #tmppoorder -END ---ɹ -SELECT ddd.FPurchaseOrgID fstockorgid, ddd.FBILLNO ɹ ,ddd.FID AS ɹ , B.FENTRYID ɹ¼,b.FMATERIALID , - ddd.FDATE fdate, TMS.FSTOCKID ֿ, FBASEUNITQTY ɹ , -FREMAINSTOCKINQTY ʣ,FBASESTOCKINQTY ,ddd.FCLOSEDATE -into #tmppoorder ---SELECT * -FROM t_pur_poorderentry b -INNER JOIN t_pur_poorder ddd ON (ddd.FID = b.FID)-- AND FbusinessType NOT IN ('ZCCG', 'FYCG')) -INNER JOIN t_pur_poorderentry_r r ON b.fentryid = r.fentryid -INNER JOIN t_pur_poorderentry_d td ON b.fentryid = td.fentryid -LEFT OUTER JOIN T_BD_MATERIALSTOCK TMS ON b.FMATERIALID = TMS.FMATERIALID -WHERE ddd.FCANCELSTATUS='A'--AND ddd.fdocumentStatus = 'C' -and b.FMRPCLOSESTATUS='A' and ddd.FCLOSESTATUS='A' -and b.FMRPTERMINATESTATUS='A' -and ddd.FBILLTYPEID not in( '6d01d059713d42a28bb976c90a121142','65445fa4673247')--ί - - - --ddd.FBILLNO ='CGDD000005' ---AND (ddd.FDATE <=@FEDate) ---AND (ddd.FCLOSEDATE>@FSDate or isnull(ddd.FCLOSEDATE,'')='' - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmppoorder1')) -BEGIN - drop table #tmppoorder1 -END ---º; - -SELECT ,ɹ, ʣ,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ -into #tmppoorder1 FROM #tmppoorder B -left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmppoorder3')) -BEGIN - drop table #tmppoorder3 -END - -SELECT ,ɹ, ʣ, ֿ -into #tmppoorder3 -FROM #tmppoorder1 B -left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID )--TM.FUSEORGID =1 and -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp) ---and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmppoorder2')) -BEGIN - drop table #tmppoorder2 END - -SELECT ,sum(ɹ)ɹ, sum(ʣ)ʣ , min(ֿ )ֿ -into #tmppoorder2 FROM #tmppoorder3 -group BY ---group BY ֿ, -ORDER BY - - ---; -UPDATE t1 set t1.Ԥ=isnull(t2.ʣ,0) -FROM #Stock_Status_temp t1 -inner join #tmppoorder2 t2 on t1.=t2. - - - -- - - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMo')) -BEGIN - drop table #tmpMo -END --- - -SELECT (MO.FBILLNO) ,(MO.FID) ,(ME.FENTRYID) ¼, -ME.FMATERIALID , (ME.FBASEUNITQTY) AS , -MA.FSTOCKINQUAQTY AS ,MQ.FBASENOSTOCKINQTY AS ʣ , TMS.FSTOCKID ֿ -into #tmpMo -FROM T_PRD_MO MO -inner join T_PRD_MOENTRY ME ON MO.FID =ME.FID -inner JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -inner JOIN T_PRD_MOENTRY_Q MQ ON MQ.FID =ME.FID AND ME.FENTRYID =MQ.FENTRYID -LEFT OUTER JOIN T_BD_MATERIALSTOCK TMS ON ME.FMATERIALID = TMS.FMATERIALID -WHERE MO.FCANCELSTATUS='A' and MA.FSTATUS in (2,3,4) - - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMo1')) -BEGIN - drop table #tmpMo1 -END ---º - -SELECT ,, ʣ,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ -into #tmpMo1 FROM #tmpMo B -left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMo2')) -BEGIN - drop table #tmpMo2 -END - -SELECT ,, ʣ, ֿ -into #tmpMo2 -FROM #tmpMo1 B -left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID )--TM.FUSEORGID =1 and -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp) ---and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMo3')) -BEGIN - drop table #tmpMo3 -END - -SELECT ,sum()ɹ, sum(ʣ)ʣ , min(ֿ )ֿ -into #tmpMo3 FROM #tmpMo2 -group BY ---group BY ֿ, -ORDER BY - - ---Ԥ -UPDATE t1 set t1.Ԥ=isnull(t2.ʣ,0) -FROM #Stock_Status_temp t1 -inner join #tmpMo3 t2 on t1.=t2. - - - - --ί - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubMo')) -BEGIN - drop table #tmpSubMo -END ---ί - -SELECT (MO.FBILLNO) ί ,(MO.FID) ί,(ME.FENTRYID) ί¼, -ME.FMATERIALID , (MA.FBASEUNITQTY) AS , -MA.FBASESTOCKINQTY AS ,MA.FBASENOSTOCKINQTY AS ʣ , TMS.FSTOCKID ֿ -into #tmpSubMo -FROM T_SUB_REQORDER MO -inner join T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID -inner JOIN T_SUB_REQORDERENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -LEFT OUTER JOIN T_BD_MATERIALSTOCK TMS ON ME.FMATERIALID = TMS.FMATERIALID -WHERE MO.FCANCELSTATUS='A' and ME.FSTATUS in (2,3,4) - - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubMo1')) -BEGIN - drop table #tmpSubMo1 -END ---º - -SELECT ,, ʣ,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ -into #tmpSubMo1 FROM #tmpSubMo B -left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubMo2')) -BEGIN - drop table #tmpSubMo2 -END - -SELECT ,, ʣ, ֿ -into #tmpSubMo2 -FROM #tmpSubMo1 B -left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID )--TM.FUSEORGID =1 and -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp) ---and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubMo3')) -BEGIN - drop table #tmpSubMo3 -END - -SELECT ,sum()ɹ, sum(ʣ)ʣ , min(ֿ )ֿ -into #tmpSubMo3 FROM #tmpSubMo2 -group BY ---group BY ֿ, -ORDER BY - - ---Ԥ -UPDATE t1 set t1.Ԥ=isnull(t1.Ԥ,0)+t2.ʣ -FROM #Stock_Status_temp t1 -inner join #tmpSubMo3 t2 on t1.=t2. - - - --*******************END*****Ԥ************************ - - ---깺δת(δPR) ---*******************strat***************************** - ---ѯвɹ - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQ')) -BEGIN - drop table #TMPREQ -END - - SELECT TS.FAPPLICATIONORGID fstockorgid, TS.FBILLNO 뵥 ,TS.FID AS ,TSE.FENTRYID ¼,TSE.FMATERIALID , - ISNULL(TSE.FAUXPROPID, 0) FAUXPROPID, TS.FAPPLICATIONDATE fdate, TMS.FSTOCKID ֿ, - FBASEUNITQTY ,TSEF.FREMAINQTY AS δת - INTO #TMPREQ -FROM T_PUR_REQUISITION TS -INNER JOIN T_PUR_REQENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_REQENTRY_R TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_REQENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID) -LEFT JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID=TM.FMATERIALID -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -WHERE 1=1 AND (FCLOSESTATUS='A')--AND (TS.FDOCUMENTSTATUS IN ('C')) -and TSE.FMRPTERMINATESTATUS='A' - AND (TS.FCANCELSTATUS IN ('A')) and TSE.FMRPCLOSESTATUS='A' - - - - if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQ1')) -BEGIN - drop table #TMPREQ1 -END ---º - -SELECT ,, δת,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ -into #TMPREQ1 FROM #TMPREQ B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQ3')) -BEGIN - drop table #TMPREQ3 -END - -SELECT ,, δת,FAUXPROPID, ֿ -into #TMPREQ3 FROM #TMPREQ1 B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp) ---and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - - - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQ2')) -BEGIN - drop table #TMPREQ2 -END - - -SELECT ,sum(), sum(δת)δת --,FAUXPROPID, ֿ -into #TMPREQ2 FROM #TMPREQ3 -group BY -ORDER BY - ---깺δת -UPDATE t1 set t1.δPR=isnull(t2.δת,0) -FROM #Stock_Status_temp t1 -inner join #TMPREQ2 t2 on t1.=t2. ---and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID - - -----ѯίⶩ - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQSUB')) -BEGIN - drop table #TMPREQSUB -END - - SELECT MO.FSubOrgId fstockorgid, MO.FBILLNO 뵥 ,MO.FID AS ,ME.FENTRYID ¼,ME.FMATERIALID , - ISNULL(ME.FAUXPROPID, 0) FAUXPROPID, MO.FDATE fdate, TMS.FSTOCKID ֿ, - FBASEUNITQTY ,(ME.FQTY-FBasePurSelQty) AS δת - - INTO #TMPREQSUB -FROM T_SUB_REQORDER MO -inner join T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID -inner JOIN T_SUB_REQORDERENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -LEFT JOIN T_BD_MATERIAL TM ON ME.FMATERIALID=TM.FMATERIALID -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -WHERE 1=1 AND MO.FCANCELSTATUS='A' --AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1 -AND ME.FSTATUS in (2,3,4) AND ISNULL(FCLOSEDATE,'')=''--δ᰸ - and (ME.FQTY-FBasePurSelQty)>0 - - - if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQSUB1')) -BEGIN - drop table #TMPREQSUB1 -END ---º - -SELECT ,, δת,FAUXPROPID,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ -into #TMPREQSUB1 FROM #TMPREQSUB B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) - ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQSUB2')) -BEGIN - drop table #TMPREQSUB2 -END - -SELECT ,, δת,FAUXPROPID, ֿ -into #TMPREQSUB2 FROM #TMPREQSUB1 B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp) ---and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - - - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQSUB3')) -BEGIN - drop table #TMPREQSUB3 -END - - -SELECT ,sum(), sum(δת)δת --,FAUXPROPID, ֿ -into #TMPREQSUB3 FROM #TMPREQSUB2 -group BY -ORDER BY - ---깺δת -UPDATE t1 set t1.δPR=isnull(t1.δPR,0)+isnull(t2.δת,0) -FROM #Stock_Status_temp t1 -inner join #TMPREQSUB3 t2 on t1.=t2. ---and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID - --****************************δPR*********************************************** - - --SELECT * FROM #Stock_Status_temp - - if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpPPBOM')) -BEGIN - drop table #tmpPPBOM -END - ---ѷ) ---*****************δSTART*********************************** - ---ѯֹ֮ǰ ---δ ѷ) -SELECT (MO.FBILLNO) ,(MO.FID) ,(ME.FENTRYID) ¼, -PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼, -isnull(PC.FSTOCKID,0) ֿ,(PE.FMUSTQTY) AS Ӧ, -PQ.FSELPICKEDQTY AS ѡ,PQ.FBASENOPICKEDQTY AS δ ,PQ.FNOPICKEDQTY AS δ -into #tmpPPBOM -FROM T_PRD_MO MO -inner join T_PRD_MOENTRY ME ON MO.FID =ME.FID -inner JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -inner join T_PRD_PPBOM PP on PP.FMOID=MO.FID AND ME.FENTRYID =PP.FMOENTRYID -inner join T_PRD_PPBOMENTRY PE on PP.FID =PE.FID -left join T_PRD_PPBOMENTRY_Q PQ on PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID -left join T_PRD_PPBOMENTRY_C PC on PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID ---WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1 -WHERE 1=1 AND MO.FCANCELSTATUS='A' --AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1 -AND MA.FSTATUS in(2,3,4) AND ISNULL(FCLOSEDATE,'')=''--δ᰸ - ---ºδ ---SELECT * FROM #tmpPPBOM - if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpPPBOM1')) -BEGIN - drop table #tmpPPBOM1 -END - -SELECT ,Ӧ, δ AS 'δ',case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ -into #tmpPPBOM1 FROM #tmpPPBOM B -left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - - if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpPPBOM3')) -BEGIN - drop table #tmpPPBOM3 -END - - SELECT ,Ӧ, δ, ֿ -into #tmpPPBOM3 FROM #tmpPPBOM1 B -left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp) ---and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - - if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpPPBOM2')) -BEGIN - drop table #tmpPPBOM2 -END - - -SELECT ,sum(Ӧ)Ӧ, sum(δ)δ ,min(ֿ) ֿ -into #tmpPPBOM2 FROM #tmpPPBOM3 -group BY -ORDER BY - ---δ -UPDATE t1 set t1.ѷ=t2.δ -FROM #Stock_Status_temp t1 -inner join #tmpPPBOM2 t2 on t1.=t2. ---and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID - - - - --ίδ ѷ) - if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubBOM')) -BEGIN - drop table #tmpSubBOM -END - - -SELECT (MO.FBILLNO) ίⵥ ,(MO.FID) ί,(ME.FENTRYID) ίⵥ¼, -PE.FMATERIALID ,(PP.FID) ,PP.FBILLNO ϵ,(PE.FENTRYID) ϵ¼, -isnull(PC.FSTOCKID,0) ֿ,(PE.FMUSTQTY) AS Ӧ, -PQ.FSELPICKEDQTY AS ѡ,PQ.FBASENOPICKEDQTY AS δ ,PQ.FNOPICKEDQTY AS δ -into #tmpSubBOM -FROM T_SUB_REQORDER MO -inner join T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID -inner JOIN T_SUB_REQORDERENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -inner join T_SUB_PPBOM PP on PP.FSUBREQID=MO.FID AND ME.FENTRYID =PP.FSUBREQENTRYID -inner join T_SUB_PPBOMENTRY PE on PP.FID =PE.FID -left join T_SUB_PPBOMENTRY_Q PQ on PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID -left join T_SUB_PPBOMENTRY_C PC on PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID ---WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1 -WHERE 1=1 AND MO.FCANCELSTATUS='A' --AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1 -AND ME.FSTATUS in (2,3,4) AND ISNULL(FCLOSEDATE,'')=''--δ᰸ - - ---ºδ ---SELECT * FROM #tmpPPBOM - if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubBOM1')) -BEGIN - drop table #tmpSubBOM1 -END - -SELECT ,Ӧ, δ AS 'δ',case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ -into #tmpSubBOM1 FROM #tmpSubBOM B -left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - - if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubBOM2')) -BEGIN - drop table #tmpSubBOM2 -END - -SELECT ,Ӧ, δ, ֿ -into #tmpSubBOM2 FROM #tmpSubBOM1 B -left JOIN T_BD_MATERIAL TM ON ( B. = TM.FMATERIALID ) --TM.FUSEORGID =1 and -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp) ---and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - - if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubBOM3')) -BEGIN - drop table #tmpSubBOM3 -END - - -SELECT ,sum(Ӧ)Ӧ, sum(δ)δ ,min(ֿ) ֿ -into #tmpSubBOM3 FROM #tmpSubBOM2 -group BY -ORDER BY - ---δ -UPDATE t1 set t1.ѷ=ISNULL(t1.ѷ,0)+ISNULL(t2.δ,0) -FROM #Stock_Status_temp t1 -inner join #tmpSubBOM3 t2 on t1.=t2. ---and t1.ֿ=t2.ֿ and t1.װ=T2.FAUXPROPID - - ---*****************δEND*********************************** -----ݾ - - - --۶δ - - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSal')) -BEGIN - drop table #tmpSal -END ---۶δ - -SELECT (A.FBILLNO) AS ۵,(A.FID) ,(B.FENTRYID) ۷¼ ,(B.FSEQ) , -B.FMATERIALID AS ,B.FBASEUNITQTY , -(C.FBASEREMAINOUTQTY+C.FBaseReturnQty) AS δ,FBaseReturnQty, -isnull(B.FSTOCKID,0) ֿ, A.FDATE -into #tmpSal -FROM T_SAL_ORDER A -inner join T_SAL_ORDERENTRY B on A.FID =B.FID -left join T_SAL_ORDERENTRY_R C ON C.FID=B.FID AND C.FENTRYID =B.FENTRYID -left join T_SAL_ORDERENTRY_E D on D.FID=B.FID AND D.FENTRYID =B.FENTRYID - -WHERE 1=1 AND A.FCANCELSTATUS='A'and B.FMRPCLOSESTATUS='A' AND (A.FCLOSESTATUS='A') -ORDER BY A.FDATE ,A.FID,B.FENTRYID,B.FMATERIALID - - - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSal1')) -BEGIN - drop table #tmpSal1 -END ---ºδ -SELECT ,, δ,case when B.ֿ<>0 then B.ֿ else isnull(tms.FSTOCKID,0) END ֿ -into #tmpSal1 FROM #tmpSal B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.ֿ ) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSal2')) -BEGIN - drop table #tmpSal2 -END - - -SELECT ,, δ, ֿ -into #tmpSal2 FROM #tmpSal1 B -left JOIN T_BD_MATERIAL TM ON (B. = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.ֿ ) -WHERE TM.FMATERIALID in ( SELECT distinct FROM #Stock_Status_temp) --- and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID ) -ORDER BY - - - -if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSal3')) -BEGIN - drop table #tmpSal3 -END - - -SELECT ,sum(), sum(δ)δ , min(ֿ) ֿ -into #tmpSal3 FROM #tmpSal2 -group BY -ORDER BY - - ---۶δ -UPDATE t1 set t1.ѷ=isnull(t1.ѷ,0)+t2.δ ---SELECT t2.* ,t1.ϴ -FROM #Stock_Status_temp t1 -inner join #tmpSal3 t2 on t1.=t2. - - - - --*******************END*ѷ*************** - -UPDATE t1 set t1.λ=isnull(TUL1.FNAME,'') ---SELECT t1.λ,isnull(TUL1.FNAME,'') -FROM #Stock_Status_temp t1 -inner join t_bd_material TM on t1.=TM.FMATERIALID -- TM.FUSEORGID =1 and -inner join T_BD_MATERIAL_L n on TM.FMATERIALID =n.FMATERIALID and n.FLOCALEID =2052 -inner join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -inner join T_BD_MATERIALBASE TMB on TM.FMATERIALID = TMB.FMATERIALID - -LEFT OUTER JOIN T_BD_UNIT TUS ON TMS.FSTOREUNITID = TUS.FUNITID -LEFT OUTER JOIN T_BD_UNIT_L TUL0 ON (TMS.FSTOREUNITID = TUL0.FUNITID AND TUL0.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_UNIT_L TUL1 ON ( TMB.FBASEUNITID = TUL1.FUNITID AND TUL1.FLOCALEID = 2052) ---where isnull(t1.λ,'')='' ---*********************************** - - UPDATE t1 set t1.=(case when TMB.FERPCLSID=1 THEN '⹺' when TMB.FERPCLSID=2 THEN '' - when TMB.FERPCLSID=3 THEN 'ί' when TMB.FERPCLSID=5 THEN '' else ''END) - FROM #Stock_Status_temp t1 - inner join t_bd_material TM on t1.=TM.FMATERIALID - inner join T_BD_MATERIALBASE TMB on TM.FMATERIALID = TMB.FMATERIALID - where TMB.FERPCLSID<>5 - --SELECT * ,۽=п+Ԥ-ѷ - - update t1 set t1.۽= isnull(п,0)+isnull(Ԥ,0)-isnull(ѷ,0) FROM #Stock_Status_temp t1 - - -- F_PKGR_Brand Ʒ L/T F_UKUB_EPdate F_PKGR_HUMIDITYSENSITIVITY ɹԱ - -update t0 set t0.ɹԱ =isnull(TB.FName,''),t0.FLT =isnull(t1.FFixLeadTime,'0') , -t0.Ʒ = '' -FROM #Stock_Status_temp t0 -inner join t_bd_material TM on t0.=TM.FMATERIALID -LEFT OUTER JOIN t_BD_MaterialPlan t1 on t1.FMATERIALID=TM.FMATERIALID -LEFT OUTER JOIN t_bd_MaterialPurchase TP on TP.FMATERIALID=TM.FMATERIALID -LEFT OUTER JOIN V_BD_BUYER_L TB ON (TP.FPurchaserId = TB.fid ) - - - --SELECT FLT,* - --update t1 set t1.FLT=(case when (isnull(t1.FLT1,'')='0'or isnull(t1.FLT1,'')='') then 0 else t1.FLT1 END) - --FROM #Stock_Status_temp t1 where FLT1='' - - --delete FROM #Stock_Status_temp where TM.FDOCUMENTSTATUS='C' AND TM.FFORBIDSTATUS ='A' - --TM.FDOCUMENTSTATUS='C' AND TM.FFORBIDSTATUS ='A'AND - -if @Flag = 1 -BEGIN - SELECT ,,ϴ, , ͺ,, λ,isnull(ȫ,0) ȫ,isnull(п,0) п, isnull(Ԥ,0)Ԥ , - isnull(δPR,0) δPR ,isnull(ѷ,0) ѷ ,isnull(۽,0)۽ , isnull(ƻԱ, '')AS ƻԱ , - isnull(Ʒ, '')AS Ʒ , isnull(FLT,0)AS FLT , isnull(ɹԱ, '')AS ɹԱ - FROM #Stock_Status_temp t1 - --inner join t_bd_material TM on t1.=TM.FMATERIALID -where isnull(۽,0) < 0 -ORDER BY ϴ -END -else -BEGIN - SELECT - - , - ,ϴ - , - ,ͺ - , - ,λ - ,isnull(ȫ,0)ȫ - ,isnull(п,0) AS п - ,isnull(Ԥ,0) Ԥ - ,isnull(δPR,0) δPR - ,isnull(ѷ,0) ѷ - ,isnull(۽,0)۽ - ,isnull(ƻԱ, '') AS ƻԱ - ,isnull(Ʒ, '') AS Ʒ - ,isnull(FLT, 0) AS FLT - ,isnull(ɹԱ, '') AS ɹԱ - FROM #Stock_Status_temp t1 - --inner join t_bd_material TM on t1.=TM.FMATERIALID - --where TM.FDOCUMENTSTATUS='C' AND TM.FFORBIDSTATUS ='A' --=129833 - ORDER BY ϴ -END \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/测试赋值基础资料.py b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/测试赋值基础资料.py deleted file mode 100644 index 31521bb..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/测试赋值基础资料.py +++ /dev/null @@ -1,61 +0,0 @@ -import clr -clr.AddReference("System") -clr.AddReference("Kingdee.BOS") -clr.AddReference("Kingdee.BOS.Core") -clr.AddReference("Kingdee.BOS.DataEntity") -clr.AddReference("Kingdee.BOS.App") -clr.AddReference("Kingdee.BOS.Contracts") -clr.AddReference("Kingdee.BOS.ServiceHelper") - -from System import * -from Kingdee.BOS.App.Data import* -from Kingdee.BOS.Core.DynamicForm import* -from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import* -from Kingdee.BOS.Core.List.PlugIn import* -from Kingdee.BOS.Orm.DataEntity import* -from Kingdee.BOS.Util import* -from Kingdee.BOS import* - -def AfterCreateNewData(e): - details = this.View.BusinessInfo.GetEntity("FTreeEntity") - if details != None: - entrys = this.View.Model.GetEntityDataObject(details) - if entrys != None and entrys.Count > 0: - rowIndex = 0 - count = entrys.Count - while count > rowIndex: - this.View.InvokeFieldUpdateService("FBomId",rowIndex) - rowIndex += 1 - # for entry in entrys: - # rowIndex = this.View.Model.GetRowIndex(details, entry) - # this.View.InvokeFieldUpdateService("FBomId",rowIndex) - # bomObj = entry["BomId"] - # mjdzdzId = bomObj["FMJDZDZID"] - # this.View.Model.SetValue("FMJDZDZID",mjdzdzId) - -def BarItemClick(e): - if e.BarItemKey == "tbUpdMJCPDZDZID": - MJIDObj = this.View.Model.GetValue("F_PAEZ_BASE") - MATERIALID = this.View.Model.GetValue("FMATERIALID") - mjId = MJIDObj["id"] - cpId = MATERIALID["id"] - sql ="""/*dialect*/ -select - cast(b.FBZCL as real) as FBZCL - ,a.F_PAEZ_TEXT - ,a.F_PAEZ_TEXT1 - ,b.Fjtbz - ,b.Fmjsmzq - ,b.Fmjqs - ,a.FMJID - ,b.FCPID - ,b.FEntryId -from hw_mjcpdzb a - inner join hw_mjcpdzbs b on a.FID = b.FID -where a.FMJID = {0} and b.FCPID={1} -""".format(mjId,cpId) - # raise Exception(sql) - dbList = DBUtils.ExecuteDynamicObject(this.Context,sql); - if dbList.Count > 0: - data = dbList[0] - this.View.Model.SetValue("FMJDZDZID",data["FEntryId"]) \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/类1.py b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/类1.py deleted file mode 100644 index a8458f1..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/类1.py +++ /dev/null @@ -1,36 +0,0 @@ -import clr -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.ServiceHelper") -clr.AddReference("HW.ProductionMateralsPlugIn") - -from Kingdee.BOS import * -from Kingdee.BOS.Core import * -from Kingdee.BOS.Core.Bill import * -from Kingdee.BOS.Core.Report import * -from System import * -from System.Data import * -from System.Net import * -from System.Text import * -from Kingdee.BOS.App.Data import * -from Kingdee.BOS.Core.List.PlugIn import * -from Kingdee.BOS.Core.List.PlugIn.Args import * -from HW.ProductionMateralsPlugIn import * - -def CellDbClick(e): - e.Cancel = True - fldKey = e.Header.FieldName; - # 嵥 - if fldKey == "FBILLNO": - reportModel = this.Model - tab = reportModel.DataSource - row = e.CellRowIndex - _moId = value=("{0}").format(tab.Rows[row-1]["FID"]); - if _moId != None and str(_moId) != "" and str(_moId) != "0": - _ShowForm("PRD_PPBOM", _moId) - -def _ShowForm(_fromId, _pkVal, _operationStatus = OperationStatus.VIEW ,_openStyleShowType = ShowType.Floating): - TableOperationPlugInEx.ShowForm(_fromId,_pkVal) \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/类2.py b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/类2.py deleted file mode 100644 index 863b2da..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/ProductionMaterialsReport/类2.py +++ /dev/null @@ -1,206 +0,0 @@ -import clr -clr.AddReference("System") -clr.AddReference("Kingdee.BOS") -clr.AddReference("Kingdee.BOS.Core") -clr.AddReference("Kingdee.BOS.DataEntity") -clr.AddReference("Kingdee.BOS.App") -clr.AddReference("Kingdee.BOS.Contracts") -clr.AddReference("Kingdee.BOS.ServiceHelper") -clr.AddReference("ExtensionMethods") -# clr.AddReference("K3CExttensionMethods") -from Kingdee.BOS import* -from Kingdee.BOS.Contracts import* -from Kingdee.BOS.Contracts.Report import* -from Kingdee.BOS.Core import * -from Kingdee.BOS.Core.Metadata import * -from Kingdee.BOS.Core.Report import* -from Kingdee.BOS.Core.SqlBuilder import* -from Kingdee.BOS.Core.Enums import * -from Kingdee.BOS.App.Data import* -from Kingdee.BOS.Orm.DataEntity import* -from System import * -from System.ComponentModel import* -from System.Collections.Generic import* -from System.Text import* -from System.Threading.Tasks import* -from Kingdee.BOS.ServiceHelper import * -from ExtensionMethods import BooleanExtension as boolObjEx -from ExtensionMethods import DateTimeExtension as dateObjEx -from ExtensionMethods import ObjectExtension as objEx -from ExtensionMethods import StringExtension as strObjEx -# from K3CExttensionMethods import ListHeaderExtension as lhObjEx - -#初始化,在此事件中设置报表的属性全局参数 -def Initialize(): - this.ReportProperty.ReportType= ReportType.REPORTTYPE_NORMAL; - this.IsCreateTempTableByPlugin=True; - #是否支持分组汇总,在后面GetSummaryColumnInfo方法中添加汇总字段, - #要在BOS中过滤框的汇总页签配置汇总信息,可参考:简单账表分组汇总设置 - this.ReportProperty.IsGroupSummary=True; - #IsUIDesignerColumns=False,表示报表的列通过插件控制,后续在GetReportHeaders中构建列头 - #需要在BOS过滤框的显示隐藏列中维护,字段标识与临时表字段保持一致 - #账表列头构建更多详细说明参考:账表列构建 - this.ReportProperty.IsUIDesignerColumns=False; - this.ReportProperty.PrimaryKeyFieldName = "FID"; - -#创建临时报表,正式进入账表取数sql拼接并取数,把账表取数结果放到创建的临时表中 -#如果参数(this.IsCreateTempTableByPlugin=True),即调用BuilderReportSqlAndTempTable构建临时表 -#否则调用以下3个接口,完成账表取数逻辑的sql指令即:BuilderSelectFieldSQL、BuilderTempTableOrderBySQL、BuilderFormWhereSQL -#rptfilter:账表参数,可以从这里获取过滤条件等 -#tableName:系统自动创建的账表临时表名,具备唯一性,最终报表页面展示的数据绑定此临时表,所以最终的报表结果数据要写入此临时表中 -def BuilderReportSqlAndTempTable(rptfilter,tableName): - #baseDataTemp=filter.BaseDataTempTable;#基础资料临时表;若设置了数据范围权限,该表会把根据数据范围过滤出来的内码存入临时表; - #循环获取所有基础资料数据范围的数据,可用来拼接到报表SQL里面实现数据权限过滤 - #for b in baseDataTemp: - # baseType=b.BaseDataFormId;#基础资料FormId - # PKFldName=b.PKFieldName;#临时表中基础资料主键字段名,例如,FORGID - # baseTempTab=b.TempTable;#基础资料数据范围临时表名 - #filterStr=filter.FilterParameter.FilterString;#过滤框条件页签过滤表达式 - #过滤框快捷过滤页签的实体数据包,从这里面获取自定义的过滤字段值 - #DynamicObject类型,用前面讲的实体数据包操作方式取值,用绑定实体属性标识 - custFilter = rptfilter.FilterParameter.CustomFilter; - if(custFilter == None): - return; - whereSql = ""; - - _lcId = this.Context.UserLocale.LCID; - - #raise Exception(str.Join(',',fldsSql));#调试时,可用此行代码,看看构建的动态列SQL对不对 - #组装最终写入报表临时表的SQL - #注意!!!: 最终临时表一定要有FIDENTITYID ,要从1开始,且不重复 ,不断号,不然前台显示空白!!!! - sql=("""/*dialect*/  -DECLARE @LCID int -SET @LCID = {1} - -SELECT - ROW_NUMBER() OVER(ORDER BY t0.FDATE DESC,t0.FID DESC,t0e.FSEQ ASC) AS FIDENTITYID--1.行号 - ,t0.FID - ,t0e.FSEQ - ,t0e.FENTRYID - ,t0.FDATE --2.单据日期 - ,t1.FBILLNO AS 'FPPBOMBILLNO'--3.生产投料单号 - ,t1.FID AS 'FPPBOMID' - ,t0e.FSALEORDERNO --4.销售订单号 - ,t0.FBILLNO--7.生产任务单号 - ,t0e.FPLANSTARTDATE--38.计划开工日期 - ,t0e.FPLANFINISHDATE--39.计划完工日期 - ,t0e.FQTY--12.产品生产数量 - ,t0e.FYIELDRATE - ,t0e.FROUTINGID - ,t0e.FMATERIALID AS 'ProMaterialId' - ,t0e.FUNITID AS 'PrdUnitId' - ,t1e.FENTRYID AS 'PPBOMENTRYID' - ,t1e.FMATERIALID - ,(t1e.FNUMERATOR / t1e.FDENOMINATOR) AS 'FUnitNeedQty' --18.物料单位用量 - ,t1e.FNEEDQTY --22.物料总需求 - ,t1e.FUNITID - ,t1e.FBOMENTRYID - ,t1e.FSTDQTY --标准用量 --29.标准数量 - ,t1e.FMUSTQTY --应发数量 --30.应发数量 - ,t1.FWORKSHOPID - ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN '主产品' WHEN 2 THEN '联产品' WHEN 3 THEN '副产品' ELSE '' END) AS 'PRODUCTTYPE'--43.生产类型 - ,(CASE t0e_a.FSTATUS WHEN 6 THEN '已结案'ELSE '' END) AS 'StatusIs6'--45.生产任务单结案否 - ,(CASE t1.FDOCUMENTSTATUS WHEN 'A' THEN '创建' WHEN 'B' THEN '审核中' WHEN 'C' THEN '已审核' WHEN 'D' THEN '重新审核' WHEN 'Z' THEN '暂存' ELSE '' END) AS 'PPBOMStatus'--46.生产投料单状态 - INTO #TmpTable0 -FROM T_PRD_MO t0 - INNER JOIN T_PRD_MOENTRY t0e on t0.FID = t0e.FID - INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID - INNER JOIN T_PRD_PPBOM t1 on t1.FMOENTRYID = t0e.FENTRYID AND t1.FMOID = t0e.FID - INNER JOIN T_PRD_PPBOMENTRY t1e on t1e.FID = t1.FID -WHERE 1 = 1 {2} -SELECT - tt.* - ,t0e_q.FBASEWIPQTY --23.当前在制品数量 - ,t0e_q.FPICKEDQTY --27.已领数量 - ,t0e_q.FNOPICKEDQTY --28.未领数量 - ,t0e_l.FMEMO --31.备注 - ,t0e_q.FPICKEDQTY * (100 - tt.FYIELDRATE) AS 'FLossQty'--32.损耗数量 - ,t0e_q.FSCRAPQTY --33.报废数量 - ,t0e_q.FREPICKEDQTY --37.补料数量 - ,t0e_q.FINVENTORYQTY - ,t0e_c.FSTOCKID - ,t0e_c.FSTOCKLOCID - INTO #TmpTable1 -FROM #TmpTable0 tt - LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = tt.PPBOMENTRYID --生产用料清单数量拆分表 - LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = tt.PPBOMENTRYID - LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = tt.PPBOMENTRYID AND t0e_l.FLOCALEID = @LCID - -SELECT tt.* - ,t1.FMNEMONICCODE AS 'ProMnemonicCode'--6.助记码 - ,t1.FNUMBER AS 'ProNumber'--8.产品编码 - ,t1_l.FNAME AS 'ProName'--9.产品名称 - ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.产品规格型号 - ,t2_l.FNAME AS 'ProUnitName'--11.产品单位 - ,t3.FNUMBER AS 'MaterialNumber'--8.物料编码 - ,t3_l.FNAME AS 'MaterialName'--9.物料名称 - ,t3_l.FSPECIFICATION AS 'MaterialSpecification'--10.物料规格型号 - ,t4_l.FNAME AS 'MaterialUnitName'--11.物料单位 - ,(CASE t3.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.物料来源 - ,t6_l.FNAME AS 'WORKSHOPNAME' --44.生产车间 - ,t3.FMASTERID - ,t3.FUSEORGID - ,t7_l.FMEMO AS 'BOMMEMO' --42.BOM备注项 - ,t5_l.FNAME AS 'FSTOCKNAME' - INTO #TmpTable2 -FROM #TmpTable1 tt - LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = tt.ProMaterialId - LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = tt.ProMaterialId AND t1_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = tt.PrdUnitId AND t2_l.FLOCALEID = @LCID - LEFT JOIN T_BD_MATERIAL t3 ON t3.FMATERIALID = tt.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t3_l ON t3_l.FMATERIALID = tt.FMATERIALID AND t3_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t4_l ON t4_l.FUNITID = tt.FUNITID AND t4_l.FLOCALEID = @LCID - LEFT JOIN T_BD_STOCK_L t5_l ON t5_l.FSTOCKID = tt.FSTOCKID AND t5_l.FLOCALEID =@LCID - LEFT JOIN T_BD_DEPARTMENT_L t6_l on t6_l.FDEPTID = tt.FWORKSHOPID AND t6_l.FLOCALEID = @LCID - LEFT JOIN T_ENG_BOMCHILD_L t7_l ON t7_l.FENTRYID = tt.FBOMENTRYID AND t7_l.FLOCALEID = @LCID -SELECT tt.* - ,t1.FBASEQTY - ,t2_l.FNAME AS 'ROUTENAME' - ,t3e_A.FBASEINVQTY - ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.欠料 - ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.物料在途数 - ,t3e_A.FPURCHASEQTY --采购在途数量 - ,t3e_A.FREQUISITIONQTY --采购申请在途数量 - ,6 AS 'LOWEST6' - ,t3e_A.FREQUISITIONQTY - t3e_A.FPURCHASEQTY AS 'PR_C2PO_QTY' - ,0 AS 'ToBeInspectQTY' - ,0 AS 'PlanThrowInQty' - ,'' AS 'PlanThrowInDate' - ,'' AS 'CubicleName' - ,'' AS 'OTHERMEMO' - INTO {0} -FROM #TmpTable2 tt - LEFT JOIN ( - SELECT - t0.FMATERIALID - ,t0.FSTOCKORGID - ,sum(t0.FBASEQTY) AS FBASEQTY - FROM - T_STK_INVENTORY t0 - GROUP BY - t0.FMATERIALID - ,t0.FSTOCKORGID - ) t1 on t1.FMATERIALID = tt.FMASTERID AND t1.FSTOCKORGID = tt.FUSEORGID - LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = tt.FROUTINGID AND t2_L.FLOCALEID = @LCID - LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FPPBOMENTRYID = tt.PPBOMENTRYID AND t3e.FMATERIALIDSUB = tt.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID - -DROP TABLE #TmpTable0 -DROP TABLE #TmpTable1 -DROP TABLE #TmpTable2 - """).format(tableName,_lcId,whereSql); - # raise Exception(sql);#可以通过此方法弹出Sql语句进行调试验证 - DBUtils.Execute(this.Context,sql);#执行SQL,将报表数据写入临时表 - -#构建账表列头 -def GetReportHeaders(rptfilter): - header = ReportHeader(); - localEid = this.Context.UserLocale.LCID;#获取当前语言环境代码,中文为2052 - - header.AddChild("FBILLNO", LocaleValue("生产任务单号", localEid), 0) - - return header; - -#报表关闭触发,通常在此处清理报表过程产生的临时表 -def CloseReport(): - this.DropTempTable(); \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/生产投料bom层级展示.py b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/生产投料bom层级展示.py deleted file mode 100644 index a743537..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/生产投料bom层级展示.py +++ /dev/null @@ -1,3385 +0,0 @@ -import clr -clr.AddReference("System") -clr.AddReference("Kingdee.BOS") -clr.AddReference("Kingdee.BOS.Core") -clr.AddReference("Kingdee.BOS.DataEntity") -clr.AddReference("Kingdee.BOS.App") -clr.AddReference("Kingdee.BOS.Contracts") -clr.AddReference("Kingdee.BOS.ServiceHelper") -clr.AddReference("ExtensionMethods") -# clr.AddReference("K3CExttensionMethods") -from Kingdee.BOS import* -from Kingdee.BOS.Contracts import* -from Kingdee.BOS.Contracts.Report import* -from Kingdee.BOS.Core import * -from Kingdee.BOS.Core.Metadata import * -from Kingdee.BOS.Core.Report import* -from Kingdee.BOS.Core.SqlBuilder import* -from Kingdee.BOS.Core.Enums import * -from Kingdee.BOS.App.Data import* -from Kingdee.BOS.Orm.DataEntity import* -from System import * -from System.ComponentModel import* -from System.Collections.Generic import* -from System.Text import* -from System.Threading.Tasks import* -from Kingdee.BOS.ServiceHelper import * -from ExtensionMethods import BooleanExtension as boolObjEx -from ExtensionMethods import DateTimeExtension as dateObjEx -from ExtensionMethods import ObjectExtension as objEx -from ExtensionMethods import StringExtension as strObjEx -# from K3CExttensionMethods import ListHeaderExtension as lhObjEx - -#初始化,在此事件中设置报表的属性全局参数 -def Initialize(): - this.ReportProperty.ReportType= ReportType.REPORTTYPE_NORMAL; - this.IsCreateTempTableByPlugin = True; - #是否支持分组汇总,在后面GetSummaryColumnInfo方法中添加汇总字段, - #要在BOS中过滤框的汇总页签配置汇总信息,可参考:简单账表分组汇总设置 - this.ReportProperty.IsGroupSummary = True; - #IsUIDesignerColumns=False,表示报表的列通过插件控制,后续在GetReportHeaders中构建列头 - #需要在BOS过滤框的显示隐藏列中维护,字段标识与临时表字段保持一致 - #账表列头构建更多详细说明参考:账表列构建 - this.ReportProperty.IsUIDesignerColumns = False; - # this.ReportProperty.PrimaryKeyFieldName = "FID"; - this.ReportProperty.IdentityFieldName = "FIDENTITYID"; - -#创建临时报表,正式进入账表取数sql拼接并取数,把账表取数结果放到创建的临时表中 -#如果参数(this.IsCreateTempTableByPlugin=True),即调用BuilderReportSqlAndTempTable构建临时表 -#否则调用以下3个接口,完成账表取数逻辑的sql指令即:BuilderSelectFieldSQL、BuilderTempTableOrderBySQL、BuilderFormWhereSQL -#rptfilter:账表参数,可以从这里获取过滤条件等 -#tableName:系统自动创建的账表临时表名,具备唯一性,最终报表页面展示的数据绑定此临时表,所以最终的报表结果数据要写入此临时表中 -def BuilderReportSqlAndTempTable(rptfilter,tableName): - #baseDataTemp=filter.BaseDataTempTable;#基础资料临时表;若设置了数据范围权限,该表会把根据数据范围过滤出来的内码存入临时表; - #循环获取所有基础资料数据范围的数据,可用来拼接到报表SQL里面实现数据权限过滤 - #for b in baseDataTemp: - # baseType=b.BaseDataFormId;#基础资料FormId - # PKFldName=b.PKFieldName;#临时表中基础资料主键字段名,例如,FORGID - # baseTempTab=b.TempTable;#基础资料数据范围临时表名 - #filterStr=filter.FilterParameter.FilterString;#过滤框条件页签过滤表达式 - #过滤框快捷过滤页签的实体数据包,从这里面获取自定义的过滤字段值 - #DynamicObject类型,用前面讲的实体数据包操作方式取值,用绑定实体属性标识 - custFilter = rptfilter.FilterParameter.CustomFilter; - if(custFilter == None): - return; - whereSql = ""; - # 产品id - _proMaterialId = custFilter["ProMaterialId"]; - if _proMaterialId != None: - whereSql = whereSql + " AND t0e.FMATERIALID = " + str(_proMaterialId["Id"]); - - # # 物料id - # _materialId = custFilter["MaterialId"]; - # if(_materialId != None): - # whereSql = whereSql + " AND t1e.FMATERIALID = " + str(_materialId["Id"]); - - # 生产任务单 - _billNo = objEx.ToSafeString(custFilter["BILLNO"]); - if _billNo != "": - whereSql = whereSql + " AND t0.FBILLNO = '{0}'".format(_billNo); - - # # 生产投料单 - # _PPBomBillNo = objEx.ToSafeString(custFilter["PPBOMBILLNO"]); - # if(_PPBomBillNo != ""): - # whereSql = whereSql + " AND t1.FBILLNO LIKE '%{0}%'".format(_PPBomBillNo); - - # 销售订单 - _saleOrderNo = objEx.ToSafeString(custFilter["SALEORDERNO"]); - if _saleOrderNo != "": - whereSql = whereSql + " AND t0e.FSALEORDERNO = '{0}'".format(_saleOrderNo); - - _FSStock = "" - _stockSelectCollection = custFilter["FStockSelect"] - if _stockSelectCollection != None and _stockSelectCollection.Count > 0: - idList = set(map(lambda x : str(x["FStockSelect_Id"]), _stockSelectCollection)) - _FSStock = " AND FSTOCKID IN ({0}) ".format(",".join(idList)) - - _F_ora_SDate = objEx.ToSafeString(custFilter["F_ora_SDate"]) - _F_ora_EDate = objEx.ToSafeString(custFilter["F_ora_EDate"]) - - if whereSql == "": - return - # whereSql = "AND t0e.FMATERIALID = 0" - - _lcId = this.Context.UserLocale.LCID; - #raise Exception(str.Join(',',fldsSql));#调试时,可用此行代码,看看构建的动态列SQL对不对 - #组装最终写入报表临时表的SQL - #注意!!!: 最终临时表一定要有FIDENTITYID ,要从1开始,且不重复 ,不断号,不然前台显示空白!!!! - sql=("""/*dialect*/  -declare - @moBillNo varchar(100) - ,@salesBillNo varchar(100) - ,@ProMateriaNumber varchar(100) - ,@startMaterialId int - ,@endMaterialId int - ,@FSDate varchar (30) - ,@FEDate varchar (30) - ,@FSStock varchar (max) - ,@FName varchar (255) - ,@localId int -SET @moBillNo ='' -SET @salesBillNo ='' -SET @moBillNo = 0 -SET @moBillNo = 0 -SET @FSDate = '{3}' -SET @FEDate = '{4}' -SET @FSStock ='' -SET @FName = '' -SET @localId = {1} - -SET nocount ON -declare @FCloseBALDate varchar (30) -declare @FClosedate varchar (30) - ---查询起始日期最近一期的期末结存日期 -If NOT Exists( - SELECT FORGID,MAX(FCLOSEDATE) fclosedate - FROM T_STK_CLOSEPROFILE - WHERE FORGID IN (1) AND FCATEGORY = 'STK' AND (FCLOSEDATE < @FSDate) - GROUP BY FORGID) -BEGIN - SET @FClosedate='2020-01-01' - SET @FCloseBALDate='2020-01-01' - --print @FClosedate -END -ELSE -BEGIN - --SET @FClosedate='2019-07-01' - SELECT @FClosedate= CONVERT(varchar (30),DATEADD(D,1,MAX(FCLOSEDATE)),23) FROM - T_STK_CLOSEPROFILE WHERE ((FORGID IN (1) AND FCATEGORY = 'STK') AND (FCLOSEDATE < @FSDate)) GROUP BY FORGID - SET @FCloseBALDate=CONVERT(varchar (30),DATEADD(D,-1,@FClosedate),23) - --print @FClosedat -END - - --生成临时选取仓库 - -IF EXISTS(SELECT * FROM tempdb..SYSOBJECTS WHERE id=OBJECT_ID('tempdb..#tmpStockID')) -BEGIN - DROP TABLE #tmpStockID - print '存在' -END -Create Table #tmpStockID ( - FID INT IDENTITY(1,1) - ,FStockID INT -) -DECLARE @Strsql varchar(max) ---SET @Strsql= 'INSERT INTO #tmpStockID SELECT DISTINCT FSTOCKID FROM T_BD_STOCK WHERE 1=1 ' +@FSStock ---EXEC(@Strsql) -INSERT INTO #tmpStockID SELECT DISTINCT FSTOCKID FROM T_BD_STOCK WHERE 1=1 {5} - ---库存状态报表 - -if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#Stock_Status_temp')) -begin - DROP TABLE #Stock_Status_temp - print '存在' -END - -Create Table #Stock_Status_temp ( - 序号 INT IDENTITY(1,1), - 物料内码 INT, - 物料代码 varchar(100) null, - 物料名称 varchar(255) null, - 规格型号 varchar(255) null, - 旧编码 varchar(100) null, - --单位 varchar(30) null, - 上期结存 DECIMAL (18,2) Null, - 本期采购入库 DECIMAL (18,2) Null, - 本期耗用 DECIMAL (18,2) Null, - 期末结存 DECIMAL (18,2) Null, - 在途量 DECIMAL (18,2) Null, - 在制数 DECIMAL (18,2) Null, - 进检量 DECIMAL (18,2) Null, - 未发量 DECIMAL (18,2) Null, - 领料数量 DECIMAL (18,2) Null, - 销售出库数量 DECIMAL (18,2) Null, - 仓库拨出数量 DECIMAL (18,2) Null, - 仓库拨入数量 DECIMAL (18,2) Null, - 申购未转数 DECIMAL (18,2) Null, - 受订量 DECIMAL (18,2) Null, - 占用量 DECIMAL (18,2) Null, - 可用库存 DECIMAL (18,2) Null, - 仓库内码 INT, - 仓库代码 varchar(100) null, - 仓库名称 varchar(255) null, - 包装内码 INT, - 包装方式 varchar(255) null -) - -if EXISTS(SELECT * FROM tempdb..sysobjects WHERE id=object_id('tempdb..#TMP')) -begin - DROP TABLE #TMP - print '存在' -END - -CREATE TABLE #TMP ( - FID INT IDENTITY(1,1), - FSTOCKORGID INT NOT NULL DEFAULT 0, - FBILLENTRYID INT NOT NULL DEFAULT 0, - FORDERBY INT NOT NULL DEFAULT 0, - FSTOCKIO CHAR (1) NULL, - FMATERIALID INT NOT NULL DEFAULT 0, - FAUXPROPID INT NOT NULL DEFAULT 0, - FDATE DATETIME NULL, - FSTOCKID INT NOT NULL DEFAULT 0, - FSTOCKLOCID INT NOT NULL DEFAULT 0, - FSTOCKSTATUSID INT NOT NULL DEFAULT 0, - FBILLNAME NVARCHAR (100) NULL, - FBILLID INT NOT NULL DEFAULT 0, - FBILLSEQID INT NULL, - FBILLNO NVARCHAR (100) NULL, - FBASEQCQTY DECIMAL (23,10) NOT NULL DEFAULT 0, - FBASEINQTY DECIMAL (23,10) NOT NULL DEFAULT 0, - FBASEOUTQTY DECIMAL (23,10) NOT NULL DEFAULT 0 -) - ---分析BOM层级物料 - -IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#YC_T_MRP')) -BEGIN - DROP TABLE #YC_T_MRP -END - -CREATE TABLE #YC_T_MRP( - FID INT IDENTITY(1,1), - FBOMNumber NVARCHAR(255), - FMATERIALID INT, - 物料编码 NVARCHAR(255), - 物料名称 NVARCHAR(255), - 成品率 DECIMAL(28,10) DEFAULT (0), - 分子 DECIMAL(28,10),--BOM分子 - 分母 DECIMAL(28,10),--BOM分母 - FQty DECIMAL(28,10),--用量 - FLevle INT, - FERPCLSID INT, - FProMaterialId INT, - FOrderNum NVARCHAR(255), - FBOMID INT, - BOM层级 NVARCHAR(200) NULL, - FSEQ1 INT, - FSEQ2 INT, - FSEQ3 INT, - FSEQ4 INT, - FSEQ5 INT, - FSEQ6 INT, - FParentNumber NVARCHAR(255) -) - -IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#BOMTMP')) -BEGIN - DROP TABLE #BOMTMP -END - -/* 根据生产订单号,销售订单号,物料进行筛选对应的物料*/ -SELECT - t0.FBILLNO - ,t0.FID - ,t0e.FQTY - ,t0e.FENTRYID - ,t0e.FMATERIALID - ,t0e_a.FREPQUAQTY - --,t0e_a.FREQSRC --1.销售订单 - ,(CASE WHEN t1e.FSRCBILLNO is null THEN (CASE t0e_a.FREQSRC WHEN 1 THEN t0e.FSALEORDERNO ELSE '' END) ELSE t1e.FSRCBILLNO END) AS 'FSALEORDERNO' - INTO #TEMPMO -FROM - T_PRD_MO t0 - INNER JOIN T_PRD_MOENTRY t0e ON t0.FID = t0E.FID - INNER JOIN T_PRD_MOENTRY_A t0e_a ON t0e_a.FENTRYID = t0e.FENTRYID - LEFT JOIN T_SAL_DELIVERYNOTICEENTRY t1e ON t1e.FENTRYID = t0e.FSRCBILLENTRYID AND t0e.FSRCBILLID = t0e.FSALEORDERID -WHERE 1 = 1 - AND t0.FDOCUMENTSTATUS = 'C' - AND (t0e_a.FSTATUS < 5) - {2} - -/*取出所有审核状态的BOM,放入临时表中*/ -SELECT - ID=IDENTITY(INT,1,1) - ,T0.FID - ,T0.FNUMBER - ,T0.FMATERIALID - ,ROW_NUMBER() OVER(PARTITION BY T0.FMATERIALID ORDER BY t0.FID DESC) AS ROWID - ,t0.FDOCUMENTSTATUS - ,t0.FYIELDRATE - INTO #BOMTmp -FROM T_ENG_BOM T0 - INNER JOIN T_BD_MATERIAL TM ON t0.FMATERIALID=TM.FMATERIALID --物料表 -WHERE (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A') - --AND tm.FNUMBER = 'TSH182H000208O' - AND tm.FMATERIALID IN (SELECT DISTINCT FMATERIALID FROM #TEMPMO) -ORDER BY FMATERIALID,FNUMBER - ---/*在临时表中,同一个物料代码只保留一个最新版本的BOM*/ -DELETE FROM #BOMTmp WHERE ROWID != 1 - ---查询出第一级产成品信息 -INSERT INTO #YC_T_MRP( - FBOMNumber,FMATERIALID,物料编码,物料名称,成品率 - ,分子,分母,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum - ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) -SELECT - t0.FNUMBER,T0.FMATERIALID,t1.FNUMBER '物料编码',t3.FNAME '物料名称',t0.FYIELDRATE '成品率' - ,1 '分子',1 '分母',1 'FQty','0' 'FLevle',T2.FERPCLSID 'FERPCLSID',t1.FMATERIALID,t1.FNUMBER '物料编码' - ,t0.FID 'FBOMID',0 'FSEQ1',0 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6','' 'FParentNumber' -FROM T_ENG_BOM t0 - INNER JOIN T_BD_MATERIAL t1 ON t0.FMATERIALID=t1.FMATERIALID --物料表 - LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID --物料表 - LEFT OUTER JOIN T_BD_MATERIAL_L t3 ON (t1.FMATERIALID = t3.FMATERIALID AND t3.FLocaleId = 2052)--物料表 - INNER JOIN #BOMTmp t6 ON t0.FMATERIALID=t6.FMATERIALID AND t0.FNUMBER=t6.FNUMBER -WHERE 1=1 - AND (t0.FDOCUMENTSTATUS = 'C') -ORDER BY T0.FNUMBER - ---根据第一级产成品关联查询出第一级产成品下面的材料信息 -DECLARE @num INT,@level int,@LoopCount int -SET @num = 1 -SET @level =1 -SET @LoopCount = 0; - -INSERT INTO #YC_T_MRP( - FBOMNumber,FMATERIALID,物料编码,物料名称,成品率 - ,分子,分母,FQty,FLevle,FERPCLSID,FProMaterialId,FOrderNum - ,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) -SELECT - t10.FNUMBER,t7.FMATERIALID,t7.FNUMBER '物料编码',T9.FNAME '物料名称',t10.FYIELDRATE '成品率' - ,t6.FNUMERATOR '分子',t6.FDENOMINATOR '分母',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty' - ,@level AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t5.FProMaterialId,T5.FOrderNum - ,0 'FBOMID',T5.FSEQ1 'FSEQ1',t6.FSEQ 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t5.物料编码 'FParentNumber' -FROM #YC_T_MRP t5 - LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FBOMID=t6.FID--BOM表分录 - INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --物料表 - LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --物料表 - LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--物料表 - LEFT JOIN T_ENG_BOM t10 ON t10.FID=t6.FID--BOM表 -WHERE (t7.FFORBIDSTATUS = 'A') - AND T5.FLevle = 0 AND T5.FERPCLSID >= 2 - AND t10.FDOCUMENTSTATUS = 'C' - -WHILE (@num > 0 AND @LoopCount < 10) -BEGIN - - SELECT ID=IDENTITY(INT,1,1),T0.FID,T0.FNUMBER,T0.FMATERIALID - INTO #BOMTmp1 FROM #YC_T_MRP t1 - INNER JOIN T_ENG_BOM t0 ON t1.FMATERIALID=t0.FMATERIALID--BOM表头 - WHERE 1=1 AND (t0.FDOCUMENTSTATUS = 'C') AND (t0.FFORBIDSTATUS='A') AND T1.FLevle=@level AND T1.FERPCLSID>=2 - - DELETE FROM #BOMTmp1 WHERE id NOT IN (SELECT max(id) FROM #BOMTmp1 GROUP BY FMATERIALID) - - INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,物料编码,物料名称,成品率,分子,分母,FQty,FLevle - ,FERPCLSID,FProMaterialId,FOrderNum,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber) - SELECT t5.FNUMBER,t7.FMATERIALID,t7.FNUMBER '物料编码',T9.FNAME '物料名称',t5.FYIELDRATE '成品率' - ,t6.FNUMERATOR '分子',t6.FDENOMINATOR '分母',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty' - ,@level + 1 AS 'FLevle',t8.FERPCLSID 'FERPCLSID',t1.FProMaterialId,T1.FOrderNum,0 'FBOMID' - ,t1.FSEQ1 'FSEQ1',t1.FSEQ2 'FSEQ2',t6.FSEQ 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t1.物料编码 'FParentNumber' - FROM #YC_T_MRP t1 - INNER JOIN T_ENG_BOM t5 ON t1.FMATERIALID=t5.FMATERIALID--BOM表头 - LEFT OUTER JOIN T_ENG_BOMCHILD t6 ON t5.FID=t6.FID--BOM表分录 - INNER JOIN T_BD_MATERIAL t7 ON t6.FMATERIALID=t7.FMATERIALID --物料表 - LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --物料表 - LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--物料表 - INNER JOIN #BOMTmp1 t10 ON t5.FMATERIALID=t10.FMATERIALID AND T5.FNUMBER=T10.FNUMBER - WHERE 1 = 1 AND (t7.FFORBIDSTATUS = 'A') AND T1.FLevle=@level AND T1.FERPCLSID>=2 AND t5.FDOCUMENTSTATUS = 'C' - - SET @num = @@ROWCOUNT - SET @level += 1 - SET @LoopCount += 1 - - DROP TABLE #BOMTmp1 - -END - -UPDATE #YC_T_MRP SET BOM层级 =REPLICATE('.',FLevle)++ convert(varchar(4),FLevle) - ---生产入库单 -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT - TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, - ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid, - ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, - TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty -FROM T_PRD_INSTOCK TS - INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID - LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - --((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0) - ---初始数据 - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEREALQTY) fbaseqcqty -FROM T_PRD_INSTOCK TS - INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TS.FENTRUSTINSTOCKID = 0) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---入库单 -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE. -FSTOCKSTATUSID fstockstatusid,'入库单' fbillname, -TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty ---t_STK_InStock -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID - -INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') ---初始数据 - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEUNITQTY) fbaseqcqty -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (( -((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE. -FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---入库单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID, -FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid,TSE.FRECEIVESTOCKSTATUS fstockstatusid,'入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00')AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (TSE.FRECEIVESTOCKID > 0)) AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') - AND TSE.FRECEIVESTOCKFLAG = '1') - ---初始数据 - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FRECEIVEAUXPROPID,0) fauxpropid, -TSE.FRECEIVESTOCKID fstockid,ISNULL(TSE.FRECEIVESTOCKLOCID,0) fstocklocid, -TSE.FRECEIVESTOCKSTATUS fstockstatusid,'初始数据',(0 - SUM(TSE.FBASEUNITQTY)) fbaseqcqty - -FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (TSE.FRECEIVESTOCKID > 0)) -AND (TSE.FRECEIVESTOCKSTATUS > 0)) AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND TSF.FISGENFORIOS = '0') AND TSE.FRECEIVESTOCKFLAG = '1') -GROUP BY TS.FSTOCKORGID,TSE.FRECEIVEOWNERTYPEID,TSE.FRECEIVEOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FRECEIVEAUXPROPID,0), -ISNULL(TSE.FRECEIVELOT_TEXT,' '),ISNULL(TSE.FRECEIVEMTONO,' '),TSE.FRECEIVESTOCKID,ISNULL(TSE.FRECEIVESTOCKLOCID,0), -TSE.FRECEIVESTOCKSTATUS,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---生产领料单 - - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID, -FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) ---生产领料单 -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'生产领料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND - TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---初始数据 - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty - -FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ( -((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID, - TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE - ---销售出库单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'销售出库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty -FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) -AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) ---AND TS.FBILLNO='SA1907050103' - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, - ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid, - '初始数据',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty - FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID - INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((( - ((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') - AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE, - TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---生产补料单 -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产补料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_PRD_FEEDMTRL TS -INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) -LEFT OUTER JOIN T_PRD_FEEDMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) ---AND ts.FBILLNO IN ('M31910140010','M31907010006') - - ---初始数据 - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid,'初始数据' fbillname,SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty - FROM T_PRD_FEEDMTRL TS INNER JOIN T_PRD_FEEDMTRLDATA TSE ON TSE.FID = TS.FID - INNER JOIN T_PRD_FEEDMTRLDATA_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) - AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '), - TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---生产退料单 -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty -FROM T_PRD_RETURNMTRL TS -INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -LEFT OUTER JOIN T_PRD_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) ---AND ts.FBILLNO='M21907200004' - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty - FROM T_PRD_RETURNMTRL TS INNER JOIN T_PRD_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PRD_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), - ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, - TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---退料单 -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid, -0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,(0 - TSE.FBASEUNITQTY) fbaseinqty,0 fbaseoutqty -FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) -AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId)))) - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty -FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) - AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) - AND TSF.FISGENFORIOS = '0') AND (TSE.FSTOCKFLAG = '1' OR ((TS.FMRTYPE= 'B' AND TMB.FISINVENTORY = '1') - AND (TSE.FStockStatusId <> TSE.FReceiveStockStatusId)))) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), - ISNULL(TSE.FLOT_TEXT,''),ISNULL(TSE.FMTONO,''),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, - TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---收料单 库存更新标志 FSTOCKFLAG 0:未更新 1:已更新 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'收料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEUNITQTY fbaseinqty,0 fbaseoutqty -FROM T_PUR_RECEIVE TS INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TMB.FMaterialId = TSE.FMaterialId - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND TMB.FISINVENTORY = '1') -AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1') - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEUNITQTY) fbaseqcqty - -FROM T_PUR_RECEIVE TS -INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TSE.FSTOCKID > 0)) AND TSE.FSTOCKFLAG = '1') -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), - ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, - TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---销售退货单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - ---销售退货单 -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'销售退货单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEUNITQTY) fbaseoutqty -FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) - ---AND TS.FBILLNO ='SB1908230003' - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEUNITQTY) fbaseqcqty - FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON TSE.FENTRYID = TSEF.FENTRYID - INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') - AND TS.FCANCELSTATUS = 'A')) AND (TSEF.FRowType = 'Son' OR TSEF.FRowType = 'Standard')) AND TSF.FISGENFORIOS = '0') AND (TMB.FERPCLSID <> '6')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - - ---简单生产入库单 -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'简单生产入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty -FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEREALQTY) fbaseqcqty -FROM T_SP_INSTOCK TS INNER JOIN T_SP_INSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID, -TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---简单生产领料单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'简单生产领料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEACTUALQTY fbaseoutqty - -FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',(0 - SUM(TSE.FBASEACTUALQTY)) fbaseqcqty -FROM T_SP_PICKMTRL TS INNER JOIN T_SP_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID, -ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---简单生产退料单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid, - 0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'简单生产退料单' fbillname,TS.FID fbillid,TSE.FSEQ - fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSE.FBASEQTY) fbaseoutqty - -FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASEQTY) fbaseqcqty -FROM T_SP_RETURNMTRL TS INNER JOIN T_SP_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), - TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---组装拆卸单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid,'组装拆卸单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE -(((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据', - SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - - FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID, - TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---组装拆卸单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FDETAILID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid,'组装拆卸单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, - -CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'ASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseinqty,CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN 0 ELSE TSE.FBASEQTY END fbaseoutqty -FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID -INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -LEFT OUTER JOIN T_STK_ASSEMBLYPRODUCT_R TSR ON TSR.FENTRYID = TSE.FENTRYID - -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, - ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, - TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(CASE WHEN UPPER(TS.FAFFAIRTYPE) = 'DASSEMBLY' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - FROM T_STK_ASSEMBLY TS INNER JOIN T_STK_ASSEMBLYPRODUCT TSEH ON TSEH.FID = TS.FID - INNER JOIN T_STK_ASSEMBLYSUBITEM TSE ON TSE.FENTRYID = TSEH.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID, - TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE - - - ---批号调整单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid, -TSE.FSTOCKSTATUSID fstockstatusid,'批号调整单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, - '初始数据',SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - -FROM T_STK_LOTADJUST TS INNER JOIN T_STK_LOTADJUSTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE, - ISNULL(TSE.FBOMID,0) - - - ---其他入库单 - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'其他入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseinqty,0 fbaseoutqty - -FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_MISCELLANEOUSENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE<= '2019-11-12 23:59:59')) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --初始数据 - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据', - SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - FROM T_STK_MISCELLANEOUS TS INNER JOIN T_STK_MISCELLANEOUSENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID, -ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---其他出库单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'其他出库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,0 fbaseinqty,CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END fbaseoutqty -FROM T_STK_MISDELIVERY TS -INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_MISDELIVERYENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - --初始数据 -INSERT INTO #TMP (FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据', - SUM(CASE WHEN TS.FSTOCKDIRECT = 'GENERAL' THEN (0 - TSE.FBASEQTY) ELSE TSE.FBASEQTY END) fbaseqcqty - FROM T_STK_MISDELIVERY TS INNER JOIN T_STK_MISDELIVERYENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), - TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---受托加工材料入库单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'受托加工材料入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,FBASEQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_OEMINSTOCK TS -INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_OEMINSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---((TS.FDATE >= '2019-07-01 00:00:00') AND (TS.FDATE <= '2019-11-12 23:59:59')) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(FBASEQTY) fbaseqcqty -FROM T_STK_OEMINSTOCK TS INNER JOIN T_STK_OEMINSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---受托加工材料退料单 - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'受托加工材料退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,(0 - FBASEQTY) fbaseinqty,0 fbaseoutqty - -FROM T_STK_OEMINSTOCKRTN TS -INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_OEMINSTOCKRTNENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND FRETURNTYPE = 'StockReMat') - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'',(0 - SUM(FBASEQTY)) fbaseqcqty - FROM T_STK_OEMINSTOCKRTN TS INNER JOIN T_STK_OEMINSTOCKRTNENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - AND FRETURNTYPE = 'StockReMat') - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID, - ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), - TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---形态转换单 - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'形态转换单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_STATUSCONVERT TS -INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据', -SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty -FROM T_STK_STATUSCONVERT TS INNER JOIN T_STK_STATUSCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---库存状态转换单 - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN 'O' ELSE 'I' END fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'库存状态转换单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, -CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'A' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STOCKCONVERTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据', -SUM(CASE WHEN UPPER(TSE.FCONVERTTYPE) = 'B' THEN TSE.FBASEQTY ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty -FROM T_STK_STOCKCONVERT TS INNER JOIN T_STK_STOCKCONVERTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), -TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---盘盈单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'盘盈单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEGAINQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_STKCOUNTGAIN TS -INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'初始数据',SUM(TSE.FBASEGAINQTY) fbaseqcqty -FROM T_STK_STKCOUNTGAIN TS INNER JOIN T_STK_STKCOUNTGAINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---盘亏单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'盘亏单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,0 fbaseinqty,TSE.FBASELOSSQTY fbaseoutqty -FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) - - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, - '初始数据',SUM(0 - TSE.FBASELOSSQTY) fbaseqcqty - FROM T_STK_STKCOUNTLOSS TS INNER JOIN T_STK_STKCOUNTLOSSENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND ((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID, - ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---直接调拨单 - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid, -TSE.FDESTSTOCKSTATUSID fstockstatusid,'直接调拨单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty - -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - - -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS -.FOBJECTTYPEID = 'STK_TransferDirect') - - - ---初始数据 - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid, -ISNULL(TSE.FAUXPROPID,0) fauxpropid,TSE.FDESTSTOCKID fstockid, -ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'初始数据', -SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END - -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect') -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0), -TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - - - ---直接调拨单 - - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID, -FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio, -TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid, -'直接调拨单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect') - - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio, -TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'初始数据', - -SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END - -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty - - -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TransferDirect') -GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID, -TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE - - ---分步式调入单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid, -TSE.FDESTSTOCKSTATUSID fstockstatusid,'分步式调入单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GEN -ERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty - -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'初始数据', - SUM(TSE.FBASEQTY) fbaseqcqty - FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - AND (TS.FISGENFORIOS <> '1')) AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID, - TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - ---分步式调入单 - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'分步式调入单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseinqty,0 fbaseoutqty -FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID -INNER JOIN T_STK_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE ((((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) -AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - - - - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'',SUM((0 - TSE.FBASEQTY) - TSET.FBASEPATHLOSSQTY) fbaseqcqty - FROM T_STK_STKTRANSFERIN TS INNER JOIN T_STK_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_STK_STKTRANSFERINENTRY_T TSET ON TSE.FENTRYID = TSET.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE ((((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKOUTORGID IN (1) - AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) - AND TS.FVESTONWAY = 'A') AND TS.FOBJECTTYPEID = 'STK_TRANSFERIN') - GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FSRCMTONO,' '), - TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FSRCPRODUCEDATE,TSE.FSRCEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE - ---分步式调出单 - - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid, -TSE.FSRCSTOCKSTATUSID fstockstatusid,'分步式调出单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseinqty, -CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty - -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) - - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid, - '初始数据',SUM(0 - TSE.FBASEQTY) fbaseqcqty - FROM T_STK_STKTRANSFEROUTENTRY TSE INNER JOIN T_STK_STKTRANSFEROUT TS ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON -TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), - ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID, - TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - ---分步式调出单 - - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid, -'分步式调出单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A') - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid, - '初始数据',SUM(TSE.FBASEQTY) fbaseqcqty - FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'A') - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0), - TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - - ---分步式调出单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKINORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid, -ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid, -'分步式调出单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEQTY fbaseinqty,0 fbaseoutqty -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_STK_STKTRANSFEROUTENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - -WHERE (((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B') - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKINORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FDESTMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid, -'初始数据',SUM(TSE.FBASEQTY) fbaseqcqty -FROM T_STK_STKTRANSFEROUT TS INNER JOIN T_STK_STKTRANSFEROUTENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FDESTMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID -WHERE (((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKINORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) AND (TS.FISGENFORIOS <> '1')) AND TS.FVESTONWAY = 'B') -GROUP BY TS.FSTOCKINORGID,TSE.FOWNERTYPEINID,TSE.FOWNERINID,TSE.FDESTMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FDESTMTONO,' '),TSE.FDESTSTOCKID, -ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEINID,TSE.FKEEPERINID,TSE.FDESTPRODUCEDATE,TSE.FDESTEXPIRYDATE,ISNULL(TSE.FDESTBOMID,0),TS.FDATE - - - ---生产线在制仓库调拨单 - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'I' ELSE 'O' END fstockio, -TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid, -TSE.FDESTSTOCKSTATUSID fstockstatusid,'生产线在制仓库调拨单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, - 0 fbaseqcqty,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseinqty, - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'RETURN' THEN (0 - TSE.FBASEQTY) ELSE 0 END fbaseoutqty -FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FDESTSTOCKID fstockid,ISNULL(TSE.FDESTSTOCKLOCID,0) fstocklocid,TSE.FDESTSTOCKSTATUSID fstockstatusid,'初始数据', - SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END) fbaseqcqty - - FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FDESTSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FDESTLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '), - TSE.FDESTSTOCKID,ISNULL(TSE.FDESTSTOCKLOCID,0),TSE.FDESTSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FBOMID,TS.FDATE - - - - --生产线在制仓库调拨单 - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 'O' ELSE 'I' END fstockio, -TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid, - TSE.FSRCSTOCKSTATUSID fstockstatusid, - '生产线在制仓库调拨单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END fbaseinqty, - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END fbaseoutqty - FROM T_REM_STKTRANSFERIN TS - INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_REM_STKTRANSFERINENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID - INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKOUTORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FSRCMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSRCSTOCKID fstockid,ISNULL(TSE.FSRCSTOCKLOCID,0) fstocklocid,TSE.FSRCSTOCKSTATUSID fstockstatusid,'初始数据', - SUM(CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN 0 ELSE (0 - TSE.FBASEQTY) END - CASE WHEN UPPER(TS.FTRANSFERDIRECT) = 'GENERAL' THEN TSE.FBASEQTY ELSE 0 END) fbaseqcqty - FROM T_REM_STKTRANSFERIN TS INNER JOIN T_REM_STKTRANSFERINENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FSRCMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSRCSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKOUTORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKOUTORGID,TSE.FOWNERTYPEOUTID,TSE.FOWNEROUTID,TSE.FSRCMATERIALID,ISNULL(TSE.FAUXPROPID,0), -ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSRCSTOCKID,ISNULL(TSE.FSRCSTOCKLOCID,0),TSE.FSRCSTOCKSTATUSID,TSE.FKEEPERTYPEOUTID,TSE.FKEEPEROUTID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,TSE.FSRCBOMID,TS.FDATE - - ---委外补料单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'委外补料单' fbillname,TS.FID fbillid, -TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSEQ.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) -LEFT OUTER JOIN T_SUB_FEEDMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, - -'初始数据',SUM(0 - TSEQ.FBASESTOCKACTUALQTY) fbaseqcqty - FROM T_SUB_FEEDMTRL TS INNER JOIN T_SUB_FEEDMTRLENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_SUB_FEEDMTRLENTRY_Q TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID, - TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---委外领料单 - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'委外领料单' fbillname,TS.FID fbillid, -TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASESTOCKACTUALQTY fbaseoutqty -FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) -LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'初始数据',SUM(0 - TSE.FBASESTOCKACTUALQTY) fbaseqcqty - FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID - INNER JOIN T_SUB_PICKMTRLDATA_A TSEQ ON (TSE.FID = TSEQ.FID AND TSE.FENTRYID = TSEQ.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A')AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSEQ.FOWNERTYPEID,TSEQ.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '), - TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSEQ.FKEEPERTYPEID,TSEQ.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---委外退料单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'委外退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty, -0 fbaseinqty,(0 - TSE.FBASESTOCKQTY) fbaseoutqty -FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -LEFT OUTER JOIN T_SUB_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSE.FBASESTOCKQTY) fbaseqcqty -FROM T_SUB_RETURNMTRL TS INNER JOIN T_SUB_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID, -TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSEA.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), -TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---生产线产品入库单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby, - 'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产线产品入库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,TSE.FBASEREALQTY fbaseinqty,0 fbaseoutqty -FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_REM_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - ---初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, - TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, - '初始数据',SUM(TSE.FBASEREALQTY) fbaseqcqty - FROM T_REM_INSTOCK TS INNER JOIN T_REM_INSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID - WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), - TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ----生产线产品退库单 - - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO, - FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TS.FDATE fdate,TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'生产线产品退库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno, -0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty -FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_REM_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'初始数据',SUM(TSE.FBASEREALQTY) fbaseqcqty -FROM T_REM_OUTSTOCK TS INNER JOIN T_REM_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID, -ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---生产线领料单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby, -'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'生产线领料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS -.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSED.FBASESTOCKACTUALQTY fbaseoutqty - -FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_REM_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'初始数据',SUM(0 - TSED.FBASESTOCKACTUALQTY) fbaseqcqty -FROM T_REM_PICKMTRL TS INNER JOIN T_REM_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) -AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSED.FOWNERTYPEID,TSED.FOWNERID,TSE.FMATERIALID, -ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSED.FKEEPERTYPEID,TSED.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0),TS.FDATE - - ---生产线退料单 -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'生产线退料单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,(0 - TSEA.FBASESTOCKQTY) fbaseoutqty - -FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -LEFT OUTER JOIN T_REM_RETURNMTRLENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) - AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'初始数据',SUM(TSEA.FBASESTOCKQTY) fbaseqcqty -FROM T_REM_RETURNMTRL TS INNER JOIN T_REM_RETURNMTRLENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_REM_RETURNMTRLENTRY_A TSEA ON TSE.FENTRYID = TSEA.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0), -TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - - ---委外超耗单 -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'O' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'委外超耗单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,0 fbaseinqty,TSE.FBASEUNITQTY fbaseoutqty - -FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SUB_EXCONSUMEENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'初始数据',SUM(0 - TSE.FBASEUNITQTY) fbaseqcqty -FROM T_SUB_EXCONSUME TS INNER JOIN T_SUB_EXCONSUMEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOwnerTypeId,TSE.FOwnerId,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '), -ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - ---生产退库单 - - INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'生产退库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid,TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEREALQTY) fbaseinqty,0 fbaseoutqty -FROM -T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID -LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') -AND TS.FCANCELSTATUS = 'A')) AND TS.FEntrustRetStockId = 0) - - - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'初始数据',SUM(0 - TSE.FBASEREALQTY) fbaseqcqty -FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE ((((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) -AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS= 'A')) AND TS.FEntrustRetStockId = 0) - GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '), - TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - - ---简单生产退库单 - -INSERT INTO #TMP (FSTOCKORGID,FBILLENTRYID,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FDATE,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBILLID,FBILLSEQID,FBILLNO,FBASEQCQTY,FBASEINQTY,FBASEOUTQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TSE.FENTRYID fbillentryid,0 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate, - -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid,'简单生产退库单' fbillname,TS.FID fbillid,TSE.FSEQ fbillseqid, -TS.FBILLNO fbillno,0 fbaseqcqty,(0 - TSE.FBASEOUTQTY) fbaseinqty,0 fbaseoutqty - -FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -LEFT OUTER JOIN T_SP_OUTSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_SP_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) - - - - --初始数据 -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TS.FSTOCKORGID fstockorgid,TS.FDATE fdate,-200 forderby,'I' fstockio,TSE.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TSE.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'初始数据',SUM(0 - TSE.FBASEOUTQTY) fbaseqcqty - FROM T_SP_OUTSTOCK TS INNER JOIN T_SP_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON TSE.FSTOCKID = TBS.FSTOCKID -WHERE (((TS.FDATE >= @FClosedate) AND (TS.FDATE < @FSDate)) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A')) -GROUP BY TS.FSTOCKORGID,TSE.FOWNERTYPEID,TSE.FOWNERID,TS.FDATE,TSE.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TSE.FLOT_TEXT,' '),ISNULL(TSE.FMTONO,' '),TSE.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID, -TSE.FKEEPERTYPEID,TSE.FKEEPERID,TSE.FPRODUCEDATE,TSE.FEXPIRYDATE,ISNULL(TSE.FBOMID,0) - -INSERT INTO #TMP ( FSTOCKORGID,FDATE,FORDERBY,FSTOCKIO,FMATERIALID,FAUXPROPID,FSTOCKID,FSTOCKLOCID,FSTOCKSTATUSID,FBILLNAME,FBASEQCQTY) - -SELECT TSE.FSTOCKORGID fstockorgid,TSE.FBALDATE fdate,-200 forderby, - 'I' fstockio,TM.FMATERIALID fmaterialid,ISNULL(TSE.FAUXPROPID,0) fauxpropid, -TBS.FSTOCKID fstockid,ISNULL(TSE.FSTOCKLOCID,0) fstocklocid,TSE.FSTOCKSTATUSID fstockstatusid, -'库存余额表',SUM(TSE.FBASEENDQTY) fbaseqcqty -FROM T_STK_INVBAL TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID) -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID) -LEFT OUTER JOIN T_ENG_BOM TB ON (TB.FMASTERID = TSE.FBOMID AND TB.FUSEORGID = TSE.FSTOCKORGID) -LEFT OUTER JOIN V_ITEMCLASS_OWNER VO ON ((VO.FMASTERID = TSE.FOWNERID AND VO.FFORMID = TSE.FOWNERTYPEID) AND (VO.FUSEORGID = TSE.FSTOCKORGID OR VO.FUSEORGID = 0 -OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VO.FFORMID AND BT.FSTRATEGYTYPE = 1)))) -LEFT OUTER JOIN V_ITEMCLASS_OWNER_L VO_L ON (VO.FITEMID = VO_L.FITEMID AND VO_L.FLOCALEID = 2052) -LEFT OUTER JOIN V_ITEMCLASS_KEEPER VK ON ((VK.FMASTERID = TSE.FKEEPERID AND VK.FFORMID = TSE.FKEEPERTYPEID) AND (VK.FUSEORGID = TSE.FSTOCKORGID OR VK.FUSEORGID = 0 -OR EXISTS (SELECT 1 FROM T_META_BASEDATATYPE BT WHERE (BT.FBASEDATATYPEID = VK.FFORMID AND BT.FSTRATEGYTYPE = 1)))) -LEFT OUTER JOIN V_ITEMCLASS_KEEPER_L VK_L ON (VK.FITEMID = VK_L.FITEMID AND VK_L.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_LOTMASTER TBLM ON (ISNULL(TSE.FLOT,0) = TBLM.FMASTERID AND TBLM.FUSEORGID IN (1)) - -WHERE ((TSE.FSTOCKORGID IN (1) AND (FBALTYPE IN(0,1) AND (FSTOCKORGID = 1 AND TSE.FBALDATE =@FCloseBALDate ))) ---AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -AND (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TBS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - AND TM.FFORBIDSTATUS = 'A') - - -GROUP BY TSE.FSTOCKORGID,TSE.FOWNERTYPEID,VO.FITEMID,TSE.FBALDATE,TM.FMATERIALID,ISNULL(TSE.FAUXPROPID,0),ISNULL(TBLM.FNUMBER,' '),ISNULL(TSE.FMTONO,' '), -TBS.FSTOCKID,ISNULL(TSE.FSTOCKLOCID,0),TSE.FSTOCKSTATUSID,TSE.FKEEPERTYPEID,VK.FITEMID,TSE.FLOT,TMS.FISBATCHMANAGE,TMS.FISKFPERIOD, -TMS.FISEXPPARTOFLOT,TBLM.FPRODUCEDATE,TSE.FPRODUCEDATE,TBLM.FEXPIRYDATE,TSE.FEXPIRYDATE,ISNULL(TB.FID,0) - ---合并所有出入库数据 - -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp1 -FROM #TMP ---WHERE FDATE <='2019-08-30' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - - - -INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码) - -SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码, -ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码 -FROM #tmp1 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.FMATERIALID AND TM.FUSEORGID = TSE.FSTOCKORGID) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.FSTOCKID AND TBS.FUSEORGID = TSE.FSTOCKORGID) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - - ---上期结存数 ---SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY ---INTO #tmp2 - ---FROM #TMP -----WHERE FDATE <=@FSDate ---GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID ---ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - ---SELECT * -UPDATE t1 SET t1.上期结存=t2.FBASEQCQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp1 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID - ---期末结存 -UPDATE t1 SET t1.期末结存=t2.FBASEQCQTY+t2.FBASEINQTY-t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN - #tmp1 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID - ---本期采购入库 -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp4 FROM #TMP TS WHERE FORDERBY<>'-200' AND fstockio='I' AND ( FBILLNAME NOT like'%调拨单%' AND FBILLNAME<>'形态转换单') -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID, -FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID ---本期采购入库 - -UPDATE t1 SET t1.本期采购入库=t2.FBASEINQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp4 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID - ---本期耗用 -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp5 FROM #TMP TS WHERE fstockio='O' AND ( FBILLNAME NOT like'%调拨单%' AND FBILLNAME<>'形态转换单') -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID ---本期耗用 - -UPDATE t1 SET t1.本期耗用=t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp5 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID - - ---仓库拨入数量仓库拨出数量 - -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp6 FROM #TMP TS WHERE FORDERBY<>'-200' AND ( FBILLNAME like'%调拨单%' ) -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - ---仓库拨入数量--仓库拨出数量 - -UPDATE t1 SET t1.仓库拨入数量=t2.FBASEINQTY,t1.仓库拨出数量=t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp6 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID - - ---领料数量 -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp7 FROM #TMP TS WHERE ( FBILLNAME IN('生产领料单','委外领料单' )) -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - ---领料数量 -UPDATE t1 SET t1.领料数量=t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp7 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID - - ---销售出库数量 - -SELECT FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID,SUM( FBASEQCQTY)FBASEQCQTY,SUM(FBASEINQTY)FBASEINQTY,SUM(FBASEOUTQTY) FBASEOUTQTY -INTO #tmp8 FROM #TMP TS WHERE ( FBILLNAME ='销售出库单' ) -AND ((TS.FDATE >= @FSDate) AND (TS.FDATE <= @FEDate)) ---TS.FDATE >='2019-08-30'AND TS.FDATE <='2019-11-12' -GROUP BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID -ORDER BY FSTOCKORGID,FMATERIALID,FAUXPROPID,FSTOCKID - ---销售出库数量 -UPDATE t1 SET t1.销售出库数量=t2.FBASEOUTQTY - FROM #Stock_Status_temp t1 -INNER JOIN #tmp8 t2 ON t1.物料内码=t2.FMATERIALID AND t1.仓库内码=t2.FSTOCKID AND t1.包装内码=T2.FAUXPROPID - ---受订量 ---销售订单受订量 ---******************************************* - ---查询订单数 ---(C.FBASEREMAINOUTQTY+C.FBaseReturnQty)累计退库数量+剩余未出数量 -SELECT (A.FBILLNO) AS 销售单号,(A.FID) 销售内码,(B.FENTRYID) 销售分录,(B.FSEQ) 销售序号, -B.FMATERIALID AS 物料内码,B.FBASEUNITQTY 订单数,(C.FBASEREMAINOUTQTY+C.FBaseReturnQty) AS 未出数量,FBaseReturnQty, -ISNULL(B.FSTOCKID,0) 仓库内码,B.FAUXPROPID,A.FCLOSESTATUS,FCLOSEDATE,A.FDATE,B.FMRPCLOSESTATUS 业务关闭 -INTO #tmpSal -FROM T_SAL_ORDER A -INNER JOIN T_SAL_ORDERENTRY B ON A.FID =B.FID -LEFT JOIN T_SAL_ORDERENTRY_R C ON C.FID=B.FID AND C.FENTRYID =B.FENTRYID -LEFT JOIN T_SAL_ORDERENTRY_E D ON D.FID=B.FID AND D.FENTRYID =B.FENTRYID - -WHERE 1=1 AND A.FCANCELSTATUS='A' AND A.FDOCUMENTSTATUS='C' --AND B.FMRPTERMINATESTATUS='A' -AND (B.FTERMINATEDATE >@FEDate OR ISNULL(B.FTERMINATEDATE,'') ='') -AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='')--关闭日期在开始之前单据不考虑 -AND A.FDATE <=@FEDate --AND A.FBILLNO='SO1909200018' -ORDER BY A.FDATE,A.FID,B.FENTRYID,B.FMATERIALID - - - ---更新未出数量 ---SELECT * -UPDATE t1 SET t1.未出数量=未出数量+t2.fbaseoutqty -FROM #tmpSal t1 -INNER JOIN ( -SELECT TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID,SUM(TSE.FBASEUNITQTY) fbaseoutqty -FROM T_SAL_OUTSTOCK TS INNER JOIN T_SAL_OUTSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_OUTSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_OUTSTOCKFIN TSF ON TSE.FID = TSF.FID -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID -INNER JOIN T_SAL_OUTSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID - -WHERE TS.FDATE>@FEDate AND -( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -GROUP BY TSR.FSOORDERNO,TSR.FSOENTRYID,TSE.FMATERIALID ) t2 ON t2.FSOORDERNO =t1.销售单号 AND t2.FSOENTRYID=t1.销售分录 AND t1.物料内码=t2.FMATERIALID - ---销售出库退货 ---销售退货单 ---SELECT * -UPDATE t1 SET t1.未出数量=未出数量+t2.fbaseoutqty -FROM #tmpSal t1 -INNER JOIN ( -SELECT TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID,SUM((TSE.FBASEUNITQTY)) fbaseoutqty -FROM T_SAL_RETURNSTOCK TS INNER JOIN T_SAL_RETURNSTOCKENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_SAL_RETURNSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_SAL_RETURNSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID -INNER JOIN T_BD_MATERIALBASE TMB ON TSE.FMATERIALID = TMB.FMATERIALID INNER JOIN T_SAL_RETURNSTOCKENTRY_R TSR ON TSR.FENTRYID = TSE.FENTRYID - -WHERE TS.FDATE>@FEDate -AND ( TS.FCANCELSTATUS = 'A' AND TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -GROUP BY TSE.FORDERNO,TSE.FSOENTRYID,TSE.FMATERIALID -) t2 ON t2.FORDERNO =t1.销售单号 AND t2.FSOENTRYID=t1.销售分录 AND t1.物料内码=t2.FMATERIALID - - - -SELECT 物料内码,订单数,未出数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码 -INTO #tmpSal1 FROM #tmpSal B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 ) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -ORDER BY 物料内码 - - -SELECT 物料内码,订单数,未出数量,FAUXPROPID,仓库内码 -INTO #tmpSal3 FROM #tmpSal1 B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) ---LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 ) ---LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -ORDER BY 物料内码 - - - -SELECT 物料内码,SUM(订单数)订单数,SUM(未出数量)未出数量,FAUXPROPID,仓库内码 -INTO #tmpSal2 FROM #tmpSal3 -GROUP BY 仓库内码,物料内码,FAUXPROPID -ORDER BY 仓库内码,物料内码,FAUXPROPID - ---销售订单受订量 -UPDATE t1 SET t1.受订量=t2.未出数量 -FROM #Stock_Status_temp t1 -INNER JOIN #tmpSal2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID - - ---不存在数据就重新增 - -INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,受订量) - -SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS - 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码, -ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未出数量) -FROM #tmpSal2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.物料内码 ) - -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID) - ---******************************************* - - - ---在途量 ---************************************************ - ---采购订单 -SELECT ddd.FPurchaseOrgID fstockorgid,ddd.FBILLNO 采购订单,ddd.FID AS 采购内码,B.FENTRYID 采购订单分录,b.FMATERIALID 物料内码, -ISNULL(b.FAUXPROPID,0) fauxpropid,ddd.FDATE fdate,TMS.FSTOCKID 仓库内码,FBASEUNITQTY 采购数量, -FREMAINSTOCKINQTY 剩余入库数量,FBASESTOCKINQTY 入库数量,ddd.FCLOSEDATE -INTO #tmppoorder -FROM t_pur_poorderentry b -INNER JOIN t_pur_poorder ddd ON (ddd.FID = b.FID AND FbusinessType NOT IN ('ZCCG','FYCG')) -INNER JOIN t_pur_poorderentry_r r ON b.fentryid = r.fentryid -INNER JOIN t_pur_poorderentry_d td ON b.fentryid = td.fentryid -INNER JOIN T_BD_MATERIALSTOCK TMS ON b.FMATERIALID = TMS.FMATERIALID -WHERE (ddd.FPurchaseOrgID IN (1) AND (((ddd.FPurchaseOrgID IN (1)) -AND (ddd.FDATE <=@FEDate)) AND ddd.fdocumentStatus = 'C')) -AND (b.FTERMINATEDATE >@FEDate OR ISNULL(b.FTERMINATEDATE,'') ='') -AND (ddd.FCLOSEDATE>@FEDate or ISNULL(ddd.FCLOSEDATE,'')='') - ---入库单 ---SELECT * - -UPDATE t1 SET t1.剩余入库数量=剩余入库数量+t2.fbaseinqty -FROM #tmppoorder t1 -INNER JOIN ( - SELECT TSE.FMATERIALID,tse.FPOORDERENTRYID,tse.FPOORDERNO,SUM(TSE.FBASEUNITQTY) fbaseinqty - FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID - - INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID) - INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 AND TS.FDATE > @FEDate - AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND TS.FDOCUMENTSTATUS IN ('C') - GROUP BY TSE.FPOORDERNO,TSE.FPOORDERENTRYID,TSE.FMATERIALID -)t2 ON t2.FPOORDERNO =t1.采购订单 AND t2.FPOORDERENTRYID=t1.采购订单分录 AND t1.物料内码=t2.FMATERIALID - - ---退料单 - --SELECT * -UPDATE t1 SET t1.剩余入库数量=剩余入库数量-t2.fbaseinqty -FROM #tmppoorder t1 -INNER JOIN( - SELECT tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID fmaterialid,SUM( TSE.FBASEUNITQTY) fbaseinqty - - FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID - WHERE 1=1 AND (TS.FDATE >@FEDate) - AND TS.FDOCUMENTSTATUS IN ('C') AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' AND (TSE.FSTOCKID > 0) - AND TSF.FISGENFORIOS = '0'AND (TSE.FSTOCKFLAG = '1' OR (TS.FMRTYPE = 'B' AND TMB.FISINVENTORY = '1') ) - GROUP BY tse.FPOORDERENTRYID,tse.FORDERNO,TSE.FMATERIALID -)t2 ON t2.FORDERNO =t1.采购订单 AND t2.FPOORDERENTRYID=t1.采购订单分录 AND t1.物料内码=t2.FMATERIALID - - ---更新和新增在途量数据 - -SELECT 物料内码,采购数量,剩余入库数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码 -INTO #tmppoorder1 FROM #tmppoorder B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) -LEFT - JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY 物料内码 - - - - -SELECT 物料内码,采购数量,剩余入库数量,FAUXPROPID,仓库内码 -INTO #tmppoorder3 FROM #tmppoorder1 B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK - ON ( TSK.FMASTERID = B.仓库内码 ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -ORDER BY 物料内码 - - - - -SELECT 物料内码,SUM(采购数量)采购数量,SUM(剩余入库数量)剩余入库数量,FAUXPROPID,仓库内码 -INTO #tmppoorder2 FROM #tmppoorder3 -GROUP BY 仓库内码,物料内码,FAUXPROPID -ORDER BY 仓库内码,物料内码,FAUXPROPID - - ---在途量 -UPDATE t1 SET t1.在途量=t2.剩余入库数量 -FROM #Stock_Status_temp t1 -INNER JOIN #tmppoorder2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID - ---不存在数据就重新增 - -INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,在途量) - -SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码, -ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(剩余入库数量) -FROM #tmppoorder2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.物料内码 ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER - JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE 剩余入库数量<>0 AND - NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID) - - - - - ---************************************************ - ---在制量 ---************************************************* ---查询截止结束日期之前所有生产单 -SELECT (MO.FBILLNO) 生产单号,ME.FPRODUCTTYPE, -(MO.FID) 生产内码,(ME.FENTRYID) 生产单分录,MA.FCONVEYDATE,ME.FMATERIALID 物料内码, -ISNULL(ME.FSTOCKID,0) 仓库内码,ME.FAUXPROPID,MO.FDATE,ME.FSEQ,(ME.FQTY) 生产数量, ---MQ.FBASENOSTOCKINQTY 未入库数量 -(CASE WHEN (MQ.FBASENOSTOCKINQTY)>0 THEN (MQ.FBASENOSTOCKINQTY) ELSE 0 END) AS 未入库数量,MQ.FBASERESTKQTY 退库数量 - -INTO #tmpMO -FROM T_PRD_MO MO -INNER JOIN T_PRD_MOENTRY ME ON MO.FID =ME.FID -LEFT JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -LEFT JOIN T_PRD_MOENTRY_Q MQ ON MQ.FID =ME.FID AND ME.FENTRYID =MQ.FENTRYID -WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1 ---AND MO.FBILLNO IN('MO1909090271','MO1905070262') -AND MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>'' -AND (FCLOSEDATE>@FEDate OR ISNULL(FCLOSEDATE,'')='') - - ---截止日期之后生成的生产入库单 ---SELECT * -UPDATE t1 SET t1.未入库数量=未入库数量+t2.fbaseInqty -FROM #tmpMO t1 -INNER JOIN( - SELECT TSE.FMATERIALID,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseInqty - FROM T_PRD_INSTOCK TS INNER JOIN T_PRD_INSTOCKENTRY TSE ON TSE.FID = TS.FID - LEFT OUTER JOIN T_PRD_INSTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 - AND TS.FDATE > @FEDate AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' - --AND TS.FBILLNO='MM1909090128' - GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID - --ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID -) t2 ON t1.生产内码=t2.FMOID AND t1.生产单分录=t2.FMOENTRYID AND t1.物料内码=t2.FMATERIALID - ---截止日期之后生成的生产退库单 ---SELECT * -UPDATE t1 SET t1.未入库数量=未入库数量-t2.fbaseOutqty -FROM #tmpMO t1 -INNER JOIN( - SELECT TSE.FMATERIALID fmaterialid,TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,SUM(TSE.FBASEREALQTY) fbaseOutqty - FROM T_PRD_RESTOCK TS INNER JOIN T_PRD_RESTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PRD_RESTOCKENTRY_A TSEA ON TSE.FEntryID = TSEA.FEntryID - LEFT OUTER JOIN T_PRD_RESTOCKENTRY_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 - AND TS.FDATE > @FEDate - AND (TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) AND TM.FFORBIDSTATUS = 'A' - AND TS.FCANCELSTATUS = 'A' AND TS.FEntrustRetStockId = 0 - GROUP BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID -) t2 ON t1.生产内码=t2.FMOID AND t1.生产单分录=t2.FMOENTRYID AND t1.物料内码=t2.FMATERIALID - - ---更新和新增在制数据 - -SELECT 物料内码,生产数量,未入库数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码 -INTO #tmpMO1 FROM #tmpMO B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY 物料内码 - - - -SELECT 物料内码,生产数量,未入库数量,FAUXPROPID,仓库内码 -INTO #tmpMO3 FROM #tmpMO1 B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) - -ORDER BY 物料内码 - - - -SELECT 物料内码,SUM(生产数量)生产数量,SUM(未入库数量)未入库数量,FAUXPROPID,仓库内码 -INTO #tmpMO2 FROM #tmpMO3 -GROUP BY 仓库内码,物料内码,FAUXPROPID -ORDER BY 仓库内码,物料内码,FAUXPROPID - ---在制量 -UPDATE t1 SET t1.在制数=t2.未入库数量 -FROM #Stock_Status_temp t1 -INNER JOIN #tmpMO2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID - ---不存在数据就重新增 - -INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,在制数) - -SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码, -ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未入库数量) -FROM #tmpMO2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.物料内码 ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID) - ---***************END********************************** - - ---进检量 ---******************start******************************* - -----查询截止结束日期之前所有收料单 - -SELECT TS.FSTOCKORGID fstockorgid,TS.FBILLNO 收料单号,TS.FID AS 收料内码,TSE.FENTRYID 收料分录,TSE.FMATERIALID 物料内码, - ISNULL(TSE.FAUXPROPID,0) fauxpropid,TS.FDATE fdate,TSE.FSTOCKID 仓库内码,FBASEUNITQTY 收料数量, -CASE WHEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY))>0 THEN (FBASEUNITQTY-(TSES.FINSTOCKBASEQTY + TSES.FRETURNBASEQTY)) ELSE 0 END 未进检量, -(FBASEUNITQTY-FINSTOCKBASEQTY +FRETURNBASEQTY) 已审进检量 -INTO #TMPRECEIVE -FROM T_PUR_RECEIVE TS -INNER JOIN T_PUR_RECEIVEENTRY TSE ON TSE.FID = TS.FID -INNER JOIN T_PUR_RECEIVEENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) -INNER JOIN T_PUR_RECEIVEENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID) -INNER JOIN T_PUR_RECEIVEENTRY_R TSER ON (TSE.FID = TSER.FID AND TSE.FENTRYID = TSER.FENTRYID) -INNER JOIN T_PUR_RECEIVEFIN TSF ON TSE.FID = TSF.FID -WHERE 1=1 AND (TS.FDATE <= @FEDate) ---AND ts.FBILLNO='T61908290024-' AND FRETURNBASEQTY<>0 -AND( FEXECUTEDATE>@FEDate OR ISNULL(FEXECUTEDATE,'')='')--执行日期 -AND (TS.FSTOCKORGID IN (1)) -AND (TSE.FSTOCKID > 0)AND TSE.FSTOCKFLAG = '0' - --- AND TS.FDOCUMENTSTATUS IN ('C') -------查询截止结束日期之前所有入库单 - ---SELECT * -UPDATE t1 SET t1.未进检量=未进检量+t2.fbaseInqty -FROM #TMPRECEIVE t1 -INNER JOIN ( - SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty - FROM T_STK_INSTOCK TS INNER JOIN T_STK_INSTOCKENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_STK_INSTOCKENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_STK_INSTOCKENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID) - INNER JOIN T_STK_INSTOCKFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - WHERE 1=1 AND TS.FDATE >@FEDate - AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' - GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID - --ORDER BY TSE.FMOBILLNO,TSE.FMOID,TSE.FMOENTRYID,TSE.FMOENTRYSEQ,TSE.FMATERIALID -) t2 ON t1.收料内码=t2.FSBILLID AND t1.收料分录=t2.FSID AND t1.物料内码=t2.FMATERIALID - --- ---查询截止结束日期之后所有退料单 ---SELECT * -UPDATE t1 SET t1.未进检量=未进检量+t2.fbaseInqty -FROM #TMPRECEIVE t1 -INNER JOIN ( - SELECT TSE.FMATERIALID,TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,SUM(TSE.FBASEUNITQTY) fbaseinqty - FROM T_PUR_MRB TS INNER JOIN T_PUR_MRBENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PUR_MRBENTRY_F TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_PUR_MRBENTRY_LK TSEL ON ( TSE.FENTRYID = TSEL.FENTRYID) - INNER JOIN T_PUR_MRBFIN TSF ON TSE.FID = TSF.FID INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - INNER JOIN T_BD_MATERIALBASE TMB ON TM.FMATERIALID = TMB.FMATERIALID - WHERE 1=1 AND TS.FDATE >@FEDate - AND (TS.FSTOCKORGID IN (1) ) AND TM.FFORBIDSTATUS = 'A' AND TS.FCANCELSTATUS = 'A' - GROUP BY TSE.FSRCBILLNO,TSEL .FSBILLID,TSEL.FSID,TSE.FMATERIALID - -) t2 ON t1.收料内码=t2.FSBILLID AND t1.收料分录=t2.FSID AND t1.物料内码=t2.FMATERIALID - - - ---更新和新增进检量数据 - -SELECT 物料内码,收料数量,未进检量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码 -INTO #TMPRECEIVE1 FROM #TMPRECEIVE B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY 物料内码 - - - - -SELECT 物料内码,收料数量,未进检量,FAUXPROPID,仓库内码 -INTO #TMPRECEIVE3 - FROM #TMPRECEIVE1 B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY 物料内码 - - -SELECT 物料内码,SUM(收料数量)收料数量,SUM(未进检量)未进检量,FAUXPROPID,仓库内码 -INTO #TMPRECEIVE2 FROM #TMPRECEIVE3 -GROUP BY 仓库内码,物料内码,FAUXPROPID -ORDER BY 仓库内码,物料内码,FAUXPROPID - - ---进检量 -UPDATE t1 SET t1.进检量=t2.未进检量 -FROM #Stock_Status_temp t1 -INNER JOIN #TMPRECEIVE2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID - ---不存在数据就重新增 - -INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,进检量) - -SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码, -ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未进检量) -FROM #TMPRECEIVE2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = TSE.物料内码 ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE 未进检量<>0 AND - NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID) - - ---****************END********************************* - ---*********************未发量***************************************** - ---未发量(生产) ---***********************未发量(生产)***************************** ---查询截止结束日期之前所有生产单用料数 -SELECT (MO.FBILLNO) 生产单号,(MO.FID) 生产内码,(ME.FENTRYID) 生产单分录, -PE.FMATERIALID 物料内码,(PP.FID) 用料内码,PP.FBILLNO 用料单号,(PE.FENTRYID) 用料单分录, -ISNULL(PC.FSTOCKID,0) 仓库内码,PE.FAUXPROPID,(PE.FMUSTQTY) AS 应发数量, -PQ.FSELPICKEDQTY AS 领料选单数量,PQ.FBASENOPICKEDQTY AS 未领数量 -INTO #tmpPPBOM - FROM T_PRD_MO MO -INNER JOIN T_PRD_MOENTRY ME ON MO.FID =ME.FID -INNER JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -INNER JOIN T_PRD_PPBOM PP ON PP.FMOID=MO.FID AND ME.FENTRYID =PP.FMOENTRYID -INNER JOIN T_PRD_PPBOMENTRY PE ON PP.FID =PE.FID -LEFT JOIN T_PRD_PPBOMENTRY_Q PQ ON PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID -LEFT JOIN T_PRD_PPBOMENTRY_C PC ON PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID -WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1 -AND (MO.FDATE <=@FEDate AND ISNULL(MA.FCONVEYDATE,'')<>'') -AND (MA.FFINISHDATE >@FEDate OR ISNULL(MA.FFINISHDATE,'')='')--2020-04-27之后完工为准完工日期 ---AND (MA.FCLOSEDATE>@FEDate OR ISNULL(MA.FCLOSEDATE,'')='')--2020-04-27之前是结案日期 - ---AND PP.FBILLNO ='PP1910150215' - - --查询截止结束日期之后所有单生产领料单 - --SELECT 未领数量,t2.fbaseOutqty,* -UPDATE t1 SET t1.未领数量=未领数量+t2.fbaseOutqty -FROM #tmpPPBOM t1 -INNER JOIN ( -SELECT tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO, -TSE.FMATERIALID,SUM(TSED.FBASESTOCKACTUALQTY) fbaseOutqty -FROM T_PRD_PICKMTRL TS INNER JOIN T_PRD_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_PRD_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_PRD_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - -WHERE (TS.FDATE> @FEDate) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A') -GROUP BY tse.FMOID,tse.FMOBILLNO,tse.FMOENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID -) t2 ON t1.生产单号=t2.FMOBILLNO AND t1.生产单分录=t2.FMOENTRYID -AND t1.用料单号=t2.FPPBOMBILLNO AND t1.用料单分录=t2.FPPBOMENTRYID AND t1.物料内码=t2.FMATERIALID - - - ---更新和新增未发量数据 ---SELECT * FROM #tmpPPBOM - -SELECT 物料内码,应发数量,未领数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码 -INTO #tmpPPBOM1 FROM #tmpPPBOM B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY 物料内码 - - - -SELECT 物料内码,应发数量,未领数量,FAUXPROPID,仓库内码 -INTO #tmpPPBOM3 FROM #tmpPPBOM1 B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY 物料内码 - - - -SELECT 物料内码,SUM(应发数量)应发数量,SUM(未领数量)未领数量,FAUXPROPID,仓库内码 -INTO #tmpPPBOM2 FROM #tmpPPBOM3 -GROUP BY 仓库内码,物料内码,FAUXPROPID -ORDER BY 仓库内码,物料内码,FAUXPROPID - ---未发量(生产) -UPDATE t1 SET t1.未发量=t2.未领数量 -FROM #Stock_Status_temp t1 -INNER JOIN #tmpPPBOM2 -t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID - ---不存在数据就重新增 - -INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,未发量) - -SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码, -ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未领数量) -FROM #tmpPPBOM2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.物料内码 ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.仓库内码 AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE 未领数量>0 AND - NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID) - ---*************************未发量(生产)***************************************** - - - ---未发量(委外) ---*************************未发量(委外)*************************** ---查询截止结束日期之前所有委外单用料数 -SELECT (MO.FBILLNO) 委外单号,(MO.FID) 委外内码,(ME.FENTRYID) 委外单分录, -PE.FMATERIALID 物料内码,(PP.FID) 用料内码,PP.FBILLNO 用料单号,(PE.FENTRYID) 用料单分录, -ISNULL(PC.FSTOCKID,0) 仓库内码,PE.FAUXPROPID,(PE.FMUSTQTY) AS 应发数量, -PQ.FSELPICKEDQTY AS 领料选单数量,PQ.FBASENOPICKEDQTY AS 未领数量 -INTO #tmpSubBOM -FROM T_SUB_REQORDER MO -INNER JOIN T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID ---INNER JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID -INNER JOIN T_SUB_PPBOM PP ON PP.FSUBREQID =MO.FID AND ME.FENTRYID =PP.FSUBREQENTRYID -INNER JOIN T_SUB_PPBOMENTRY PE ON PP.FID =PE.FID -LEFT JOIN T_SUB_PPBOMENTRY_Q PQ ON PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID -LEFT JOIN T_SUB_PPBOMENTRY_C PC ON PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID -WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' AND ME.FPRODUCTTYPE =1 -AND (MO.FDATE <=@FEDate AND ISNULL(ME.FCONVEYDATE,'')<>'') -AND (ME.FCLOSEDATE>@FEDate OR ISNULL(ME.FCLOSEDATE,'')='') - - - - - --查询截止结束日期之后所有单生产领料单 - --SELECT 未领数量,t2.fbaseOutqty,* -UPDATE t1 SET t1.未领数量=未领数量+t2.fbaseOutqty -FROM #tmpSubBOM t1 -INNER JOIN ( -SELECT tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO, -TSE.FMATERIALID,SUM(TSE.FBASESTOCKACTUALQTY) fbaseOutqty -FROM T_SUB_PICKMTRL TS INNER JOIN T_SUB_PICKMTRLDATA TSE ON TSE.FID = TS.FID -INNER JOIN T_SUB_PICKMTRLDATA_A TSED ON TSED.FENTRYID = TSE.FENTRYID -LEFT OUTER JOIN T_SUB_PICKMTRLDATA_L TSL ON (TSE.FENTRYID = TSL.FENTRYID AND FLOCALEID = 2052) -INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - -WHERE (TS.FDATE> @FEDate) -AND (((TS.FSTOCKORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) -AND TM.FFORBIDSTATUS = 'A') AND TS.FCANCELSTATUS = 'A') -GROUP BY tse.FSUBREQID,tse.FSUBREQBILLNO,tse.FSUBREQENTRYID,tse.FPPBOMENTRYID,tse.FPPBOMBILLNO,TSE.FMATERIALID -) t2 ON t1.委外单号=t2.FSUBREQBILLNO AND t1.委外单分录=t2.FSUBREQENTRYID -AND t1.用料单号=t2.FPPBOMBILLNO AND t1.用料单分录=t2.FPPBOMENTRYID AND t1.物料内码=t2.FMATERIALID - - - ---更新和新增未发量数据 ---SELECT * FROM #tmpPPBOM - -SELECT 物料内码,应发数量,未领数量,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码 - INTO #tmpSubBOM1 FROM #tmpSubBOM B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY 物料内码 - - - -SELECT 物料内码,应发数量,未领数量,FAUXPROPID,仓库内码 -INTO #tmpSubBOM3 FROM #tmpSubBOM1 B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) - (TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY 物料内码 - - - -SELECT 物料内码,SUM(应发数量)应发数量,SUM(未领数量)未领数量,FAUXPROPID,仓库内码 -INTO #tmpSubBOM2 FROM #tmpSubBOM3 -GROUP BY 仓库内码,物料内码,FAUXPROPID -ORDER BY 仓库内码,物料内码,FAUXPROPID - - ---未发量(委外) -UPDATE t1 SET t1.未发量=ISNULL(t1.未发量,0)+ISNULL(t2.未领数量,0) -FROM #Stock_Status_temp t1 -INNER JOIN #tmpSubBOM2 -t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID - - ---不存在数据就重新增 - -INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,未发量) - -SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码 - ,ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未领数量) -FROM #tmpSubBOM2 TSE - INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.物料内码 ) - INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 - INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 ) - LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID= TSE.仓库内码 AND TSL.FLOCALEID = 2052) - LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID - LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID - LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID ---SELECT * FROM #tmpSal2 TSE -WHERE 未领数量 > 0 - AND NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID) - ---*********************未发量(委外)*END******************************* - --- --截止查询结束日期销售未发数 --- UPDATE t1 SET t1.未发量=ISNULL(t1.未发量,0)+ISNULL(t1.受订量,0) ---FROM #Stock_Status_temp t1 ---WHERE ISNULL(t1.受订量,0)<>0 - ---**********************END******************************* - ---申购未转数 ---*******************strat***************************** - ---查询截止结束日期之前所有采购申请 - -SELECT TS.FAPPLICATIONORGID fstockorgid,TS.FBILLNO 申请单号,TS.FID AS 申请内码,TSE.FENTRYID 申请分录,TSE.FMATERIALID 物料内码, - ISNULL(TSE.FAUXPROPID,0) FAUXPROPID,TS.FAPPLICATIONDATE fdate,TMS.FSTOCKID 仓库内码, - FBASEUNITQTY 申请数量,TSEF.FREMAINQTY AS 未转数 -INTO #TMPREQ -FROM T_PUR_REQUISITION TS - INNER JOIN T_PUR_REQENTRY TSE ON TSE.FID = TS.FID - INNER JOIN T_PUR_REQENTRY_R TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID) - INNER JOIN T_PUR_REQENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID) - LEFT JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID=TM.FMATERIALID - LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -WHERE 1=1 ---AND ts.FBILLNO ='SQ1910100001'AND FORDERBASEQTY<>FBASEUNITQTY AND TS.FCLOSESTATUS<>'B' - AND (TS.FAPPLICATIONDATE <=@FEDate) - AND (TS.FCLOSEDATE>@FEDate or ISNULL(TS.FCLOSEDATE,'')='') - AND (TS.FAPPLICATIONORGID IN (1) AND TS.FDOCUMENTSTATUS IN ('C')) - - --查询截止结束日期之后所有采购订单 - --SELECT * -UPDATE t1 SET t1.未转数=未转数+t2.fbaseOrdqty -FROM #TMPREQ t1 -INNER JOIN ( - SELECT t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID,SUM(t1.FBASEUNITQTY) fbaseOrdqty - FROM T_PUR_POORDER t0 - INNER JOIN T_PUR_POORDERENTRY t1 ON (t0.FID = t1.FID) - INNER JOIN T_PUR_POORDERENTRY_R t1R ON(t1R.FID = t1.FID AND t1.FENTRYID = t1R.FENTRYID) - INNER JOIN T_PUR_POORDERENTRY_LK t1k ON(t1.FENTRYID = t1k.FENTRYID) - INNER JOIN T_BD_MATERIAL TM ON t1.FMATERIALID = TM.FMATERIALID - WHERE t0.FDATE>@FEDate - AND ( t0.FCANCELSTATUS = 'A' AND TM.FFORBIDSTATUS = 'A') - GROUP BY t1r.FSRCBILLNO,t1k.FSBILLID,t1k.FSID,t1.FMATERIALID - -) t2 ON t1.申请内码=t2.FSBILLID AND t1.申请分录=t2.FSID AND t1.物料内码=t2.FMATERIALID - - ---更新和新增进检量数据 - - -SELECT 物料内码,申请数量,未转数,FAUXPROPID,CASE WHEN B.仓库内码<>0 THEN B.仓库内码 ELSE ISNULL(tms.FSTOCKID,0) END 仓库内码 -INTO #TMPREQ1 FROM #TMPREQ B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) -LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.仓库内码 AND TSL.FLOCALEID = 2052) ---WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY 物料内码 - - -SELECT 物料内码,申请数量,未转数,FAUXPROPID,仓库内码 -INTO #TMPREQ3 FROM #TMPREQ1 B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.仓库内码 ) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -(TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -ORDER BY 物料内码 - - -SELECT 物料内码,SUM(申请数量)申请数量,SUM(未转数)未转数,FAUXPROPID,仓库内码 -INTO #TMPREQ2 FROM #TMPREQ3 -GROUP BY 仓库内码,物料内码,FAUXPROPID -ORDER BY 仓库内码,物料内码,FAUXPROPID - ---申购未转数 -UPDATE t1 SET t1.申购未转数=t2.未转数 -FROM #Stock_Status_temp t1 -INNER JOIN #TMPREQ2 t2 ON t1.物料内码=t2.物料内码 AND t1.仓库内码=t2.仓库内码 AND t1.包装内码=T2.FAUXPROPID - ---不存在数据就重新增 - -INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,申购未转数) - -SELECT TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码, -ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(未转数) -FROM #TMPREQ2 TSE -INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.物料内码 ) -INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID =TML.FMATERIALID AND TML.FLOCALEID =2052 -INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052) -LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID -LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID -LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID - ---SELECT * FROM #tmpSal2 TSE -WHERE 未转数<>0 AND - NOT EXISTS(SELECT * FROM #Stock_Status_temp t2 WHERE TSE.物料内码=t2.物料内码 AND TSE.仓库内码=t2.仓库内码 AND t2.包装内码=TSE.FAUXPROPID) - - ---***************************************************** - ---占用量 - ---******************************************************** - SELECT TSE.FMATERIALID 物料内码,(TSE.FBASEQTY)FBASEQTY, - CASE WHEN TSE.FSTOCKID<>0 THEN TSE.FSTOCKID ELSE ISNULL(tms.FSTOCKID,0)END FSTOCKID,TSE.FAUXPROPID - INTO #TMPLINK FROM T_PLN_RESERVELINK TS - INNER JOIN T_PLN_RESERVELINKENTRY TSE ON TS.FID=TSE.FID - INNER JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID = TM.FMATERIALID - LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID - LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = TSE.FSTOCKID ) -LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.FSTOCKID AND TSL.FLOCALEID = 2052) - WHERE TSE.FBASEQTY<>0 - --AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) ---GROUP BY TSE.FSTOCKID,TSE.FMATERIALID,FAUXPROPID -ORDER BY FSTOCKID,TSE.FMATERIALID,FAUXPROPID - - -SELECT 物料内码,SUM(FBASEQTY)FBASEQTY,FAUXPROPID,B.FSTOCKID 仓库内码 -INTO #TMPLINK1 FROM #TMPLINK B -LEFT JOIN T_BD_MATERIAL TM ON (B.物料内码 = TM.FMATERIALID ) ---LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID -LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.FSTOCKID ) ---LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.FSTOCKID AND TSL.FLOCALEID = 2052) -WHERE -- (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) -(TM.FNUMBER IN(SELECT DISTINCT 物料编码 FROM #YC_T_MRP )) -AND TSK.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID ) -GROUP BY b.FSTOCKID,物料内码,FAUXPROPID -ORDER BY b.FSTOCKID,物料内码,FAUXPROPID - ---占用量 -UPDATE t1 SET t1.占用量=t2.FBASEQTY -FROM #Stock_Status_temp t1 - INNER JOIN #TMPLINK1 t2 ON t1.物料内码=t2.物料内码 - AND t1.仓库内码=t2.仓库内码 - AND t1.包装内码=T2.FAUXPROPID - ---不存在数据就重新增占用量 - -INSERT INTO #Stock_Status_temp (物料内码,物料代码,物料名称,规格型号,旧编码,包装方式,仓库内码,仓库名称,仓库代码,包装内码,占用量) -SELECT - TM.fmaterialid AS 物料内码,(TM.fnumber) 物料代码,(TML.FNAME) AS 物料名称 - ,(TML.FSPECIFICATION) AS 规格型号,ISNULL(TM.FOLDNUMBER,'') AS 旧编码 - ,ISNULL(t5.FAUXPTYNUMBER,'') 包装方式,TBS.FSTOCKID 仓库内码,TSL.fname 仓库名称 - ,TBS.fnumber 仓库代码,TSE.FAUXPROPID AS 包装内码,(FBASEQTY) -FROM #TMPLINK1 TSE - INNER JOIN T_BD_MATERIAL TM ON (TM.FMASTERID = TSE.物料内码 ) - INNER JOIN T_BD_MATERIAL_L TML ON TM.FMATERIALID=TML.FMATERIALID AND TML.FLOCALEID =2052 - INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID - INNER JOIN T_BD_STOCK TBS ON (TBS.FMASTERID = TSE.仓库内码 ) - LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TSE.仓库内码 AND TSL.FLOCALEID = 2052) - LEFT OUTER JOIN T_BD_FLEXSITEMDETAILV t3 ON TSE.FAUXPROPID=t3.FID - LEFT OUTER JOIN T_BAS_ASSISTANTDATAENTRY_L t4 ON t3.FF100001=t4.FENTRYID - LEFT OUTER JOIN T_BD_AUXPTYVALUEENTITY t5 ON t3.FF100001=t5.FAUXPTYID AND t3.FID =t5.FAUXPTYVALUEID -WHERE FBASEQTY <> 0 - AND NOT EXISTS( - SELECT 1 - FROM #Stock_Status_temp t2 - WHERE TSE.物料内码=t2.物料内码 - AND TSE.仓库内码=t2.仓库内码 - AND t2.包装内码=TSE.FAUXPROPID) - - ---*********************占用量END*********************************** - - ---可用库存 ---******************************************************* - -UPDATE t1 SET t1.可用库存=ISNULL(期末结存,0)+ISNULL(t1.在制数,0)+ISNULL(在途量,0)-ISNULL(未发量,0)-ISNULL(受订量,0) -FROM #Stock_Status_temp t1 - ---*********************可用库存END********************************** - ---新增BOM新增物料 -SELECT 序号=IDENTITY(INT,1,1),物料内码,物料代码,物料名称,规格型号,旧编码,上期结存 - ,本期采购入库,本期耗用,期末结存,在途量,在制数,进检量,未发量,领料数量,销售出库数量 - ,仓库拨出数量,仓库拨入数量,申购未转数,受订量,占用量,可用库存 - ,仓库内码,仓库代码,仓库名称,包装方式,FProMaterialId,产品代码 - INTO #Stock_Bom -FROM ( - SELECT t1.FMATERIALID 物料内码,物料代码,t2.物料名称,规格型号,旧编码,上期结存,本期采购入库,本期耗用,期末结存 - ,在途量,在制数,进检量,未发量,领料数量,销售出库数量,仓库拨出数量,仓库拨入数量,申购未转数 - ,受订量,占用量,可用库存,t2.仓库内码,仓库代码,仓库名称,包装方式,t1.FProMaterialId,t1.FOrderNum 产品代码,FOrderNum - ,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6 - FROM #YC_T_MRP t1 - INNER JOIN #Stock_Status_temp t2 ON t1.物料编码=t2.物料代码 - UNION ALL - SELECT t1.FMATERIALID 物料内码,t1.物料编码 物料代码,t2.FNAME 物料名称,t2.FSPECIFICATION 规格型号 - ,ISNULL(TM.FOLDNUMBER,'') 旧编码,0 上期结存,0 本期采购入库,0 本期耗用,0 期末结存 - ,0 在途量,0 在制数,0 进检量, 0 未发量,0 领料数量,0 销售出库数量,0 仓库拨出数量 - ,0 仓库拨入数量,0 申购未转数,0 受订量,0 占用量,0 可用库存,ts.FSTOCKID,ts.FNUMBER AS 仓库代码 - ,tsl.FNAME AS 仓库名称,''包装方式,t1.FProMaterialId,t1.FOrderNum 产品代码,FOrderNum - ,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6 - FROM #YC_T_MRP t1 - INNER JOIN T_BD_MATERIAL TM ON (TM.FMATERIALID = t1.FMATERIALID ) - INNER JOIN T_BD_MATERIAL_L t2 ON (t2.FMATERIALID = t1.FMATERIALID ) - INNER JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID - INNER JOIN T_BD_STOCK ts ON tms.FSTOCKID=ts.FSTOCKID - LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = TS.FSTOCKID AND TSL.FLOCALEID = 2052) - WHERE 1=1 - AND 物料编码 NOT IN (SELECT DISTINCT 物料代码 FROM #Stock_Status_temp t2) - AND TMS.FSTOCKID IN ( SELECT DISTINCT FStockID FROM #tmpStockID))t -ORDER BY FOrderNum,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6 - -SELECT - t0.FMATERIALID AS 'ProMaterialId' - ,t1e.FMATERIALID - ,t1e_c.FSTOCKID - --,t1.FBILLNO - ,SUM(t1e.FBASENEEDQTY) AS 'FBASENEEDQTY'--基本单位已领数量 - ,SUM(t1e_q.FBASEPICKEDQTY) AS 'FBASEPICKEDQTY'--基本单位已领数量 - ,SUM(t1e_q.FBASENOPICKEDQTY) AS 'FBASENOPICKEDQTY'--基本单位未领数量 - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOIDS' - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FENTRYID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOENTRYIDS' - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FBILLNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MONOS' - ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FSALEORDERNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID AND tt.FSALEORDERNO !='' for xml path('')),1,1,''),'') AS 'SALENOS' - INTO #TEMPMOQTY -FROM #TEMPMO t0 - --INNER JOIN T_PRD_PPBOM t1 ON t0.FENTRYID = t1.FMOENTRYID AND t0.FMATERIALID = t1.FMATERIALID - INNER JOIN T_PRD_PPBOMENTRY t1e ON t1e.FMOENTRYID = t0.FENTRYID --生产用料清单表体 - INNER JOIN T_PRD_PPBOMENTRY_Q t1e_q ON t1e_q.FENTRYID = t1e.FENTRYID - INNER JOIN T_PRD_PPBOMENTRY_C t1e_c ON t1e_c.FENTRYID = t1e.FENTRYID -GROUP BY - t0.FMATERIALID,t1e.FMATERIALID,t1e_c.FSTOCKID - -SELECT t0.ProMaterialId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS - INTO #TEMPMONO2Pro -FROM #TEMPMOQTY t0 -GROUP BY t0.ProMaterialId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS - -SELECT 序号 AS 'FIDENTITYID' - ,物料内码 - ,物料代码,物料名称,规格型号,旧编码 - ,上期结存,本期采购入库,本期耗用,期末结存 - ,销售出库数量,仓库拨出数量,仓库拨入数量,申购未转数 - ,在途量,在制数,进检量,未发量,领料数量,受订量,占用量,可用库存 - ,仓库代码,仓库名称,包装方式,产品代码 - ,t1.FBASENEEDQTY - ,t1.FBASENOPICKEDQTY - ,t1.FBASEPICKEDQTY - --,CASE CHARINDEX(',',t2.MONOS) WHEN 0 THEN t2.MONOS ELSE '' END AS 'MONO' - --,CASE CHARINDEX(',',t2.SALENOS) WHEN 0 THEN t2.SALENOS ELSE '' END AS 'SALENO' - ,t2.SALENOS AS SALENO - ,t2.MONOS AS MONO - ,t2.SALENOS,t2.MOENTRYIDS,t2.MOIDS,t2.ProMaterialId - INTO {0} -FROM #Stock_Bom t0 - LEFT JOIN #TEMPMONO2Pro t2 on t2.ProMaterialId = t0.FProMaterialId - LEFT JOIN #TEMPMOQTY t1 ON t0.物料内码 = t1.FMATERIALID AND t0.仓库内码 = t1.FSTOCKID AND t0.FProMaterialId = t1.ProMaterialId - -DROP TABLE #TEMPMO -DROP TABLE #TEMPMOQTY -DROP TABLE #TEMPMONO2Pro -DROP TABLE #Stock_Bom -DROP TABLE #TMP -DROP TABLE #TMP1 -DROP TABLE #TMPLINK -DROP TABLE #TMPLINK1 -DROP TABLE #TMP4 -DROP TABLE #TMP5 -DROP TABLE #TMP6 -DROP TABLE #TMP7 -DROP TABLE #TMP8 -DROP TABLE #tmpSal -DROP TABLE #tmpSal1 -DROP TABLE #tmpSal2 -DROP TABLE #tmpSal3 -DROP TABLE #tmpMO -DROP TABLE #tmpMO1 -DROP TABLE #tmpMO2 -DROP TABLE #tmpMO3 - -DROP TABLE #TMPREQ -DROP TABLE #TMPREQ1 -DROP TABLE #TMPREQ2 -DROP TABLE #TMPREQ3 -DROP TABLE #TMPRECEIVE -DROP TABLE #TMPRECEIVE1 -DROP TABLE #TMPRECEIVE2 -DROP TABLE #TMPRECEIVE3 -DROP TABLE #tmppoorder -DROP TABLE #tmppoorder1 -DROP TABLE #tmppoorder2 -DROP TABLE #tmppoorder3 -DROP TABLE #tmpPPBOM -DROP TABLE #tmpPPBOM1 -DROP TABLE #tmpPPBOM2 -DROP TABLE #tmpPPBOM3 -DROP TABLE #tmpSUBBOM -DROP TABLE #tmpSUBBOM1 -DROP TABLE #tmpSUBBOM2 -DROP TABLE #tmpSUBBOM3 -DROP TABLE #Stock_Status_temp -SET nocount off - """).format(tableName,_lcId,whereSql,_F_ora_SDate,_F_ora_EDate,_FSStock); - # raise Exception(sql);#可以通过此方法弹出Sql语句进行调试验证 - cu = DBUtils.Execute(this.Context,sql);#执行SQL,将报表数据写入临时表 - -#构建账表列头 -def GetReportHeaders(rptfilter): - - header = ReportHeader(); - localEid = this.Context.UserLocale.LCID;#获取当前语言环境代码,中文为2052 - # 索引 - global _colIndex - _colIndex = 0; - def Incr1(val = 1): - global _colIndex - _resNum = _colIndex - _colIndex += val - return _resNum - datas = [ - {"fieldName" :"FIDENTITYID", "showName" :"序号" } - ,{"fieldName" :"MONO", "showName" :"生产订单号" } - ,{"fieldName" :"SALENO", "showName" :"销售订单号" } - ,{"fieldName" :"产品代码", "showName" :"产品代码" } - ,{"fieldName" :"物料代码", "showName" :"物料代码" } - ,{"fieldName" :"物料名称", "showName" :"物料名称" } - ,{"fieldName" :"规格型号", "showName" :"规格型号" } - ,{"fieldName" :"FBASENEEDQTY", "showName" :"订单.需求数量","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"FBASENOPICKEDQTY", "showName" :"订单.未领数量","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"FBASEPICKEDQTY", "showName" :"订单.已领数量","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"上期结存", "showName" :"上期结存" } - ,{"fieldName" :"本期采购入库", "showName" :"本期采购入库","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"本期耗用", "showName" :"本期耗用","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"期末结存", "showName" :"期末结存","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"在途量", "showName" :"在途量","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"在制数", "showName" :"在制数","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"进检量", "showName" :"进检量","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"未发量", "showName" :"未发量","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"领料数量", "showName" :"领料数量","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"销售出库数量", "showName" :"销售出库数量","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"仓库拨出数量", "showName" :"仓库拨出数量","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"仓库拨入数量", "showName" :"仓库拨入数量","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"申购未转数", "showName" :"申购未转数","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"受订量", "showName" :"受订量","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"占用量", "showName" :"占用量","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"可用库存", "showName" :"可用库存","dataType":SqlStorageType.SqlDecimal } - ,{"fieldName" :"仓库代码", "showName" :"仓库代码" } - ,{"fieldName" :"仓库名称", "showName" :"仓库名称" } - ,{"fieldName" :"包装方式", "showName" :"包装方式" } - ,{"fieldName" :"旧编码", "showName" :"旧编码" } - ]; - - for item in datas: - head = header.AddChild(item["fieldName"], LocaleValue(item["showName"], localEid), Incr1()) - if "dataType" in item: - head.ColType = item["dataType"] - if "Mergeable" in item: - head.Mergeable = item["Mergeable"] - if "IsLeaf" in item: - head.IsHyperlink = item["IsHyperlink"] - - return header; - -#设置报表表头字段值 -#这里主要是把过滤框设置的字段值,显示到报表表头 -def GetReportTitles(rptfilter): - reportTitles = ReportTitles(); - - custFilter = rptfilter.FilterParameter.CustomFilter; - if(custFilter == None): - return; - _proMaterialId = custFilter["ProMaterialId"]; - # _materialId = custFilter["MaterialId"]; - - _billNo = objEx.ToSafeString(custFilter["BILLNO"]); - # _PPBomBillNo = objEx.ToSafeString(custFilter["PPBOMBILLNO"]); - _saleOrderNo = objEx.ToSafeString(custFilter["SALEORDERNO"]); - _F_ora_SDate = objEx.ToSafeString(custFilter["F_ora_SDate"]) - _F_ora_EDate = objEx.ToSafeString(custFilter["F_ora_EDate"]) - # 仓库 - _stockSelectCollection = custFilter["FStockSelect"] - if(_proMaterialId != None): - reportTitles.AddTitle("FTitleProMaterialId", _proMaterialId["Name"]); - # if(_materialId != None): - # reportTitles.AddTitle("FTitleMaterialId", _materialId["Name"]); - if(_billNo != ""): - reportTitles.AddTitle("FTitleBILLNO", _billNo); - # if(_PPBomBillNo != ""): - # reportTitles.AddTitle("FTitlePPBOMBILLNO", _PPBomBillNo); - if(_saleOrderNo != ""): - reportTitles.AddTitle("FTitleSALEORDERNO", _saleOrderNo); - if(_F_ora_SDate != ""): - reportTitles.AddTitle("F_ora_SDate", _F_ora_SDate); - if(_F_ora_EDate != ""): - reportTitles.AddTitle("F_ora_EDate", _F_ora_EDate); - - if _stockSelectCollection != None and _stockSelectCollection.Count > 0: - nameList = list(map(lambda x : str(x["FStockSelect"]["Name"]), _stockSelectCollection)) - _stockNames = ",".join(nameList) - reportTitles.AddTitle("FStockSelect" ,_stockNames) - - return reportTitles; - -#报表关闭触发,通常在此处清理报表过程产生的临时表 -def CloseReport(): - this.DropTempTable(); \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/生产订单保存插件.py b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/生产订单保存插件.py deleted file mode 100644 index 970c319..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/生产订单保存插件.py +++ /dev/null @@ -1,52 +0,0 @@ -#clrп -import clr -#Ӷcloudij -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еijʵ󣨷ռ䵼룬ݹ鵼룩 -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ύ9126 - if this.FormOperation.OperationId == 8: - if e.DataEntitys != None and e.DataEntitys.Count > 0: - idList = set(map(lambda x : str(x["Id"]),e.DataEntitys)) - - sql ="""/*dialect*/ --- -UPDATE t1e SET t1e.FMJDZDZID = t0.FMJDZDZID -FROM T_ENG_BOM t0 - INNER JOIN T_PRD_MOENTRY t1e on t0.FID = t1e.FBOMID -WHERE t0.FMJDZDZID != 0 AND t1e.FMJDZDZID != t0.FMJDZDZID - AND t1e.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 -WHERE t1.FMJDZDZID != 0 AND t1.FMJDZDZID != t0.FMJDZDZID - AND t0.FMOID IN ({0}) - """.format(",".join(idList)) - - DBUtils.Execute(this.Context,sql) diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/穿透表.py b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/穿透表.py deleted file mode 100644 index 81991d8..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/穿透表.py +++ /dev/null @@ -1,102 +0,0 @@ -import clr -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.ServiceHelper") -from Kingdee.BOS import * -from Kingdee.BOS.Core import * -from Kingdee.BOS.Core.Bill import * -from Kingdee.BOS.Core.List import * -from Kingdee.BOS.Core.Report import * -from System import * -from System.Data import * -from System.Net import * -from System.Text import * -from Kingdee.BOS.App.Data import * -from Kingdee.BOS.Core.List.PlugIn import * -from Kingdee.BOS.Core.List.PlugIn.Args import * - -# def FormatCellValue(args): -# # ڸʽ -# if args.Header.ColType == SqlStorageType.SqlDatetime: -# args.FormateValue = ("{0}").format(DateTime.Parse(str(args.FormateValue)).ToString("yyyy-MM-dd")) - -def CellDbClick(e): - e.Cancel = True - fldKey = e.Header.FieldName; - # - if fldKey == "MONO": - reportModel = this.Model - tab = reportModel.DataSource - row = e.CellRowIndex - 1 - data = tab.Rows[row] - moIds = "0"; - if data["MOIDS"] !=None and data["MOIDS"] != "": - moIds = data["MOIDS"]; - filterStr = "FID IN ({0}) AND FMATERIALID = {1} ".format(moIds,data["ProMaterialId"]) - ShowListForm("PRD_MO", filterStr) - - # . - if fldKey == "FBASENEEDQTY": - reportModel = this.Model - tab = reportModel.DataSource - row = e.CellRowIndex - 1 - data = tab.Rows[row] - moIds = "0"; - if data["MOIDS"] !=None and data["MOIDS"] != "": - moIds = data["MOIDS"]; - filterStr = "t1.FMOID IN ({0}) AND t1.FMATERIALID = {1} ".format(moIds,data[""]) - ShowListForm("PRD_PPBOM", filterStr) - # .δ - if fldKey == "FBASENOPICKEDQTY": - reportModel = this.Model - tab = reportModel.DataSource - row = e.CellRowIndex - 1 - data = tab.Rows[row] - moIds = "0"; - if data["MOIDS"] !=None and data["MOIDS"] != "": - moIds = data["MOIDS"]; - filterStr = "t1.FMOID IN ({0}) AND t1.FMATERIALID = {1} ".format(moIds,data[""]) - ShowListForm("PRD_PPBOM", filterStr) - # δ - if fldKey == "δ": - reportModel = this.Model - tab = reportModel.DataSource - row = e.CellRowIndex - 1 - data = tab.Rows[row] - filterStr = "EXISTS (SELECT 1 FROM T_PRD_MOENTRY_A tt WHERE tt.FID = t1.FMOID AND tt.FSTATUS = 4 ) AND t1.FMATERIALID = {0} ".format(data[""]) - ShowListForm("PRD_PPBOM", filterStr) - # - if fldKey == "": - reportModel = this.Model - tab = reportModel.DataSource - row = e.CellRowIndex - 1 - data = tab.Rows[row] - filterStr = "EXISTS (SELECT 1 FROM T_PRD_MOENTRY_A tt WHERE tt.FENTRYID = t1.FENTRYID AND tt.FSTATUS = 4 ) AND t1.FMATERIALID = {0} ".format(data[""]) - ShowListForm("PRD_PPBOM", filterStr) - # ; - if fldKey == ";": - reportModel = this.Model - tab = reportModel.DataSource - row = e.CellRowIndex - 1 - data = tab.Rows[row] - filterStr = "FMRPCLOSESTATUS = 'A' AND FCloseStatus = 'A' AND FMATERIALID = {0} AND FBASEUNITQTY >= FBASESTOCKINQTY".format(data[""]) - # ShowListForm("PUR_PurchaseOrder", filterStr) - showParam = ListShowParameter(); - showParam.FormId = "PUR_PurchaseOrder"; - showParam.ParentPageId = this.View.PageId; - showParam.OpenStyle.ShowType = ShowType.Floating; - showParam.ListFilterParameter.Filter = filterStr - showParam.IsShowQuickFilter = True; - this.View.ShowForm(showParam) - -def ShowListForm(_fromId, _filter, _operationStatus = OperationStatus.VIEW ,_openStyleShowType = ShowType.Floating): - showParam = ListShowParameter(); - showParam.FormId = _fromId; - showParam.ParentPageId = this.View.PageId; - showParam.OpenStyle.ShowType = _openStyleShowType; - showParam.ListFilterParameter.Filter = _filter - showParam.IsShowQuickFilter = True; - this.View.ShowForm(showParam) \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/计划订单投放插件.py b/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/计划订单投放插件.py deleted file mode 100644 index b8705f3..0000000 --- a/03.珠海市汇威精密制造有限公司/HW.PythonPlugIn/计划订单投放插件.py +++ /dev/null @@ -1,56 +0,0 @@ -#clrп -import clr -#Ӷcloudij -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еijʵ󣨷ռ䵼룬ݹ鵼룩 -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ύ9126 - 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) diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/SQLQuery4.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/SQLQuery4.sql deleted file mode 100644 index 4b5d47d..0000000 --- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/SQLQuery4.sql +++ /dev/null @@ -1,55 +0,0 @@ -SELECT * INTO #TMP123 FROM #TPRDMOINFO -DROP TABLE #TPRDMOINFO - -SELECT - '' AS 'к', - '' AS '', - A.FBILLNO AS 'Ͷϵ', - '' AS '۶', - '' AS 'λ', - A.FMNEMONICCODE AS '', - A.FBILLNO AS '񵥺', - A.FNUMBER AS 'Ʒ', - A.FNAME AS 'Ʒ', - A.FSPECIFICATION AS 'Ʒͺ', - A.FNAME AS 'Ʒλ', - A.FQTY AS 'Ʒ', - A.FNUMBER AS 'ϴ', - A.FNAME AS '', - ( CASE A.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END ) AS 'Դ', - A.FSPECIFICATION AS 'Ϲͺ', - '' AS 'ϼ׼', - A.FSTDQTY AS 'ϵλ', - A.FUNITID AS 'ϵλ', - A.FINVENTORYQTY AS 'Ͽ', - '' AS 'ϴ', - A.FNEEDQTY AS '', - '' AS 'ǰƷ', - '' AS 'Ƿ', - '' AS ';', - '' AS 'ƻͶ', - A.FPICKEDQTY AS '', - A.FNOPICKEDQTY AS 'δ', - '' AS '׼', - A.FMUSTQTY AS 'Ӧ', - '' AS 'ע', - '' AS '', - A.FSCRAPQTY AS '', - '' AS 'ƻ', - '' AS 'ֿ', - '' AS 'λ', - A.FREPICKEDQTY AS '', - A.FPLANSTARTDATE AS 'ƻ', - A.FPLANFINISHDATE AS 'ƻ깤', - '' AS 'λ', - '' AS 'ע', - '' AS 'BOMע', - A.FBILLTYPE AS '', - A.FWORKSHOPID AS '', - ( CASE AE_A.FSTATUS WHEN 6 THEN 'ѽ᰸' ELSE '' END ) AS '񵥽᰸', - A.FDOCUMENTSTATUS AS 'Ͷϵ״̬', - '' AS 'PRδתPO' -FROM - #TMP123 A - - DROP TABLE #TMP123 \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/SQLQuery5.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/SQLQuery5.sql deleted file mode 100644 index 029a63c..0000000 --- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/SQLQuery5.sql +++ /dev/null @@ -1,21 +0,0 @@ - -SELECT - TOP 1000 - T0E.FMATERIALID - ,T0E.FMATERIALIDSUB -FROM - T_PRD_PMPPBOMENTRY T0E - INNER JOIN T_PRD_PMPPBOMENTRY_A T0E_A ON T0E_A.FENTRYID = T0E.FENTRYID -WHERE T0E.FID = 101118 -GROUP BY T0E.FMATERIALID,T0E.FMATERIALIDSUB - - -SELECT - TOP 1000 - t0E.* - ,T0E_A.* -FROM - T_PRD_LACKANALYSEBILL t0 - INNER JOIN T_PRD_PMPPBOMENTRY T0E on t0.FID = T0E.FID - INNER JOIN T_PRD_PMPPBOMENTRY_A T0E_A ON T0E_A.FENTRYID = T0E.FENTRYID -WHERE t0.FBILLNO = 'SCQL000671' \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓位值1.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓位值1.sql deleted file mode 100644 index 2befea2..0000000 --- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓位值1.sql +++ /dev/null @@ -1,37 +0,0 @@ -SELECT * FROM T_BD_STOCK -SELECT * FROM T_BD_STOCKFLEXITEM -SELECT * FROM T_BD_STOCKFLEXDETAIL -SELECT * FROM T_BAS_FLEXVALUES -SELECT * FROM T_BAS_FLEXVALUESENTRY -SELECT * FROM T_BAS_FLEXVALUESENTRY_L -SELECT * FROM T_BD_FLEXVALUESCOM -SELECT * FROM T_BAS_FLEXVALUESDETAIL - -SELECT - t1.FNUMBER - ,t1_l.FNAME - ,t0.FMATERIALID - ,t0.FSTOCKID - ,t0.FSTOCKLOCID - ,stuff((select CAST(t2.FF100001 AS varchar) +'.'+ CAST(t2.FF100002 AS varchar) FROM T_BAS_FLEXVALUESDETAIL t2 WHERE t2.FID = t0.FSTOCKLOCID for xml path('')),1,1,'') -FROM T_STK_INVENTORY t0 - LEFT JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t1_l on t1_l.FMATERIALID = t0.FMATERIALID AND t1_l.FLOCALEID = 2052 - --LEFT JOIN T_BAS_FLEXVALUESDETAIL t2 on t2.FID = t0.FSTOCKLOCID -WHERE - t0.FSTOCKLOCID > 0 - -DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX); -SELECT @columns = COALESCE(@columns + ',', '') + CONCAT('t0.',t0.FFLEXNUMBER) -FROM T_BAS_FLEXVALUES t0 -WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FFORBIDSTATUS = 'A' - -SET @sql = N' -SELECT - t0.FID - ,CONCAT(' + @columns + ' +''.'', '''') -FROM T_BAS_FLEXVALUESDETAIL t0 - -'; - -EXEC sp_executesql @sql; \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓位值2.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓位值2.sql deleted file mode 100644 index 9cadc9b..0000000 --- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓位值2.sql +++ /dev/null @@ -1,26 +0,0 @@ -DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX),@LOCALEID char(10); -SET @LOCALEID = '2052' -SELECT @columns = COALESCE(@columns + ',', '') + CONCAT('',t0.FFLEXNUMBER) -FROM T_BAS_FLEXVALUES t0 -WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FFORBIDSTATUS = 'A' - -SET @SQL = N' -SELECT - t0.FID - ,t0.aColumn - ,t0.aValue - ,t1e_l.FNAME - ,ROW_NUMBER() OVER (PARTITION BY t0.FID ORDER BY t1.FNUMBER) AS RowId -FROM - (SELECT FID,'+@columns+' - FROM T_BAS_FLEXVALUESDETAIL) AS P -UNPIVOT - (aValue FOR aColumn IN - ('+@columns+') - )AS t0 - INNER JOIN T_BAS_FLEXVALUES t1 on t1.FFLEXNUMBER = t0.aColumn - INNER JOIN T_BAS_FLEXVALUESENTRY_L t1e_l on t0.aValue = t1e_l.FENTRYID AND t1e_l.FLOCALEID = '+@LOCALEID+' -;'; -EXEC(@SQL); - ---SELECT * FROM T_BAS_FLEXVALUES diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓库值.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓库值.sql deleted file mode 100644 index 69752f9..0000000 --- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/仓库值.sql +++ /dev/null @@ -1,12 +0,0 @@ -SELECT T2.FSTOCKID, T2.FNUMBER, T3.FNAME, T4.FFLEXENTRYID AS λֵ, T41.FNUMBER λֵ, T41L.FNAME λֵ, T1.FFLEXID λֵά,T31.FNUMBER λֵ,T31L.FNAME λֵ -FROM - T_BD_STOCKFLEXITEM T1 - JOIN T_BD_STOCKFLEXDETAIL T4 ON T1.FENTRYID = T4.FENTRYID - JOIN T_BAS_FLEXVALUES T31 ON T1.FFLEXID = T31.FID - JOIN T_BAS_FLEXVALUES_L T31L ON T31L.FID = T31.FID AND T31L.FLOCALEID = 2052 - JOIN T_BAS_FLEXVALUESENTRY T41 ON T4.FFLEXENTRYID = T41.FENTRYID - JOIN T_BAS_FLEXVALUESENTRY_L T41L ON T41L.FENTRYID = T41.FENTRYID AND T41L.FLOCALEID = 2052 - JOIN T_BD_STOCK T2 ON T1.FSTOCKID = T2.FSTOCKID - JOIN T_BD_STOCK_L T3 ON T2.FSTOCKID = T3.FSTOCKID AND T3.FLOCALEID = 2052 -ORDER BY - T2.FSTOCKID, T31.FNUMBER, T41.FNUMBER diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/存储过程-生产用料清单.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/存储过程-生产用料清单.sql deleted file mode 100644 index 8ac22b6..0000000 --- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/存储过程-生产用料清单.sql +++ /dev/null @@ -1,154 +0,0 @@ -IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_PPBOM_RPT') - DROP PROCEDURE DBO.PROC_PPBOM_RPT; -GO - -CREATE PROCEDURE PROC_PPBOM_RPT - @tableName varchar(80) - ,@seqFid varchar(80) - ,@proMaterialId int - ,@materialId int - ,@FBILLNO varchar(80) - ,@FPPBOMBILLNO varchar(80) - ,@FSALEORDERNO varchar(80) - ,@LCID int -AS -BEGIN -SELECT - --ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID--1.к - t0.FID - ,t0e.FSEQ - ,t0e.FENTRYID - ,t0.FDATE --2. - ,t0e.FPLANSTARTDATE--38.ƻ - ,t0e.FPLANFINISHDATE--39.ƻ깤 - ,t0e.FSALEORDERNO --4.۶ - ,t0.FBILLNO--7.񵥺 - ,t0e.FQTY--12.Ʒ - --,t0e.FSTOCKID--35.ֿ - --,t0e.FSTOCKLOCID--36.λ - ,t0e.FYIELDRATE - ,t0e.FROUTINGID - ,(CASE t0e_a.FSTATUS WHEN 6 THEN 'ѽ᰸'ELSE '' END) AS 'StatusIs6'--45.񵥽᰸ - ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS 'PRODUCTTYPE'--43. - ,t0e.FMATERIALID AS 'ProMaterialId' - ,t1.FMNEMONICCODE AS 'ProMnemoniccode'--6. - ,t1.FNUMBER AS 'ProNumber'--8.Ʒ - ,t1_l.FNAME AS 'ProName'--9.Ʒ - ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.Ʒͺ - ,t2_l.FUNITID AS 'PrdUnitId' - ,t2_l.FNAME AS 'ProUnitName'--11.Ʒλ - --,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'ProMaterialsrc' --15.Դ - INTO #TmpTable0 - FROM - T_PRD_MO t0 - INNER JOIN T_PRD_MOENTRY t0e on t0e.FID = t0.FID - INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID - LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0e.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0e.FMATERIALID AND t1_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0e.FUNITID AND t2_l.FLOCALEID = @LCID - WHERE - t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END) - AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END) - AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END) - --AND T1.FNUMBER = (CASE WHEN @MAINNUMBER != '' THEN @MAINNUMBER ELSE T1.FNUMBER END) - --AND T1_L.FNAME = (CASE WHEN @MAINNAME != '' THEN @MAINNAME ELSE T1_L.FNAME END) - - SELECT - t1.* - ,t0.FBILLNO AS 'FPPBOMBILLNO'--3.Ͷϵ - ,t0e.FMATERIALID - ,(t0e.FNUMERATOR / t0e.FDENOMINATOR) AS 'FUnitNeedQty' --18.ϵλ - ,t0e.FNEEDQTY --22. - ,t0e.FUNITID - ,t0e.FBOMENTRYID - ,t0e_q.FBASEWIPQTY --23.ǰƷ - ,t0e_q.FPICKEDQTY --27. - ,t0e_q.FNOPICKEDQTY --28.δ - ,t0e.FSTDQTY --׼ --29.׼ - ,t0e.FMUSTQTY --Ӧ --30.Ӧ - ,t0e_l.FMEMO --31.ע - ,t0e_q.FPICKEDQTY * (100 - t1.FYIELDRATE) AS 'FLossQty'--32. - ,t0e_q.FSCRAPQTY --33. - ,t0e_q.FREPICKEDQTY --37. - ,t0.FWORKSHOPID - ,t0e_c.FSTOCKID - ,t0e_c.FSTOCKLOCID - ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'PPBOMStatus'--46.Ͷϵ״̬ - INTO #TmpTable1 - FROM - #TmpTable0 t1 - LEFT JOIN T_PRD_PPBOM t0 on t1.FID = t0.FMOID AND t0.FMOENTRYSEQ = t1.FSEQ AND t0.FMOENTRYSEQ = t1.FSEQ --嵥 - INNER JOIN T_PRD_PPBOMENTRY t0e ON t0.FID = t0e.FID - LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = t0e.FENTRYID --嵥ֱ - LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = t0e.FENTRYID - LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = t0e.FENTRYID AND t0e_l.FLOCALEID = @LCID - WHERE - T0.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE T0.FBILLNO END) - AND t0e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t0e.FMATERIALID END) - - SELECT - t0.* - ,t1.FNUMBER AS 'MaterialNumber'--8.ϱ - ,t1_l.FNAME AS 'MaterialName'--9. - ,t1_l.FSPECIFICATION AS 'MaterialSpecification'--10.Ϲͺ - ,t2_l.FNAME AS 'MaterialUnitName'--11.ϵλ - ,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.Դ - ,t4_l.FNAME AS 'WORKSHOPNAME' --44. - ,t1.FMASTERID - ,t1.FUSEORGID - ,t5_l.FMEMO AS 'BOMMEMO' --42.BOMע - ,t3_l.FNAME AS 'FSTOCKNAME' - into #TmpTable2 - FROM - #TmpTable1 t0 - LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0.FMATERIALID AND t1_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0.FUNITID AND t2_l.FLOCALEID = @LCID - LEFT JOIN T_BD_STOCK_L t3_l ON t3_l.FSTOCKID = t0.FSTOCKID AND t3_l.FLOCALEID =@LCID - LEFT JOIN T_BD_DEPARTMENT_L t4_l on t4_l.FDEPTID = t0.FWORKSHOPID AND t4_l.FLOCALEID = @LCID - LEFT JOIN T_ENG_BOMCHILD_L t5_l ON t5_l.FENTRYID = t0.FBOMENTRYID AND t5_L.FLOCALEID = @LCID - --WHERE - --t1.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE t1.FNUMBER END) - --AND t1_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE t1_L.FNAME END) - - SELECT - t0.* - ,t1.FBASEQTY - ,t2_l.FNAME AS 'ROUTENAME' - ,t3e_A.FBASEINVQTY - ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.Ƿ - ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.; - ,6 AS 'LOWEST6' - INTO #TmpTable3 - FROM - #TmpTable2 t0 - LEFT JOIN ( - SELECT - t0.FMATERIALID - ,t0.FSTOCKORGID - ,sum(t0.FBASEQTY) AS FBASEQTY - FROM - T_STK_INVENTORY t0 - GROUP BY - t0.FMATERIALID - ,t0.FSTOCKORGID - ) t1 on t1.FMATERIALID = t0.FMASTERID AND t1.FSTOCKORGID = t0.FUSEORGID - LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = t0.FROUTINGID AND t2_L.FLOCALEID = @LCID - LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FMOID = t0.FID AND t3e.FMOENTRYID = t0.FENTRYID AND t3e.FMOENTRYSEQ = t0.FSEQ AND t3e.FMATERIALIDSUB = t0.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID - - - exec(N' - SELECT - t0.* - ,' + @seqFid+ ' - INTO ' + @tableName + ' - FROM - #TmpTable3 t0 - ') - - drop table #TmpTable0 - drop table #TmpTable1 - drop table #TmpTable2 - drop table #TmpTable3 -END diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产用料清单.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产用料清单.sql deleted file mode 100644 index 1b14f18..0000000 --- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产用料清单.sql +++ /dev/null @@ -1,130 +0,0 @@ - DECLARE @FBILLNO varchar(80) - ,@MainNumber varchar(80) - ,@MainName varchar(80) - ,@FMOBILLNO varchar(80) - ,@FNumber varchar(80) - ,@FName varchar(80) - ,@FSALEORDERNO varchar(80) - ,@LCID int - set @FBILLNO = '' - set @MainNumber = '' - set @MainName = '' - set @FMOBILLNO = '' - set @FNumber = '' - set @FName = '' - set @FSALEORDERNO = '' - set @LCID = 2052 - - --set @FBILLNO ='' - --set @MainNumber='' - --set @MainName='' - --set @FMOBILLNO='' - --set @FNumber='' - --set @FName='' - --set @FSALEORDERNO='' - --set @LCID=2052 - - SELECT - top 1000 - ROW_NUMBER() OVER(ORDER BY T0.FMATERIALID) AS 'к' --1.к - ,T0.FID - --,T0.FFORMID - ,t7.FDATE AS '' --2. - ,T0.FBILLNO AS 'Ͷϵ'--3.Ͷϵ - --,T0.FMOID -- - ----,T0.FMOENTRYID --ӱ - --,t0.FSALEORDERID - --,t0.FSALEORDERENTRYID - ,T0.FSALEORDERNO AS '۶' --4.۶ - --,T0.FMATERIALID --ƷID - --5.λ - ,T1.FMNEMONICCODE AS ''--6. - ,T0.FMOBILLNO AS '񵥺'--7.񵥺 - ,T1.FNUMBER AS 'Ʒ'--8.Ʒ - ,T1_L.FNAME AS 'Ʒ'--9.Ʒ - ,T1_L.FSPECIFICATION AS 'Ʒͺ'--10.Ʒͺ - ,T3_L.FNAME AS 'Ʒλ'--11.Ʒλ - ,T0.FQTY AS 'Ʒ'--12.Ʒ - ,T2.FNUMBER AS 'ϴ'--13.ϴ - ,T2_L.FNAME AS ''--14. - ,(CASE T2.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Դ' --15.Դ - ,T2_L.FSPECIFICATION AS 'Ϲͺ'--16.Ϲͺ - ,t10_L.FNAME AS 'ϼ׼'--17.ϼ׼ - ,(T0E.FNUMERATOR / T0E.FDENOMINATOR) AS 'ϵλ' --18.ϵλ - --,T0E.FUNITID AS ENTRYUNITID - ,T4_L.FNAME AS 'ϵλ' --19.ϵλ - ,t9.FBASEQTY AS 'Ͽ'--20.Ͽ - ,T11E_A.FBASEINVQTY - --21.ϴ - ,T0E.FNEEDQTY AS ''--22. - ,T0E_Q.FBASEWIPQTY AS 'ǰƷ'--23.ǰƷ - --,(case when t9.FBASEQTY > T0E.FNEEDQTY then 0 else T0E.FNEEDQTY - t9.FBASEQTY end) AS 'Ƿ'--24.Ƿ - ,T11E.FBASELACKQTY AS 'Ƿ'--24.Ƿ - ,T11E_A.FBASEONORDERQTY AS ';' --25.; - ,T11E_A.FENTRYID - --26.ƻͶ - ,T0E_Q.FPICKEDQTY AS ''--27. - ,T0E_Q.FNOPICKEDQTY AS 'δ'--28.δ - ,T0E.FSTDQTY AS '׼'--׼ --29.׼ - ,T0E.FMUSTQTY AS 'Ӧ'--Ӧ --30.Ӧ - ,t0E_L.FMEMO AS 'ע'--31.ע - ,T0E_Q.FPICKEDQTY * (100 - t7E.FYIELDRATE) AS ''--32. - ,T0E_Q.FSCRAPQTY AS '' --33. - --34.ƻ - ,T0E_C.FSTOCKID - ,T5_L.FNAME AS 'ֿ'--35.ֿ - ,T0E_C.FSTOCKLOCID --36.λ - ,T0E_Q.FREPICKEDQTY AS ''--37. - ,t7E.FPLANSTARTDATE AS 'ƻ'--38.ƻ - ,t7E.FPLANFINISHDATE AS 'ƻ깤'--39.ƻ깤 - --40.λ - --,7E.FMEMO AS 'ע' --41.ע - ,t8_L.FMEMO AS 'BOMע'--42.BOMע - --,t8.FNUMERATOR - ,(CASE T7e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS ''--43. - --,T0.FWORKSHOPID - ,T6_L.FNAME AS ''--44. - ,(CASE T7E_A.FSTATUS WHEN 6 THEN 'ѽ᰸'ELSE '' END) AS '񵥽᰸'--45.񵥽᰸ - ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'Ͷϵ״̬'--46.Ͷϵ״̬ - --47.PRδתPO - ,6 AS FDECIMALS - FROM - T_PRD_MO t7 -- - LEFT JOIN T_PRD_MOENTRY t7E on t7E.FID = t7.FID - LEFT JOIN T_PRD_MOENTRY_A t7E_A on t7E_A.FENTRYID = t7E.FENTRYID - LEFT JOIN T_PRD_PPBOM T0 on T0.FMOID = t7.FID --嵥 - LEFT JOIN T_PRD_PPBOMENTRY T0E ON T0.FID = T0E.FID AND t0.FMOENTRYSEQ = t7e.FSEQ--嵥ӱ - LEFT JOIN T_PRD_PPBOMENTRY_Q T0E_Q ON T0E_Q.FENTRYID = T0E.FENTRYID --嵥ֱ - LEFT JOIN T_PRD_PPBOMENTRY_C T0E_C ON T0E_C.FENTRYID = T0E.FENTRYID - LEFT JOIN T_PRD_PPBOMENTRY_L t0E_L on t0E_L.FENTRYID = T0E.FENTRYID AND t0E_L.FLOCALEID = @LCID - LEFT JOIN T_BD_MATERIAL T1 ON T1.FMATERIALID = T0.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L T1_L ON T1_L.FMATERIALID = T0.FMATERIALID AND T1_L.FLOCALEID = @LCID - LEFT JOIN T_BD_MATERIAL T2 ON T2.FMATERIALID = T0E.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L T2_L ON T2_L.FMATERIALID = T0E.FMATERIALID AND T2_L.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L T3_L ON T3_L.FUNITID = T0.FUNITID AND T3_L.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L T4_L ON T4_L.FUNITID = T0E.FUNITID AND T4_L.FLOCALEID = @LCID - LEFT JOIN T_BD_STOCK_L T5_L ON T5_L.FSTOCKID = T0E_C.FSTOCKID AND T5_L.FLOCALEID =@LCID - LEFT JOIN T_BD_DEPARTMENT_L T6_L ON T6_L.FDEPTID = T0.FWORKSHOPID AND T6_L.FLOCALEID = @LCID - LEFT JOIN T_ENG_BOMCHILD_L t8_L ON t8_L.FENTRYID = T0E.FBOMENTRYID AND t8_L.FLOCALEID = @LCID - LEFT JOIN ( - SELECT - t0.FMATERIALID - ,t0.FSTOCKORGID - ,sum(t0.FBASEQTY) AS FBASEQTY - FROM - T_STK_INVENTORY t0 - GROUP BY - t0.FMATERIALID - ,t0.FSTOCKORGID - ) t9 on t9.FMATERIALID = T2.FMASTERID AND t9.FSTOCKORGID = t2.FUSEORGID - LEFT JOIN T_ENG_ROUTE_L t10_L on t10_L.FID = t7E.FROUTINGID AND t10_L.FLOCALEID = @LCID - LEFT JOIN T_PRD_PMPPBOMENTRY T11E on T11E.FMOID = t7e.FID AND T11E.FMOENTRYID = t7e.FENTRYID AND T11E.FMOENTRYSEQ = t7E.FSEQ AND T11E.FMATERIALIDSUB = T0E.FMATERIALID AND T11E.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_PRD_PMPPBOMENTRY_A T11E_A ON T11E_A.FENTRYID = T11E.FENTRYID - WHERE - T0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE T0.FBILLNO END) - AND T0.FMOBILLNO = (CASE WHEN @FMOBILLNO != '' THEN @FMOBILLNO ELSE T0.FMOBILLNO END) - AND T0.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE T0.FSALEORDERNO END) - AND T1.FNUMBER = (CASE WHEN @MAINNUMBER != '' THEN @MAINNUMBER ELSE T1.FNUMBER END) - AND T1_L.FNAME = (CASE WHEN @MAINNAME != '' THEN @MAINNAME ELSE T1_L.FNAME END) - AND T2.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE T2.FNUMBER END) - AND T2_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE T2_L.FNAME END) \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产用料清单查询.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产用料清单查询.sql deleted file mode 100644 index 1e71622..0000000 --- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产用料清单查询.sql +++ /dev/null @@ -1,192 +0,0 @@ - IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].TMP123123123123123') AND type IN ('U')) - DROP TABLE [dbo].TMP123123123123123 - GO - - declare @tableName varchar(80) - ,@seqFid varchar(80) - ,@proMaterialId int - ,@materialId int - ,@FBILLNO varchar(80) - ,@FPPBOMBILLNO varchar(80) - ,@FSALEORDERNO varchar(80) - ,@LCID int - - SET @tableName = 'TMP123123123123123' - SET @seqFid = 'ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID' - SET @proMaterialId = '' - SET @materialId = '' - SET @FBILLNO = '' - SET @FPPBOMBILLNO = '' - SET @FSALEORDERNO = '' - SET @LCID = 2052 - SELECT - --ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID--1.к - t0.FID - ,t0e.FSEQ - ,t0e.FENTRYID - ,t0.FDATE --2. - ,t0e.FPLANSTARTDATE--38.ƻ - ,t0e.FPLANFINISHDATE--39.ƻ깤 - ,t0e.FSALEORDERNO --4.۶ - ,t0.FBILLNO--7.񵥺 - ,t0e.FQTY--12.Ʒ - --,t0e.FSTOCKID--35.ֿ - --,t0e.FSTOCKLOCID--36.λ - ,t0e.FYIELDRATE - ,t0e.FROUTINGID - ,(CASE t0e_a.FSTATUS WHEN 6 THEN 'ѽ᰸'ELSE '' END) AS 'StatusIs6'--45.񵥽᰸ - ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS 'PRODUCTTYPE'--43. - ,t0e.FMATERIALID AS 'ProMaterialId' - ,t1.FMNEMONICCODE AS 'ProMnemoniccode'--6. - ,t1.FNUMBER AS 'ProNumber'--8.Ʒ - ,t1_l.FNAME AS 'ProName'--9.Ʒ - ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.Ʒͺ - ,t2_l.FUNITID AS 'PrdUnitId' - ,t2_l.FNAME AS 'ProUnitName'--11.Ʒλ - --,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'ProMaterialsrc' --15.Դ - INTO #TmpTable0 - FROM - T_PRD_MO t0 - INNER JOIN T_PRD_MOENTRY t0e on t0e.FID = t0.FID - INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID - LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0e.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0e.FMATERIALID AND t1_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0e.FUNITID AND t2_l.FLOCALEID = @LCID - LEFT JOIN ( - SELECT - t0e.FMOENTRYID - ,t0e.FMOENTRYSEQ - ,t0e.FMATERIALID - ,SUM(t0e_A.FBASESELINSPECTQTY) AS 'FBASESELINSPECTQTY'--ѡ - ,SUM(t0e_A.FBASEINSPECTQTY) AS 'FBASEINSPECTQTY' -- - ,SUM(t0e.FBASEFINISHQTY) AS 'FBASEFINISHQTY'-- - FROM T_PRD_MORPT t0 - INNER JOIN T_PRD_MORPTENTRY t0e on t0.FID = t0e.FID - INNER JOIN T_PRD_MORPTENTRY_A t0e_A on t0e_A.FENTRYID = t0e.FENTRYID - GROUP BY - t0e.FMOENTRYID - ,t0e.FMOENTRYSEQ - ,t0e.FMATERIALID - ) t3 on t3.FMATERIALID = t0e.FMATERIALID AND t3.FMOENTRYID = t0e.FENTRYID AND t3.FMOENTRYSEQ = t0e.FSEQ - WHERE - t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END) - AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END) - AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END) - --AND T1.FNUMBER = (CASE WHEN @MAINNUMBER != '' THEN @MAINNUMBER ELSE T1.FNUMBER END) - --AND T1_L.FNAME = (CASE WHEN @MAINNAME != '' THEN @MAINNAME ELSE T1_L.FNAME END) - - SELECT - t0e.FMOENTRYID - ,t0e.FMOENTRYSEQ - ,t0e.FMATERIALID - ,SUM(t0e_A.FBASESELINSPECTQTY) AS 'FBASESELINSPECTQTY'--ѡ - ,SUM(t0e_A.FBASEINSPECTQTY) AS 'FBASEINSPECTQTY' -- - ,SUM(t0e.FBASEFINISHQTY) AS 'FBASEFINISHQTY'-- - FROM T_PRD_MORPT t0 - INNER JOIN T_PRD_MORPTENTRY t0e on t0.FID = t0e.FID - INNER JOIN T_PRD_MORPTENTRY_A t0e_A on t0e_A.FENTRYID = t0e.FENTRYID - GROUP BY - t0e.FMOENTRYID - ,t0e.FMOENTRYSEQ - ,t0e.FMATERIALID - - SELECT - t1.* - ,t0.FBILLNO AS 'FPPBOMBILLNO'--3.Ͷϵ - ,t0e.FMATERIALID - ,(t0e.FNUMERATOR / t0e.FDENOMINATOR) AS 'FUnitNeedQty' --18.ϵλ - ,t0e.FNEEDQTY --22. - ,t0e.FUNITID - ,t0e.FBOMENTRYID - ,t0e_q.FBASEWIPQTY --23.ǰƷ - ,t0e_q.FPICKEDQTY --27. - ,t0e_q.FNOPICKEDQTY --28.δ - ,t0e.FSTDQTY --׼ --29.׼ - ,t0e.FMUSTQTY --Ӧ --30.Ӧ - ,t0e_l.FMEMO --31.ע - ,t0e_q.FPICKEDQTY * (100 - t1.FYIELDRATE) AS 'FLossQty'--32. - ,t0e_q.FSCRAPQTY --33. - ,t0e_q.FREPICKEDQTY --37. - ,t0.FWORKSHOPID - ,t0e_c.FSTOCKID - ,t0e_c.FSTOCKLOCID - ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'PPBOMStatus'--46.Ͷϵ״̬ - INTO #TmpTable1 - FROM - #TmpTable0 t1 - LEFT JOIN T_PRD_PPBOM t0 on t1.FID = t0.FMOID AND t0.FMOENTRYSEQ = t1.FSEQ AND t0.FMOENTRYSEQ = t1.FSEQ --嵥 - INNER JOIN T_PRD_PPBOMENTRY t0e ON t0.FID = t0e.FID - LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = t0e.FENTRYID --嵥ֱ - LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = t0e.FENTRYID - LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = t0e.FENTRYID AND t0e_l.FLOCALEID = @LCID - WHERE - T0.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE T0.FBILLNO END) - AND t0e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t0e.FMATERIALID END) - - SELECT - t0.* - ,t1.FNUMBER AS 'MaterialNumber'--8.ϱ - ,t1_l.FNAME AS 'MaterialName'--9. - ,t1_l.FSPECIFICATION AS 'MaterialSpecification'--10.Ϲͺ - ,t2_l.FNAME AS 'MaterialUnitName'--11.ϵλ - ,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.Դ - ,t4_l.FNAME AS 'WORKSHOPNAME' --44. - ,t1.FMASTERID - ,t1.FUSEORGID - ,t5_l.FMEMO AS 'BOMMEMO' --42.BOMע - ,t3_l.FNAME AS 'FSTOCKNAME' - into #TmpTable2 - FROM - #TmpTable1 t0 - LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0.FMATERIALID AND t1_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0.FUNITID AND t2_l.FLOCALEID = @LCID - LEFT JOIN T_BD_STOCK_L t3_l ON t3_l.FSTOCKID = t0.FSTOCKID AND t3_l.FLOCALEID =@LCID - LEFT JOIN T_BD_DEPARTMENT_L t4_l on t4_l.FDEPTID = t0.FWORKSHOPID AND t4_l.FLOCALEID = @LCID - LEFT JOIN T_ENG_BOMCHILD_L t5_l ON t5_l.FENTRYID = t0.FBOMENTRYID AND t5_L.FLOCALEID = @LCID - --WHERE - --t1.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE t1.FNUMBER END) - --AND t1_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE t1_L.FNAME END) - - SELECT - t0.* - ,t1.FBASEQTY - ,t2_l.FNAME AS 'ROUTENAME' - ,t3e_A.FBASEINVQTY - ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.Ƿ - ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.; - ,6 AS 'LOWEST6' - INTO #TmpTable3 - FROM - #TmpTable2 t0 - LEFT JOIN ( - SELECT - t0.FMATERIALID - ,t0.FSTOCKORGID - ,sum(t0.FBASEQTY) AS FBASEQTY - FROM - T_STK_INVENTORY t0 - GROUP BY - t0.FMATERIALID - ,t0.FSTOCKORGID - ) t1 on t1.FMATERIALID = t0.FMASTERID AND t1.FSTOCKORGID = t0.FUSEORGID - LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = t0.FROUTINGID AND t2_L.FLOCALEID = @LCID - LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FMOID = t0.FID AND t3e.FMOENTRYID = t0.FENTRYID AND t3e.FMOENTRYSEQ = t0.FSEQ AND t3e.FMATERIALIDSUB = t0.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID - - - exec(N' - SELECT - t0.* - ,' + @seqFid+ ' - INTO ' + @tableName + ' - FROM - #TmpTable3 t0 - ') - - drop table #TmpTable0 - drop table #TmpTable1 - drop table #TmpTable2 - drop table #TmpTable3 - - exec(N'SELECT * FROM '+ @tableName) \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产订单.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产订单.sql deleted file mode 100644 index cda13e1..0000000 --- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/生产订单.sql +++ /dev/null @@ -1,10 +0,0 @@ -SELECT - A.FID - ,A.FBILLNO - ,AE.FPLANSTARTDATE --ƻʱ - ,AE.FPLANFINISHDATE --ƻ깤ʱ - ,AE.FPRODUCTTYPE -- - ,AE.FWORKSHOPID -- -FROM - T_PRD_MO A - LEFT JOIN T_PRD_MOENTRY AE ON A.FID = AE.FID \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/获取产品类型.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/获取产品类型.sql deleted file mode 100644 index 379c122..0000000 --- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/获取产品类型.sql +++ /dev/null @@ -1,13 +0,0 @@ -CREATE FUNCTION GetProductTypeText(@docStatu int) -RETURNS varchar(10) --طֵ -as -BEGIN -declare @result varchar(10) -select @result = (CASE @docStatu - WHEN 1 THEN 'Ʒ' - WHEN 2 THEN 'Ʒ' - WHEN 3 THEN 'Ʒ' - ELSE '' - END) -RETURN @result -END \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/获取单据状态.sql b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/获取单据状态.sql deleted file mode 100644 index 3a17eba..0000000 --- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SQLServer/获取单据状态.sql +++ /dev/null @@ -1,15 +0,0 @@ -create FUNCTION ReturnStatuText(@docStatu varchar(10)) -RETURNS varchar(10) --طֵ -as -BEGIN -declare @result varchar(10) -select @result = (CASE @docStatu - WHEN 'A' THEN '' - WHEN 'B' THEN '' - WHEN 'C' THEN '' - WHEN 'D' THEN '' - WHEN 'Z' THEN 'ݴ' - ELSE '' - END) -RETURN @result -END \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SaleOutStockDetailRptEx.cs b/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SaleOutStockDetailRptEx.cs deleted file mode 100644 index 5900c7f..0000000 --- a/03.珠海市汇威精密制造有限公司/Kingdee.K3.SCM.Sal.Report.PlugInEx/SaleOutStockDetailRptEx.cs +++ /dev/null @@ -1,63 +0,0 @@ -using Kingdee.BOS; -using Kingdee.BOS.App.Data; -using Kingdee.BOS.Contracts; -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.Net; -using System.Security.Cryptography; -using System.Text; -using System.Threading.Tasks; - -namespace HW.App.Sal.Report.PlugInEx -{ - [Description("销售出库明细报表数据源插件-扩展"), HotUpdate] - public class SaleOutStockDetailRptEx : SaleOutStockDetailRpt - { - private string[] TempTableName; - - public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) - { - //创建临时表用于保存自己的数据 - IDBService dbservice = Kingdee.BOS.App.ServiceHelper.GetService(); - TempTableName = dbservice.CreateTemporaryTableName(this.Context, 1); - string strTable = TempTableName[0]; - - //调用基类方式获取初步查询数据 - base.BuilderReportSqlAndTempTable(filter, strTable); - - string strSql = $@"/*dialect*/ -SELECT - A.* - ,BE.F_ORA_TEXT2 AS FSALESCATEGORY - INTO {tableName} -FROM - {strTable} A - LEFT JOIN T_SAL_OUTSTOCK B ON A.FID = B.FID AND A.FBILLNUMBER = B.FBILLNO - LEFT JOIN T_SAL_OUTSTOCKENTRY BE ON A.FID = B.FID AND BE.FENTRYID = A.FENTRYID "; - - DBUtils.Execute(this.Context, strSql); - } - - public override void CloseReport() - { - //删除临时表 - if (TempTableName == null || TempTableName.Length == 0) - { - return; - } - - IDBService dbservice = Kingdee.BOS.App.ServiceHelper.GetService(); - - dbservice.DeleteTemporaryTableName(this.Context, TempTableName); - - - base.CloseReport(); - } - } -} diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/HW.ProductionMaterialsReport.csproj b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/HW.ProductionMaterialsReport.csproj deleted file mode 100644 index c417dc7..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/HW.ProductionMaterialsReport.csproj +++ /dev/null @@ -1,114 +0,0 @@ - - - - - Debug - AnyCPU - {17EF8474-392A-4595-A4D4-D224F16AF8C4} - Library - Properties - HW.ProductionMaterialsReport - HW.ProductionMaterialsReport - 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 - - - False - ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.BusinessEntity.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.BOS.Model.dll - - - False - ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.ServiceHelper.dll - - - ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.BD.Contracts.dll - - - False - ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.Core.dll - - - ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.MFG.ServiceHelper.dll - - - ..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.SCM.App.Sal.Report.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {beae0bf6-7ab9-4af5-83ce-d08e3c6880ef} - ExtensionMethods - - - {d6a5e5a0-7529-4ffa-9f9d-b2c610919bf6} - HandleUtils - - - {6d24872e-8faa-4ce6-9542-1eb0db405a7a} - K3CExttensionMethods - - - - \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/HideColumnByFilterListPlugIn.cs b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/HideColumnByFilterListPlugIn.cs deleted file mode 100644 index a93ae3f..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/HideColumnByFilterListPlugIn.cs +++ /dev/null @@ -1,53 +0,0 @@ -using Kingdee.BOS.Core.List.PlugIn; -using Kingdee.BOS.Core.List.PlugIn.Args; -using Kingdee.BOS.Util; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Text; - -namespace HW.ProductionMaterialsReport -{ - [Description("【列表插件】使用PrepareFilterParameter事件隐藏列"), HotUpdate] - - public class HideColumnByFilterListPlugIn : AbstractListPlugIn - { - - public override void PrepareFilterParameter(FilterArgs e) - { - base.PrepareFilterParameter(e); - - // 采购订单列表始终不显示单据编号列和采购日期列 - - var needHideColumns = new HashSet(new[] { "FBillNo", "FDate" }, StringComparer.OrdinalIgnoreCase); - - // 方案1:直接移除列 - - //e.ColumnFields.RemoveAll(o => needHideColumns.Contains(o.FieldName)); - - // 方案2:不移除列,仅将列设置为隐藏 - - foreach (var columnField in e.ColumnFields) - { - - if (needHideColumns.Contains(columnField.FieldName)) - - { - - columnField.Visible = false; - - } - - } - - var list = e.ColumnFields.Where(w => needHideColumns.Contains(w.FieldName)); - foreach (var item in list) - { - - } - } - - } - -} diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/ProductionMaterialsReportEx.cs b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/ProductionMaterialsReportEx.cs deleted file mode 100644 index 2d38c1d..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/ProductionMaterialsReportEx.cs +++ /dev/null @@ -1,214 +0,0 @@ -using ExtensionMethods; -using K3CExttensionMethods; -using Kingdee.BOS; -using Kingdee.BOS.App.Data; -using Kingdee.BOS.Contracts.Report; -using Kingdee.BOS.Core.List; -using Kingdee.BOS.Core.List.PlugIn.Args; -using Kingdee.BOS.Core.Metadata; -using Kingdee.BOS.Core.Report; -using Kingdee.BOS.Orm.DataEntity; -using Kingdee.BOS.Resource; -using Kingdee.BOS.Util; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Linq; -using System.Linq.Expressions; -using System.Text; -using System.Threading.Tasks; - -namespace ProductionMaterialsReport -{ - [Description("生产投料报表-服务插件"), HotUpdate] - public class ProductionMaterialsReport : SysReportBaseService - { - /***********事件执行顺序************* - 2015/8/31 18:04:12 : Initialize - 2015/8/31 18:04:12 : GetTableName - 2015/8/31 18:04:15 : BuilderReportSqlAndTempTable - 2015/8/31 18:04:15 : GetIdentityFieldIndexSQL - 2015/8/31 18:04:15 : ExecuteBatch - 2015/8/31 18:04:19 : GetReportHeaders - 2015/8/31 18:04:19 : GetReportTitles - 2015/8/31 18:04:27 : GetTableName - 2015/8/31 18:04:27 : GetIdentityFieldIndexSQL - 2015/8/31 18:04:28 : ExecuteBatch - 2015/8/31 18:04:28 : AnalyzeDspCloumn - 2015/8/31 18:04:28 : AfterCreateTempTable - 2015/8/31 18:04:28 : GetSummaryColumnInfo - 2015/8/31 18:04:28 : GetSummaryColumsSQL - 2015/8/31 18:04:28 : GetTableName - 2015/8/31 18:04:28 : GetTableName - 2015/8/31 18:04:29 : ExecuteBatch - 2015/8/31 18:04:29 : GetIdentityFieldIndexSQL - 2015/8/31 18:04:29 : ExecuteBatch - 2015/8/31 18:04:29 : CreateGroupSummaryData - 2015/8/31 18:04:29 : GetListData - 2015/8/31 18:04:30 : GetReportData - 2015/8/31 18:04:30 : GetRowsCount - 2015/8/31 18:04:30 : GetListData - */ - - private List billNames = new List(); - - public override void Initialize() - { - base.Initialize(); - //简单账表类型:普通、树形、分页 - this.ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL; - //报表名称 - this.ReportProperty.ReportName = new LocaleValue("生产投料报表", base.Context.UserLocale.LCID); - //是否由插件创建表名 - this.IsCreateTempTableByPlugin = true; - // - this.ReportProperty.SimpleAllCols = false; - // 单据主键:两行FID相同,则为同一单的两条分录,单据编号可以不重复显示 - this.ReportProperty.PrimaryKeyFieldName = "FID"; - // - this.ReportProperty.IsDefaultOnlyDspSumAndDetailData = true; - - // 报表主键字段名:默认为FIDENTITYID,可以修改 - this.ReportProperty.IdentityFieldName = "FIDENTITYID"; - // 设置精度控制 - var list = new List - { - new DecimalControlField("LOWEST6","FQTY"), - new DecimalControlField("LOWEST6","FUnitNeedQty"), - new DecimalControlField("LOWEST6","FBASEQTY"), - new DecimalControlField("LOWEST6","FNEEDQTY"), - new DecimalControlField("LOWEST6","FBASEWIPQTY"), - new DecimalControlField("LOWEST6","FBASELACKQTY"), - new DecimalControlField("LOWEST6","FBASEONORDERQTY"), - new DecimalControlField("LOWEST6","FPICKEDQTY"), - new DecimalControlField("LOWEST6","FNOPICKEDQTY"), - new DecimalControlField("LOWEST6","FSTDQTY"), - new DecimalControlField("LOWEST6","FMUSTQTY"), - new DecimalControlField("LOWEST6","FLossQty"), - new DecimalControlField("LOWEST6","FSCRAPQTY"), - new DecimalControlField("LOWEST6","FREPICKEDQTY"), - }; - this.ReportProperty.DecimalControlFieldList = list; - - base.ReportProperty.IsGroupSummary = true; - base.ReportProperty.DspInsteadColumnsInfo.DefaultDspInsteadColumns.Add("FSTOCKID", "FSTOCKNAME"); - base.ReportProperty.DspInsteadColumnsInfo.DefaultDspInsteadColumns.Add("ProMaterialId", "ProNumber"); - //列头是否是通过BOSIDE设计 - //base.ReportProperty.IsUIDesignerColumns = true; - - } - - /// - /// 向报表临时表,插入报表数据 - /// - /// - /// - public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) - { - base.BuilderReportSqlAndTempTable(filter, tableName); - string seqFld = string.Format(base.KSQL_SEQ, " t0.FID "); - - var proMaterialId = filter.FilterParameter.CustomFilter["ProMaterialId"].Long2Int(); - var materialId = filter.FilterParameter.CustomFilter["MaterialId"].Long2Int(); - - var BILLNO = filter.FilterParameter.CustomFilter["BILLNO"].ToSafeTurnString(); - var PPBOMBILLNO = filter.FilterParameter.CustomFilter["PPBOMBILLNO"].ToSafeTurnString(); - var SALEORDERNO = filter.FilterParameter.CustomFilter["SALEORDERNO"].ToSafeTurnString(); - - var sql = $@" PROC_PPBOM_RPT '{tableName}', '{seqFld}' ,{proMaterialId} ,{materialId},'{BILLNO}','{PPBOMBILLNO}','{SALEORDERNO}' ,{this.Context.UserLocale.LCID} "; - - var res = DBUtils.ExecuteDynamicObject(this.Context, $"/*dialect*/{sql}"); - } - - public override ReportHeader GetReportHeaders(IRptParams filter) - { - var header = base.GetReportHeaders(filter); - int _colIndex = 0; - //var head1 = header.AddChild("FNUMBER", new LocaleValue("产品编码"), _colIndex++); - //head1.Mergeable = true; - //header.AddChild("FIDENTITYID", new LocaleValue("行号"), _colIndex++); - header.AddRange(new List - { - new ListHeader("FDATE", new LocaleValue("单据日期")) - }); - - - Func, ListHeader> memberLambda = (fieldName, value, colIndex, action) => new ListHeader(fieldName, new LocaleValue(value)).SetHeader(action); - var list = new List - { - memberLambda("FDATE", "单据日期", _colIndex++, x => { x.Mergeable = true;x.ColType = SqlStorageType.SqlDecimal;}) - }; - header.AddRange(list); - header.AddChild("FDATE", new LocaleValue("单据日期"), _colIndex++).SetHeader(x => { x.Mergeable = true; x.ColType = SqlStorageType.SqlDecimal; }); - header.AddChild("FPPBOMBILLNO", new LocaleValue("生产投料单号"), _colIndex++).SetHeader(x => { x.Mergeable = true; }); - header.AddChild("FSALEORDERNO", new LocaleValue("销售订单号"), _colIndex++).SetHeader(x => { x.Mergeable = true; }); - header.AddChild("SaleUnitId", new LocaleValue("购货单位代码"), _colIndex++); - header.AddChild("ProMnemoniccode", new LocaleValue("助记码"), _colIndex++).SetHeader(x => { x.Mergeable = true; }); - header.AddChild("FBILLNO", new LocaleValue("生产任务单号"), _colIndex++).SetHeader(x => { x.Mergeable = true; }); - header.AddChild("ProMaterialId", new LocaleValue("产品代码"), _colIndex++).SetHeader(x => { x.Mergeable = true; }); - header.AddChild("ProName", new LocaleValue("产品名称"), _colIndex++).SetHeader(x => { x.Mergeable = true; }); - header.AddChild("ProSpecification", new LocaleValue("产品规格型号"), _colIndex++).SetHeader(x => { x.Mergeable = true; }); - header.AddChild("ProUnitName", new LocaleValue("产品单位"), _colIndex++).SetHeader(x => { x.Mergeable = true; }); - header.AddChild("FQTY", new LocaleValue("产品生产数量"), _colIndex++).SetHeader(x => { x.Mergeable = true; }); - header.AddChild("MaterialNumber", new LocaleValue("物料代码"), _colIndex++); - header.AddChild("MaterialName", new LocaleValue("物料名称"), _colIndex++); - header.AddChild("Materialsrc", new LocaleValue("物料来源"), _colIndex++); - header.AddChild("MaterialSpecification", new LocaleValue("物料规格型号"), _colIndex++); - header.AddChild("ROUTENAME", new LocaleValue("物料技术标准"), _colIndex++); - header.AddChild("FUnitNeedQty", new LocaleValue("物料单位用量"), _colIndex++); - header.AddChild("MaterialUnitName", new LocaleValue("物料单位"), _colIndex++); - header.AddChild("FBASEQTY", new LocaleValue("物料库存量"), _colIndex++); - header.AddChild("ToBeInspectQTY", new LocaleValue("物料待检数"), _colIndex++); - header.AddChild("FNEEDQTY", new LocaleValue("物料总需求"), _colIndex++); - header.AddChild("FBASEWIPQTY", new LocaleValue("当前在制品数量"), _colIndex++); - header.AddChild("FBASELACKQTY", new LocaleValue("欠料"), _colIndex++); - header.AddChild("FBASEONORDERQTY", new LocaleValue("物料在途数"), _colIndex++); - header.AddChild("PlanThrowInQty", new LocaleValue("计划投料数量"), _colIndex++); - header.AddChild("FPICKEDQTY", new LocaleValue("已领数量"), _colIndex++); - header.AddChild("FNOPICKEDQTY", new LocaleValue("未领数量"), _colIndex++); - header.AddChild("FSTDQTY", new LocaleValue("标准数量"), _colIndex++); - header.AddChild("FMUSTQTY", new LocaleValue("应发数量"), _colIndex++); - header.AddChild("FMEMO", new LocaleValue("备注"), _colIndex++); - header.AddChild("FLossQty", new LocaleValue("损耗数量"), _colIndex++); - header.AddChild("FSCRAPQTY", new LocaleValue("报废数量"), _colIndex++); - header.AddChild("PlanThrowInDate", new LocaleValue("计划发料日期"), _colIndex++); - header.AddChild("FSTOCKNAME", new LocaleValue("仓库"), _colIndex++); - header.AddChild("FSTOCKLOCID", new LocaleValue("仓位"), _colIndex++); - header.AddChild("FREPICKEDQTY", new LocaleValue("补料数量"), _colIndex++); - header.AddChild("FPLANSTARTDATE", new LocaleValue("计划开工日期"), _colIndex++); - header.AddChild("FPLANFINISHDATE", new LocaleValue("计划完工日期"), _colIndex++); - header.AddChild("CubicleName", new LocaleValue("工位"), _colIndex++); - header.AddChild("OTHERMEMO", new LocaleValue("其他备注项"), _colIndex++); - header.AddChild("BOMMEMO", new LocaleValue("BOM备注项"), _colIndex++); - header.AddChild("PRODUCTTYPE", new LocaleValue("生产类型"), _colIndex++); - header.AddChild("WORKSHOPNAME", new LocaleValue("生产车间"), _colIndex++); - header.AddChild("StatusIs6", new LocaleValue("生产任务单结案否"), _colIndex++); - header.AddChild("PPBOMStatus", new LocaleValue("生产投料单状态"), _colIndex++); - header.AddChild("PR_C2PO_QTY", new LocaleValue("PR已审未转PO数量"), _colIndex++); - - return header; - } - - public override ReportTitles GetReportTitles(IRptParams filter) - { - var titles = base.GetReportTitles(filter); - DynamicObject dyFilter = filter.FilterParameter.CustomFilter; - if (dyFilter != null) - { - if (titles == null) - { - titles = new ReportTitles(); - } - - var materialId = dyFilter["ProMaterialId_Id"].ToString(); - if (!materialId.IsNullOrEmpty()) - titles.AddTitle("FTitleProMaterialId", materialId); - - } - - - return titles; - } - } -} diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/SQLQuery4.sql b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/SQLQuery4.sql deleted file mode 100644 index 4b5d47d..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/SQLQuery4.sql +++ /dev/null @@ -1,55 +0,0 @@ -SELECT * INTO #TMP123 FROM #TPRDMOINFO -DROP TABLE #TPRDMOINFO - -SELECT - '' AS 'к', - '' AS '', - A.FBILLNO AS 'Ͷϵ', - '' AS '۶', - '' AS 'λ', - A.FMNEMONICCODE AS '', - A.FBILLNO AS '񵥺', - A.FNUMBER AS 'Ʒ', - A.FNAME AS 'Ʒ', - A.FSPECIFICATION AS 'Ʒͺ', - A.FNAME AS 'Ʒλ', - A.FQTY AS 'Ʒ', - A.FNUMBER AS 'ϴ', - A.FNAME AS '', - ( CASE A.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END ) AS 'Դ', - A.FSPECIFICATION AS 'Ϲͺ', - '' AS 'ϼ׼', - A.FSTDQTY AS 'ϵλ', - A.FUNITID AS 'ϵλ', - A.FINVENTORYQTY AS 'Ͽ', - '' AS 'ϴ', - A.FNEEDQTY AS '', - '' AS 'ǰƷ', - '' AS 'Ƿ', - '' AS ';', - '' AS 'ƻͶ', - A.FPICKEDQTY AS '', - A.FNOPICKEDQTY AS 'δ', - '' AS '׼', - A.FMUSTQTY AS 'Ӧ', - '' AS 'ע', - '' AS '', - A.FSCRAPQTY AS '', - '' AS 'ƻ', - '' AS 'ֿ', - '' AS 'λ', - A.FREPICKEDQTY AS '', - A.FPLANSTARTDATE AS 'ƻ', - A.FPLANFINISHDATE AS 'ƻ깤', - '' AS 'λ', - '' AS 'ע', - '' AS 'BOMע', - A.FBILLTYPE AS '', - A.FWORKSHOPID AS '', - ( CASE AE_A.FSTATUS WHEN 6 THEN 'ѽ᰸' ELSE '' END ) AS '񵥽᰸', - A.FDOCUMENTSTATUS AS 'Ͷϵ״̬', - '' AS 'PRδתPO' -FROM - #TMP123 A - - DROP TABLE #TMP123 \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/SQLQuery5.sql b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/SQLQuery5.sql deleted file mode 100644 index 029a63c..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/SQLQuery5.sql +++ /dev/null @@ -1,21 +0,0 @@ - -SELECT - TOP 1000 - T0E.FMATERIALID - ,T0E.FMATERIALIDSUB -FROM - T_PRD_PMPPBOMENTRY T0E - INNER JOIN T_PRD_PMPPBOMENTRY_A T0E_A ON T0E_A.FENTRYID = T0E.FENTRYID -WHERE T0E.FID = 101118 -GROUP BY T0E.FMATERIALID,T0E.FMATERIALIDSUB - - -SELECT - TOP 1000 - t0E.* - ,T0E_A.* -FROM - T_PRD_LACKANALYSEBILL t0 - INNER JOIN T_PRD_PMPPBOMENTRY T0E on t0.FID = T0E.FID - INNER JOIN T_PRD_PMPPBOMENTRY_A T0E_A ON T0E_A.FENTRYID = T0E.FENTRYID -WHERE t0.FBILLNO = 'SCQL000671' \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/仓位值1.sql b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/仓位值1.sql deleted file mode 100644 index 2befea2..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/仓位值1.sql +++ /dev/null @@ -1,37 +0,0 @@ -SELECT * FROM T_BD_STOCK -SELECT * FROM T_BD_STOCKFLEXITEM -SELECT * FROM T_BD_STOCKFLEXDETAIL -SELECT * FROM T_BAS_FLEXVALUES -SELECT * FROM T_BAS_FLEXVALUESENTRY -SELECT * FROM T_BAS_FLEXVALUESENTRY_L -SELECT * FROM T_BD_FLEXVALUESCOM -SELECT * FROM T_BAS_FLEXVALUESDETAIL - -SELECT - t1.FNUMBER - ,t1_l.FNAME - ,t0.FMATERIALID - ,t0.FSTOCKID - ,t0.FSTOCKLOCID - ,stuff((select CAST(t2.FF100001 AS varchar) +'.'+ CAST(t2.FF100002 AS varchar) FROM T_BAS_FLEXVALUESDETAIL t2 WHERE t2.FID = t0.FSTOCKLOCID for xml path('')),1,1,'') -FROM T_STK_INVENTORY t0 - LEFT JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t1_l on t1_l.FMATERIALID = t0.FMATERIALID AND t1_l.FLOCALEID = 2052 - --LEFT JOIN T_BAS_FLEXVALUESDETAIL t2 on t2.FID = t0.FSTOCKLOCID -WHERE - t0.FSTOCKLOCID > 0 - -DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX); -SELECT @columns = COALESCE(@columns + ',', '') + CONCAT('t0.',t0.FFLEXNUMBER) -FROM T_BAS_FLEXVALUES t0 -WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FFORBIDSTATUS = 'A' - -SET @sql = N' -SELECT - t0.FID - ,CONCAT(' + @columns + ' +''.'', '''') -FROM T_BAS_FLEXVALUESDETAIL t0 - -'; - -EXEC sp_executesql @sql; \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/仓位值2.sql b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/仓位值2.sql deleted file mode 100644 index 9cadc9b..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/仓位值2.sql +++ /dev/null @@ -1,26 +0,0 @@ -DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX),@LOCALEID char(10); -SET @LOCALEID = '2052' -SELECT @columns = COALESCE(@columns + ',', '') + CONCAT('',t0.FFLEXNUMBER) -FROM T_BAS_FLEXVALUES t0 -WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FFORBIDSTATUS = 'A' - -SET @SQL = N' -SELECT - t0.FID - ,t0.aColumn - ,t0.aValue - ,t1e_l.FNAME - ,ROW_NUMBER() OVER (PARTITION BY t0.FID ORDER BY t1.FNUMBER) AS RowId -FROM - (SELECT FID,'+@columns+' - FROM T_BAS_FLEXVALUESDETAIL) AS P -UNPIVOT - (aValue FOR aColumn IN - ('+@columns+') - )AS t0 - INNER JOIN T_BAS_FLEXVALUES t1 on t1.FFLEXNUMBER = t0.aColumn - INNER JOIN T_BAS_FLEXVALUESENTRY_L t1e_l on t0.aValue = t1e_l.FENTRYID AND t1e_l.FLOCALEID = '+@LOCALEID+' -;'; -EXEC(@SQL); - ---SELECT * FROM T_BAS_FLEXVALUES diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/仓库值.sql b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/仓库值.sql deleted file mode 100644 index 69752f9..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/仓库值.sql +++ /dev/null @@ -1,12 +0,0 @@ -SELECT T2.FSTOCKID, T2.FNUMBER, T3.FNAME, T4.FFLEXENTRYID AS λֵ, T41.FNUMBER λֵ, T41L.FNAME λֵ, T1.FFLEXID λֵά,T31.FNUMBER λֵ,T31L.FNAME λֵ -FROM - T_BD_STOCKFLEXITEM T1 - JOIN T_BD_STOCKFLEXDETAIL T4 ON T1.FENTRYID = T4.FENTRYID - JOIN T_BAS_FLEXVALUES T31 ON T1.FFLEXID = T31.FID - JOIN T_BAS_FLEXVALUES_L T31L ON T31L.FID = T31.FID AND T31L.FLOCALEID = 2052 - JOIN T_BAS_FLEXVALUESENTRY T41 ON T4.FFLEXENTRYID = T41.FENTRYID - JOIN T_BAS_FLEXVALUESENTRY_L T41L ON T41L.FENTRYID = T41.FENTRYID AND T41L.FLOCALEID = 2052 - JOIN T_BD_STOCK T2 ON T1.FSTOCKID = T2.FSTOCKID - JOIN T_BD_STOCK_L T3 ON T2.FSTOCKID = T3.FSTOCKID AND T3.FLOCALEID = 2052 -ORDER BY - T2.FSTOCKID, T31.FNUMBER, T41.FNUMBER diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/存储过程-生产用料清单.sql b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/存储过程-生产用料清单.sql deleted file mode 100644 index 8ac22b6..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/存储过程-生产用料清单.sql +++ /dev/null @@ -1,154 +0,0 @@ -IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_PPBOM_RPT') - DROP PROCEDURE DBO.PROC_PPBOM_RPT; -GO - -CREATE PROCEDURE PROC_PPBOM_RPT - @tableName varchar(80) - ,@seqFid varchar(80) - ,@proMaterialId int - ,@materialId int - ,@FBILLNO varchar(80) - ,@FPPBOMBILLNO varchar(80) - ,@FSALEORDERNO varchar(80) - ,@LCID int -AS -BEGIN -SELECT - --ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID--1.к - t0.FID - ,t0e.FSEQ - ,t0e.FENTRYID - ,t0.FDATE --2. - ,t0e.FPLANSTARTDATE--38.ƻ - ,t0e.FPLANFINISHDATE--39.ƻ깤 - ,t0e.FSALEORDERNO --4.۶ - ,t0.FBILLNO--7.񵥺 - ,t0e.FQTY--12.Ʒ - --,t0e.FSTOCKID--35.ֿ - --,t0e.FSTOCKLOCID--36.λ - ,t0e.FYIELDRATE - ,t0e.FROUTINGID - ,(CASE t0e_a.FSTATUS WHEN 6 THEN 'ѽ᰸'ELSE '' END) AS 'StatusIs6'--45.񵥽᰸ - ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS 'PRODUCTTYPE'--43. - ,t0e.FMATERIALID AS 'ProMaterialId' - ,t1.FMNEMONICCODE AS 'ProMnemoniccode'--6. - ,t1.FNUMBER AS 'ProNumber'--8.Ʒ - ,t1_l.FNAME AS 'ProName'--9.Ʒ - ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.Ʒͺ - ,t2_l.FUNITID AS 'PrdUnitId' - ,t2_l.FNAME AS 'ProUnitName'--11.Ʒλ - --,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'ProMaterialsrc' --15.Դ - INTO #TmpTable0 - FROM - T_PRD_MO t0 - INNER JOIN T_PRD_MOENTRY t0e on t0e.FID = t0.FID - INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID - LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0e.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0e.FMATERIALID AND t1_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0e.FUNITID AND t2_l.FLOCALEID = @LCID - WHERE - t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END) - AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END) - AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END) - --AND T1.FNUMBER = (CASE WHEN @MAINNUMBER != '' THEN @MAINNUMBER ELSE T1.FNUMBER END) - --AND T1_L.FNAME = (CASE WHEN @MAINNAME != '' THEN @MAINNAME ELSE T1_L.FNAME END) - - SELECT - t1.* - ,t0.FBILLNO AS 'FPPBOMBILLNO'--3.Ͷϵ - ,t0e.FMATERIALID - ,(t0e.FNUMERATOR / t0e.FDENOMINATOR) AS 'FUnitNeedQty' --18.ϵλ - ,t0e.FNEEDQTY --22. - ,t0e.FUNITID - ,t0e.FBOMENTRYID - ,t0e_q.FBASEWIPQTY --23.ǰƷ - ,t0e_q.FPICKEDQTY --27. - ,t0e_q.FNOPICKEDQTY --28.δ - ,t0e.FSTDQTY --׼ --29.׼ - ,t0e.FMUSTQTY --Ӧ --30.Ӧ - ,t0e_l.FMEMO --31.ע - ,t0e_q.FPICKEDQTY * (100 - t1.FYIELDRATE) AS 'FLossQty'--32. - ,t0e_q.FSCRAPQTY --33. - ,t0e_q.FREPICKEDQTY --37. - ,t0.FWORKSHOPID - ,t0e_c.FSTOCKID - ,t0e_c.FSTOCKLOCID - ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'PPBOMStatus'--46.Ͷϵ״̬ - INTO #TmpTable1 - FROM - #TmpTable0 t1 - LEFT JOIN T_PRD_PPBOM t0 on t1.FID = t0.FMOID AND t0.FMOENTRYSEQ = t1.FSEQ AND t0.FMOENTRYSEQ = t1.FSEQ --嵥 - INNER JOIN T_PRD_PPBOMENTRY t0e ON t0.FID = t0e.FID - LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = t0e.FENTRYID --嵥ֱ - LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = t0e.FENTRYID - LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = t0e.FENTRYID AND t0e_l.FLOCALEID = @LCID - WHERE - T0.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE T0.FBILLNO END) - AND t0e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t0e.FMATERIALID END) - - SELECT - t0.* - ,t1.FNUMBER AS 'MaterialNumber'--8.ϱ - ,t1_l.FNAME AS 'MaterialName'--9. - ,t1_l.FSPECIFICATION AS 'MaterialSpecification'--10.Ϲͺ - ,t2_l.FNAME AS 'MaterialUnitName'--11.ϵλ - ,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.Դ - ,t4_l.FNAME AS 'WORKSHOPNAME' --44. - ,t1.FMASTERID - ,t1.FUSEORGID - ,t5_l.FMEMO AS 'BOMMEMO' --42.BOMע - ,t3_l.FNAME AS 'FSTOCKNAME' - into #TmpTable2 - FROM - #TmpTable1 t0 - LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0.FMATERIALID AND t1_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0.FUNITID AND t2_l.FLOCALEID = @LCID - LEFT JOIN T_BD_STOCK_L t3_l ON t3_l.FSTOCKID = t0.FSTOCKID AND t3_l.FLOCALEID =@LCID - LEFT JOIN T_BD_DEPARTMENT_L t4_l on t4_l.FDEPTID = t0.FWORKSHOPID AND t4_l.FLOCALEID = @LCID - LEFT JOIN T_ENG_BOMCHILD_L t5_l ON t5_l.FENTRYID = t0.FBOMENTRYID AND t5_L.FLOCALEID = @LCID - --WHERE - --t1.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE t1.FNUMBER END) - --AND t1_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE t1_L.FNAME END) - - SELECT - t0.* - ,t1.FBASEQTY - ,t2_l.FNAME AS 'ROUTENAME' - ,t3e_A.FBASEINVQTY - ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.Ƿ - ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.; - ,6 AS 'LOWEST6' - INTO #TmpTable3 - FROM - #TmpTable2 t0 - LEFT JOIN ( - SELECT - t0.FMATERIALID - ,t0.FSTOCKORGID - ,sum(t0.FBASEQTY) AS FBASEQTY - FROM - T_STK_INVENTORY t0 - GROUP BY - t0.FMATERIALID - ,t0.FSTOCKORGID - ) t1 on t1.FMATERIALID = t0.FMASTERID AND t1.FSTOCKORGID = t0.FUSEORGID - LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = t0.FROUTINGID AND t2_L.FLOCALEID = @LCID - LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FMOID = t0.FID AND t3e.FMOENTRYID = t0.FENTRYID AND t3e.FMOENTRYSEQ = t0.FSEQ AND t3e.FMATERIALIDSUB = t0.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID - - - exec(N' - SELECT - t0.* - ,' + @seqFid+ ' - INTO ' + @tableName + ' - FROM - #TmpTable3 t0 - ') - - drop table #TmpTable0 - drop table #TmpTable1 - drop table #TmpTable2 - drop table #TmpTable3 -END diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/生产用料清单.sql b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/生产用料清单.sql deleted file mode 100644 index 1b14f18..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/生产用料清单.sql +++ /dev/null @@ -1,130 +0,0 @@ - DECLARE @FBILLNO varchar(80) - ,@MainNumber varchar(80) - ,@MainName varchar(80) - ,@FMOBILLNO varchar(80) - ,@FNumber varchar(80) - ,@FName varchar(80) - ,@FSALEORDERNO varchar(80) - ,@LCID int - set @FBILLNO = '' - set @MainNumber = '' - set @MainName = '' - set @FMOBILLNO = '' - set @FNumber = '' - set @FName = '' - set @FSALEORDERNO = '' - set @LCID = 2052 - - --set @FBILLNO ='' - --set @MainNumber='' - --set @MainName='' - --set @FMOBILLNO='' - --set @FNumber='' - --set @FName='' - --set @FSALEORDERNO='' - --set @LCID=2052 - - SELECT - top 1000 - ROW_NUMBER() OVER(ORDER BY T0.FMATERIALID) AS 'к' --1.к - ,T0.FID - --,T0.FFORMID - ,t7.FDATE AS '' --2. - ,T0.FBILLNO AS 'Ͷϵ'--3.Ͷϵ - --,T0.FMOID -- - ----,T0.FMOENTRYID --ӱ - --,t0.FSALEORDERID - --,t0.FSALEORDERENTRYID - ,T0.FSALEORDERNO AS '۶' --4.۶ - --,T0.FMATERIALID --ƷID - --5.λ - ,T1.FMNEMONICCODE AS ''--6. - ,T0.FMOBILLNO AS '񵥺'--7.񵥺 - ,T1.FNUMBER AS 'Ʒ'--8.Ʒ - ,T1_L.FNAME AS 'Ʒ'--9.Ʒ - ,T1_L.FSPECIFICATION AS 'Ʒͺ'--10.Ʒͺ - ,T3_L.FNAME AS 'Ʒλ'--11.Ʒλ - ,T0.FQTY AS 'Ʒ'--12.Ʒ - ,T2.FNUMBER AS 'ϴ'--13.ϴ - ,T2_L.FNAME AS ''--14. - ,(CASE T2.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Դ' --15.Դ - ,T2_L.FSPECIFICATION AS 'Ϲͺ'--16.Ϲͺ - ,t10_L.FNAME AS 'ϼ׼'--17.ϼ׼ - ,(T0E.FNUMERATOR / T0E.FDENOMINATOR) AS 'ϵλ' --18.ϵλ - --,T0E.FUNITID AS ENTRYUNITID - ,T4_L.FNAME AS 'ϵλ' --19.ϵλ - ,t9.FBASEQTY AS 'Ͽ'--20.Ͽ - ,T11E_A.FBASEINVQTY - --21.ϴ - ,T0E.FNEEDQTY AS ''--22. - ,T0E_Q.FBASEWIPQTY AS 'ǰƷ'--23.ǰƷ - --,(case when t9.FBASEQTY > T0E.FNEEDQTY then 0 else T0E.FNEEDQTY - t9.FBASEQTY end) AS 'Ƿ'--24.Ƿ - ,T11E.FBASELACKQTY AS 'Ƿ'--24.Ƿ - ,T11E_A.FBASEONORDERQTY AS ';' --25.; - ,T11E_A.FENTRYID - --26.ƻͶ - ,T0E_Q.FPICKEDQTY AS ''--27. - ,T0E_Q.FNOPICKEDQTY AS 'δ'--28.δ - ,T0E.FSTDQTY AS '׼'--׼ --29.׼ - ,T0E.FMUSTQTY AS 'Ӧ'--Ӧ --30.Ӧ - ,t0E_L.FMEMO AS 'ע'--31.ע - ,T0E_Q.FPICKEDQTY * (100 - t7E.FYIELDRATE) AS ''--32. - ,T0E_Q.FSCRAPQTY AS '' --33. - --34.ƻ - ,T0E_C.FSTOCKID - ,T5_L.FNAME AS 'ֿ'--35.ֿ - ,T0E_C.FSTOCKLOCID --36.λ - ,T0E_Q.FREPICKEDQTY AS ''--37. - ,t7E.FPLANSTARTDATE AS 'ƻ'--38.ƻ - ,t7E.FPLANFINISHDATE AS 'ƻ깤'--39.ƻ깤 - --40.λ - --,7E.FMEMO AS 'ע' --41.ע - ,t8_L.FMEMO AS 'BOMע'--42.BOMע - --,t8.FNUMERATOR - ,(CASE T7e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS ''--43. - --,T0.FWORKSHOPID - ,T6_L.FNAME AS ''--44. - ,(CASE T7E_A.FSTATUS WHEN 6 THEN 'ѽ᰸'ELSE '' END) AS '񵥽᰸'--45.񵥽᰸ - ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'Ͷϵ״̬'--46.Ͷϵ״̬ - --47.PRδתPO - ,6 AS FDECIMALS - FROM - T_PRD_MO t7 -- - LEFT JOIN T_PRD_MOENTRY t7E on t7E.FID = t7.FID - LEFT JOIN T_PRD_MOENTRY_A t7E_A on t7E_A.FENTRYID = t7E.FENTRYID - LEFT JOIN T_PRD_PPBOM T0 on T0.FMOID = t7.FID --嵥 - LEFT JOIN T_PRD_PPBOMENTRY T0E ON T0.FID = T0E.FID AND t0.FMOENTRYSEQ = t7e.FSEQ--嵥ӱ - LEFT JOIN T_PRD_PPBOMENTRY_Q T0E_Q ON T0E_Q.FENTRYID = T0E.FENTRYID --嵥ֱ - LEFT JOIN T_PRD_PPBOMENTRY_C T0E_C ON T0E_C.FENTRYID = T0E.FENTRYID - LEFT JOIN T_PRD_PPBOMENTRY_L t0E_L on t0E_L.FENTRYID = T0E.FENTRYID AND t0E_L.FLOCALEID = @LCID - LEFT JOIN T_BD_MATERIAL T1 ON T1.FMATERIALID = T0.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L T1_L ON T1_L.FMATERIALID = T0.FMATERIALID AND T1_L.FLOCALEID = @LCID - LEFT JOIN T_BD_MATERIAL T2 ON T2.FMATERIALID = T0E.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L T2_L ON T2_L.FMATERIALID = T0E.FMATERIALID AND T2_L.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L T3_L ON T3_L.FUNITID = T0.FUNITID AND T3_L.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L T4_L ON T4_L.FUNITID = T0E.FUNITID AND T4_L.FLOCALEID = @LCID - LEFT JOIN T_BD_STOCK_L T5_L ON T5_L.FSTOCKID = T0E_C.FSTOCKID AND T5_L.FLOCALEID =@LCID - LEFT JOIN T_BD_DEPARTMENT_L T6_L ON T6_L.FDEPTID = T0.FWORKSHOPID AND T6_L.FLOCALEID = @LCID - LEFT JOIN T_ENG_BOMCHILD_L t8_L ON t8_L.FENTRYID = T0E.FBOMENTRYID AND t8_L.FLOCALEID = @LCID - LEFT JOIN ( - SELECT - t0.FMATERIALID - ,t0.FSTOCKORGID - ,sum(t0.FBASEQTY) AS FBASEQTY - FROM - T_STK_INVENTORY t0 - GROUP BY - t0.FMATERIALID - ,t0.FSTOCKORGID - ) t9 on t9.FMATERIALID = T2.FMASTERID AND t9.FSTOCKORGID = t2.FUSEORGID - LEFT JOIN T_ENG_ROUTE_L t10_L on t10_L.FID = t7E.FROUTINGID AND t10_L.FLOCALEID = @LCID - LEFT JOIN T_PRD_PMPPBOMENTRY T11E on T11E.FMOID = t7e.FID AND T11E.FMOENTRYID = t7e.FENTRYID AND T11E.FMOENTRYSEQ = t7E.FSEQ AND T11E.FMATERIALIDSUB = T0E.FMATERIALID AND T11E.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_PRD_PMPPBOMENTRY_A T11E_A ON T11E_A.FENTRYID = T11E.FENTRYID - WHERE - T0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE T0.FBILLNO END) - AND T0.FMOBILLNO = (CASE WHEN @FMOBILLNO != '' THEN @FMOBILLNO ELSE T0.FMOBILLNO END) - AND T0.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE T0.FSALEORDERNO END) - AND T1.FNUMBER = (CASE WHEN @MAINNUMBER != '' THEN @MAINNUMBER ELSE T1.FNUMBER END) - AND T1_L.FNAME = (CASE WHEN @MAINNAME != '' THEN @MAINNAME ELSE T1_L.FNAME END) - AND T2.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE T2.FNUMBER END) - AND T2_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE T2_L.FNAME END) \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/生产用料清单查询.sql b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/生产用料清单查询.sql deleted file mode 100644 index 1e71622..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/生产用料清单查询.sql +++ /dev/null @@ -1,192 +0,0 @@ - IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].TMP123123123123123') AND type IN ('U')) - DROP TABLE [dbo].TMP123123123123123 - GO - - declare @tableName varchar(80) - ,@seqFid varchar(80) - ,@proMaterialId int - ,@materialId int - ,@FBILLNO varchar(80) - ,@FPPBOMBILLNO varchar(80) - ,@FSALEORDERNO varchar(80) - ,@LCID int - - SET @tableName = 'TMP123123123123123' - SET @seqFid = 'ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID' - SET @proMaterialId = '' - SET @materialId = '' - SET @FBILLNO = '' - SET @FPPBOMBILLNO = '' - SET @FSALEORDERNO = '' - SET @LCID = 2052 - SELECT - --ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID--1.к - t0.FID - ,t0e.FSEQ - ,t0e.FENTRYID - ,t0.FDATE --2. - ,t0e.FPLANSTARTDATE--38.ƻ - ,t0e.FPLANFINISHDATE--39.ƻ깤 - ,t0e.FSALEORDERNO --4.۶ - ,t0.FBILLNO--7.񵥺 - ,t0e.FQTY--12.Ʒ - --,t0e.FSTOCKID--35.ֿ - --,t0e.FSTOCKLOCID--36.λ - ,t0e.FYIELDRATE - ,t0e.FROUTINGID - ,(CASE t0e_a.FSTATUS WHEN 6 THEN 'ѽ᰸'ELSE '' END) AS 'StatusIs6'--45.񵥽᰸ - ,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN 'Ʒ' WHEN 2 THEN 'Ʒ' WHEN 3 THEN 'Ʒ' ELSE '' END) AS 'PRODUCTTYPE'--43. - ,t0e.FMATERIALID AS 'ProMaterialId' - ,t1.FMNEMONICCODE AS 'ProMnemoniccode'--6. - ,t1.FNUMBER AS 'ProNumber'--8.Ʒ - ,t1_l.FNAME AS 'ProName'--9.Ʒ - ,t1_l.FSPECIFICATION AS 'ProSpecification'--10.Ʒͺ - ,t2_l.FUNITID AS 'PrdUnitId' - ,t2_l.FNAME AS 'ProUnitName'--11.Ʒλ - --,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'ProMaterialsrc' --15.Դ - INTO #TmpTable0 - FROM - T_PRD_MO t0 - INNER JOIN T_PRD_MOENTRY t0e on t0e.FID = t0.FID - INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID - LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0e.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0e.FMATERIALID AND t1_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0e.FUNITID AND t2_l.FLOCALEID = @LCID - LEFT JOIN ( - SELECT - t0e.FMOENTRYID - ,t0e.FMOENTRYSEQ - ,t0e.FMATERIALID - ,SUM(t0e_A.FBASESELINSPECTQTY) AS 'FBASESELINSPECTQTY'--ѡ - ,SUM(t0e_A.FBASEINSPECTQTY) AS 'FBASEINSPECTQTY' -- - ,SUM(t0e.FBASEFINISHQTY) AS 'FBASEFINISHQTY'-- - FROM T_PRD_MORPT t0 - INNER JOIN T_PRD_MORPTENTRY t0e on t0.FID = t0e.FID - INNER JOIN T_PRD_MORPTENTRY_A t0e_A on t0e_A.FENTRYID = t0e.FENTRYID - GROUP BY - t0e.FMOENTRYID - ,t0e.FMOENTRYSEQ - ,t0e.FMATERIALID - ) t3 on t3.FMATERIALID = t0e.FMATERIALID AND t3.FMOENTRYID = t0e.FENTRYID AND t3.FMOENTRYSEQ = t0e.FSEQ - WHERE - t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END) - AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END) - AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END) - --AND T1.FNUMBER = (CASE WHEN @MAINNUMBER != '' THEN @MAINNUMBER ELSE T1.FNUMBER END) - --AND T1_L.FNAME = (CASE WHEN @MAINNAME != '' THEN @MAINNAME ELSE T1_L.FNAME END) - - SELECT - t0e.FMOENTRYID - ,t0e.FMOENTRYSEQ - ,t0e.FMATERIALID - ,SUM(t0e_A.FBASESELINSPECTQTY) AS 'FBASESELINSPECTQTY'--ѡ - ,SUM(t0e_A.FBASEINSPECTQTY) AS 'FBASEINSPECTQTY' -- - ,SUM(t0e.FBASEFINISHQTY) AS 'FBASEFINISHQTY'-- - FROM T_PRD_MORPT t0 - INNER JOIN T_PRD_MORPTENTRY t0e on t0.FID = t0e.FID - INNER JOIN T_PRD_MORPTENTRY_A t0e_A on t0e_A.FENTRYID = t0e.FENTRYID - GROUP BY - t0e.FMOENTRYID - ,t0e.FMOENTRYSEQ - ,t0e.FMATERIALID - - SELECT - t1.* - ,t0.FBILLNO AS 'FPPBOMBILLNO'--3.Ͷϵ - ,t0e.FMATERIALID - ,(t0e.FNUMERATOR / t0e.FDENOMINATOR) AS 'FUnitNeedQty' --18.ϵλ - ,t0e.FNEEDQTY --22. - ,t0e.FUNITID - ,t0e.FBOMENTRYID - ,t0e_q.FBASEWIPQTY --23.ǰƷ - ,t0e_q.FPICKEDQTY --27. - ,t0e_q.FNOPICKEDQTY --28.δ - ,t0e.FSTDQTY --׼ --29.׼ - ,t0e.FMUSTQTY --Ӧ --30.Ӧ - ,t0e_l.FMEMO --31.ע - ,t0e_q.FPICKEDQTY * (100 - t1.FYIELDRATE) AS 'FLossQty'--32. - ,t0e_q.FSCRAPQTY --33. - ,t0e_q.FREPICKEDQTY --37. - ,t0.FWORKSHOPID - ,t0e_c.FSTOCKID - ,t0e_c.FSTOCKLOCID - ,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '' WHEN 'B' THEN '' WHEN 'C' THEN '' WHEN 'D' THEN '' WHEN 'Z' THEN 'ݴ' ELSE '' END) AS 'PPBOMStatus'--46.Ͷϵ״̬ - INTO #TmpTable1 - FROM - #TmpTable0 t1 - LEFT JOIN T_PRD_PPBOM t0 on t1.FID = t0.FMOID AND t0.FMOENTRYSEQ = t1.FSEQ AND t0.FMOENTRYSEQ = t1.FSEQ --嵥 - INNER JOIN T_PRD_PPBOMENTRY t0e ON t0.FID = t0e.FID - LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = t0e.FENTRYID --嵥ֱ - LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = t0e.FENTRYID - LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = t0e.FENTRYID AND t0e_l.FLOCALEID = @LCID - WHERE - T0.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE T0.FBILLNO END) - AND t0e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t0e.FMATERIALID END) - - SELECT - t0.* - ,t1.FNUMBER AS 'MaterialNumber'--8.ϱ - ,t1_l.FNAME AS 'MaterialName'--9. - ,t1_l.FSPECIFICATION AS 'MaterialSpecification'--10.Ϲͺ - ,t2_l.FNAME AS 'MaterialUnitName'--11.ϵλ - ,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.Դ - ,t4_l.FNAME AS 'WORKSHOPNAME' --44. - ,t1.FMASTERID - ,t1.FUSEORGID - ,t5_l.FMEMO AS 'BOMMEMO' --42.BOMע - ,t3_l.FNAME AS 'FSTOCKNAME' - into #TmpTable2 - FROM - #TmpTable1 t0 - LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0.FMATERIALID AND t1_l.FLOCALEID = @LCID - LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0.FUNITID AND t2_l.FLOCALEID = @LCID - LEFT JOIN T_BD_STOCK_L t3_l ON t3_l.FSTOCKID = t0.FSTOCKID AND t3_l.FLOCALEID =@LCID - LEFT JOIN T_BD_DEPARTMENT_L t4_l on t4_l.FDEPTID = t0.FWORKSHOPID AND t4_l.FLOCALEID = @LCID - LEFT JOIN T_ENG_BOMCHILD_L t5_l ON t5_l.FENTRYID = t0.FBOMENTRYID AND t5_L.FLOCALEID = @LCID - --WHERE - --t1.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE t1.FNUMBER END) - --AND t1_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE t1_L.FNAME END) - - SELECT - t0.* - ,t1.FBASEQTY - ,t2_l.FNAME AS 'ROUTENAME' - ,t3e_A.FBASEINVQTY - ,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.Ƿ - ,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.; - ,6 AS 'LOWEST6' - INTO #TmpTable3 - FROM - #TmpTable2 t0 - LEFT JOIN ( - SELECT - t0.FMATERIALID - ,t0.FSTOCKORGID - ,sum(t0.FBASEQTY) AS FBASEQTY - FROM - T_STK_INVENTORY t0 - GROUP BY - t0.FMATERIALID - ,t0.FSTOCKORGID - ) t1 on t1.FMATERIALID = t0.FMASTERID AND t1.FSTOCKORGID = t0.FUSEORGID - LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = t0.FROUTINGID AND t2_L.FLOCALEID = @LCID - LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FMOID = t0.FID AND t3e.FMOENTRYID = t0.FENTRYID AND t3e.FMOENTRYSEQ = t0.FSEQ AND t3e.FMATERIALIDSUB = t0.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID - LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID - - - exec(N' - SELECT - t0.* - ,' + @seqFid+ ' - INTO ' + @tableName + ' - FROM - #TmpTable3 t0 - ') - - drop table #TmpTable0 - drop table #TmpTable1 - drop table #TmpTable2 - drop table #TmpTable3 - - exec(N'SELECT * FROM '+ @tableName) \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/生产订单.sql b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/生产订单.sql deleted file mode 100644 index cda13e1..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/生产订单.sql +++ /dev/null @@ -1,10 +0,0 @@ -SELECT - A.FID - ,A.FBILLNO - ,AE.FPLANSTARTDATE --ƻʱ - ,AE.FPLANFINISHDATE --ƻ깤ʱ - ,AE.FPRODUCTTYPE -- - ,AE.FWORKSHOPID -- -FROM - T_PRD_MO A - LEFT JOIN T_PRD_MOENTRY AE ON A.FID = AE.FID \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/获取产品类型.sql b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/获取产品类型.sql deleted file mode 100644 index 379c122..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/获取产品类型.sql +++ /dev/null @@ -1,13 +0,0 @@ -CREATE FUNCTION GetProductTypeText(@docStatu int) -RETURNS varchar(10) --طֵ -as -BEGIN -declare @result varchar(10) -select @result = (CASE @docStatu - WHEN 1 THEN 'Ʒ' - WHEN 2 THEN 'Ʒ' - WHEN 3 THEN 'Ʒ' - ELSE '' - END) -RETURN @result -END \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/获取单据状态.sql b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/获取单据状态.sql deleted file mode 100644 index 3a17eba..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/SqlServer/获取单据状态.sql +++ /dev/null @@ -1,15 +0,0 @@ -create FUNCTION ReturnStatuText(@docStatu varchar(10)) -RETURNS varchar(10) --طֵ -as -BEGIN -declare @result varchar(10) -select @result = (CASE @docStatu - WHEN 'A' THEN '' - WHEN 'B' THEN '' - WHEN 'C' THEN '' - WHEN 'D' THEN '' - WHEN 'Z' THEN 'ݴ' - ELSE '' - END) -RETURN @result -END \ No newline at end of file diff --git a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/TablePlugIn.cs b/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/TablePlugIn.cs deleted file mode 100644 index af81205..0000000 --- a/03.珠海市汇威精密制造有限公司/ProductionMaterialsReport/TablePlugIn.cs +++ /dev/null @@ -1,344 +0,0 @@ -using Kingdee.BOS; -using Kingdee.BOS.Core.List; -using Kingdee.BOS.BusinessEntity.BillTrack; -using Kingdee.BOS.Core.DynamicForm; -using Kingdee.BOS.Core.DynamicForm.PlugIn; -using Kingdee.BOS.Core.List.PlugIn.Args; -using Kingdee.BOS.Core.Metadata; -using Kingdee.BOS.Core.Metadata.ConvertElement; -using Kingdee.BOS.Core.Metadata.EntityElement; -//using Kingdee.BOS.Core.Report.PlugIn; -//using Kingdee.BOS.Core.Report.PlugIn.Args; -using Kingdee.BOS.Orm.DataEntity; -using Kingdee.K3.Core.MFG.EntityHelper; -using Kingdee.BOS.Resource; -using System; -using System.Collections.Generic; -using System.Linq; -using Kingdee.BOS.BusinessEntity.BusinessFlow; -using Kingdee.BOS.Core.BusinessFlow.ServiceArgs; -using Kingdee.BOS.ServiceHelper; -using Kingdee.K3.MFG.ServiceHelper.SFC; - -namespace HW.ProductionMaterialsReport -{ - public class TablePlugIn : AbstractDynamicFormPlugIn - { - private readonly string _fromId; - - //public override void FormatCellValue(FormatCellValueArgs args) - //{ - // var billParam = new BillShowParameter(); - - //} - - //public override void CellDbClick(CellEventArgs args) - //{ - // base.CellDbClick(args); - - //} - private void ListShowFrom() - { - //ListShowParameter showParam = new ListShowParameter(); - //showParam.IsLookUp = false; - //showParam.OpenStyle.ShowType = ShowType.Modal; - //showParam.FormId = "YourFormId"; - //showParam.Width = 1000; - //showParam.Height = 600; - //showParam.IsShowQuickFilter = false; - - //ListRegularFilterParameter regularFilterPara = new ListRegularFilterParameter(); - //string filter = "YourFilterCondition"; - //regularFilterPara.Filter = filter; - //showParam.ListFilterParameter = regularFilterPara; - - //this.View.ShowForm(showParam); - } - - protected void TrckDown() - { - List selectedRows = this.GetSelectedRows(); - if (selectedRows.Count == 0) - { - this.View.ShowMessage(ResManager.LoadKDString("请选择需要下查的的分录!", "015649000004851", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - return; - } - ViewLinkDataParameter viewLinkDataParameter = this.BuildViewLinkDataParameter(); - ShowConvertOpFormEventArgs thirdConvertEventArgs = null; - List list = this.LoadConvertBills(viewLinkDataParameter, out thirdConvertEventArgs); - if (list == null || list.Count == 0) - { - this.View.ShowMessage(ResManager.LoadKDString("没有关联业务数据!", "015649000004852", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - return; - } - if (!this.ExistsTrackerData(viewLinkDataParameter, thirdConvertEventArgs)) - { - this.View.ShowMessage(ResManager.LoadKDString("没有关联业务数据!", "015649000004852", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - return; - } - this.ShowLookUpTrackerForm(viewLinkDataParameter, list, thirdConvertEventArgs); - } - - private bool ExistsTrackerData(ViewLinkDataParameter viewParameter, ShowConvertOpFormEventArgs thirdConvertEventArgs) - { - if (thirdConvertEventArgs.ReplaceRelations != null && thirdConvertEventArgs.ReplaceRelations.Count > 0) - { - return true; - } - if (viewParameter.Instances.Count == 0) - { - return false; - } - string formId = viewParameter.BillInfo.FormId; - foreach (KeyValuePair> keyValuePair in viewParameter.Instances) - { - string key = keyValuePair.Key; - List value = keyValuePair.Value; - TableDefine tableDefine = BusinessFlowServiceHelper.LoadTableDefine(this.View.Context, formId, key); - List list = new List(); - foreach (BusinessFlowInstance businessFlowInstance in value) - { - if (!this.ValidateInstance(businessFlowInstance, viewParameter.LookUpType, tableDefine.TableNumber)) - { - list.Add(businessFlowInstance); - } - } - foreach (BusinessFlowInstance item in list) - { - value.Remove(item); - } - } - foreach (KeyValuePair> keyValuePair2 in viewParameter.Instances) - { - List value2 = keyValuePair2.Value; - if (value2.Count > 0) - { - return true; - } - } - return false; - } - - private bool ValidateInstance(BusinessFlowInstance instance, ViewLinkDataParameter.Enum_LookUpType lookUpType, string tableNumber) - { - if (instance.FirstNode == null) - { - return false; - } - List list = instance.SerarchTargetFormNodes(tableNumber); - if (lookUpType == ViewLinkDataParameter.Enum_LookUpType.Down) - { - using (List.Enumerator enumerator = list.GetEnumerator()) - { - while (enumerator.MoveNext()) - { - RouteTreeNode routeTreeNode = enumerator.Current; - if (routeTreeNode.ChildNodes.Count > 0) - { - return true; - } - } - return false; - } - } - foreach (RouteTreeNode routeTreeNode2 in list) - { - if (routeTreeNode2.ParentNode != null) - { - return true; - } - } - return false; - } - - private FormMetadata _oplanMeta; - - protected FormMetadata OPlanMetaData - { - get - { - if (this._oplanMeta == null) - { - this._oplanMeta = (MetaDataServiceHelper.Load(this.View.Context, "SFC_OperationPlanning", true) as FormMetadata); - } - return this._oplanMeta; - } - } - - protected List LoadConvertBills(ViewLinkDataParameter viewParameter, out ShowConvertOpFormEventArgs thirdConvertEventArgs) - { - List list = ConvertServiceHelper.GetConvertBills(this.View.Context, FormOperationEnum.Push, viewParameter.BillInfo.FormId, false); - DynamicFormViewPlugInProxy service = this.View.GetService(); - thirdConvertEventArgs = new ShowConvertOpFormEventArgs(FormOperationEnum.TrackDown, list); - if (service != null) - { - new List(); - thirdConvertEventArgs.SelectedRows = this.GetSelectedEntityRows(); - list = (thirdConvertEventArgs.Bills as List); - } - if (list == null || list.Count == 0) - { - this.View.ShowMessage(ResManager.LoadKDString("从启用的单据转换流程中找不到可下查的单据", "015649000004854", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - return new List(); - } - return list; - } - - public ListSelectedRow[] GetSelectedEntityRows() - { - List list = new List(); - List selectedRows = this.GetSelectedRows(); - foreach (DynamicObject dynamicObject in selectedRows) - { - long dynamicObjectItemValue = dynamicObject.GetDynamicObjectItemValue("OperId", 0L); - list.Add(new ListSelectedRow(this.currNodeID, dynamicObjectItemValue.ToString(), 0, this._oplanMeta.Id) - { - EntryEntityKey = "FENTITY" - }); - } - if (list.Count == 0) - { - ListSelectedRow item = new ListSelectedRow(this.currNodeID, "0", 0, this._oplanMeta.Id); - list.Add(item); - } - return list.ToArray(); - } - - private ViewLinkDataParameter BuildViewLinkDataParameter() - { - if (!this.CheckSelectDataId() && this.GetSelectedRows().Count == 0) - { - this.View.ShowMessage(ResManager.LoadKDString("没有选择要下查的数据!", "015649000004853", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - return null; - } - Dictionary>> linkIds = this.GetLinkIds(); - ViewLinkDataParameter viewLinkDataParameter = new ViewLinkDataParameter(this.OPlanMetaData.Id, ViewLinkDataParameter.Enum_LookUpType.Down); - foreach (KeyValuePair>> keyValuePair in linkIds) - { - string key = keyValuePair.Key; - List> value = keyValuePair.Value; - foreach (Tuple tuple in value) - { - ViewLinkDataRowInfo item = new ViewLinkDataRowInfo(key, tuple.Item1, tuple.Item2); - viewLinkDataParameter.BillInfo.Rows.Add(item); - } - } - this.BuildInstanceParameter(viewLinkDataParameter, linkIds); - return viewLinkDataParameter; - } - - private string currNodeID = string.Empty; - - protected Dictionary>> GetLinkIds() - { - Dictionary>> dictionary = new Dictionary>>(); - List list = new List(); - List> list2 = new List>(); - long num = Convert.ToInt64(this.currNodeID); - list.Add(num); - list2.Add(new Tuple(num, num)); - dictionary.Add("FBILLHEAD", list2); - List list3 = new List(); - List> list4 = new List>(); - List selectedRows = this.GetSelectedRows(); - foreach (DynamicObject dynamicObject in selectedRows) - { - long dynamicObjectItemValue = dynamicObject.GetDynamicObjectItemValue("SeqId", 0L); - if (!list3.Contains(dynamicObjectItemValue)) - { - list3.Add(dynamicObjectItemValue); - list4.Add(new Tuple(num, dynamicObjectItemValue)); - } - } - if (list3.Count > 0) - { - dictionary.Add("FENTITY", list4); - } - return dictionary; - } - - - private bool CheckSelectDataId() - { - bool result = true; - object value = this.Model.GetValue("FOPlanID"); - if (value == null) - { - result = false; - this.View.ShowMessage(ResManager.LoadKDString("没有选择工序计划!", "015376000004785", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - } - long num = Convert.ToInt64(value); - if (num == 0L) - { - result = false; - this.View.ShowMessage(ResManager.LoadKDString("没有选择工序计划!", "015376000004785", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - } - if (!ShopWorkBenchServiceHelper.IsExistOPlan(base.Context, num)) - { - result = false; - this.View.ShowMessage(ResManager.LoadKDString("工序计划已经删除,请刷新界面或重新选择其他工序计划!", "015376000004804", SubSystemType.MFG, new object[0]), MessageBoxType.Notice); - } - return result; - } - - private void BuildInstanceParameter(ViewLinkDataParameter viewParameter, Dictionary>> allEntityIds) - { - string formId = viewParameter.BillInfo.FormId; - foreach (KeyValuePair>> keyValuePair in allEntityIds) - { - string key = keyValuePair.Key; - List> value = keyValuePair.Value; - List list = (from p in value - select p.Item2).ToList(); - BusinessFlowInstanceCollection businessFlowInstanceCollection = this.LoadInstances(this.View.Context, formId, key, list.ToArray()); - List list2 = new List(); - foreach (BusinessFlowInstance businessFlowInstance in businessFlowInstanceCollection) - { - if (businessFlowInstance.FirstNode != null) - { - list2.Add(businessFlowInstance); - } - } - if (list2.Count > 0) - { - viewParameter.Instances[key] = list2; - } - } - } - - public BusinessFlowInstanceCollection LoadInstances(Context ctx, string formId, string entityKey, long[] entityIds) - { - LoadInstancesByEntityIdArgs args = new LoadInstancesByEntityIdArgs(formId, entityKey, entityIds); - return BusinessFlowDataServiceHelper.LoadInstancesByEntityId(ctx, args); - } - - private bool ShowLookUpTrackerForm(ViewLinkDataParameter viewParamter, List convertBills, ShowConvertOpFormEventArgs thirdConvertEventArgs) - { - if (convertBills != null && convertBills.Count > 0) - { - string key = "LookUpTrackerParam"; - Dictionary dictionary = new Dictionary(); - dictionary["ViewParameter"] = viewParamter; - dictionary["ConvertBills"] = convertBills; - dictionary["PlugParam"] = thirdConvertEventArgs; - this.View.Session[key] = dictionary; - DynamicFormShowParameter dynamicFormShowParameter = new DynamicFormShowParameter(); - dynamicFormShowParameter.FormId = "BF_LookUpTracker"; - dynamicFormShowParameter.ParentPageId = this.View.PageId; - dynamicFormShowParameter.OpenStyle.ShowType = ShowType.Default; - this.View.ShowForm(dynamicFormShowParameter); - return true; - } - return false; - } - - private List GetSelectedRows() - { - EntryEntity entryEntity = this.View.BusinessInfo.GetEntryEntity("FDetailEntity"); - List list = new List(); - return (from w in this.Model.GetEntityDataObject(entryEntity) - where w.GetDynamicObjectItemValue("IsSelect", false) - select w).ToList(); - } - } -} diff --git a/05.长园/CYG.Python/CRM_Contract/BillEventPlugInEx.py b/05.长园/CYG.Python/CRM_Contract/BillEventPlugInEx.py new file mode 100644 index 0000000..309e67f --- /dev/null +++ b/05.长园/CYG.Python/CRM_Contract/BillEventPlugInEx.py @@ -0,0 +1,38 @@ +import clr +clr.AddReference("System") +clr.AddReference("Kingdee.BOS") +clr.AddReference("Kingdee.BOS.Core") +clr.AddReference("Kingdee.BOS.DataEntity") +clr.AddReference("Kingdee.BOS.App") +clr.AddReference("Kingdee.BOS.Contracts") +clr.AddReference("Kingdee.BOS.ServiceHelper") + +from Kingdee.BOS import * +from Kingdee.BOS.Core import * +from Kingdee.BOS.Core.Metadata.EntityElement 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.Util import * +from System import * +from System.ComponentModel import * +from System.Collections.Generic import * +from System.Text import* +from Kingdee.BOS.ServiceHelper import * + +def AfterCreateNewData(e): + details = this.View.BusinessInfo.GetEntity("FContractPlan") + entrys = this.View.Model.GetEntityDataObject(details) + dataJson = [{"name":"预付","FRecAdvanceRate":100} + ,{"name":"发货","FRecAdvanceRate":0} + ,{"name":"到货","FRecAdvanceRate":0} + ,{"name":"验收","FRecAdvanceRate":0} + ,{"name":"质保","FRecAdvanceRate":0}] + + if entrys != None and entrys.Count > 0: + for entry in entrys: + rowIndex = this.View.Model.GetRowIndex(details, entry) + if rowIndex > 4: + continue + entry["F_CYG_Text"] = dataJson[rowIndex]["name"] + entry["FRecAdvanceRate"] = dataJson[rowIndex]["FRecAdvanceRate"] \ No newline at end of file diff --git a/05.长园/CYG.Python/CRM_Contract/SQL/更新销售合同收款计划信息.sql b/05.长园/CYG.Python/CRM_Contract/SQL/更新销售合同收款计划信息.sql new file mode 100644 index 0000000..ae8f845 --- /dev/null +++ b/05.长园/CYG.Python/CRM_Contract/SQL/更新销售合同收款计划信息.sql @@ -0,0 +1,15 @@ +-- UPDATE t0 SET F_CYG_TEXT = (CASE t0.FSEQ WHEN 1 THEN '预付' WHEN 2 THEN '发货' WHEN 3 THEN '到货' WHEN 4 THEN '验收' WHEN 5 THEN '质保' END) +-- ,FRecAdvanceRate = (CASE t0.FSEQ WHEN 1 THEN 100 ELSE 0 END) + +SELECT F_CYG_TEXT + ,FRecAdvanceRate + ,(CASE t0.FSEQ + WHEN 1 THEN '预付' + WHEN 2 THEN '发货' + WHEN 3 THEN '到货' + WHEN 4 THEN '验收' + WHEN 5 THEN '质保' + END) + ,(CASE t0.FSEQ WHEN 1 THEN 100 ELSE 0 END) +FROM T_CRM_CONTRACTPLAN t0 +WHERE t0.F_CYG_TEXT = '' OR t0.F_CYG_TEXT IS NULL \ No newline at end of file diff --git a/05.长园/CYG.Python/CYG.Python.pyproj b/05.长园/CYG.Python/CYG.Python.pyproj index e66aa91..ba0e807 100644 --- a/05.长园/CYG.Python/CYG.Python.pyproj +++ b/05.长园/CYG.Python/CYG.Python.pyproj @@ -22,16 +22,20 @@ false + + + + diff --git a/05.长园/CYG/CYG.csproj b/05.长园/CYG/CYG.csproj index fd1845b..98e2350 100644 --- a/05.长园/CYG/CYG.csproj +++ b/05.长园/CYG/CYG.csproj @@ -30,6 +30,12 @@ prompt 4 + + true + + + CYGTEST.pfx + ..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.dll @@ -73,5 +79,8 @@ + + + \ No newline at end of file diff --git a/08.昶东/EastChanger/CustomsSyncVaildators.cs b/08.昶东/EastChanger/CustomsSyncVaildators.cs index 167ac73..f6ac359 100644 --- a/08.昶东/EastChanger/CustomsSyncVaildators.cs +++ b/08.昶东/EastChanger/CustomsSyncVaildators.cs @@ -24,7 +24,7 @@ namespace EastChanger private readonly int _syncModuleId; private readonly int _action; /// - /// + /// 自定义校验器 1.即时库存明细 2.物料入库单 3.成品出库单 4.盘盈单 5.盘亏单 /// /// 1.即时库存明细 2.物料入库单 3.成品出库单 4.盘盈单 5.盘亏单 /// 1.删除 diff --git a/09.宝锐/更新物料的换算比例.sql b/09.宝锐/更新物料的换算比例.sql new file mode 100644 index 0000000..4387873 --- /dev/null +++ b/09.宝锐/更新物料的换算比例.sql @@ -0,0 +1,6 @@ +-- UPDATE t0 SET t0.F_UNITIDHS = (CASE t1.FFORBIDSTATUS WHEN 'A' THEN t1.FCONVERTNUMERATOR ELSE 1 END) +SELECT t0.FMATERIALID,t0.F_UNITIDHS,t1.FCONVERTNUMERATOR + ,(CASE t1.FFORBIDSTATUS WHEN 'A' THEN t1.FCONVERTNUMERATOR ELSE 1 END) +FROM T_BD_MATERIAL t0 + INNER JOIN T_BD_UNITCONVERTRATE t1 on t0.FMATERIALID = t1.FMATERIALID +WHERE CONVERT(varchar,GETDATE(),23) = CONVERT(varchar,t0.FMODIFYDATE,23) \ No newline at end of file diff --git a/11.910华南洁能(中山)石化有限公司/910HNJNSH/910HNJNSH.csproj b/11.910华南洁能(中山)石化有限公司/910HNJNSH/910HNJNSH.csproj new file mode 100644 index 0000000..64ff6a1 --- /dev/null +++ b/11.910华南洁能(中山)石化有限公司/910HNJNSH/910HNJNSH.csproj @@ -0,0 +1,47 @@ + + + + + Debug + AnyCPU + {5524D5A7-AC74-421A-9CE6-813E2A0E4391} + Library + Properties + _910HNJNSH + 910HNJNSH + v4.0 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/11.910华南洁能(中山)石化有限公司/910HNJNSH/Class1.cs b/11.910华南洁能(中山)石化有限公司/910HNJNSH/Class1.cs new file mode 100644 index 0000000..77ca4d9 --- /dev/null +++ b/11.910华南洁能(中山)石化有限公司/910HNJNSH/Class1.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace _910HNJNSH +{ + public class Class1 + { + } +} diff --git a/11.910华南洁能(中山)石化有限公司/910HNJNSH/Properties/AssemblyInfo.cs b/11.910华南洁能(中山)石化有限公司/910HNJNSH/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..e220a21 --- /dev/null +++ b/11.910华南洁能(中山)石化有限公司/910HNJNSH/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("910HNJNSH")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("910HNJNSH")] +[assembly: AssemblyCopyright("Copyright © 2024")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("5524d5a7-ac74-421a-9ce6-813e2a0e4391")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/11.910华南洁能(中山)石化有限公司/HNJNSH910/GDHNJN.BusinessForm.BusinessPlugIn/ImportCommon.cs b/11.910华南洁能(中山)石化有限公司/HNJNSH910/GDHNJN.BusinessForm.BusinessPlugIn/ImportCommon.cs new file mode 100644 index 0000000..a7bd802 --- /dev/null +++ b/11.910华南洁能(中山)石化有限公司/HNJNSH910/GDHNJN.BusinessForm.BusinessPlugIn/ImportCommon.cs @@ -0,0 +1,982 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Linq; +using System.Text; +using Kingdee.BOS.App.Data; +using Kingdee.BOS.BusinessEntity; +using Kingdee.BOS.Core; +using Kingdee.BOS.Core.Bill; +using Kingdee.BOS.Core.DynamicForm; +using Kingdee.BOS.Core.DynamicForm.PlugIn; +using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; +using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel; +using Kingdee.BOS.Core.Interaction; +using Kingdee.BOS.Core.Metadata; +using Kingdee.BOS.Core.Metadata.FormElement; +using Kingdee.BOS.JSON; +using Kingdee.BOS.KDThread; +using Kingdee.BOS.Log; +using Kingdee.BOS.Orm; +using Kingdee.BOS.Orm.DataEntity; +using Kingdee.BOS.ServiceHelper; +using Kingdee.BOS.ServiceHelper.Excel; +using Kingdee.BOS.Util; + +namespace HNJNSH910.GDHNJN.BusinessForm.BusinessPlugIn +{ + [HotUpdate] + [Description("加油接口--上传文件")] + public class ImportCommon : AbstractDynamicFormPlugIn + { + private DataTable dtexcel; + + private string _filePath; + + private List _dataObjs; + + private IBillView _billView; + + private string importObjectId = ""; + + private string billTypeId = ""; + + private string btnStr = ""; + + private List coverBaseNumers; + + public override void ButtonClick(ButtonClickEventArgs e) + { + base.ButtonClick(e); + importObjectId = View.Model.GetValue("F_PCMT_importObjectId").ToString(); + billTypeId = View.Model.GetValue("F_PCMT_billTypeId").ToString(); + if ((btnStr = e.Key.ToUpperInvariant()) == null) + { + return; + } + + string text = btnStr; + if (!(text == "F_PCMT_IMPORTDATA")) + { + if (text == "F_PCMT_COVERIMPORTDATA" && IsNotNull()) + { + StartAsyncTaskAction(); + } + } + else if (IsNotNull()) + { + StartAsyncTaskAction(); + } + } + + private bool IsNotNull() + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + //IL_0007: Expected O, but got Unknown + ExcelOperation val = new ExcelOperation(); + DataSet val2 = null; + val2 = val.ReadFromFile(_filePath, 0, 0); + dtexcel = val2.Tables[0]; + if (dtexcel == null) + { + View.ShowMessage("没有找到模板请重新选择!"); + return false; + } + + return true; + } + + private void Import() + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + //IL_0007: Expected O, but got Unknown + ExcelOperation val = new ExcelOperation(); + DataSet val2 = null; + val2 = val.ReadFromFile(_filePath, 2, 1); + dtexcel = val2.Tables[0]; + string importIndexStr = GetImportIndexStr(); + List list = new List(); + for (int i = 0; i < ((InternalDataCollectionBase)dtexcel.Rows).Count; i++) + { + if (!list.Contains(dtexcel.Rows[i][importIndexStr])) + { + list.Add(dtexcel.Rows[i][importIndexStr].ToString()); + } + } + + _dataObjs = new List(); + foreach (string item in list) + { + DataRow[] array = dtexcel.Select(importIndexStr + "='" + item + "'"); + DataTable dt = DataTableExtensions.CopyToDataTable((IEnumerable)array); + ImportData(dt, importObjectId, billTypeId); + } + + OperateOption operateOption = OperateOption.Create(); + int num = _dataObjs.Count / 1000 + ((_dataObjs.Count % 1000 != 0) ? 1 : 0); + IOperationResult operationResult = null; + DynamicObject[] arrObjs = _dataObjs.ToArray(); + for (int j = 0; j < num; j++) + { + DynamicObject[] currentObjs = GetCurrentObjs(arrObjs, j, 1000); + IOperationResult operationResult2 = BusinessDataServiceHelper.Save(base.Context, _billView.BillBusinessInfo, currentObjs, operateOption, "Save"); + Logger.Info(importObjectId + " " + billTypeId + " 第" + (j + 1) + "批导入执行Save操作", "is true."); + if (operationResult == null) + { + operationResult = operationResult2; + Logger.Info(importObjectId + " " + billTypeId + " 第" + (j + 1) + "批导入执行Save操作", "is success."); + } + else + { + operationResult.MergeResult(operationResult2); + Logger.Info(importObjectId + " " + billTypeId + " 第" + (j + 1) + "批导入执行Save操作", "is success."); + } + } + + if (operationResult == null) + { + View.ShowErrMessage("未知原因导致单据保存失败!"); + Logger.Info(importObjectId + " " + billTypeId + "导入执行Save操作", "saveResult == null."); + return; + } + + if (operationResult.IsSuccess) + { + View.ShowOperateResult(operationResult.OperateResult); + Logger.Info(importObjectId + " " + billTypeId + "导入执行Save操作", "saveResult.IsSuccess == true."); + return; + } + + if (operationResult.InteractionContext != null && operationResult.InteractionContext.Option.GetInteractionFlag().Count > 0) + { + Logger.Info(importObjectId + " " + billTypeId + "导入执行Save操作", "saveResult.InteractionContext != null."); + } + + if (operationResult.IsShowMessage) + { + Logger.Info(importObjectId + " " + billTypeId + "导入执行Save操作", "saveResult.IsShowMessage."); + operationResult.MergeValidateErrors(); + View.ShowOperateResult(operationResult.OperateResult); + Logger.Info(importObjectId + " " + billTypeId + "导入执行Save操作", "saveResult.IsShowMessage执行完成."); + } + else + { + View.ShowMessage("上传完成"); + } + } + + private void CoverImport() + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + //IL_0007: Expected O, but got Unknown + ExcelOperation val = new ExcelOperation(); + DataSet val2 = null; + val2 = val.ReadFromFile(_filePath, 2, 1); + dtexcel = val2.Tables[0]; + string importIndexStr = GetImportIndexStr(); + List list = new List(); + for (int i = 0; i < ((InternalDataCollectionBase)dtexcel.Rows).Count; i++) + { + if (!list.Contains(dtexcel.Rows[i][importIndexStr])) + { + list.Add(dtexcel.Rows[i][importIndexStr].ToString()); + } + } + + _dataObjs = new List(); + coverBaseNumers = new List(); + foreach (string item in list) + { + DataRow[] array = dtexcel.Select(importIndexStr + "='" + item + "'"); + DynamicObjectCollection dynamicObjectCollection = CoverImportData(item, array); + if (dynamicObjectCollection == null || dynamicObjectCollection.Count == 0) + { + DataTable dt = DataTableExtensions.CopyToDataTable((IEnumerable)array); + ImportData(dt, importObjectId, billTypeId); + } + } + + OperateOption operateOption = OperateOption.Create(); + IOperationResult operationResult = null; + int num = _dataObjs.Count / 1000 + ((_dataObjs.Count % 1000 != 0) ? 1 : 0); + DynamicObject[] arrObjs = _dataObjs.ToArray(); + for (int j = 0; j < num; j++) + { + DynamicObject[] currentObjs = GetCurrentObjs(arrObjs, j, 1000); + IOperationResult operationResult2 = BusinessDataServiceHelper.Save(base.Context, _billView.BillBusinessInfo, currentObjs, operateOption, "Save"); + Logger.Info(importObjectId + " " + billTypeId + " 第" + (j + 1) + "批导入执行Save操作", "is true."); + if (operationResult == null) + { + operationResult = operationResult2; + Logger.Info(importObjectId + " " + billTypeId + " 第" + (j + 1) + "批导入执行Save操作", "is success."); + } + else + { + operationResult.MergeResult(operationResult2); + Logger.Info(importObjectId + " " + billTypeId + " 第" + (j + 1) + "批导入执行Save操作", "is success."); + } + } + + IOperationResult operationResult3 = null; + bool flag = false; + if (coverBaseNumers.Count != 0) + { + string text = ""; + foreach (string coverBaseNumer in coverBaseNumers) + { + if (operationResult3 == null) + { + text = text + "编码" + coverBaseNumer + ":修改覆盖完成!" + Environment.NewLine; + } + else + { + operationResult3.OperateResult.Add(new OperateResult + { + Name = coverBaseNumer, + Message = "覆盖完成", + MessageType = MessageType.Normal, + SuccessStatus = true + }); + operationResult.MergeResult(operationResult3); + } + } + + flag = true; + if (operationResult3 == null) + { + View.ShowMessage(text); + } + } + + if (operationResult == null) + { + if (!flag) + { + View.ShowErrMessage("未知原因导致单据保存失败!"); + Logger.Info(importObjectId + " " + billTypeId + "导入执行Save操作", "saveResult == null."); + return; + } + } + else + { + if (operationResult.IsSuccess) + { + View.ShowOperateResult(operationResult.OperateResult); + Logger.Info(importObjectId + " " + billTypeId + "导入执行Save操作", "saveResult.IsSuccess == true."); + return; + } + + if (operationResult.InteractionContext != null && operationResult.InteractionContext.Option.GetInteractionFlag().Count > 0) + { + Logger.Info(importObjectId + " " + billTypeId + "导入执行Save操作", "saveResult.InteractionContext != null."); + } + + if (operationResult.IsShowMessage) + { + Logger.Info(importObjectId + " " + billTypeId + "导入执行Save操作", "saveResult.IsShowMessage."); + operationResult.MergeValidateErrors(); + View.ShowOperateResult(operationResult.OperateResult); + Logger.Info(importObjectId + " " + billTypeId + "导入执行Save操作", "saveResult.IsShowMessage执行完成."); + return; + } + } + + View.ShowMessage("上传完成"); + } + + private DynamicObjectCollection CoverImportData(string billNo, DataRow[] dr) + { + DynamicObjectCollection dynamicObjectCollection = null; + switch (importObjectId) + { + case "BD_CUSTOMER": + dynamicObjectCollection = GetCoverBillObjs(billNo, "T_BD_CUSTOMER"); + if (dynamicObjectCollection != null && dynamicObjectCollection.Count != 0) + { + updateCust(dr, billNo); + if (!coverBaseNumers.Contains(billNo)) + { + coverBaseNumers.Add(billNo); + } + } + + break; + case "BD_MATERIAL": + dynamicObjectCollection = GetCoverBillObjs(billNo, "T_BD_MATERIAL"); + if (dynamicObjectCollection != null && dynamicObjectCollection.Count != 0) + { + updateMaterial(dr, billNo); + if (!coverBaseNumers.Contains(billNo)) + { + coverBaseNumers.Add(billNo); + } + } + + break; + case "WISE_ItemClass_3003": + dynamicObjectCollection = GetCoverBillObjs(billNo, "Wise_t_Cust100018"); + if (dynamicObjectCollection != null && dynamicObjectCollection.Count != 0) + { + updateOilCard(dr, billNo); + if (!coverBaseNumers.Contains(billNo)) + { + coverBaseNumers.Add(billNo); + } + } + + break; + } + + return dynamicObjectCollection; + } + + private DynamicObjectCollection GetCoverBillObjs(string billNo, string tableName) + { + List list = new List(); + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.AppendFormat("/*dialect*/select * from {0} where FNUMBER='{1}'", tableName, billNo); + return DBUtils.ExecuteDynamicObject(base.Context, stringBuilder.ToString(), null, null, (CommandType)1); + } + + private void updateCust(DataRow[] dr, string billNo) + { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.AppendFormat("/*dialect*/update T_BD_CUSTOMER_L set FNAME='{1}'\r\n from T_BD_CUSTOMER_L a\r\n inner join T_BD_CUSTOMER b on a.FCUSTID=b.FCUSTID\r\n where FNUMBER='{0}';\r\n\r\n update T_BD_CUSTOMER set FADDRESS ='{2}' ,FMODIFYDATE =GETDATE()\r\n from T_BD_CUSTOMER a\r\n where FNUMBER='{0}'", billNo, dr[0]["客户名称"].ToString(), dr[0]["地址"].ToString()); + DBUtils.Execute(base.Context, stringBuilder.ToString()); + } + + private void updateMaterial(DataRow[] dr, string billNo) + { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.AppendFormat("/*dialect*/update T_BD_MATERIAL_L set FNAME='{1}' ,FSPECIFICATION='{2}' \r\n from T_BD_MATERIAL_L a \r\n inner join T_BD_MATERIAL b on a.FMATERIALID=b.FMATERIALID \r\n where FNUMBER='{0}';\r\n --update t_BD_MaterialBase set FBASEUNITID=(select FUNITID from T_BD_UNIT_L where FNAME='xx' )\r\n --from t_BD_MaterialBase a\r\n --inner join T_BD_MATERIAL b on a.FMATERIALID=b.FMATERIALID \r\n --where b.FNUMBER='xx' ;", billNo, dr[0]["名称"].ToString(), dr[0]["规格型号"].ToString()); + DBUtils.Execute(base.Context, stringBuilder.ToString()); + } + + private void updateOilCard(DataRow[] dr, string billNo) + { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.AppendFormat("/*dialect*/update Wise_t_Cust100018 set F_103='{1}' ,F_104='{2}' \r\n from Wise_t_Cust100018 a \r\n where FNUMBER='{0}'", billNo, dr[0]["车牌号码"].ToString(), dr[0]["客户代码"].ToString()); + DBUtils.Execute(base.Context, stringBuilder.ToString()); + } + + private DynamicObject[] GetCurrentObjs(DynamicObject[] arrObjs, int startIndexBatch, int count) + { + if (arrObjs.Length < count) + { + return arrObjs; + } + + int num = startIndexBatch * count; + int num2 = num + (count - 1); + if (arrObjs.Length < num2) + { + num2 = arrObjs.Length - 1; + } + + Logger.Info("分批导入序号:", num + " -" + num2); + DynamicObject[] array = new DynamicObject[num2 - num + 1]; + for (int i = 0; i < num2 - num + 1; i++) + { + array[i] = arrObjs[num + i]; + } + + return array; + } + + private string GetImportIndexStr() + { + string result = ""; + switch (importObjectId) + { + case "BD_MATERIAL": + result = "代码"; + break; + case "BD_CUSTOMER": + result = "客户代码"; + break; + case "WISE_ItemClass_3003": + result = "卡片代码"; + break; + case "BD_Supplier": + result = "代码"; + break; + case "SAL_OUTSTOCK": + if (billTypeId == "SAL_OUTSTOCK_OIL") + { + result = "油单号"; + } + + if (billTypeId == "SAL_OUTSTOCK_SHOP") + { + result = "单据编号"; + } + + break; + case "STK_INSTOCK": + result = "单据编号"; + break; + } + + return result; + } + + public override void CustomEvents(CustomEventsArgs e) + { + if (e.Key.EqualsIgnoreCase("F_PCMT_FileUpdate")) + { + if (e.EventName.EqualsIgnoreCase("FILECHANGED")) + { + JSONObject jSONObject = KDObjectConverter.DeserializeObject(e.EventArgs); + if (jSONObject != null) + { + JSONArray jSONArray = new JSONArray(jSONObject["NewValue"].ToString()); + if (jSONArray.Count > 0) + { + string text = (jSONArray[0] as Dictionary)["ServerFileName"].ToString(); + if (CheckFile(text)) + { + _filePath = GetFilePath(text); + EnableButton("F_PCMT_ImportData", bEnable: true); + EnableButton("F_PCMT_CoverImportData", bEnable: true); + } + } + else + { + EnableButton("F_PCMT_ImportData", bEnable: false); + EnableButton("F_PCMT_CoverImportData", bEnable: false); + } + } + } + else if (e.EventName.EqualsIgnoreCase("STATECHANGED")) + { + JSONObject jSONObject2 = KDObjectConverter.DeserializeObject(e.EventArgs); + if (jSONObject2["State"].ToString() != "2") + { + EnableButton("F_PCMT_ImportData", bEnable: false); + EnableButton("F_PCMT_CoverImportData", bEnable: false); + } + } + } + + base.CustomEvents(e); + } + + private bool CheckFile(string fileName) + { + bool flag = false; + string[] array = fileName.Split('.'); + if (array.Length == 2 && (array[1].EqualsIgnoreCase("xls") || array[1].EqualsIgnoreCase("xlsx"))) + { + flag = true; + } + + if (!flag) + { + View.ShowWarnningMessage("请选择正确的文件进行引入。"); + } + + return flag; + } + + private void EnableButton(string key, bool bEnable) + { + View.GetControl