diff --git a/B3ClientService/B3ClientService.csproj b/B3ClientService/B3ClientService.csproj
index a2fcf62..783c81f 100644
--- a/B3ClientService/B3ClientService.csproj
+++ b/B3ClientService/B3ClientService.csproj
@@ -115,6 +115,7 @@
+
@@ -137,6 +138,8 @@
+
+
diff --git a/B3ClientService/BO/MaterialRequisitionRecord_/MaterialRequisitionRecord.cs b/B3ClientService/BO/MaterialRequisitionRecord_/MaterialRequisitionRecord.cs
new file mode 100644
index 0000000..38fde5e
--- /dev/null
+++ b/B3ClientService/BO/MaterialRequisitionRecord_/MaterialRequisitionRecord.cs
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+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
+{
+ [Serializable]
+ [DFClass]
+ public class MaterialRequisitionRecord : Base
+ {
+ public long? B3_ID { get; set; }
+ public DateTime? SyncToB3DateTime { get; set; }
+
+ private DateTime mCreateTime = DateTime.Now;
+ [DbColumn(DbType = SqlDbType.DateTime)]
+ public DateTime CreateTime { get { return mCreateTime; } set { mCreateTime = value; } }
+
+ 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 CardBarCode { get; set; }//放产品的车的条码
+
+ public string BiaoShi { get; set; }//用来记录那个工作台或者哪台触摸屏做的
+ public string CreateUserName { get; set; }
+ }
+}
diff --git a/B3ClientService/Rpcs/BillRpc/MaterialRequisitionRecordRpc_/MaterialRequisitionRecordDto.cs b/B3ClientService/Rpcs/BillRpc/MaterialRequisitionRecordRpc_/MaterialRequisitionRecordDto.cs
new file mode 100644
index 0000000..f652b5a
--- /dev/null
+++ b/B3ClientService/Rpcs/BillRpc/MaterialRequisitionRecordRpc_/MaterialRequisitionRecordDto.cs
@@ -0,0 +1,27 @@
+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
+{
+ [Serializable, DFClass]
+ public class MaterialRequisitionRecordDto : ClientSyncBaseDto
+ {
+ 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 CardBarCode { get; set; }//放产品的车的条码
+
+ public string BiaoShi { get; set; }//用来记录那个工作台或者哪台触摸屏做的
+ public string CreateUserName { get; set; }
+ }
+}
diff --git a/B3ClientService/Rpcs/BillRpc/MaterialRequisitionRecordRpc_/MaterialRequisitionRecordRpc.cs b/B3ClientService/Rpcs/BillRpc/MaterialRequisitionRecordRpc_/MaterialRequisitionRecordRpc.cs
new file mode 100644
index 0000000..bbf727e
--- /dev/null
+++ b/B3ClientService/Rpcs/BillRpc/MaterialRequisitionRecordRpc_/MaterialRequisitionRecordRpc.cs
@@ -0,0 +1,67 @@
+using System;
+using BWP.B3ClientService.BO;
+using BWP.B3Frameworks.Utils;
+using Forks.EnterpriseServices.DomainObjects2;
+using Forks.EnterpriseServices.DomainObjects2.DQuery;
+using Forks.EnterpriseServices.JsonRpc;
+using Newtonsoft.Json;
+
+namespace BWP.B3ClientService.Rpcs.BillRpc
+{
+ [Rpc]
+ public static class MaterialRequisitionRecordRpc
+ {
+ 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);
+ 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(MaterialRequisitionRecord), clientRecord.Service_ID ?? 0));
+ if (record == null)
+ {
+ return 0;
+ }
+ DmoUtil.CopyDmoFields(clientRecord, record, "ID", "B3_ID");
+ session.Update(record);
+ session.Commit();
+ }
+ return 1;
+ }
+ }
+
+ [Rpc]
+ public static int Delete(long id)
+ {
+ var delDom = new DQDeleteDom(typeof(MaterialRequisitionRecord));
+ delDom.Where.Conditions.Add(DQCondition.EQ("ID", id));
+ using (var session = Dmo.NewSession())
+ {
+ session.ExecuteNonQuery(delDom);
+ session.Commit();
+ }
+ return 1;
+ }
+ }
+}