diff --git a/B3ClientService/B3ClientService.csproj b/B3ClientService/B3ClientService.csproj
index 123adc6..9310395 100644
--- a/B3ClientService/B3ClientService.csproj
+++ b/B3ClientService/B3ClientService.csproj
@@ -139,7 +139,8 @@
-
+
+
diff --git a/B3ClientService/BO/SegmentationByPproductTrace_/SegmentationByPproductTrace.cs b/B3ClientService/BO/SegmentationByPproductTrace_/SegmentationByPproductTrace.cs
index 8e2959e..f22a028 100644
--- a/B3ClientService/BO/SegmentationByPproductTrace_/SegmentationByPproductTrace.cs
+++ b/B3ClientService/BO/SegmentationByPproductTrace_/SegmentationByPproductTrace.cs
@@ -4,6 +4,7 @@ using System.Data;
using System.Linq;
using System.Text;
using BWP.B3Frameworks.BO;
+using Forks.EnterpriseServices.DataForm;
using Forks.EnterpriseServices.DomainObjects2;
namespace BWP.B3ClientService.BO
@@ -13,6 +14,7 @@ namespace BWP.B3ClientService.BO
/// 分割品入库
///
[Serializable]
+ [DFClass]
public class SegmentationByPproductTrace : Base
{
private DateTime mCreateTime = DateTime.Now;
diff --git a/B3ClientService/BO/SegmentationInStoreRecord_/SegmentationInStoreRecord.cs b/B3ClientService/BO/SegmentationInStoreRecord_/SegmentationInStoreRecord.cs
index 5f12d50..61dd747 100644
--- a/B3ClientService/BO/SegmentationInStoreRecord_/SegmentationInStoreRecord.cs
+++ b/B3ClientService/BO/SegmentationInStoreRecord_/SegmentationInStoreRecord.cs
@@ -4,6 +4,7 @@ using System.Data;
using System.Linq;
using System.Text;
using BWP.B3Frameworks.BO;
+using Forks.EnterpriseServices.DataForm;
using Forks.EnterpriseServices.DomainObjects2;
namespace BWP.B3ClientService.BO
@@ -12,6 +13,7 @@ namespace BWP.B3ClientService.BO
/// 分割品入库
///
[Serializable]
+ [DFClass]
public class SegmentationInStoreRecord:Base
{
private DateTime mCreateTime = DateTime.Now;
diff --git a/B3ClientService/BO/SegmentationWeightRecord_/SegmentationWeightRecord.cs b/B3ClientService/BO/SegmentationWeightRecord_/SegmentationWeightRecord.cs
index c2b3aa2..20bbce7 100644
--- a/B3ClientService/BO/SegmentationWeightRecord_/SegmentationWeightRecord.cs
+++ b/B3ClientService/BO/SegmentationWeightRecord_/SegmentationWeightRecord.cs
@@ -4,6 +4,7 @@ using System.Data;
using System.Linq;
using System.Text;
using BWP.B3Frameworks.BO;
+using Forks.EnterpriseServices.DataForm;
using Forks.EnterpriseServices.DomainObjects2;
namespace BWP.B3ClientService.BO
@@ -13,6 +14,7 @@ namespace BWP.B3ClientService.BO
/// 分割品称重
///
[Serializable]
+ [DFClass]
public class SegmentationWeightRecord:Base
{
private DateTime mCreateTime=DateTime.Now;
@@ -26,12 +28,10 @@ namespace BWP.B3ClientService.BO
public string Goods_Name { get; set; }
public string Goods_Spec { get; set; }
+
+ public decimal Weight { get; set; }//净重
- public decimal PiWeight { get; set; }//皮重
-
- public decimal MaoWeight { get; set; }//毛重
-
- public decimal JingWeight { get; set; }//净重
+ public string ProductBatch { get; set; }
public string CardBarCode { get; set; }//放产品的车的条码
diff --git a/B3ClientService/BO/TrunksIousOutInStoreRecord_/TrunksIousOutInStoreRecord.cs b/B3ClientService/BO/TrunksIousOutInStoreRecord_/TrunksIousOutInStoreRecord.cs
index e8e018f..7a5bd48 100644
--- a/B3ClientService/BO/TrunksIousOutInStoreRecord_/TrunksIousOutInStoreRecord.cs
+++ b/B3ClientService/BO/TrunksIousOutInStoreRecord_/TrunksIousOutInStoreRecord.cs
@@ -2,10 +2,12 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
+using Forks.EnterpriseServices.DataForm;
namespace BWP.B3ClientService.BO
{
[Serializable]
+ [DFClass]
public class TrunksIousOutInStoreRecord: ClientSyncBase
{
public string BarCode { get; set; }
diff --git a/B3ClientService/Rpcs/BillRpc/SegmentationWeightRecordRpc.cs b/B3ClientService/Rpcs/BillRpc/SegmentationWeightRecordRpc.cs
deleted file mode 100644
index 65a152c..0000000
--- a/B3ClientService/Rpcs/BillRpc/SegmentationWeightRecordRpc.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using BWP.B3ClientService.BO;
-using BWP.B3ClientService.Utils;
-using Forks.EnterpriseServices.DomainObjects2;
-using Forks.EnterpriseServices.DomainObjects2.DQuery;
-using Forks.EnterpriseServices.JsonRpc;
-using Newtonsoft.Json;
-using TSingSoft.WebPluginFramework;
-
-namespace BWP.B3ClientService.Rpcs.BillRpc
-{
- [Rpc]
- public static class SegmentationWeightRecordRpc
- {
- [Rpc]
- public static long Insert(string json)
- {
- var record = JsonConvert.DeserializeObject(json);
- record.CreateTime=DateTime.Now;
- using (var session=Dmo.NewSession())
- {
- session.Insert(record);
- var segmentationByPproductTrace = GetSegmentationByPproductTrace(record);
- SegmentationByPproductTraceBL.Insert(session, segmentationByPproductTrace);
- session.Commit();
- }
- return record.ID;
- }
-
- private static SegmentationByPproductTrace GetSegmentationByPproductTrace(SegmentationWeightRecord record)
- {
- var dmo = new SegmentationByPproductTrace();
- dmo.BarCode = record.BarCode;
- dmo.Goods_ID = record.Goods_ID;
- dmo.Goods_Name = record.Goods_Name;
- dmo.Weight = record.JingWeight;
- dmo.Goods_Spec = record.Goods_Spec;
- dmo.ProductTime = record.CreateTime;
- return dmo;
- }
-
- ///
- /// 获取为入库的
- ///
- ///
- [Rpc]
- public static string GetNotInStoreList()
- {
- var query=new DmoQuery(typeof(SegmentationWeightRecord));
- query.Where.Conditions.Add(DQCondition.EQ("IsInStored",false));
- var list = query.EExecuteList().Cast().ToList();
- return JsonConvert.SerializeObject(list);
- }
-
- ///
- /// 获取为入库的
- ///
- ///
- [Rpc]
- public static string GetNotInStoreListByMaxId(long id)
- {
- var query = new DmoQuery(typeof(SegmentationWeightRecord));
- query.Where.Conditions.Add(DQCondition.EQ("IsInStored", false));
- query.Where.Conditions.Add(DQCondition.GreaterThan("ID", id));
- var list = query.EExecuteList().Cast().ToList();
- return JsonConvert.SerializeObject(list);
- }
-
-
- ///
- /// 批量 设置已入库
- ///
- ///
- ///
- [Rpc]
- public static bool SetInStored(string json)
- {
- var list = JsonConvert.DeserializeObject>(json);
- var whereList = list.Select(x => DQExpression.Value(x)).ToArray();
- var updateDom=new DQUpdateDom(typeof(SegmentationWeightRecord));
- updateDom.Columns.Add(new DQUpdateColumn("IsInStored",true));
- updateDom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("ID"),whereList));
- updateDom.EExecute();
- return true;
- }
- }
-}
diff --git a/B3ClientService/Rpcs/BillRpc/SegmentationWeightRecord_/SegmentationWeightRecordDto.cs b/B3ClientService/Rpcs/BillRpc/SegmentationWeightRecord_/SegmentationWeightRecordDto.cs
new file mode 100644
index 0000000..6e3b344
--- /dev/null
+++ b/B3ClientService/Rpcs/BillRpc/SegmentationWeightRecord_/SegmentationWeightRecordDto.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using BWP.B3ClientService.BO;
+using Forks.EnterpriseServices.DataForm;
+
+namespace BWP.B3ClientService.Rpcs.BillRpc.SegmentationWeightRecord_
+{
+ [Serializable, DFClass]
+ public class SegmentationWeightRecordDto : ClientSyncBaseDto
+ {
+ public DateTime CreateTime { get; set; }
+
+ public string BarCode { get; set; }//条码
+
+ public long Goods_ID { get; set; }
+
+ public string Goods_Name { get; set; }
+ public string Goods_Spec { get; set; }
+
+ public decimal Weight { get; set; }//净重
+
+ public string ProductBatch { get; set; }
+
+ public string CardBarCode { get; set; }//放产品的车的条码
+
+ public string BiaoShi { get; set; }//用来记录那个工作台或者哪台触摸屏做的
+ public string CreateUserName { get; set; }
+
+ public bool IsInStored { get; set; }//是否已经入库
+ }
+}
diff --git a/B3ClientService/Rpcs/BillRpc/SegmentationWeightRecord_/SegmentationWeightRecordRpc.cs b/B3ClientService/Rpcs/BillRpc/SegmentationWeightRecord_/SegmentationWeightRecordRpc.cs
new file mode 100644
index 0000000..7640145
--- /dev/null
+++ b/B3ClientService/Rpcs/BillRpc/SegmentationWeightRecord_/SegmentationWeightRecordRpc.cs
@@ -0,0 +1,158 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using BWP.B3ClientService.BO;
+using BWP.B3ClientService.Rpcs.BillRpc.SegmentationWeightRecord_;
+using BWP.B3ClientService.Utils;
+using BWP.B3Frameworks.Utils;
+using Forks.EnterpriseServices.DomainObjects2;
+using Forks.EnterpriseServices.DomainObjects2.DQuery;
+using Forks.EnterpriseServices.JsonRpc;
+using Newtonsoft.Json;
+using TSingSoft.WebPluginFramework;
+
+namespace BWP.B3ClientService.Rpcs.BillRpc
+{
+ [Rpc]
+ public static class SegmentationWeightRecordRpc
+ {
+
+ [Rpc]
+ public static string GetCountByNameAndBatch(long goodsId, string batch)
+ {
+ decimal weight = 0m;
+ int count = 0;
+
+ var query=new DQueryDom(new JoinAlias(typeof(SegmentationWeightRecord)));
+ query.Columns.Add(DQSelectColumn.Sum("Weight"));
+ query.Columns.Add(DQSelectColumn.Count("ID"));
+ query.Where.Conditions.Add(DQCondition.EQ("Goods_ID",goodsId));
+ query.Where.Conditions.Add(DQCondition.EQ("ProductBatch", batch));
+ query.Where.Conditions.Add(DQCondition.GreaterThanOrEqual("CreateTime",DateTime.Today));
+ query.Where.Conditions.Add(DQCondition.LessThan("CreateTime",DateTime.Today.AddDays(1)));
+// var dd = query.EExecuteScalar();
+ using (var session=Dmo.NewSession())
+ {
+ using (var reader=session.ExecuteReader(query))
+ {
+ if (reader.Read())
+ {
+ weight =Convert.ToDecimal(reader[0]);
+ count = Convert.ToInt32(reader[1]);
+ }
+ }
+ }
+ return weight.ToString("#0.##") + "," + count;
+ }
+
+ private static readonly object _insertObj=new object();
+
+ [Rpc]
+ public static long Insert(string json)
+ {
+ lock (_insertObj)
+ {
+ var record = JsonConvert.DeserializeObject(json);
+ record.CreateTime = DateTime.Now;
+ using (var session = Dmo.NewSession())
+ {
+ session.Insert(record);
+ var segmentationByPproductTrace = GetSegmentationByPproductTrace(record);
+ SegmentationByPproductTraceBL.Insert(session, segmentationByPproductTrace);
+ session.Commit();
+ }
+ return record.ID;
+ }
+ }
+
+ private static readonly object _updateObj = new object();
+ [Rpc]
+ public static int Update(string json)
+ {
+ lock (_updateObj)
+ {
+ var clientRecord = JsonConvert.DeserializeObject(json);
+ using (var session = Dmo.NewSession())
+ {
+ var record = session.Load(new DmoIdentity(typeof(SegmentationWeightRecord), clientRecord.Service_ID ?? 0));
+ DmoUtil.CopyDmoFields(clientRecord, record, "ID", "B3_ID");
+ session.Update(record);
+ //需要更新大表???
+ }
+ return 1;
+ }
+ }
+
+ [Rpc]
+ public static int Delete(long id)
+ {
+ var delDom = new DQDeleteDom(typeof(SegmentationWeightRecord));
+ delDom.Where.Conditions.Add(DQCondition.EQ("ID", id));
+ using (var session = Dmo.NewSession())
+ {
+ session.ExecuteNonQuery(delDom);
+ //需要删除大表
+ }
+ return 1;
+ }
+
+
+ private static SegmentationByPproductTrace GetSegmentationByPproductTrace(SegmentationWeightRecord record)
+ {
+ var dmo = new SegmentationByPproductTrace();
+ dmo.BarCode = record.BarCode;
+ dmo.Goods_ID = record.Goods_ID;
+ dmo.Goods_Name = record.Goods_Name;
+ dmo.Weight = record.Weight;
+ dmo.Goods_Spec = record.Goods_Spec;
+ dmo.ProductTime = record.CreateTime;
+ return dmo;
+ }
+
+ ///
+ /// 获取为入库的
+ ///
+ ///
+ [Rpc]
+ public static string GetNotInStoreList()
+ {
+ var query=new DmoQuery(typeof(SegmentationWeightRecord));
+ query.Where.Conditions.Add(DQCondition.EQ("IsInStored",false));
+ var list = query.EExecuteList().Cast().ToList();
+ return JsonConvert.SerializeObject(list);
+ }
+
+ ///
+ /// 获取为入库的
+ ///
+ ///
+ [Rpc]
+ public static string GetNotInStoreListByMaxId(long id)
+ {
+ var query = new DmoQuery(typeof(SegmentationWeightRecord));
+ query.Where.Conditions.Add(DQCondition.EQ("IsInStored", false));
+ query.Where.Conditions.Add(DQCondition.GreaterThan("ID", id));
+ var list = query.EExecuteList().Cast().ToList();
+ return JsonConvert.SerializeObject(list);
+ }
+
+
+ ///
+ /// 批量 设置已入库
+ ///
+ ///
+ ///
+ [Rpc]
+ public static bool SetInStored(string json)
+ {
+ var list = JsonConvert.DeserializeObject>(json);
+ var whereList = list.Select(x => DQExpression.Value(x)).ToArray();
+ var updateDom=new DQUpdateDom(typeof(SegmentationWeightRecord));
+ updateDom.Columns.Add(new DQUpdateColumn("IsInStored",true));
+ updateDom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("ID"),whereList));
+ updateDom.EExecute();
+ return true;
+ }
+ }
+}