diff --git a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/SettleFisDiffDetailDapperRepository.cs b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/SettleFisDiffDetailDapperRepository.cs new file mode 100644 index 00000000..9507d467 --- /dev/null +++ b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/SettleFisDiffDetailDapperRepository.cs @@ -0,0 +1,162 @@ +using Dapper; +using Magicodes.ExporterAndImporter.Core; +using System; +using System.Collections.Generic; +using System.Data.Common; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Domain.Repositories.Dapper; +using Volo.Abp.EntityFrameworkCore; + +namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report +{ + public class SettleFisDiffDetail + { + [ExporterHeader(DisplayName = "年")] + public string Year { set; get; } + [ExporterHeader(DisplayName = "KENN号" )] + public string KENNCode { set; get; } + [ExporterHeader(DisplayName = "底盘号")] + public string ChassisNumber { set; get; } + [ExporterHeader(DisplayName = "车型" )] + public string Model { set; get; } + [ExporterHeader(DisplayName = "CP5A日期" )] + public string CP5A { set; get; } + [ExporterHeader(DisplayName = "CP7日期" )] + public string CP7 { set; get; } + [ExporterHeader(DisplayName = "零件号" )] + public string MaterialCode { set; get; } + [ExporterHeader(DisplayName = "结算数量" )] + public string SettleQty { set; get; } + [ExporterHeader(DisplayName = "M100状态" )] + public string WMSBillNum { set; get; } + [ExporterHeader(DisplayName = "M100数量" )] + public string Qty { set; get; } + [ExporterHeader(DisplayName = "差异")] + public string DiffQty { set; get; } + [ExporterHeader(DisplayName = "开票单价" )] + public string Price{ set; get; } + [ExporterHeader(DisplayName = "差异金额")] + public string DiffPrice{ set; get; } + [ExporterHeader(DisplayName = "SAP编码")] + public string SapCode { set; get; } + + } + public class SettleFisDiffSum + { + + // 物料组车型 SAP编码 零件号 结算数量 M100数量 差异总数 开票单价 差异金额 + + + [ExporterHeader(DisplayName = "物料组车型")] + public string MaterialCodeGroup { set; get; } + [ExporterHeader(DisplayName = "SAP编码")] + public string KENNCode { set; get; } + [ExporterHeader(DisplayName = "零件号")] + public string MaterialCode { set; get; } + + [ExporterHeader(DisplayName = "结算数量")] + public string SettleQty { set; get; } + [ExporterHeader(DisplayName = "M100状态")] + public string WMSBillNum { set; get; } + [ExporterHeader(DisplayName = "M100数量")] + public string Qty { set; get; } + [ExporterHeader(DisplayName = "差异数量")] + public string DiffQty { set; get; } + [ExporterHeader(DisplayName = "开票单价")] + public string Price { set; get; } + [ExporterHeader(DisplayName = "差异金额")] + public string DiffPrice { set; get; } + + } + public class SettleFisDiffDetailDapperRepository : DapperRepository, ITransientDependency + { + public SettleFisDiffDetailDapperRepository(IDbContextProvider dbContextProvider) : base(dbContextProvider) + { + + } + //public virtual List GetSumList(string state, string version, string year, string begintime, string endtime) + //{ + + // GetReportList(state, version, year, begintime, endtime); + + + //} + + + + + public virtual List GetReportList(string version, string year, string begintime, string endtime) + { + //年份 KENN号 底盘号 车型 CP5A日期 CP7日期 零件号 结算数量 M100状态 M100数量 差异 开票单价 差异金额 + + string _sql = + "SELECT\n" + +" a.*,\n" + +" ISnull( b.qty, 0 ) Qty,\n" + +" b.WMSBillNum,\n" + +" b.WMSState,\n" + +" Price,\n" + +" a.SettleQty - isnull( b.Qty, 0 ) DiffQty,(\n" + +" a.SettleQty - isnull( b.Qty, 0 ))* Price DiffPrice,\n" + +" d.CustomerPartCode SapCode \n" + +"FROM\n" + +" ( SELECT YEAR, KENNCode, ChassisNumber, Model, CP5A, CP7, MaterialCode, Qty SettleQty FROM Set_Settle WHERE version = '{0}' ) a\n" + +" LEFT JOIN (\n" + +" SELECT\n" + +" sum( qty ) Qty,\n" + +" KENNCode,\n" + +" ChassisNumber,\n" + +" ChassisNumber2,\n" + +" ItemCode,\n" + +" WMSBillNum,\n" + +" WMSState \n" + +" FROM\n" + +" Set_fis \n" + +" GROUP BY\n" + +" KENNCode,\n" + +" ChassisNumber,\n" + +" ChassisNumber2,\n" + +" ItemCode,\n" + +" WMSBillNum,\n" + +" WMSState \n" + +" ) b ON a.ChassisNumber = b.ChassisNumber2 \n" + +" AND a.KENNCode = b.KENNCode \n" + +" AND a.MaterialCode = b.ItemCode\n" + +" LEFT JOIN ( SELECT SUM( Amt )/ sum( Qty ) Price, MaterialCode FROM Set_Invoice WHERE version = '{0}' GROUP BY MaterialCode ) c ON a.MaterialCode = c.MaterialCode\n" + +" LEFT JOIN Set_material d ON a.MaterialCode = d.CustomerPartCode"; + + _sql = string.Format(_sql, version); + var _query = DbConnection.Query(_sql, null, null, true, 1200, null); + + return _query.ToList(); + + + + } + } + + + + + + + + + + + + + + + + + + + + + + +} diff --git a/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettleDiffDapperRepository.cs b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettleDiffDapperRepository.cs new file mode 100644 index 00000000..3a581541 --- /dev/null +++ b/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/UnSettleDiffDapperRepository.cs @@ -0,0 +1,131 @@ +using Dapper; +using Magicodes.ExporterAndImporter.Core; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Domain.Repositories.Dapper; +using Volo.Abp.EntityFrameworkCore; +using Win.Sfs.SettleAccount.Reports; + +namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report +{ + public class UnSettleDiff: ReportDetailBase + { + [ExporterHeader(DisplayName = "结算平台未结数量")] + public decimal Qty { set; get; } + [ExporterHeader(DisplayName = "大众R3未结数量")] + public decimal UNSettleQty { set; get; } + [ExporterHeader(DisplayName = "定价")] + public decimal Price { set; get; } + [ExporterHeader(DisplayName = "金额")] + public decimal Amt { set; get; } + [ExporterHeader(DisplayName = "差异")] + public decimal DiffQty { set; get; } + [ExporterHeader(DisplayName = "差异金额")] + public decimal DiffAmt { set; get; } + + //交货单号 实际发货日期 KENN号 底盘号 底盘格式整理 M100交货状态 物料号 物料描述 客户物料 组件组物料 组件组物料描述 物料组(车型) 结算平台未结数量 定价 金额 大众R3未结数量 差异 差异金额 + + + + } + public class UnSettleDiffDapperRepository : DapperRepository, ITransientDependency + { + public UnSettleDiffDapperRepository(IDbContextProvider dbContextProvider) : base(dbContextProvider) + { + + } + + public virtual List GetDiffReport(int type,string year, string begin, string end, string materialCode, string sapCode) + { + + + string str1 = "where 1=1 "; + +string sql1 = "SELECT\n" + + +" a.MaterialCode,\n" + +" a.KENNCode,\n" + +" a.ChassisNumber,\n" + +" a.qty unsettleQty,\n" + +" b.qty \n" + +" a.Cp5Time \n"+ + +"FROM\n" + +" Set_unsettle a\n" + +" LEFT JOIN (\n" + +" SELECT\n" + +" ItemCode,\n" + +" KENNCode,\n" + +" ChassisNumber2,\n" + +" sum( qty ) qty \n" + +" FROM\n" + +" Set_fis \n" + +" WHERE\n" + +" state = 0 \n" + +" OR state = 4 \n" + +" GROUP BY\n" + +" ItemCode,\n" + +" KENNCode,\n" + +" ChassisNumber2 \n" + +" ) b ON a.ChassisNumber = b.ChassisNumber2 \n" + +" AND a.MaterialCode = b.ItemCode \n" + +" AND a.KENNCode = b.KENNCode {0}"; + + + + string sql2 = + "SELECT\n" + + " a.*,\n" + + " b.Qty unsettleQty \n" + + "FROM\n" + + " (\n" + + " SELECT\n" + + " WMSState,\n" + + " WMSBillNum,\n" + + " ItemCode,\n" + + " KENNCode,\n" + + " ChassisNumber2,\n" + + " sum( qty ) qty,\n" + + " ErpMaterialCode,\n" + + " ChassisNumber \n" + + " FROM\n" + + " Set_fis \n" + + " WHERE\n" + + " state = 0 \n" + + " GROUP BY\n" + + " ItemCode,\n" + + " KENNCode,\n" + + " ChassisNumber2,\n" + + " WMSState,\n" + + " WMSBillNum,\n" + + " ErpMaterialCode,\n" + + " ChassisNumber \n" + + " Cp5Time \n" + + " ) a\n" + + " LEFT JOIN Set_unsettle b ON a.ChassisNumber2 = b.ChassisNumber \n" + + " AND b.MaterialCode = a.ItemCode \n" + + " AND a.KENNCode = b.KENNCode {0}"; + + + string _sql = string.Empty; + if (type == 1 ) + { + _sql = string.Format(sql2, str1); + + } + else + { + _sql = string.Format(sql1, str1); + + } + + var _query = DbConnection.Query(_sql); + return _query.ToList(); + + } + } +} diff --git a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SettleFisDiffExportService.cs b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SettleFisDiffExportService.cs new file mode 100644 index 00000000..fae4d798 --- /dev/null +++ b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SettleFisDiffExportService.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using TaskJob.EventArgs; +using TaskJob.Interfaces; +using Volo.Abp.DependencyInjection; +using Win.Sfs.SettleAccount.Reports.SettledPartAndErpPartPriceDiffs; +using Win.Sfs.SettleAccount.Repository.Report; +using Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report; + +namespace SettleAccount.Job.Services.Report +{ + public class SettleFisDiffExportService : ITransientDependency, IExportJob + { + + private readonly SettleFisDiffDetailDapperRepository _dapper; + private readonly OutputService _outputService; + + public SettleFisDiffExportService(SettleFisDiffDetailDapperRepository dapper, OutputService outputService) + { + _dapper = dapper; + _outputService = outputService; + } + + + public string ExportFile(Guid id, List exportName, List p_list) + { + //var year = p_list.Where(p => p.Name == "Year").FirstOrDefault().Value; + //var state = p_list.Where(p => p.Name == "State").FirstOrDefault().Value; + var version = p_list.Where(p => p.Name == "Version").FirstOrDefault().Value; + var customerCode = p_list.Where(p => p.Name == "CustomerCode").FirstOrDefault().Value; + var begin = p_list.Where(p => p.Name == "BeginTime").FirstOrDefault().Value; + var end = p_list.Where(p => p.Name == "EndTime").FirstOrDefault().Value; + var _list= _dapper.GetReportList(version,string.Empty,begin,end); + _outputService.Export(id,string.Format("3.大众准时化结算数量差异比对表_{0}.xlsx", Guid.NewGuid().ToString()), _list); + return id.ToString(); + + } + } +} diff --git a/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs new file mode 100644 index 00000000..f21311c3 --- /dev/null +++ b/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using TaskJob.EventArgs; +using TaskJob.Interfaces; +using Volo.Abp.DependencyInjection; +using Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report; + +namespace SettleAccount.Job.Services.Report +{ + public class UnSettleDiffExportService : ITransientDependency, IExportJob + { + private readonly UnSettleDiffDapperRepository _dapper; + private readonly OutputService _outputService; + + public UnSettleDiffExportService(UnSettleDiffDapperRepository dapper, OutputService outputService) + { + _dapper = dapper; + _outputService = outputService; + } + + public string ExportFile(Guid id, List exportName, List p_list) + { + var type = p_list.Where(p => p.Name == "Type").FirstOrDefault().Value; + var year = p_list.Where(p => p.Name == "Year").FirstOrDefault().Value; + var materialCode = p_list.Where(p => p.Name == "MaterialCode").FirstOrDefault().Value; + var sapCode = p_list.Where(p => p.Name == "SapMaterialCode").FirstOrDefault().Value; + + var beginTime = p_list.Where(p => p.Name == "BegingTime").FirstOrDefault().Value; + var endTime = p_list.Where(p => p.Name == "EndTime").FirstOrDefault().Value; + + var _first = exportName.FirstOrDefault(); + var _ls = new List(); + _ls = _dapper.GetDiffReport(int.Parse(type),year,beginTime,endTime, materialCode,sapCode); + var _id = Guid.NewGuid(); + + + + + List _lsExport = new List(); + //foreach (var itm in _ls) + //{ + // var dto = new FISExportDto() + // { + // ChassisNumber = itm.ChassisNumber, + // ChassisNumber2 = itm.ChassisNumber2, + // CP5Time = itm.CP5Time, + // ItemCode = itm.ItemCode, + // CP7Time = itm.CP7Time, + // KENNCode = itm.KENNCode, + // OrderBillNum = itm.OrderBillNum, + // //Model = itm.Model, + // SequenceNumber = itm.SequenceNumber, + // ErpMaterialCode = itm.ErpMaterialCode, + // SettledQty = itm.SettledQty, + // //State = itm.State, + // Qty = itm.Qty, + // Version = itm.Version, + + // }; + + + + + + + // _lsExport.Add(dto); + //} + _outputService.Export(id, _first, _lsExport); + return id.ToString(); + } + } +} diff --git a/src/Modules/SettleAccount/src/SettleAccount.Job/SettleAccountJobModule.cs b/src/Modules/SettleAccount/src/SettleAccount.Job/SettleAccountJobModule.cs index 03164267..15c76cde 100644 --- a/src/Modules/SettleAccount/src/SettleAccount.Job/SettleAccountJobModule.cs +++ b/src/Modules/SettleAccount/src/SettleAccount.Job/SettleAccountJobModule.cs @@ -102,6 +102,11 @@ namespace Win.Sfs.SettleAccount { return implementationFactory.GetService(); } + + if (key.Equals(typeof(SettleFisDiffExportService).FullName)) + { + return implementationFactory.GetService(); + } else { diff --git a/src/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.csproj.AssemblyReference.cache b/src/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.csproj.AssemblyReference.cache index 5875492b..cf20a4fd 100644 Binary files a/src/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.csproj.AssemblyReference.cache and b/src/Shared/Win.Sfs.Shared/obj/Debug/netcoreapp5/Win.Sfs.Shared.csproj.AssemblyReference.cache differ diff --git a/src/Shared/Win.Utils/obj/Debug/netcoreapp5/Win.Utils.csproj.AssemblyReference.cache b/src/Shared/Win.Utils/obj/Debug/netcoreapp5/Win.Utils.csproj.AssemblyReference.cache index f5e894ae..1fbf501f 100644 Binary files a/src/Shared/Win.Utils/obj/Debug/netcoreapp5/Win.Utils.csproj.AssemblyReference.cache and b/src/Shared/Win.Utils/obj/Debug/netcoreapp5/Win.Utils.csproj.AssemblyReference.cache differ diff --git a/vue/src/views/pg-fis/basedate/assemblyCfg/index.vue b/vue/src/views/pg-fis/basedate/assemblyCfg/index.vue index daa791cc..038670b9 100644 --- a/vue/src/views/pg-fis/basedate/assemblyCfg/index.vue +++ b/vue/src/views/pg-fis/basedate/assemblyCfg/index.vue @@ -41,8 +41,11 @@ style="margin-right: 15px" @change="valueselectChange" > - - + @@ -221,7 +224,7 @@ - + @@ -242,11 +245,17 @@ - + > + + @@ -428,6 +437,9 @@ export default { erpAssemblyCode: undefined, erpAssemblyName: undefined, }, + vehicleModelQuery:{ + dicTypeName:"派格车型", + }, form:{ details:[] }, @@ -444,7 +456,8 @@ export default { dialogFormVisible: false, tableHeight: document.documentElement.clientHeight - 280, detailTableHeight:250, - details:[] //修改子表数据源 + details:[], //修改子表数据源 + vehicleModelList:[],//车型list }; }, mounted() { @@ -458,6 +471,7 @@ export default { }); }, created() { + this.getvehicleModel(); this.getList(); }, computed: { @@ -548,6 +562,7 @@ export default { this.isEdit = false; this.form = {}; this.details = []; + //this.getvehicleModel(); this.dialogFormVisible = true; }, /** 修改 */ @@ -555,6 +570,7 @@ export default { this.formTitle = "修改"; this.isEdit = true; this.details = []; + //this.getvehicleModel(); if (this.multipleSelection.length != 1) { this.$message({ message: "编辑必须选择单行", @@ -661,7 +677,9 @@ export default { this.listQuery.ErpAssemblyName = ""; this.listQuery.ErpAssemblyCode = ""; this.listQuery.vehicleModelCode = ""; + this.getvehicleModel(); this.handleQuery(); + }, /** 搜索按钮操作 */ handleQuery() { @@ -690,7 +708,9 @@ export default { } }, + /*添加明细空行*/ handleAddDetails() { + this.$forceUpdate(); if (this.form.details === undefined) { this.form.details = []; //console.log(679); @@ -815,6 +835,20 @@ export default { this.$refs.multipleTable.clearSelection(); this.$refs.multipleTable.toggleRowSelection(row); }, + getvehicleModel() + { + this.$axios + .gets( + "/api/newjit/dic/list",this.vehicleModelQuery + ) + .then((response) => { + //console.log(response); + this.vehicleModelList = response.item; + //console.log() + }) + .catch(() => { + }); + }, }, }; diff --git a/vue/src/views/pg-fis/basedate/m100BIll/index.vue b/vue/src/views/pg-fis/basedate/m100BIll/index.vue index c47eaffd..6121f3e8 100644 --- a/vue/src/views/pg-fis/basedate/m100BIll/index.vue +++ b/vue/src/views/pg-fis/basedate/m100BIll/index.vue @@ -19,9 +19,11 @@ style="margin-right: 15px" @change="ptypeselectChange" > - - - + @@ -34,10 +36,10 @@ @change="valueselectChange" > + :value="item.id"/> @@ -269,10 +271,10 @@ > - + @@ -282,19 +284,25 @@ - + + > + + - + @@ -303,10 +311,10 @@ - + @@ -341,7 +349,7 @@ element-loading-text="拼命加载中..." element-loading-spinner="el-icon-loading" class="cr-table" - :data="form.details" + :data="form.leftdetails" :height="detailTableHeight" :cell-style="cellStyle" :header-cell-style="headerRowStyle" @@ -353,15 +361,15 @@ @row-click="handleRowClick" > - - + + - - + +