diff --git a/.drone.yml b/.drone.yml index 43d96ef8..11bcfef9 100644 --- a/.drone.yml +++ b/.drone.yml @@ -12,12 +12,11 @@ steps: image: mcr.microsoft.com/dotnet/sdk:6.0 commands: - cd ./build - - pwd - - ls - chmod 755 ./build.sh - # - ./build.sh + #- ./build.sh - mkdir publish - - echo "${DRONE_BUILD_NUMBER}-${DRONE_COMMIT_AUTHOR}-${DRONE_REPO_BRANCH}-${DRONE_COMMIT_SHA:0:8}">./publish/version.txt + - echo "${DRONE_BUILD_NUMBER}-${DRONE_COMMIT_AUTHOR}-${DRONE_REPO_BRANCH}-${DRONE_COMMIT_SHA:0:8}\n">./publish/version.txt + - echo ${DRONE_COMMIT_MESSAGE}>./publish/version.txt - ls publish # - name: publish @@ -41,57 +40,32 @@ steps: password: Microsoft@2022 command_timeout: 10m script: - - scp help - - cd D:/BQ-JS/test - # - stop.cmd + - cd /d/BQ-JS/publish + - ./stop.cmd + - sleep 3s - cd .. - - rm test -Recurse - - # - name: deploy - # image: cschlosser/drone-ftps - # environment: - # FTP_USERNAME: Administrator - # FTP_PASSWORD: Microsoft@2022 - # PLUGIN_SECURE: false - # PLUGIN_VERIFY: false - # PLUGIN_HOSTNAME: sftp://dev.ccwin-in.com:16085 - # PLUGIN_SRC_DIR: /build/publish - # PLUGIN_DEST_DIR: D:/BQ-JS/test - # PLUGIN_AUTO_CONFIRM: true - # PLUGIN_DEBUG: true - # PLUGIN_ONLY_NEWER: true + - rm -rf publish + - mkdir publish - name: deploy - image: appleboy/drone-scp + image: hypervtechnics/drone-sftp settings: host: dev.ccwin-in.com port: 16085 username: Administrator password: Microsoft@2022 - command_timeout: 10m - target: D:\BQ-JS\test - source: build/publish + source: ./build/publish + target: /d/BQ-JS/publish - # - name: deploy - # image: atmoz/sftp - # settings: - # host: dev.ccwin-in.com - # port: 16085 - # username: - # from_secret: username - # password: - # from_secret: password - # source: build/publish - # target: D:/BQ-JS/test -# - name: start -# image: appleboy/drone-ssh -# settings: -# host: dev.ccwin-in.com -# port: 16085 -# username: Administrator -# password: Microsoft@2022 -# command_timeout: 10m -# script: -# - cd D:/BQ-JS/test -# - start.cmd -# - echo ok + - name: start + image: appleboy/drone-ssh + settings: + host: dev.ccwin-in.com + port: 16085 + username: Administrator + password: Microsoft@2022 + command_timeout: 10m + script: + - cd /d/BQ-JS/publish + - ./start.cmd + - echo ok diff --git a/README.md b/README.md new file mode 100644 index 00000000..2fdc7a79 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# 说明 + +在提交中添加 [CI SKIP] 避免自动构建、发布和部署 diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/_check.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/_check.js index 2c307f43..a81d3104 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/_check.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/settle/_check.js @@ -243,7 +243,7 @@ export default { }, lu: { type: "string", - title: "零件号", + title: "客户零件号", }, partDesc: { type: "string", diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_SA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_SA_SERVICE.cs index e4027663..1416d7de 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_SA_SERVICE.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_SA_SERVICE.cs @@ -124,6 +124,10 @@ namespace Win.Sfs.SettleAccount.Entities.BQ /// /// 导入 /// + /// + /// 直供件BBAC、直供件HBPO、备件、印度件 + /// 业务结算数据导入 + /// [HttpPost] public async Task ImportAsync([FromForm] PUB_SAImportRequestDto pubSaImportRequestDto) { @@ -168,6 +172,12 @@ namespace Win.Sfs.SettleAccount.Entities.BQ /// /// 删除 /// + /// + /// 同时删除 + /// 结算主表、明细表 + /// 可结算主表、明细表 + /// 不可结算明细表(不可结算又没主表) + /// [HttpPost] public async Task DeleteListAsync(List ids) { @@ -230,6 +240,11 @@ namespace Win.Sfs.SettleAccount.Entities.BQ /// /// 直供件BBAC导入 /// + /// + /// 导入数据过滤 + /// * 筛选 Vendor 为15663496的数据 + /// HandleSaDetails方法处理导入的数据 + /// private async Task ImportZhiGongJianBBACAsync([FromForm] IFormFileCollection files) { #region 导入数据转换 @@ -359,6 +374,10 @@ namespace Win.Sfs.SettleAccount.Entities.BQ /// /// 数据校验 /// + /// + /// 验证结算分组号是否已存在 + /// 验证 + /// private async Task> CheckAsync(List pubSaDetails) { #region 数据校验 @@ -399,6 +418,11 @@ namespace Win.Sfs.SettleAccount.Entities.BQ /// /// 处理结算数据 /// + /// + /// 零件号(Lu)格式处理 + /// 零件号可能存在颜色码 颜色码和塑件码中间用同一用6个空格替换 + /// PN有0开头的数据过滤 '‘’符号 + /// private List HandleSaDetails(List pubSaDetails) { pubSaDetails.ForEach(pubSaDetail => @@ -419,6 +443,10 @@ namespace Win.Sfs.SettleAccount.Entities.BQ /// /// 结算数据分组Pn、Lu /// + /// + /// 导入文件中可能存在PN+LU相同的数据 + /// 根据PN+LU分组合计数量后导入 + /// private List GroupPnLu(List pubSaDetails) { return pubSaDetails.GroupBy(t => new { t.PN, t.LU }).Select(t => @@ -587,6 +615,11 @@ namespace Win.Sfs.SettleAccount.Entities.BQ /// /// 获取结算关联项 /// + /// + /// 根据结算主表Id获取关联的结算主表、结算明细表、可结算主表、可结算明细表、不可结算明细表要删除的数据 + /// 验证可结算主表状态 + /// 只有可结算主表状态为未结状态时才可以删除结算数据 + /// private async Task<(List pubSas, List pubSaDetails, List pubCanSas, List pubCanSaDetails, List pubNotSaDetails)> GetPubSaDelItemsAsync(Guid id) { //结算主表 diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/MaterialRelationships/MaterialRelationshipAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/MaterialRelationships/MaterialRelationshipAppService.cs index f0ada4a6..7b2c5eb9 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/MaterialRelationships/MaterialRelationshipAppService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/MaterialRelationships/MaterialRelationshipAppService.cs @@ -51,6 +51,10 @@ public class MaterialRelationshipAppService : SettleAccountApplicationBase /// 导入 /// + /// + /// 数据校验 + /// * 根据客户零件号分组判断是否有客户零件号重复的数据 + /// [HttpPost] public async Task ImportAsync([FromForm] MaterialRelationshipImportRequestDto materialRelationshipImportRequestDto) { diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppService.cs index 50b53d74..05f289c2 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppService.cs @@ -54,19 +54,19 @@ namespace Win.Sfs.SettleAccount.Entities.Prices } #region 导入、导出 - ///// - ///// 获取导入模板 - ///// - //[HttpPost("import-template")] - //public virtual async Task ImportTemplateAsync() - //{ - // await Task.CompletedTask; - // return new Microsoft.AspNetCore.Mvc.OkResult(); - //} - /// /// 导入 /// + /// + /// * 销售价格单筛选 Plant(客户编码) 为(1040、1046、104T)的数据 + /// * 客户零件号为 PartNo+6个空格+ES1+ES2 + /// * 根据 合同日期、客户编码、零件号、开始时间、结束时间分组导入(过滤重复数据) + /// 数据校验 + /// * 同一合同日期、客户编码、零件号 不能存在时间交集 + /// * 判断同一个零件号时间区间是否连续 + /// 作废旧合同日期的数据 + /// * 比较新导入的数据和数据库中老数据(同一零件号、旧合同日期的数据修改状态为作废) + /// [HttpPost] public virtual async Task ImportAsync([FromForm] IFormFileCollection files, string version) { @@ -247,6 +247,7 @@ namespace Win.Sfs.SettleAccount.Entities.Prices /// /// 修改实体 + /// 修改作废状态 /// [HttpPost] public async Task UpdateAsync(PriceListUpdateDto input) diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppServiceBJ.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppServiceBJ.cs index db748b59..45bba2cb 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppServiceBJ.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppServiceBJ.cs @@ -51,6 +51,16 @@ namespace Win.Sfs.SettleAccount.Entities.Prices /// /// 导入 /// + /// + /// * 备件价格单筛选 Plant(客户编码) 为(1049)的数据 + /// * 客户零件号为 PartNo+6个空格+ES1+ES2 + /// * 根据 合同日期、客户编码、零件号、开始时间、结束时间分组导入(过滤重复数据) + /// 数据校验 + /// * 同一合同日期、客户编码、零件号 不能存在时间交集 + /// * 判断同一个零件号时间区间是否连续 + /// 作废旧合同日期的数据 + /// * 比较新导入的数据和数据库中老数据(同一零件号、旧合同日期的数据修改状态为作废) + /// [HttpPost] public async Task ImportAsync([FromForm] IFormFileCollection files, string version) { @@ -58,9 +68,9 @@ namespace Win.Sfs.SettleAccount.Entities.Prices var _exportImporter = new ExportImporter(); var result = await _exportImporter.UploadExcelImportByHeadDesc(files, _excelImportService).ConfigureAwait(false); var filter = new List - { - "1049" - }; + { + "1049" + }; result = result.Where(p => filter.Contains(p.Plant)).ToList(); result.FindAll(t => !string.IsNullOrEmpty(t.ES1) || !string.IsNullOrEmpty(t.ES2)).ForEach(t => t.PartNo = t.PartNo + new string(' ', 6) + t.ES1 + t.ES2); var newPrice = ObjectMapper.Map, List>(result); diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Syncs/TM_BJBMPT_OTHER_RECORD.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Syncs/TM_BJBMPT_OTHER_RECORD.cs index d8db4a4d..22c7245f 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Syncs/TM_BJBMPT_OTHER_RECORD.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Syncs/TM_BJBMPT_OTHER_RECORD.cs @@ -11,7 +11,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs #if DEBUG [Table("TM_BJBMPT_OTHER_RECORD")] #else - [Table("EX_BJBMPT_JIS_RECORD")] + [Table("EX_BJBMPT_OTHER_RECORD")] #endif public class TM_BJBMPT_OTHER_RECORD { diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/JisBBACSaSeEdiCompareExportService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/JisBBACSaSeEdiCompareExportService.cs index 73da9782..8aad5ea4 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/JisBBACSaSeEdiCompareExportService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/JisBBACSaSeEdiCompareExportService.cs @@ -93,6 +93,7 @@ namespace SettleAccount.Job.Services.Report #region 结算数据处理 HandleSaDetails(saSeEdiCompareDiffs, businessType, version); + HandleSaDetailsMain(saSeEdiCompareDiffs, businessType, version); #endregion if (string.IsNullOrEmpty(lu) == false) diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/JisHBPOSaSeEdiCompareExportService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/JisHBPOSaSeEdiCompareExportService.cs index 0869466a..84ce98ef 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/JisHBPOSaSeEdiCompareExportService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/JisHBPOSaSeEdiCompareExportService.cs @@ -92,6 +92,7 @@ namespace SettleAccount.Job.Services.Report #region 结算数据处理 HandleSaDetails(saSeEdiCompareDiffs, businessType, version); + HandleSaDetailsMain(saSeEdiCompareDiffs, businessType, version); #endregion if (string.IsNullOrEmpty(lu) == false) diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SaSeEdiCompareExportBaseService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SaSeEdiCompareExportBaseService.cs index af8176a3..e7ed0253 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SaSeEdiCompareExportBaseService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SaSeEdiCompareExportBaseService.cs @@ -181,6 +181,7 @@ namespace SettleAccount.Job.Services.Report /// public virtual void HandleSaDetailsMain(List saSeEdiCompareDiff, EnumBusinessType businessType, int version) where T : SA_BASE { + return; var haveSaHaveSes = saSeEdiCompareDiff.FindAll(t => t.Category == EnumSaSeEdiCompareCategory.HaveSaHaveSeHaveEdi || t.Category == EnumSaSeEdiCompareCategory.HaveSaHaveSeNotHaveEdi); if (haveSaHaveSes.Any()) {