111
This commit is contained in:
parent
6835351a94
commit
bb755db86f
@ -134,5 +134,12 @@ namespace MyCode.Project.Domain.Model
|
||||
/// </summary>
|
||||
public string F_URXD_Date {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:采购订单的单据类型
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string FBILLTYPEID {get;set;}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -170,5 +170,12 @@ namespace MyCode.Project.Domain.Model
|
||||
/// </summary>
|
||||
public string FPurchaseOrgName {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:单据类型
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string FBILLTYPEID {get;set;}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
<!--新测试环境数据库 -->
|
||||
<!--<add name="MasterConn" connectionString="Data Source=127.0.0.1; Initial Catalog=AIS20250304232155; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=bfy" providerName="System.Data.SqlClient" />-->
|
||||
<add name="MasterConn" connectionString="Data Source=8.134.66.212,30003; Initial Catalog=xietong; User ID=meisaisi2;Password=ghjktyui126@#$; Connect Timeout=120; MultipleActiveResultSets=True;App=XieTong" providerName="System.Data.SqlClient" />
|
||||
<add name="MasterConn" connectionString="Data Source=8.210.205.196,30003; Initial Catalog=xietong; User ID=meisaisi2;Password=ghjktyui126@#$; Connect Timeout=120; MultipleActiveResultSets=True;App=XieTong" providerName="System.Data.SqlClient" />
|
||||
|
||||
<!--正式主库的链接地址-->
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
|
||||
<!-- 在第三方系统登录授权页面点击“生成测试链接”按钮后即可查看 -->
|
||||
|
||||
<add key="X-KDApi-AcctID" value="65edc24ab975db"/>
|
||||
<add key="X-KDApi-AcctID" value="2196398464252873728"/>
|
||||
|
||||
<!-- 第三方系统登录授权的 集成用户名称 -->
|
||||
|
||||
@ -38,15 +38,15 @@
|
||||
|
||||
<!-- 若第三方系统登录授权已勾选“允许全部用户登录”,则无以上限制 -->
|
||||
|
||||
<add key="X-KDApi-UserName" value="TiaoMa" />
|
||||
<add key="X-KDApi-UserName" value="Tiaoma" />
|
||||
|
||||
<!-- 第三方系统登录授权的 应用ID -->
|
||||
|
||||
<add key="X-KDApi-AppID" value="302967_20fp7YsL2kpWR9VG5Y3LSbUHzv3/SDmv"/>
|
||||
<add key="X-KDApi-AppID" value="310430_7c0J4wFGTODe640JX4RLVx0r6K6+7ANO"/>
|
||||
|
||||
<!-- 第三方系统登录授权的 应用密钥 -->
|
||||
|
||||
<add key="X-KDApi-AppSec" value="5e38f16711514126ae1511ca4ead3232"/>
|
||||
<add key="X-KDApi-AppSec" value="e008547257064fe99ace3d74eb0b0de5"/>
|
||||
|
||||
<!-- 账套语系,默认2052 -->
|
||||
|
||||
@ -56,11 +56,12 @@
|
||||
|
||||
<!--<add key="X-KDApi-OrgNum" value="*****"/>-->
|
||||
|
||||
<add key="TiaoMaUrl" value="http://8.130.121.29:5000/"/>
|
||||
|
||||
|
||||
<!-- 服务Url地址(私有云和公有云都须配置金蝶云星空产品地址,K3Cloud/结尾)-->
|
||||
|
||||
<add key="X-KDApi-ServerUrl" value="http://8.138.110.197/K3Cloud/"/>
|
||||
<add key="X-KDApi-ServerUrl" value="https://maxcess1.test.ik3cloud.com/k3cloud/"/>
|
||||
|
||||
<!--测试redis-->
|
||||
<add key="RedisAddress" value=",password=" />
|
||||
|
||||
|
@ -200,7 +200,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
var oldItem = oldItems.FirstOrDefault();
|
||||
if (oldItems.Count > 1)
|
||||
{
|
||||
oldItem= oldItems.Where(t=>t.MSSSupplierLot=="0" || t.MSSSupplierLot == null).FirstOrDefault(h=>h.FSupplierLot== FSupplierLot);
|
||||
oldItem= oldItems.Where(t=>t.MSSSupplierLot=="0" || t.MSSSupplierLot == null).FirstOrDefault();
|
||||
}
|
||||
if (oldItem == null)
|
||||
{
|
||||
|
@ -151,7 +151,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
queryParam = new BillQuery()
|
||||
{
|
||||
FormId = "PUR_PurchaseOrder",
|
||||
FieldKeys = $@"FID,FBillNo,FDate,FBILLTYPEID,FSUPPLIERID,FSupplierId.FNAME,FSupplierId,FSupplierId.FShortName,FModifyDate,FPurchaserId,FMaterialId,FPOOrderEntry_FEntryId
|
||||
FieldKeys = $@"FID,FBillNo,FDate,FBILLTYPEID,FBILLTYPEID.FName,FSUPPLIERID,FSupplierId.FNAME,FSupplierId,FSupplierId.FShortName,FModifyDate,FPurchaserId,FMaterialId,FPOOrderEntry_FEntryId
|
||||
,FSupplierLot,FLot,FBaseDeliveryMaxQty,FBaseJoinQty
|
||||
,FEntryNote,FBillAllAmount_LC,FMaterialId.FNAME,FQty,FEntryNote,FUnitId.fname,FDeliveryDate,FMaterialId.FSpecification,FPurchaserId.fname,FSupplierId.FNumber,FMaterialId.FNumber
|
||||
,FSettleCurrId.fname,FBillTaxAmount,FExchangeTypeId.fname,FExchangeRate,FEntryTaxRate,FPrice,FAllAmount,FEntryAmount,FEntryTaxAmount,FReceiveQty,FMRPCloseStatus
|
||||
@ -563,8 +563,9 @@ namespace MyCode.Project.Services.Implementation
|
||||
purchaseOrder.FModifyDate = item["FModifyDate"];
|
||||
purchaseOrder.FPurchaseOrgId= item["FPurchaseOrgId"];
|
||||
purchaseOrder.FPurchaseOrgName = item["FPurchaseOrgId.FName"];
|
||||
purchaseOrder.FBILLTYPEID = item["FBILLTYPEID"];
|
||||
_purchaseOrderRepository.Add(purchaseOrder);
|
||||
//if (purchaseOrder.FBillNo == "C20250401048")
|
||||
//if (purchaseOrder.FBillNo == "C20250401048")FBILLTYPEID
|
||||
//{
|
||||
// int kk = 8;
|
||||
//}
|
||||
@ -586,6 +587,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
oldOrder.FModifyDate = item["FModifyDate"];
|
||||
oldOrder.FPurchaseOrgId = item["FPurchaseOrgId"];
|
||||
oldOrder.FPurchaseOrgName = item["FPurchaseOrgId.FName"];
|
||||
oldOrder.FBILLTYPEID = item["FBILLTYPEID.FName"];
|
||||
_purchaseOrderRepository.Update(oldOrder);
|
||||
//if (oldOrder.FBillNo == "C20250401048")
|
||||
//{
|
||||
@ -631,7 +633,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
purchaseOrderItem.MSSSupplierLot = item["FLot"];
|
||||
purchaseOrderItem.SpecificationModel = item["FMaterialId.FSpecification"];
|
||||
purchaseOrderItem.F_TSPR_Text_qtr1 = item["F_TSPR_Text_qtr1"];
|
||||
purchaseOrderItem.FDEMANDBILLNO = item["FDEMANDBILLNO"];
|
||||
purchaseOrderItem.FDEMANDBILLNO = item["FBILLTYPEID.FName"];
|
||||
_purchaseOrderItemRepository.Add(purchaseOrderItem);
|
||||
}
|
||||
else
|
||||
@ -736,9 +738,194 @@ namespace MyCode.Project.Services.Implementation
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#region BatchAddInvoiceOrder(选中明细生成发货通知单)
|
||||
/// <summary>
|
||||
/// 选中明细生成发货通知单
|
||||
/// </summary>
|
||||
/// <param name="updateList"></param>
|
||||
/// <param name="loginInfo"></param>
|
||||
/// <exception cref="BaseException"></exception>
|
||||
[TransactionCallHandler]
|
||||
public string BatchAddInvoiceOrderNew(AddOrder act, LoginInfo loginInfo)
|
||||
{
|
||||
if (!act.FaHuoDate.HasValue)
|
||||
act.FaHuoDate = DateTime.Now;
|
||||
List<UpdateQty> updateList = act.UpDateList;
|
||||
string supplierId = loginInfo.SupplierId;
|
||||
var ids = updateList.Select(t => t.Id).ToList(); ;
|
||||
var listAll = _purchaseOrderItemRepository.Queryable().Where(t => t.SupplierId == supplierId && ids.Contains(t.Id)).ToList();
|
||||
var fidList = listAll.Select(t => t.Fid).ToList();
|
||||
var orderHeadList = _purchaseOrderRepository.Queryable().Where(t => fidList.Contains(t.FiD)).ToList();
|
||||
if (orderHeadList == null)
|
||||
{
|
||||
throw new BaseException("订单不属于此供应商");
|
||||
}
|
||||
var FPurchaseOrgIdList = orderHeadList.Select(t => t.FPurchaseOrgId).Distinct().ToList();
|
||||
if (FPurchaseOrgIdList.Count > 1)
|
||||
{
|
||||
throw new BaseException("不能跨采购组织创建发货通知单");
|
||||
}
|
||||
|
||||
if (loginInfo.IfForeign == 1 && string.IsNullOrWhiteSpace(act.F_VHUB_Text))
|
||||
{
|
||||
throw new BaseException("国外的供应商发票号和发票日期是必填.");
|
||||
}
|
||||
var caiGouLeiXingList = orderHeadList.Select(t => t.FBILLTYPEID).Distinct().ToList();
|
||||
List<InvoiceOrder> invoiceOrders = new List<InvoiceOrder>();
|
||||
caiGouLeiXingList.ForEach(leixing =>
|
||||
{
|
||||
var tempFids = orderHeadList.Where(h => h.FBILLTYPEID == leixing).Select(h => h.FiD).ToList();
|
||||
var list = listAll.Where(h => tempFids.Contains(h.Fid)).ToList();
|
||||
InvoiceOrder NewInvoiceOrder = new InvoiceOrder();
|
||||
NewInvoiceOrder.Id = Guid.NewGuid();
|
||||
NewInvoiceOrder.FiD = null;
|
||||
NewInvoiceOrder.Status = 1;
|
||||
NewInvoiceOrder.EditTime = DateTime.Now;
|
||||
NewInvoiceOrder.Editor = loginInfo.Name;
|
||||
NewInvoiceOrder.CreateTime = DateTime.Now;
|
||||
NewInvoiceOrder.Creater = loginInfo.Name;
|
||||
NewInvoiceOrder.SupplierId = supplierId;
|
||||
NewInvoiceOrder.SupplierName = orderHeadList.FirstOrDefault().SupplierName;
|
||||
NewInvoiceOrder.FDate = act.FaHuoDate;
|
||||
NewInvoiceOrder.Sheet = DateTime.Now.ToString("yyMMddhhmmssfff");
|
||||
NewInvoiceOrder.PurchaseOrderId = 0;
|
||||
NewInvoiceOrder.F_VHUB_Text = act.F_VHUB_Text;
|
||||
|
||||
NewInvoiceOrder.F_URXD_Date = act.F_URXD_Date;
|
||||
NewInvoiceOrder.FPurchaseOrgId = orderHeadList.FirstOrDefault().FPurchaseOrgId;
|
||||
NewInvoiceOrder.FPurchaseOrgName = orderHeadList.FirstOrDefault().FPurchaseOrgName;
|
||||
NewInvoiceOrder.FBILLTYPEID = leixing;
|
||||
List<InvoiceOrderItem> invoiceOrderItems = new List<InvoiceOrderItem>();
|
||||
//invoiceOrderItems=list.Select(t=>new InvoiceOrderItem {Id=Guid.NewGuid(), Amount1=t.Amount1, Amount2=t.Amount2,t })
|
||||
var allInvoiceOrderItem = _invoiceOrderItemRepository.Queryable().Where(t => ids.Contains(t.PurchaseOrderItemId.Value)).ToList();
|
||||
List<string> errorList = new List<string>();
|
||||
|
||||
string FormId = "PUR_PurchaseOrder";
|
||||
var entityIdList = list.Select(t => t.EntityId).ToList();
|
||||
BillPush billPush = new BillPush();
|
||||
billPush.EntryIds = string.Join(",", entityIdList);
|
||||
billPush.TargetFormId = "PUR_ReceiveBill";
|
||||
billPush.IsEnableDefaultRule = true;
|
||||
billPush.CustomParams = new CustomParams();
|
||||
billPush.CustomParams.AutoAudit = false;
|
||||
billPush.CustomParams.ScanEntry = new List<ScanEntry>();
|
||||
|
||||
List<AddTiaoMa> addTiaoMas = new List<AddTiaoMa>();
|
||||
|
||||
list.ForEach(t =>
|
||||
{
|
||||
//var allqty = allInvoiceOrderItem.Where(h => h.PurchaseOrderItemId == t.Id ).Sum(h => h.Qty).SafeValue();
|
||||
var temp = updateList.Where(h => h.Id == t.Id).FirstOrDefault();
|
||||
if (temp != null)
|
||||
{
|
||||
var purchaseOrder = orderHeadList.FirstOrDefault(h => h.FiD == t.Fid);
|
||||
if (purchaseOrder == null)
|
||||
throw new BaseException("找不到对应的采购订单主表信息");
|
||||
if ((temp.Qty) > (t.Qty - t.MSSReceiveQty))
|
||||
{
|
||||
string error = $@"{t.MaterialName}";
|
||||
errorList.Add(error);
|
||||
}
|
||||
//else if ((temp.Qty + allqty) == t.Qty)
|
||||
//{
|
||||
|
||||
//}
|
||||
else
|
||||
{
|
||||
InvoiceOrderItem invoiceOrderItemTemp = new InvoiceOrderItem();
|
||||
invoiceOrderItemTemp.Id = Guid.NewGuid();
|
||||
invoiceOrderItemTemp.InvoiceOrderId = NewInvoiceOrder.Id;
|
||||
invoiceOrderItemTemp.NewChengNuoJiaoQi = t.NewChengNuoJiaoQi;
|
||||
invoiceOrderItemTemp.ChengNuoJiaoQi = t.ChengNuoJiaoQi;
|
||||
invoiceOrderItemTemp.UnitPrice = t.UnitPrice;
|
||||
invoiceOrderItemTemp.PurchaseOrderId = t.Fid;
|
||||
invoiceOrderItemTemp.MaterialCode = t.MaterialCode;
|
||||
invoiceOrderItemTemp.MaterialName = t.MaterialName;
|
||||
invoiceOrderItemTemp.Amount1 = t.UnitPrice * temp.Qty;
|
||||
invoiceOrderItemTemp.Amount2 = t.UnitPrice * temp.Qty * t.TaxRate;
|
||||
invoiceOrderItemTemp.DeliveryDate = act.FaHuoDate;
|
||||
invoiceOrderItemTemp.Qty = temp.Qty;
|
||||
invoiceOrderItemTemp.Remark = t.Remark;
|
||||
invoiceOrderItemTemp.SpecificationModel = t.SpecificationModel;
|
||||
invoiceOrderItemTemp.TaxAmount = t.TaxAmount;
|
||||
invoiceOrderItemTemp.PurchaseOrderItemId = t.Id;
|
||||
invoiceOrderItemTemp.FSupplierLot = temp.FSupplierLot == null ? "" : temp.FSupplierLot;
|
||||
invoiceOrderItemTemp.MSSSupplierLot = t.MSSSupplierLot;
|
||||
invoiceOrderItemTemp.UnitName = t.UnitName;
|
||||
invoiceOrderItemTemp.FBillNo = purchaseOrder.FBillNo;
|
||||
invoiceOrderItemTemp.PurchaseEntityId = t.EntityId;
|
||||
invoiceOrderItems.Add(invoiceOrderItemTemp);
|
||||
ScanEntry tempUpdate = new ScanEntry();
|
||||
tempUpdate.Qty = (int)temp.Qty;
|
||||
tempUpdate.FENTRYID = t.EntityId.SafeValue();
|
||||
tempUpdate.FSupplierLot = temp.FSupplierLot;
|
||||
billPush.CustomParams.ScanEntry.Add(tempUpdate);
|
||||
billPush.CustomParams.FPH = act.F_VHUB_Text;
|
||||
billPush.CustomParams.F_URXD_Date = act.F_URXD_Date;
|
||||
if (string.IsNullOrWhiteSpace(billPush.CustomParams.F_URXD_Date))
|
||||
billPush.CustomParams.F_URXD_Date = null;
|
||||
t.FReceiveQty = t.FReceiveQty + temp.Qty;
|
||||
t.FRemainReceiveQty = t.FRemainReceiveQty - temp.Qty;
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
if (errorList.Count > 0)
|
||||
{
|
||||
string e = string.Join(",", errorList);
|
||||
if (loginInfo.IfForeign == 0)
|
||||
e = e + "的总发货数量大于总采购数量,请检查";
|
||||
else
|
||||
e = e + " The delivery QTY exceeds the PO's maximum QTY!";
|
||||
throw new BaseException(e);
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
var resultKD = _kingDeeService.Push(FormId, billPush);
|
||||
LogHelper.Info("推送收料订单");
|
||||
LogHelper.Info(resultKD);
|
||||
//var sda = resultKD.GetProperty("IsSuccess") [["SuccessEntitys"];
|
||||
dynamic data = JsonHelper.ToObject<dynamic>(resultKD);
|
||||
int row = 0;
|
||||
foreach (var item in data)
|
||||
{
|
||||
NewInvoiceOrder.FBillNo = item["Number"];
|
||||
NewInvoiceOrder.FiD = item["Id"];
|
||||
row++;
|
||||
}
|
||||
_invoiceOrderRepository.Add(NewInvoiceOrder);
|
||||
_invoiceOrderItemRepository.Add(invoiceOrderItems);
|
||||
_purchaseOrderItemRepository.Update(list);
|
||||
invoiceOrders.Add(NewInvoiceOrder);
|
||||
////物料编码,数量,收料通知单号,供应商批号,key
|
||||
//AddTiaoMa addTiao = new AddTiaoMa();
|
||||
|
||||
//addTiaoMas = invoiceOrderItems.Select(t => new AddTiaoMa {
|
||||
// FBarCode = $@"{t.MaterialCode}*{t.Qty.Value.ToString("F2")}*{NewInvoiceOrder.FBillNo}*{t.FSupplierLot}"
|
||||
//, FBarCodeRule= "03", FBillCode= NewInvoiceOrder.FBillNo, FSupplierLot=t.FSupplierLot==null?"": t.FSupplierLot, FMaterialId=t.MaterialCode, FQty=t.Qty.Value.ToString()
|
||||
//}).ToList();
|
||||
_workProcessService.Add<IInvoiceOrderService>(this.MerchantId, "SetMSSSupplierLot", "写入金蝶的美塞斯批号", NewInvoiceOrder.Sheet, 1);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.Error("推送收料订单出错");
|
||||
LogHelper.Error(ex);
|
||||
throw new BaseException(ex.Message);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return string.Join(",", invoiceOrders.Select(t=>t.Sheet).ToList());
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -24,7 +24,9 @@
|
||||
</httpProtocol>
|
||||
</system.webServer>
|
||||
<connectionStrings>
|
||||
<add name="MasterConn" connectionString="Data Source=8.148.230.89,30003; Initial Catalog=xietong; User ID=meisaisi2;Password=ghjktyui126@#$; Connect Timeout=120; MultipleActiveResultSets=True;App=XieTong" providerName="System.Data.SqlClient" />
|
||||
<!--<add name="MasterConn" connectionString="Data Source=8.210.205.196,30003; Initial Catalog=xietong; User ID=meisaisi2;Password=ghjktyui126@#$; Connect Timeout=120; MultipleActiveResultSets=True;App=XieTong" providerName="System.Data.SqlClient" />-->
|
||||
<add name="MasterConn" connectionString="Data Source=58.252.252.77,30003; Initial Catalog=xietong; User ID=meisaisi;Password=ghjktyui126@#$; Connect Timeout=120; MultipleActiveResultSets=True;App=XieTong" providerName="System.Data.SqlClient" />
|
||||
|
||||
<!--<add name="MasterConn" connectionString="Data Source=127.0.0.1; Initial Catalog=tempdata; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=XieTong" providerName="System.Data.SqlClient" />-->
|
||||
</connectionStrings>
|
||||
<appSettings>
|
||||
@ -66,7 +68,8 @@
|
||||
<!-- 服务Url地址(私有云和公有云都须配置金蝶云星空产品地址,K3Cloud/结尾)-->
|
||||
|
||||
<add key="X-KDApi-ServerUrl" value="https://maxcess1.test.ik3cloud.com/k3cloud/"/>
|
||||
<add key="TiaoMaUrl" value="http://8.130.121.29:5000/"/>
|
||||
|
||||
<add key="TiaoMaUrl" value="http://8.210.205.196:5000/"/>
|
||||
|
||||
|
||||
<!--测试redis-->
|
||||
|
Loading…
x
Reference in New Issue
Block a user