屠宰场管理服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
4.9 KiB

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];
}
}
}