Piolot_Order_TH/ScheduleService/SaleOrderSumSicsAmountRefresh.cs
朱斌 a18026e5bc 新增定时属性销售订单累计核销金额字段,
修复发票反审核时没有刷新累计开票金额字段的问题,
修改累计开票金额取数逻辑

TODO:销售发票提交校验逻辑修改
2025-07-31 17:39:21 +08:00

67 lines
2.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using DocumentFormat.OpenXml.Bibliography;
using GZ_LTHPilot_ORDER.Service;
using Kingdee.BOS;
using Kingdee.BOS.Contracts;
using Kingdee.BOS.Core;
using Kingdee.BOS.Util;
using Kingdee.K3.FIN.App.Core.Match.Object;
using System;
using System.ComponentModel;
namespace GZ_LTHPilot_ORDER.ScheduleService
{
[Description("定时刷新销售订单累计开票金额#"), HotUpdate]
public class SaleOrderSumSicsAmountRefresh : IScheduleService
{
public void Run(Context ctx, Schedule schedule)
{
var advanceAays = GetAdvanceAays(schedule);
// 提前天的日期
var approvedDate = DateTime.Now.Date.AddDays(-advanceAays - 1);
// 销售发票服务
SaleSicsService saleSicsService = new SaleSicsService(ctx);
// TODO 获取前一天的发票数据
var sicsList = saleSicsService.GetSaleSiceListByApprovedDate(approvedDate);
SaleOrderService saleOrderService = new SaleOrderService(ctx);
foreach (var sice in sicsList)
{
var saleOrgId = sice["FSALEORGID"].ToString();
var contractNo = sice["contractNo"].ToString();
var saleOrderList = saleOrderService.GetSaleOrderByOrgIdAndContractNo(saleOrgId, contractNo);
if (saleOrderList.Count == 0)
{
continue;
}
var saleOrder = saleOrderList[0];
saleSicsService.UpdateSaleOrderSumSicsamountBySaleOrder(saleOrder);
}
}
/// <summary>
/// 参数获取提前天
/// </summary>
/// <param name="schedule"></param>
/// <returns></returns>
private int GetAdvanceAays(Schedule schedule)
{
// 参数获取提前天
var advanceAaysStr = schedule.Parameters;
int advanceAays;
try
{
advanceAays = Convert.ToInt32(advanceAaysStr);
if (advanceAays < 0)
{
throw new Exception();
}
}
catch (Exception)
{
throw new Exception("获取参数提前天失败参数格式为整数且大于等于0");
}
return advanceAays;
}
}
}