Browse Source

烫毛分线、上线确认调整。

master
yibo 7 years ago
parent
commit
420cfb041e
11 changed files with 213 additions and 32 deletions
  1. +2
    -0
      B3ClientService/B3ClientService.csproj
  2. +14
    -0
      B3ClientService/BO/Bill/OrderDetail/OrderConfirmDetial.cs
  3. +3
    -0
      B3ClientService/BO/Bill/OrderDetail/OrderDetail.cs
  4. +1
    -1
      B3ClientService/BO/Bill/SecondOrder/SecondOrder_Detail.cs
  5. +25
    -0
      B3ClientService/BO/Bill/WeightBill/SelfHelpSendMsg.cs
  6. +3
    -1
      B3ClientService/NamedValueTemplate.cs
  7. +77
    -6
      B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs
  8. +41
    -21
      B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs
  9. +25
    -1
      B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs
  10. +18
    -0
      B3ClientService/Rpcs/SelfHelpRpc.cs
  11. +4
    -2
      WebFolder/config/NamedValue/B3ClientService.xml

+ 2
- 0
B3ClientService/B3ClientService.csproj View File

@ -148,6 +148,7 @@
<Compile Include="BO\Bill\GradeAndWeight\GradeAndWeight_Detail.cs" />
<Compile Include="BO\Bill\OrderDetail\BeforeDeathDetail.cs" />
<Compile Include="BO\Bill\OrderDetail\HurryRecord.cs" />
<Compile Include="BO\Bill\OrderDetail\OrderConfirmDetial.cs" />
<Compile Include="BO\Bill\OrderDetail\OrderDetail.cs" />
<Compile Include="BO\Bill\PadScanDb\PadCarcassInStore.cs" />
<Compile Include="BO\Bill\PigacquisitionWeChat\PigacquisitionWeChat.cs" />
@ -160,6 +161,7 @@
<Compile Include="BO\Bill\SegmentTraceBackLog.cs" />
<Compile Include="BO\Bill\SegmentProductionInfo.cs" />
<Compile Include="BO\Bill\SyncCarcassInStoreLog.cs" />
<Compile Include="BO\Bill\WeightBill\SelfHelpSendMsg.cs" />
<Compile Include="BO\Bill\WeightBill\WeightBill.cs" />
<Compile Include="BO\Bill\WeightBill\WeightBillCheck.cs" />
<Compile Include="BO\Bill\WeightBill\WeightBillShowRelate.cs" />


+ 14
- 0
B3ClientService/BO/Bill/OrderDetail/OrderConfirmDetial.cs View File

@ -0,0 +1,14 @@
using BWP.B3Frameworks.BO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BWP.B3ClientService.BO
{
public class OrderConfirmDetial : Base
{
public long OrderDetail_ID { get; set; }
public int? Number { get; set; }
}
}

+ 3
- 0
B3ClientService/BO/Bill/OrderDetail/OrderDetail.cs View File

@ -60,5 +60,8 @@ namespace BWP.B3ClientService.BO
[DbColumn(DefaultValue = 1)]
public bool AlreadyDeath { get; set; }
[NonDmoProperty]
public int? ConfirmNumber { get; set; }
}
}

+ 1
- 1
B3ClientService/BO/Bill/SecondOrder/SecondOrder_Detail.cs View File

@ -14,6 +14,6 @@ namespace BWP.B3ClientService.BO
public int Number { get; set; }
public DateTime Time { get; set; }
public DateTime? Time { get; set; }
}
}

+ 25
- 0
B3ClientService/BO/Bill/WeightBill/SelfHelpSendMsg.cs View File

@ -0,0 +1,25 @@
using BWP.B3Frameworks.BO;
using Forks.EnterpriseServices.DomainObjects2;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TSingSoft.WebPluginFramework;
namespace BWP.B3ClientService.BO.Bill
{
[Serializable]
[KeyField("WeightBill_ID", KeyGenType.assigned)]
public class SelfHelpSendMsg : Base
{
public long WeightBill_ID { get; set; }
[ReferenceTo(typeof(WeightBill), "Car_Name")]
[Join("WeightBill_ID", "ID")]
public string Car_Name { get; set; }
[ReferenceTo(typeof(WeightBill), "Supplier_Name")]
[Join("WeightBill_ID", "ID")]
public string Supplier_Name { get; set; }
}
}

+ 3
- 1
B3ClientService/NamedValueTemplate.cs View File

@ -20,8 +20,10 @@ namespace BWP.B3ClientService.NamedValueTemplate
public static readonly NamedValue<> = new NamedValue<>(0);
public static readonly NamedValue<> = new NamedValue<>(1);
public static readonly NamedValue<> = new NamedValue<>(2);
public static readonly NamedValue<> = new NamedValue<>(3);
public static readonly NamedValue<> = new NamedValue<>(3);
public static readonly NamedValue<> = new NamedValue<>(103);
public static readonly NamedValue<> 线 = new NamedValue<>(104);
public static readonly NamedValue<> 线 = new NamedValue<>(105);
}
public sealed class


+ 77
- 6
B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs View File

@ -5,6 +5,7 @@ using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.EnterpriseServices.JsonRpc;
using Forks.EnterpriseServices.SqlDoms;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
@ -239,7 +240,77 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
return serializer.Serialize(list);
}
[Rpc]
[Rpc(RpcFlags.SkipAuth)]
public static string GetConfirmOrder(DateTime date)
{
var main = new JoinAlias(typeof(OrderDetail));
var detail = new JoinAlias(typeof(OrderConfirmDetial));
var query = new DQueryDom(main);
query.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.EQ(main, "ID", detail, "OrderDetail_ID"));
query.Columns.Add(DQSelectColumn.Field("ID"));
query.Columns.Add(DQSelectColumn.Field("WeightBill_ID"));
query.Columns.Add(DQSelectColumn.Field("Order"));
query.Columns.Add(DQSelectColumn.Field("PlanNumber"));
query.Columns.Add(DQSelectColumn.Field("LiveColonyHouse_Name"));
query.Columns.Add(DQSelectColumn.Field("IsHurryButcher"));
query.Columns.Add(DQSelectColumn.Field("B3WeighBill_ID"));
query.Columns.Add(DQSelectColumn.Field("SecondarySplit"));
query.Columns.Add(DQSelectColumn.Field("OrderState"));
foreach (var item in query.Columns)
query.GroupBy.Expressions.Add(item.Expression);
query.Columns.Add(DQSelectColumn.Sum(detail, "Number"));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Date", date), DQCondition.EQ("DeleteState", false), DQCondition.EQ("IsDrop", false)));
var list = new List<OrderDetail>();
using (var session = Dmo.NewSession())
{
using (var reader = session.ExecuteReader(query))
{
while (reader.Read())
{
var entity = new OrderDetail();
entity.ID = (long)reader[0];
entity.WeightBill_ID = (long)reader[1];
entity.Order = (int)reader[2];
entity.PlanNumber = (int)reader[3];
entity.LiveColonyHouse_Name = (string)reader[4];
entity.IsHurryButcher = (bool)reader[5];
entity.B3WeighBill_ID = (long?)reader[6];
entity.SecondarySplit = (bool)reader[7];
entity.OrderState = (int)reader[8];
entity.ConfirmNumber = (int?)reader[9];
list.Add(entity);
}
}
}
return JsonConvert.SerializeObject(list);
}
[Rpc(RpcFlags.SkipAuth)]
public static string GetOrderConfirmDetail(long orderID)
{
var query = new DmoQuery(typeof(OrderConfirmDetial));
query.Where.Conditions.Add(DQCondition.EQ("OrderDetail_ID", orderID));
query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID"));
return JsonConvert.SerializeObject(query.EExecuteList());
}
[Rpc(RpcFlags.SkipAuth)]
public static long SaveConfirmDetail(string obj)
{
var detail = JsonConvert.DeserializeObject<OrderConfirmDetial>(obj);
using (var session = Dmo.NewSession())
{
if(detail.ID==0)
session.Insert(detail);
else
session.Update(detail);
session.Commit();
return detail.ID;
}
}
[Rpc(RpcFlags.SkipAuth)]
public static int GetMaxOrder(DateTime date)
{
var query = new DQueryDom(new JoinAlias(typeof(OrderDetail)));
@ -248,7 +319,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
return query.EExecuteScalar<int?>() ?? 0;
}
[Rpc]
[Rpc(RpcFlags.SkipAuth)]
public static int GetCurrentOrder(long id)
{
return GetOrderDetailProperty<int>(id, "Order");
@ -376,7 +447,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
#endregion
#region hurryButcher
[Rpc]
[Rpc(RpcFlags.SkipAuth)]
public static string GetHurryRecordList(long weightId)
{
var query = new DmoQuery(typeof(HurryRecord));
@ -537,7 +608,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
#endregion
#region orderConfirm
[Rpc]
[Rpc(RpcFlags.SkipAuth)]
public static int SetOrderState(long id, int state)
{
if (!(state == 0 || state == 10 || state == 20))
@ -623,7 +694,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
return query.EExecuteScalar<long?>(session);
}
[Rpc]
[Rpc(RpcFlags.SkipAuth)]
public static long InsertByHurryRecord(string insert, long hurryID)
{
insert = insert.ESerializeDateTime();
@ -656,7 +727,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
session.ExecuteNonQuery(update);
}
[Rpc]
[Rpc(RpcFlags.SkipAuth)]
public static int GetFinishNumbers(DateTime date)
{
var query = new DQueryDom(new JoinAlias(typeof(OrderDetail)));


+ 41
- 21
B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs View File

@ -1,9 +1,11 @@
using BWP.B3ClientService.BO;
using BWP.B3Frameworks.BO;
using BWP.B3Frameworks.Utils;
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.EnterpriseServices.JsonRpc;
using Forks.EnterpriseServices.SqlDoms;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
@ -17,9 +19,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
[Rpc]
public static class SecondOrderRpc
{
static JavaScriptSerializer serializer = new JavaScriptSerializer();
[Rpc]
[Rpc(RpcFlags.SkipAuth)]
public static string SyncSecondOrder(DateTime date)
{
var main = new JoinAlias(typeof(OrderDetail));
@ -55,36 +55,46 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
}
}
}
return serializer.Serialize(list);
return JsonConvert.SerializeObject(list);
}
[Rpc]
[Rpc(RpcFlags.SkipAuth)]
public static long InsertDetail(string json, string mainJson, long orderDetailID)
{
json = json.ESerializeDateTime();
var detail = serializer.Deserialize<SecondOrder_Detail>(json);
var detail = JsonConvert.DeserializeObject<SecondOrder_Detail>(json);
detail.Time = DateTime.Now;
using (var session = Dmo.NewSession())
{
CheckOrderDelete(session, orderDetailID);
if (detail.SecondOrder_ID == 0)
{
mainJson = mainJson.ESerializeDateTime();
var entity = serializer.Deserialize<SecondOrder>(mainJson);
var entity = JsonConvert.DeserializeObject<SecondOrder>(mainJson);
entity.ModifyTime = DateTime.Now;
entity.HotFadeNumber = detail.Number;
entity.IsOk = true;
session.Insert(entity);
detail.SecondOrder_ID = entity.ID;
UpdateOrInsert(session, detail);
UpdateOrderDetailHasSecondarySplit(session, entity.OrderDetail_ID);
}
else
UpdateMainNumber(session, detail.SecondOrder_ID, detail.Number);
session.Insert(detail);
{
UpdateOrInsert(session, detail);
UpdateMainNumber(session, detail.SecondOrder_ID);
}
session.Commit();
}
return detail.SecondOrder_ID;
}
static void UpdateOrInsert<T>(IDmoSession session, T entity) where T : Base
{
if (entity.ID == 0)
session.Insert(entity);
else
session.Update(entity);
}
static void UpdateOrderDetailHasSecondarySplit(IDmoSession session, long id)
{
var update = new DQUpdateDom(typeof(OrderDetail));
@ -93,7 +103,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
session.ExecuteNonQuery(update);
}
[Rpc]
[Rpc(RpcFlags.SkipAuth)]
public static int DeleteDetail(long id, long mainID, int number)
{
using (var session = Dmo.NewSession())
@ -101,24 +111,34 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
var delete = new DQDeleteDom(typeof(SecondOrder_Detail));
delete.Where.Conditions.Add(DQCondition.EQ("ID", id));
session.ExecuteNonQuery(delete);
UpdateMainNumber(session, mainID, -number);
UpdateMainNumber(session, mainID);
session.Commit();
}
return 1;
}
static void UpdateMainNumber(IDmoSession session, long id, int number)
static void UpdateMainNumber(IDmoSession session, long id)
{
var number = GetHotFadeNumber(session, id);
var update = new DQUpdateDom(typeof(SecondOrder));
update.Where.Conditions.Add(DQCondition.EQ("ID", id));
update.Columns.Add(new DQUpdateColumn("Sync", false));
update.Columns.Add(new DQUpdateColumn("ModifyTime", DateTime.Now));
update.Columns.Add(new DQUpdateColumn("RowVersion", DQExpression.Add(DQExpression.Field("RowVersion"), DQExpression.Value(1))));
update.Columns.Add(new DQUpdateColumn("HotFadeNumber", DQExpression.Add(DQExpression.Field("HotFadeNumber"), DQExpression.Value(number))));
update.Columns.Add(new DQUpdateColumn("HotFadeNumber", number));
session.ExecuteNonQuery(update);
}
[Rpc]
static int GetHotFadeNumber(IDmoSession session,long secondOrderID)
{
var query = new DQueryDom(new JoinAlias(typeof(SecondOrder_Detail)));
query.Columns.Add(DQSelectColumn.Sum("Number"));
query.Where.Conditions.Add(DQCondition.EQ("SecondOrder_ID", secondOrderID));
return query.EExecuteScalar<int?>(session) ?? 0;
}
[Rpc(RpcFlags.SkipAuth)]
public static long SetFinish(long id, long orderDetailID, string json)
{
using (var session = Dmo.NewSession())
@ -126,7 +146,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
CheckOrderDelete(session, orderDetailID);
if (id == 0)
{
var entity = serializer.Deserialize<SecondOrder>(json);
var entity = JsonConvert.DeserializeObject<SecondOrder>(json);
entity.ModifyTime = DateTime.Now;
entity.IsOk = true;
entity.Finish = true;
@ -148,14 +168,14 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
session.Commit();
}
return id;
}
}
[Rpc]
[Rpc(RpcFlags.SkipAuth)]
public static string GetSecondOrderDetails(long id)
{
var query = new DmoQuery(typeof(SecondOrder_Detail));
query.Where.Conditions.Add(DQCondition.EQ("SecondOrder_ID", id));
return serializer.Serialize(query.EExecuteList().Cast<SecondOrder_Detail>().ToList());
return JsonConvert.SerializeObject(query.EExecuteList().Cast<SecondOrder_Detail>().ToList());
}
static void CheckOrderDelete(IDmoSession session, long id)


+ 25
- 1
B3ClientService/Rpcs/BillRpc/WeightBillRpc.cs View File

@ -1,4 +1,5 @@
using BWP.B3ClientService.BO;
using BWP.B3ClientService.BO.Bill;
using BWP.B3ClientService.Tasks.UpdateLoad;
using BWP.B3Frameworks.Utils;
using Forks.EnterpriseServices.DomainObjects2;
@ -6,6 +7,7 @@ using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.EnterpriseServices.JsonRpc;
using Forks.EnterpriseServices.SqlDoms;
using Forks.JsonRpc.Client.Data;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
@ -88,15 +90,34 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
var fQuery = new DmoQuery(typeof(WeightBill_FarmerDetail));
fQuery.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("DeleteState", false), DQCondition.EQ("WeightBill_ID", id)));
entity.FarmerDetails = fQuery.EExecuteList().Cast<WeightBill_FarmerDetail>().ToList();
DeleteMsg(id, null);
return serializer.Serialize(entity);
}
static void DeleteMsg(long id, IDmoSession session)
{
var delete = new DQDeleteDom(typeof(SelfHelpSendMsg));
delete.Where.Conditions.Add(DQCondition.EQ("WeightBill_ID", id));
if (session == null)
delete.EExecute();
else
session.ExecuteNonQuery(delete);
}
[Rpc]
public static string GetMsgList()
{
var query = new DmoQuery(typeof(SelfHelpSendMsg));
query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID"));
return JsonConvert.SerializeObject(query.EExecuteList());
}
[Rpc]
public static string UpdateOrInsert(string json, string recordDetail)
{
json = json.ESerializeDateTime();
var dmo = serializer.Deserialize<WeightBill>(json);
var f = dmo.FarmerDetails.FirstOrDefault(x => !x.DeleteState);
var f = dmo.FarmerDetails.FirstOrDefault(x => !x.DeleteState);
if (f == null)
dmo.Farmer_ID = null;
else
@ -239,6 +260,9 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
var delete = new DQDeleteDom(typeof(WeightBillCheck));
delete.Where.Conditions.Add(DQCondition.EQ("ID", id));
session.ExecuteNonQuery(delete);
DeleteMsg(id, session);
session.Commit();
}


+ 18
- 0
B3ClientService/Rpcs/SelfHelpRpc.cs View File

@ -1,4 +1,5 @@
using BWP.B3ClientService.BO;
using BWP.B3ClientService.BO.Bill;
using BWP.B3Frameworks.Utils;
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
@ -146,6 +147,8 @@ namespace BWP.B3ClientService.Rpcs
weight.FarmerDetails.Add(d);
}
FillSendPigWeightID(session, id, weight.ID);
var msg = new SelfHelpSendMsg() { WeightBill_ID = weight.ID };
session.Insert(msg);
session.Commit();
return JsonConvert.SerializeObject(weight);
}
@ -190,10 +193,25 @@ namespace BWP.B3ClientService.Rpcs
var f = LoadList<WeightBill_FarmerDetail>(session, new Tuple<string, object>("WeightBill_ID", id), new Tuple<string, object>("DeleteState", false));
dmo.Details.AddRange(w);
dmo.FarmerDetails.AddRange(f);
InsertSelfHelpSendMsg(session, id);
return JsonConvert.SerializeObject(dmo);
}
}
static void InsertSelfHelpSendMsg(IDmoSessionWithTransaction session, long id)
{
var q = new DQueryDom(new JoinAlias(typeof(SelfHelpSendMsg)));
q.Columns.Add(DQSelectColumn.Create(DQExpression.Value(1), "c"));
q.Where.Conditions.Add(DQCondition.EQ("WeightBill_ID", id));
if (q.EExecuteScalar(session) == null)
{
session.Insert(new SelfHelpSendMsg { WeightBill_ID = id });
session.Commit();
}
}
[Rpc(RpcFlags.SkipAuth)]
public static string GetWeightDetail(long id)
{


+ 4
- 2
WebFolder/config/NamedValue/B3ClientService.xml View File

@ -11,8 +11,10 @@
<Word name="白条入库" value="0"/>
<Word name="白条领用" value="1"/>
<Word name="分割生产" value="2"/>
<Word name="分割入库" value="3"/>
<Word name="赶猪确认" value="103"/>
<Word name="扫码入库" value="3"/>
<Word name="赶猪确认" value="103"/>
<Word name="上线确认" value="104"/>
<Word name="烫毛分线" value="105"/>
</NamedValue>
<NamedValue type="BWP.B3ClientService.NamedValueTemplate.适用客户端, B3ClientService">
<Word name="白条出入库" value="0"/>


Loading…
Cancel
Save