From 03821fb0981ec520b728afb09b260ed96c93a0cf Mon Sep 17 00:00:00 2001
From: yibo <361071264@qq.com>
Date: Thu, 12 Aug 2021 13:55:04 +0800
Subject: [PATCH] bug
---
ButcherFactory.BO/ButcherFactory.BO.csproj | 1 -
ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs | 2 +-
ButcherFactory.BO/LocalBL/SegmentSaleOutBL.cs | 237 ------------------
3 files changed, 1 insertion(+), 239 deletions(-)
delete mode 100644 ButcherFactory.BO/LocalBL/SegmentSaleOutBL.cs
diff --git a/ButcherFactory.BO/ButcherFactory.BO.csproj b/ButcherFactory.BO/ButcherFactory.BO.csproj
index 08f0bf8..65f1797 100644
--- a/ButcherFactory.BO/ButcherFactory.BO.csproj
+++ b/ButcherFactory.BO/ButcherFactory.BO.csproj
@@ -91,7 +91,6 @@
-
diff --git a/ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs b/ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs
index 5301468..c8dae1b 100644
--- a/ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs
+++ b/ButcherFactory.BO/LocalBL/CarcassSaleOutBL.cs
@@ -252,7 +252,7 @@ namespace ButcherFactory.BO.LocalBL
{
var delete = new DQDeleteDom(typeof(CarcassSaleOut_Detail));
delete.Where.Conditions.Add(DQCondition.EQ("ID", id));
- delete.EExecute();
+ session.ExecuteNonQuery(delete);
}
public static void AddAndUpdate(CarcassSaleOut_Detail detail, int flag,DateTime? productTime)
diff --git a/ButcherFactory.BO/LocalBL/SegmentSaleOutBL.cs b/ButcherFactory.BO/LocalBL/SegmentSaleOutBL.cs
deleted file mode 100644
index 1b91d70..0000000
--- a/ButcherFactory.BO/LocalBL/SegmentSaleOutBL.cs
+++ /dev/null
@@ -1,237 +0,0 @@
-using ButcherFactory.BO.Utils;
-using Forks.EnterpriseServices.DomainObjects2;
-using Forks.EnterpriseServices.DomainObjects2.DQuery;
-using Forks.JsonRpc.Client;
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace ButcherFactory.BO.LocalBL
-{
- public static class SegmentSaleOutBL
- {
- const string RpcPath = @"/MainSystem/B3Sale/Rpcs/";
- const string MESPath = @"/MainSystem/B3ClientService/Rpcs/";
- public static BindingList GetSaleOutStoreList(DateTime sendDate, long? deliverGoodsLineID, long? customerID, int billState, long? storeID, bool already = false)
- {
- return CarcassSaleOutBL.GetSaleOutStoreList(sendDate, deliverGoodsLineID, customerID, billState, storeID, already);
- }
-
- public static BindingList GetSaleOutStoreDetailList(long id)
- {
- return CarcassSaleOutBL.GetSaleOutStoreDetailList(id);
- }
-
- public static bool HasNoAssignDetail(long billID)
- {
- return CarcassSaleOutBL.HasNoAssignDetail(billID);
- }
-
- public static BindingList GetWeightRecord(long detailID)
- {
- var query = new DmoQuery(typeof(SegmentSaleOut_Detail));
- query.Where.Conditions.Add(DQCondition.EQ("DetailID", detailID));
- query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID", true));
- var list = query.EExecuteList().Cast().ToList();
- var idx = list.Count;
- foreach (var item in list)
- {
- item.Idx = idx;
- idx--;
- }
- return new BindingList(list);
- }
-
- public static SegmentSaleOut_Detail Insert(decimal weight)
- {
- using (var session = DmoSession.New())
- {
- var detail = new SegmentSaleOut_Detail() { Number = weight, SecondNumber = 1 };
- session.Insert(detail);
- session.Commit();
- return detail;
- }
- }
-
- public static List GetBatchFromEMS()
- {
- return CarcassSaleOutBL.GetBatchFromEMS(1);
- }
-
- static void SubmitDetails(IDmoSession session, IEnumerable details, SaleOutStore_Detail detail, int flag)
- {
- var arr = details.Select(x => new WeightRecord { Flag = flag, ID = x.ID, WeightTime = x.Time, MainUnitNum = x.Number, SecondNumber = x.SecondNumber, ProductBatch_ID = x.ProductBatch_ID, BarCode = x.BarCode });
- var json = RpcFacade.Call(RpcPath + "SaleOutStoreRpc/SaveWeightRecord", JsonConvert.SerializeObject(arr), detail.ID);
- var back = JsonConvert.DeserializeObject>>(json);
- foreach (var item in details)
- {
- var first = back.Item3.First(x => x.LongExt1 == item.ID);
-
- Update(session, item.ID,
- new Tuple("WeightRecord_ID", first.LongExt2),
- new Tuple("ScanRecord_ID", first.LongExt3)
- );
- item.WeightRecord_ID = first.LongExt2;
- item.ScanRecord_ID = first.LongExt3;
- }
- }
-
- static void Update(IDmoSession session, long id, params Tuple[] pops)
- {
- var update = new DQUpdateDom(typeof(SegmentSaleOut_Detail));
- foreach (var item in pops)
- update.Columns.Add(new DQUpdateColumn(item.Item1, item.Item2));
- update.Where.Conditions.Add(DQCondition.EQ("ID", id));
- session.ExecuteNonQuery(update);
- }
-
- public static void SetGoodsFinish(long id)
- {
- CarcassSaleOutBL.SetGoodsFinish(id);
- }
-
- public static void SetGoodsUnFinish(long id)
- {
- CarcassSaleOutBL.SetGoodsUnFinish(id);
- }
-
- static void Delete(long id)
- {
- var delete = new DQDeleteDom(typeof(SegmentSaleOut_Detail));
- delete.Where.Conditions.Add(DQCondition.EQ("ID", id));
- delete.EExecute();
- }
-
- public static void AddAndUpdate(SegmentSaleOut_Detail detail)
- {
- using (var session = DmoSession.New())
- {
- session.Insert(detail);
- var arr = new List { new WeightRecord { Flag = 2, ID = detail.ID, WeightTime = detail.Time, MainUnitNum = detail.Number, SecondNumber = detail.SecondNumber } };
- var json = RpcFacade.Call(RpcPath + "SaleOutStoreRpc/SaveWeightRecord", JsonConvert.SerializeObject(arr), detail.DetailID);
- var back = JsonConvert.DeserializeObject>>(json);
-
- var first = back.Item3.First();
-
- Update(session, detail.ID, new Tuple("WeightRecord_ID", first.LongExt2),
- new Tuple("ScanRecord_ID", first.LongExt3)
- );
-
- session.Commit();
- }
- }
-
- public static void DeleteAndUpdate(SegmentSaleOut_Detail tag)
- {
- var json = JsonConvert.SerializeObject(new List() { new ExtensionObj { LongExt1 = tag.DetailID, LongExt2 = tag.WeightRecord_ID, LongExt3 = tag.ScanRecord_ID } });
- RpcFacade.Call(RpcPath + "SaleOutStoreRpc/DeleteAndUpdate", json);
- Delete(tag.ID);
- }
-
- public static long InsertByCode(BindingList orderDetails, SegmentSaleOut_Detail detail)
- {
- var json = ButcherFactoryUtil.SecondUrlCall(MESPath + "SegmentSaleOutStoreRpc/GetSegmentInfo", detail.BarCode);
- var scanInfo = JsonConvert.DeserializeObject(json);
- var first = orderDetails.FirstOrDefault(x => x.Goods_Code == scanInfo.StringExt1);
- if (first == null)
- throw new Exception(string.Format("扫码存货在发货明细中不存在,存货编码{0}", scanInfo.StringExt1));
- detail.BillID = first.SaleOutStore_ID;
- detail.DetailID = first.ID;
- detail.Goods_ID = first.Goods_ID;
- detail.Goods_Code = first.Goods_Code;
- detail.Goods_Name = first.Goods_Name;
- detail.Number = scanInfo.DecimalExt1.Value;
- if (first.Number.HasValue && first.SecondNumber.HasValue && first.Number != 0)
- detail.SecondNumber = decimal.Round(first.SecondNumber.Value * detail.Number / first.Number.Value, 2);
- detail.Operator = "扫码发货";
- using (var session = DmoSession.New())
- {
- session.Insert(detail);
-
- SubmitDetails(session, new SegmentSaleOut_Detail[] { detail }, first, 1);
- session.Commit();
- }
- return first.ID;
- }
-
- public static void InsertReadWeight(SaleOutStore_Detail orderDetail, SegmentSaleOut_Detail detail)
- {
- detail.BillID = orderDetail.SaleOutStore_ID;
- detail.DetailID = orderDetail.ID;
- detail.Goods_ID = orderDetail.Goods_ID;
- detail.Goods_Code = orderDetail.Goods_Code;
- detail.Goods_Name = orderDetail.Goods_Name;
- if (orderDetail.Number.HasValue && orderDetail.SecondNumber.HasValue && orderDetail.Number != 0)
- detail.SecondNumber = decimal.Round(orderDetail.SecondNumber.Value * detail.Number / orderDetail.Number.Value, 2);
- detail.Operator = "读入重量";
- using (var session = DmoSession.New())
- {
- session.Insert(detail);
- SubmitDetails(session, new SegmentSaleOut_Detail[] { detail }, orderDetail, 2);
- session.Commit();
- }
- }
-
- public static bool BarCodeUsed(string barCode)
- {
- var query = new DQueryDom(new JoinAlias(typeof(SegmentSaleOut_Detail)));
- query.Where.Conditions.Add(DQCondition.EQ("BarCode", barCode));
- query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(1), "c"));
- return query.EExecuteScalar() != null;
- }
-
- public static List InsertByStockUp(string barCode, IEnumerable orderDetails)
- {
- var id = orderDetails.First().SaleOutStore_ID;
- var json = RpcFacade.Call(RpcPath + "SaleOutStoreRpc/GetCustomerStockUp", barCode, id);
- if (string.IsNullOrEmpty(json))
- throw new Exception("无备货信息或条码跟客户不匹配");
- var list = JsonConvert.DeserializeObject>(json);
- //detail.BillID = orderDetail.SaleOutStore_ID;
- //detail.DetailID = orderDetail.ID;
- //detail.Goods_ID = orderDetail.Goods_ID;
- //detail.Goods_Code = orderDetail.Goods_Code;
- //detail.Goods_Name = orderDetail.Goods_Name;
- //detail.Number = scanInfo.DecimalExt1.Value;
- //if (orderDetail.Number.HasValue && orderDetail.SecondNumber.HasValue && orderDetail.Number != 0)
- // detail.SecondNumber = decimal.Round(orderDetail.SecondNumber.Value * detail.Number / orderDetail.Number.Value, 2);
- //detail.Operator = "扫码发货";
- using (var session = DmoSession.New())
- {
- if (list.Any())
- {
- var existCodes = GetExistCodes(session, list.Select(x => x.BarCode));
- foreach (var item in existCodes)
- list.Remove(list.First(x => x.BarCode == item));
- }
- foreach (var item in list)
- {
- item.BillID = id;
- item.Operator = "按备货发货";
- session.Insert(item);
- }
- foreach (var g in list.GroupBy(x => x.DetailID))
- {
- var first = orderDetails.FirstOrDefault(x => x.ID == g.Key);
- if (first == null)
- throw new Exception(string.Format("备货与出库单不符,出库单缺少存货{0}", g.First().Goods_Name));
- SubmitDetails(session, g, first, 1);
- }
- session.Commit();
- }
- return list;
- }
-
- private static List GetExistCodes(IDmoSession session, IEnumerable codes)
- {
- var query = new DQueryDom(new JoinAlias(typeof(SegmentSaleOut_Detail)));
- query.Columns.Add(DQSelectColumn.Field("BarCode"));
- query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("BarCode"), codes.Select(x => DQExpression.Value(x)).ToArray()));
- return query.EExecuteList(session);
- }
- }
-}