From eadd8ab5bb6f2c4503b7df5b4a917e3e7a985625 Mon Sep 17 00:00:00 2001
From: zhouhongjun <565221961@qq.com>
Date: Wed, 10 Jul 2024 16:13:37 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=9B=B6=E4=BB=B6=E6=B1=87?=
=?UTF-8?q?=E6=80=BB=E6=8A=A5=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../wwwroot/components/list/index.js | 15 +-
.../wwwroot/models/vmi/balance-part-count.js | 309 ++++++++++++++++++
.../wwwroot/router/business.js | 4 +
.../wwwroot/views/vmi/balance-part-count.js | 44 +++
.../Entities/BQ/VmiAppService.cs | 78 ++---
5 files changed, 406 insertions(+), 44 deletions(-)
create mode 100644 code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/balance-part-count.js
create mode 100644 code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/vmi/balance-part-count.js
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js
index 97d80a3a..6f41f19f 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js
@@ -553,14 +553,17 @@ export default {
const url = config.edit.exportUrl;
const method = config.edit.exportMethod;
const postData = buildQuery();
-
- postData.filters.push({
- logic: "and",
- column: "billNum",
- action: "equal",
- value: rows[0].billNum,
+
+ Object.keys(rows).forEach((o) => {
+ postData.filters.push({
+ logic: "or",
+ column: "billNum",
+ action: "equal",
+ value: rows[o].billNum,
+ });
});
+
await onClick(async () => {
const response = await request(url, postData, { method });
if (!response.errors) {
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/balance-part-count.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/balance-part-count.js
new file mode 100644
index 00000000..9a5849a4
--- /dev/null
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/balance-part-count.js
@@ -0,0 +1,309 @@
+import balanSchema from "./vmi.js";
+import { dayjs } from "element-plus";
+
+function balanceSchema() {
+ return {
+ title: "寄售库存",
+ type: "object",
+ properties: {
+ lu: {
+ title: "客户零件号",
+ type: "string",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+ partCode: {
+ title: "厂内零件号",
+ type: "string",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+ businessType: {
+ title: "业务类型",
+ type: "string",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+
+ BSEQty: {
+ title: "期初发货数量",
+ type: "string",
+ input: "number",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+ BRETQty: {
+ title: "期初退货数量",
+ type: "string",
+ input: "number",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+ SEQTY : {
+ title: "实际发货数量",
+ type: "string",
+ input: "number",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+ RETQty: {
+ title: "实际退货数量",
+ type: "string",
+ input: "number",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+ CANQty: {
+ title: "可结数量",
+ type: "string",
+ input: "number",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+
+ NOTQty: {
+ title: "不可结数量",
+ type: "string",
+ input: "number",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+
+ SE_SA_CAN_QTY: {
+ title: "有发有结有价格数量",
+ type: "string",
+ input: "number",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+
+ SE_SA_NOT_QTY: {
+ title: "有发有结无价格数量",
+ type: "string",
+ input: "number",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+
+ ONLY_SE_QTY: {
+ title: "有发运无结算数量",
+ type: "string",
+ input: "number",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+
+ ONLY_SA_QTY: {
+ title: "有结算无发运数量",
+ type: "string",
+ input: "number",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+ INVQty: {
+ title: "已开票数量",
+ type: "string",
+ input: "number",
+ rules: [
+ {
+ required: true,
+ },
+ ],
+ },
+ sebegin: {
+ title: "发运开始",
+ type: "datetime",
+
+ },
+ seend: {
+ title: "发运结束",
+ type: "datetime",
+
+ },
+ sabegin: {
+ title: "结算开始",
+ type: "datetime",
+
+ },
+ saend: {
+ title: "结算结束",
+ type: "datetime",
+
+ },
+
+
+ },
+ };
+}
+
+
+const schema = balanceSchema();
+
+const baseUrl = "settleaccount/vmi";
+const queryUrl = `${baseUrl}/get-receive-ship-sum`;
+const detailsUrl = `${baseUrl}/get/%s`;
+const createUrl = `${baseUrl}/create`;
+const updateUrl = `${baseUrl}/update/%s`;
+const deleteUrl = `${baseUrl}/delete-list`;
+const importUrl = `${baseUrl}/code-setting-upload-excel-import`;
+const exportUrl = `${baseUrl}/get-receive-ship-sum-export`;
+const queryMethod = "POST";
+const detailsMethod = "POST";
+const createMethod = "POST";
+const updateMethod = "POST";
+const deleteMethod = "POST";
+const importMethod = "POST";
+const exportMethod = "POST";
+
+export default function () {
+ return {
+ query: {
+ url: queryUrl,
+ method: queryMethod,
+ hasFilter: true,
+ schema: {
+ title: "寄售库存",
+ type: "object",
+ properties: {
+ filters: {
+ title: "项目",
+ type: "array",
+ hidden: true,
+ items: {
+ type: "object",
+ properties: {
+ logic: {
+ type: "int",
+ },
+ column: {
+ type: "string",
+ },
+ action: {
+ type: "int",
+ },
+ value: {
+ type: "string",
+ },
+ },
+ },
+ default: [
+ {
+ logic: "and",
+ column: "partCode",
+ action: "like",
+ value: null,
+ readOnly: true,
+ },
+ {
+ logic: "and",
+ column: "sebegin",
+ action: "biggerThanOrEqual",
+ value: null,
+ readOnly: true,
+ title: "发运开始",
+ clearable: false,
+ },
+ {
+ logic: "and",
+ column: "seend",
+ action: "smallThan",
+ value: null,
+ readOnly: true,
+ title: "发运结束",
+ clearable: false,
+ },
+ {
+ logic: "and",
+ column: "sabegin",
+ action: "biggerThanOrEqual",
+ value: null,
+ readOnly: true,
+ title: "结算开始",
+ clearable: false,
+ },
+ {
+ logic: "and",
+ column: "saend",
+ action: "smallThan",
+ value: null,
+ readOnly: true,
+ title: "结算结束",
+ clearable: false,
+ },
+
+
+ ],
+ },
+ skipCount: {
+ hidden: true,
+ default: 0,
+ },
+ maxResultCount: {
+ hidden: true,
+ default: 10,
+ },
+ sorting: {
+ hidden: true,
+ },
+ },
+ },
+ },
+ table: {
+ schema: schema,
+ },
+ edit: {
+ detailsUrl,
+ createUrl,
+ updateUrl,
+ deleteUrl,
+ importUrl,
+ exportUrl,
+ detailsMethod,
+ createMethod,
+ updateMethod,
+ deleteMethod,
+ importMethod,
+ exportMethod,
+ schema: schema,
+ },
+ };
+}
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js
index 86e0dcf7..4c8ebafa 100644
--- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js
@@ -473,6 +473,10 @@ export default [
...createPage("balance-month", "title=库存按月汇总查询"),
children: [createButton("query", "title=查询&isTop=true"), createButton("export", "title=导出&isTop=true&pattern=paged")],
},
+ {
+ ...createPage("balance-part-count", "title=发货零件汇总信息"),
+ children: [createButton("query", "title=查询&isTop=true"), createButton("export", "title=导出&isTop=true&pattern=paged")],
+ },
// {
// ...createPage("balance-sum", "title=库存余额报表查询"),
// children:
diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/vmi/balance-part-count.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/vmi/balance-part-count.js
new file mode 100644
index 00000000..e2b8aaf0
--- /dev/null
+++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/vmi/balance-part-count.js
@@ -0,0 +1,44 @@
+import AppList from "../../components/list/index.js";
+import html from "html";
+import { ref, onMounted, onUnmounted } from "vue";
+import { useRoute } from "vue-router";
+import { ElNotification } from "element-plus";
+import request from "../../request/index.js";
+
+export default {
+ components: { AppList },
+ template: html``,
+ setup() {
+ const config = ref(null);
+ const route = useRoute();
+ const onCommand = async (item, rows) => {
+ console.log(item.path, item, rows);
+ };
+ const showMessage = async (data) => {
+ await ElNotification.closeAll();
+ ElNotification({
+ position: "bottom-right",
+ title: "提示",
+ message: `待同步库存数量: ${data}`,
+ duration: 0,
+ });
+ };
+ const event = "VmiBalance";
+ onMounted(async () => {
+ const model = "vmi/balance-part-count";
+ const useConfig = (await import(`../../models/${model}.js`)).default;
+ config.value = useConfig(route.meta?.businessType, route.meta);
+ const result = await request("settleaccount/vmi-async-message/get-message-count", null, { method: "POST" });
+ if (!result.errors) {
+ //showMessage(result.data);
+ }
+ PubSub.subscribe(event, async (_, data) => {
+ if (route.path === "/vmi/balance") {
+ //showMessage(data);
+ }
+ });
+ });
+ onUnmounted(() => PubSub.unsubscribe(event));
+ return { config, onCommand };
+ },
+};
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs
index 84ab6f08..b7c09d25 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs
@@ -1721,46 +1721,48 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
///
[HttpPost]
- public async Task GetReceiveShipSum(string sebegin, string seend, string sabegin, string saend,string partcode)
+ public async Task GetReceiveShipSum(RequestDto input)
{
- ConcurrentBag bagList = new ConcurrentBag();
-
- List list = new List();
- list.Add(EnumBusinessType.JisBBAC);
- list.Add(EnumBusinessType.JisHBPO);
- list.Add(EnumBusinessType.MaiDanJianHBPO);
- list.Add(EnumBusinessType.MaiDanJianBBAC);
- list.Add(EnumBusinessType.BeiJian);
- list.Add(EnumBusinessType.ZhiGongJianHBPO);
- list.Add(EnumBusinessType.ZhiGongJianBBAC);
- list.Add(EnumBusinessType.YinDuJian);
-
- Parallel.ForEach(list, async chunk =>
- {
- var ls = await GetBusinessSum(this._serviceProvider, chunk, sebegin, seend, sabegin, saend).ConfigureAwait(false);
- foreach (var itm in ls)
- {
- bagList.Add(itm);
- }
- });
- var entities=bagList.ToList();
-
- IExporter _csv = new CsvExporter();
- IExporter _excel = new ExcelExporter();
- byte[] result = null;
- result = await _excel.ExportAsByteArray(entities).ConfigureAwait(false);
- result.ShouldNotBeNull();
- string _fileName = $"收发存汇总{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx";
- //保存导出文件到服务器存成二进制
- await _excelImportService.SaveBlobAsync(
- new SaveExcelImportInputDto
- {
- Name = _fileName,
- Content = result
- }
- ).ConfigureAwait(false);
- return _fileName;
+ return "";
+
+ // ConcurrentBag bagList = new ConcurrentBag();
+
+ // List list = new List();
+ // list.Add(EnumBusinessType.JisBBAC);
+ // list.Add(EnumBusinessType.JisHBPO);
+ // list.Add(EnumBusinessType.MaiDanJianHBPO);
+ // list.Add(EnumBusinessType.MaiDanJianBBAC);
+ // list.Add(EnumBusinessType.BeiJian);
+ // list.Add(EnumBusinessType.ZhiGongJianHBPO);
+ // list.Add(EnumBusinessType.ZhiGongJianBBAC);
+ // list.Add(EnumBusinessType.YinDuJian);
+
+ // Parallel.ForEach(list, async chunk =>
+ // {
+ // var ls = await GetBusinessSum(this._serviceProvider, chunk, sebegin, seend, sabegin, saend).ConfigureAwait(false);
+ // foreach (var itm in ls)
+ // {
+ // bagList.Add(itm);
+ // }
+ // });
+ //var entities=bagList.ToList();
+
+ // IExporter _csv = new CsvExporter();
+ // IExporter _excel = new ExcelExporter();
+ // byte[] result = null;
+ // result = await _excel.ExportAsByteArray(entities).ConfigureAwait(false);
+ // result.ShouldNotBeNull();
+ // string _fileName = $"收发存汇总{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx";
+ // //保存导出文件到服务器存成二进制
+ // await _excelImportService.SaveBlobAsync(
+ // new SaveExcelImportInputDto
+ // {
+ // Name = _fileName,
+ // Content = result
+ // }
+ // ).ConfigureAwait(false);
+ // return _fileName;