Browse Source

修改。

master
yibo 8 years ago
parent
commit
eae0a5030f
4 changed files with 7 additions and 146 deletions
  1. +0
    -1
      B3ClientService/B3ClientService.csproj
  2. +0
    -25
      B3ClientService/BO/Bill/GradeAndWeight/OrderGradeFinishRelate.cs
  3. +7
    -116
      B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs
  4. +0
    -4
      B3ClientService/Rpcs/RpcBO/Bill/GradeAndWeight/GradeAndWeight.cs

+ 0
- 1
B3ClientService/B3ClientService.csproj View File

@ -92,7 +92,6 @@
<Compile Include="BO\Bill\CarcassStateWeight\CarcassStateWeightInStore.cs" />
<Compile Include="BO\Bill\GoodsDetail.cs" />
<Compile Include="BO\Bill\GradeAndWeight\GradeAndWeight_Detail.cs" />
<Compile Include="BO\Bill\GradeAndWeight\OrderGradeFinishRelate.cs" />
<Compile Include="BO\Bill\OrderDetail\HurryRecord.cs" />
<Compile Include="BO\Bill\OrderDetail\OrderDetail.cs" />
<Compile Include="BO\Bill\SaleOutStore_\SaleOutStore.cs" />


+ 0
- 25
B3ClientService/BO/Bill/GradeAndWeight/OrderGradeFinishRelate.cs View File

@ -1,25 +0,0 @@
using Forks.EnterpriseServices.DomainObjects2;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TSingSoft.WebPluginFramework;
namespace BWP.B3ClientService.BO
{
[BOClass]
[Serializable]
[KeyField("OrderDetail_ID", KeyGenType.assigned)]
[KeyField("Technics", KeyGenType.assigned)]
public class OrderGradeFinishRelate
{
public long OrderDetail_ID { get; set; }
public short Technics { get; set; }
public bool Finish { get; set; }
public int Already { get; set; }
}
}

+ 7
- 116
B3ClientService/Rpcs/BillRpc/GradeAndWeightRpc.cs View File

@ -26,16 +26,12 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
var tech = isTang ? 0 : 1;
var main = new JoinAlias(typeof(SecondOrder));
var order = new JoinAlias(typeof(OrderDetail));
var relate = new JoinAlias(typeof(OrderGradeFinishRelate));
var query = new DQueryDom(main);
query.From.AddJoin(JoinType.Left, new DQDmoSource(order), DQCondition.EQ(main, "OrderDetail_ID", order, "ID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(relate), DQCondition.And(DQCondition.EQ(main, "OrderDetail_ID", relate, "OrderDetail_ID"), DQCondition.EQ(relate, "Technics", tech)));
query.Columns.Add(DQSelectColumn.Field("OrderDetail_ID"));
query.Columns.Add(DQSelectColumn.Field("Order", order));
query.Columns.Add(DQSelectColumn.Field("PlanNumber", order));
query.Columns.Add(DQSelectColumn.Field("HotFadeNumber"));
query.Columns.Add(DQSelectColumn.Field("Already", relate));
query.Columns.Add(DQSelectColumn.Field("Finish", relate));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("IsOk", true), DQCondition.EQ(order, "DeleteState", false), DQCondition.EQ(order, "Date", date), DQCondition.EQ(order, "IsDrop", false)));
var list = new List<GradeAndWeight>();
@ -56,8 +52,6 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
continue;
entity.OrderDetail_ID = (long)reader[0];
entity.Order = (int)reader[1];
entity.Already = (int?)reader[4] ?? 0;
entity.Finish = (bool?)reader[5] ?? false;
list.Add(entity);
}
}
@ -66,128 +60,25 @@ namespace BWP.B3ClientService.Rpcs.BillRpc
return serializer.Serialize(list);
}
static long DeleteDetail(GradeAndWeight_Detail entity)
{
using (var session = Dmo.NewSession())
{
if (entity.ID > 0)
{
session.Delete(new DmoIdentity(typeof(GradeAndWeight_Detail), entity.ID));
if (entity.OrderDetail_ID.HasValue)
{
SubAlready(session, entity.OrderDetail_ID.Value, entity.Technics);
}
}
session.Commit();
return entity.ID;
}
}
static void SubAlready(IDmoSession session, long orderDetailID, short technics)
{
var entity = GetRelate(orderDetailID, technics);
if (entity != null)
{
entity.Already -= 1;
session.Update(entity);
}
}
[Rpc]
public static long UpdateOrInsertDetailOrDelete(string json)
{
json = json.ESerializeDateTime();
var entity = serializer.Deserialize<GradeAndWeight_Detail>(json);
if (entity.IsDeleted)
{
return DeleteDetail(entity);
}
else
{
return UpdateOrInsertDetail(entity);
}
}
static long UpdateOrInsertDetail(GradeAndWeight_Detail entity)
{
using (var session = Dmo.NewSession())
{
if (entity.ID == 0)
{
session.Insert(entity);
if (entity.OrderDetail_ID.HasValue)
AddAlready(session, entity.OrderDetail_ID.Value, entity.Technics);
}
else
{
if (entity.OrderDetail_ID.HasValue)
{
var old = InnerBLUtil.GetDmoPropertyByID<short>(session, typeof(GradeAndWeight_Detail), "Technics", entity.ID);
if (old != entity.Technics)
{
AddAlready(session, entity.OrderDetail_ID.Value, entity.Technics);
SubAlready(session, entity.OrderDetail_ID.Value, old);
}
}
session.Update(entity);
}
session.Commit();
return entity.ID;
}
}
[Rpc]
public static int SetGradeFinish(long orderDetailID, short technics)
{
using (var session = Dmo.NewSession())
{
var entity = GetRelate(orderDetailID, technics);
if (entity == null)
{
entity = new OrderGradeFinishRelate();
entity.OrderDetail_ID = orderDetailID;
entity.Technics = technics;
entity.Finish = true;
session.Insert(entity);
}
if (entity.IsDeleted)
session.Delete(new DmoIdentity(typeof(GradeAndWeight_Detail), entity.ID));
else
{
entity.Finish = true;
session.Update(entity);
if (entity.ID == 0)
session.Insert(entity);
else
session.Update(entity);
}
session.Commit();
}
return 1;
}
static void AddAlready(IDmoSession session, long orderDetailID, short technics)
{
var entity = GetRelate(orderDetailID, technics);
if (entity == null)
{
entity = new OrderGradeFinishRelate();
entity.OrderDetail_ID = orderDetailID;
entity.Technics = technics;
entity.Already = 1;
session.Insert(entity);
}
else
{
entity.Already += 1;
session.Update(entity);
}
}
static OrderGradeFinishRelate GetRelate(long orderDetailID, short technics)
{
var query = new DmoQuery(typeof(OrderGradeFinishRelate));
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("OrderDetail_ID", orderDetailID), DQCondition.EQ("Technics", technics)));
return query.EExecuteScalar<OrderGradeFinishRelate>();
return entity.ID;
}
[Rpc]


+ 0
- 4
B3ClientService/Rpcs/RpcBO/Bill/GradeAndWeight/GradeAndWeight.cs View File

@ -12,9 +12,5 @@ namespace BWP.B3ClientService.RpcBO
public int Order { get; set; }
public int Number { get; set; }
public int Already { get; set; }
public bool Finish { get; set; }
}
}

Loading…
Cancel
Save