Browse Source

线下工艺。

master
yibo 7 years ago
parent
commit
7bf357d027
5 changed files with 61 additions and 153 deletions
  1. +4
    -0
      B3ClientService/BO/Bill/OrderDetail/OrderDetail.cs
  2. +21
    -18
      B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs
  3. +18
    -6
      B3ClientService/Rpcs/BillRpc/OrderDetailRpc.cs
  4. +18
    -0
      B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs
  5. +0
    -129
      B3ClientService/Rpcs/BillRpc/TrunksIousOutInStoreRpc.cs

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

@ -50,5 +50,9 @@ namespace BWP.B3ClientService.BO
[DbColumn(DefaultValue = 0)]
public int RowVersion { get; set; }
public short? Technics { get; set; }
public string Technics_Name { get; set; }
}
}

+ 21
- 18
B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs View File

@ -60,34 +60,30 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
return serializer.Serialize(list);
}
static object _lock = new object();
[Rpc]
public static long UpdateOrInsertDetailOrDelete(string json)
{
json = json.ESerializeDateTime();
var entity = serializer.Deserialize<GradeAndWeight_Detail>(json);
using (var session = Dmo.NewSession())
lock (_lock)
{
if (entity.IsDeleted)
session.Delete(new DmoIdentity(typeof(GradeAndWeight_Detail), entity.ID));
else
json = json.ESerializeDateTime();
var entity = serializer.Deserialize<GradeAndWeight_Detail>(json);
using (var session = Dmo.NewSession())
{
if (entity.ID == 0)
if (entity.IsDeleted)
session.Delete(new DmoIdentity(typeof(GradeAndWeight_Detail), entity.ID));
else
{
var existID = GetIDIfExist(session, entity.SID);
if (existID.HasValue)
{
entity.ID = existID.Value;
session.Update(entity);
}
else
entity.ID = GetIDIfExist(session, entity.SID) ?? 0;
if (entity.ID == 0)
session.Insert(entity);
else
session.Update(entity);
}
else
session.Update(entity);
session.Commit();
}
session.Commit();
return entity.ID;
}
return entity.ID;
}
static long? GetIDIfExist(IDmoSession session, long sid)
@ -99,6 +95,13 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
return query.EExecuteScalar<long?>(session);
}
static void Delete(IDmoSession session, long sid)
{
var delete = new DQDeleteDom(typeof(GradeAndWeight_Detail));
delete.Where.Conditions.Add(DQCondition.EQ("SID", sid));
session.ExecuteNonQuery(delete);
}
[Rpc]
public static string GetBodyDiscontItemSetting()
{


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

@ -171,6 +171,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
query.Columns.Add(DQSelectColumn.Field("SecondarySplit"));
query.Columns.Add(DQSelectColumn.Field("Supplier_Name"));
query.Columns.Add(DQSelectColumn.Field("OrderState"));
query.Columns.Add(DQSelectColumn.Field("Technics"));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Date", date), DQCondition.EQ("DeleteState", false), DQCondition.EQ("IsDrop", false)));
var list = new List<OrderDetail>();
@ -191,6 +192,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
entity.SecondarySplit = (bool)reader[7];
entity.Supplier_Name = (string)reader[8];
entity.OrderState = (int)reader[9];
entity.Technics = (short?)reader[10];
entity.Date = date;
list.Add(entity);
}
@ -251,7 +253,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value(1), "c"));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Date", date), DQCondition.EQ("DeleteState", false), DQCondition.GreaterThanOrEqual("OrderState", 10), DQCondition.GreaterThanOrEqual("Order", order), DQCondition.EQ("IsDrop", false)));
if (query.EExecuteScalar(session) != null)
throw new Exception("不允许插入到已进行烫毛计数顺序之前");
throw new Exception("不允许插入到已进行顺序确认之前");
}
public static void UpdateOrderDetailPartial(IDmoSession session, long id, string property, object value)
@ -290,7 +292,7 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
session.ExecuteNonQuery(update);
}
[Rpc]
public static int Delete(long id)
@ -502,10 +504,20 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
{
if (!(state == 0 || state == 10 || state == 20))
throw new Exception(string.Format("错误的状态输入 {0}", state));
var update = new DQUpdateDom(typeof(OrderDetail));
update.Columns.Add(new DQUpdateColumn("OrderState", state));
update.Where.Conditions.Add(DQCondition.EQ("ID", id));
update.EExecute();
using (var session = Dmo.NewSession())
{
var update = new DQUpdateDom(typeof(OrderDetail));
update.Columns.Add(new DQUpdateColumn("OrderState", state));
update.Where.Conditions.Add(DQCondition.EQ("ID", id));
session.ExecuteNonQuery(update);
if (state == 20)
{
var orderInfo = InnerBLUtil.GetSingleDmo<OrderDetail>(session, "ID", id, "Technics", "PlanNumber");
orderInfo.ID = id;
SecondOrderRpc.OffLineCreateSecondOrder(session, orderInfo);
}
session.Commit();
}
return 1;
}


+ 18
- 0
B3ClientService/Rpcs/BillRpc/SecondOrderRpc.cs View File

@ -150,6 +150,24 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
return id;
}
public static void OffLineCreateSecondOrder(IDmoSession session, OrderDetail detail)
{
var second = new SecondOrder();
second.ModifyTime = DateTime.Now;
second.IsOk = true;
second.Finish = true;
second.OrderDetail_ID = detail.ID;
second.HotFadeNumber = detail.Technics == 0 ? detail.PlanNumber : 0;
session.Insert(second);
if (second.HotFadeNumber != 0)
return;
var sDetail = new SecondOrder_Detail();
sDetail.Number = second.HotFadeNumber;
sDetail.SecondOrder_ID = second.ID;
sDetail.Time = DateTime.Now;
session.Insert(sDetail);
}
[Rpc]
public static string GetSecondOrderDetails(long id)
{


+ 0
- 129
B3ClientService/Rpcs/BillRpc/TrunksIousOutInStoreRpc.cs View File

@ -1,129 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Script.Serialization;
using BWP.B3ClientService.BO;
using BWP.B3ClientService.NamedValueTemplate;
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.EnterpriseServices.JsonRpc;
namespace BWP.B3ClientService.Rpcs.BillRpc
{
[Rpc]
public static class TrunksIousOutInStoreRpc
{
[Rpc]
public static void UpdateCarcassStateWeight1(string code,decimal weight)
{
using (var session=Dmo.NewSession())
{
var id = GetCarcassStateWeightId(session, code);
var updateDom=new DQUpdateDom(typeof(CarcassStateWeight));
updateDom.Where.Conditions.Add(DQCondition.EQ("ID",id));
updateDom.Columns.Add(new DQUpdateColumn("State1Weight",weight));
updateDom.Columns.Add(new DQUpdateColumn("State1WeightTime", DateTime.Now));
updateDom.Columns.Add(new DQUpdateColumn("CurrentState", .));
updateDom.Columns.Add(new DQUpdateColumn("CurrentWeight", weight));
session.ExecuteNonQuery(updateDom);
session.Commit();
}
}
[Rpc]
public static void UpdateCarcassStateWeight2(string code, decimal weight)
{
using (var session = Dmo.NewSession())
{
var id = GetCarcassStateWeightId(session, code);
var updateDom = new DQUpdateDom(typeof(CarcassStateWeight));
updateDom.Where.Conditions.Add(DQCondition.EQ("ID", id));
updateDom.Columns.Add(new DQUpdateColumn("State2Weight", weight));
updateDom.Columns.Add(new DQUpdateColumn("State2WeightTime", DateTime.Now));
updateDom.Columns.Add(new DQUpdateColumn("CurrentState", .));
updateDom.Columns.Add(new DQUpdateColumn("CurrentWeight", weight));
session.ExecuteNonQuery(updateDom);
session.Commit();
}
}
[Rpc]
public static void UpdateCarcassStateWeight3(string code, decimal weight)
{
using (var session = Dmo.NewSession())
{
var id = GetCarcassStateWeightId(session, code);
var updateDom = new DQUpdateDom(typeof(CarcassStateWeight));
updateDom.Where.Conditions.Add(DQCondition.EQ("ID", id));
updateDom.Columns.Add(new DQUpdateColumn("State3Weight", weight));
updateDom.Columns.Add(new DQUpdateColumn("State3WeightTime", DateTime.Now));
updateDom.Columns.Add(new DQUpdateColumn("CurrentState", .));
updateDom.Columns.Add(new DQUpdateColumn("CurrentWeight", weight));
session.ExecuteNonQuery(updateDom);
session.Commit();
}
}
[Rpc]
public static void UpdateCarcassStateWeight4(string code, decimal weight)
{
using (var session = Dmo.NewSession())
{
var id = GetCarcassStateWeightId(session, code);
var updateDom = new DQUpdateDom(typeof(CarcassStateWeight));
updateDom.Where.Conditions.Add(DQCondition.EQ("ID", id));
updateDom.Columns.Add(new DQUpdateColumn("State4Weight", weight));
updateDom.Columns.Add(new DQUpdateColumn("State4WeightTime", DateTime.Now));
updateDom.Columns.Add(new DQUpdateColumn("CurrentState", .));
updateDom.Columns.Add(new DQUpdateColumn("CurrentWeight", weight));
session.ExecuteNonQuery(updateDom);
session.Commit();
}
}
[Rpc]
public static void UpdateCarcassStateWeight5(string code, decimal weight)
{
using (var session = Dmo.NewSession())
{
var id = GetCarcassStateWeightId(session, code);
var updateDom = new DQUpdateDom(typeof(CarcassStateWeight));
updateDom.Where.Conditions.Add(DQCondition.EQ("ID", id));
updateDom.Columns.Add(new DQUpdateColumn("State5Weight", weight));
updateDom.Columns.Add(new DQUpdateColumn("State5WeightTime", DateTime.Now));
updateDom.Columns.Add(new DQUpdateColumn("CurrentState", .));
updateDom.Columns.Add(new DQUpdateColumn("CurrentWeight", weight));
session.ExecuteNonQuery(updateDom);
session.Commit();
}
}
static long? GetCarcassStateWeightId(IDmoSession session, string code)
{
var list=new List<long>();
var query = new DQueryDom(new JoinAlias(typeof(CarcassStateWeight)));
query.Where.Conditions.Add(DQCondition.EQ("Code", code));
query.Columns.Add(DQSelectColumn.Field("ID"));
using (var reader=session.ExecuteReader(query))
{
while (reader.Read())
{
var id = (long) reader[0];
list.Add(id);
}
}
if (list.Count == 0)
{
throw new Exception("没有找到条码:"+code+" 对应的记录");
}
if(list.Count>1)
{
throw new Exception("找到条码:" + code + " 对应的多条记录");
}
return list[0];
}
}
}

Loading…
Cancel
Save