From 9b7a4afefa261a6e4c2d5e94ed39f218c725f3db Mon Sep 17 00:00:00 2001
From: yibo <361071264@qq.com>
Date: Fri, 24 Aug 2018 11:19:08 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8A=A0B3=E5=8F=91=E8=B4=A7=E6=89=AB=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
B3QingDaoWanFu.Web/PluginClass.cs | 1 +
B3QingDaoWanFu/B3QingDaoWanFu.csproj | 1 +
.../Tasks/SyncSaleOutStoreInfoToMES.cs | 3 +-
B3QingDaoWanFu/TypeIOCs/ScanInfoTypeIOC.cs | 67 +++++++++++++++++++
4 files changed, 71 insertions(+), 1 deletion(-)
create mode 100644 B3QingDaoWanFu/TypeIOCs/ScanInfoTypeIOC.cs
diff --git a/B3QingDaoWanFu.Web/PluginClass.cs b/B3QingDaoWanFu.Web/PluginClass.cs
index c6ed155..c8e86b3 100644
--- a/B3QingDaoWanFu.Web/PluginClass.cs
+++ b/B3QingDaoWanFu.Web/PluginClass.cs
@@ -37,6 +37,7 @@ namespace BWP.B3QingDaoWanFu
GlobalFlags.On(B3ButcherManageConsts.GlobalFlags.预付款单不关联过磅单);
GlobalFlags.On(B3SaleConsts.Flags.EnableABCPay);
GlobalFlags.On(B3ProduceUnitedInfosConsts.GlobalFlags.Car_UseDriver);
+ GlobalFlags.On(B3SaleConsts.Flags.SaleOutStoreEnableScan);
TimerConfig.Register(() => "* * * * *", new QueryTrustPayTask());
TimerConfig.Register(() => "*/5 * * * *", new QueryNoGatheringTrustPayTask());
diff --git a/B3QingDaoWanFu/B3QingDaoWanFu.csproj b/B3QingDaoWanFu/B3QingDaoWanFu.csproj
index c26c4b1..bd4bb1f 100644
--- a/B3QingDaoWanFu/B3QingDaoWanFu.csproj
+++ b/B3QingDaoWanFu/B3QingDaoWanFu.csproj
@@ -178,6 +178,7 @@
+
diff --git a/B3QingDaoWanFu/Tasks/SyncSaleOutStoreInfoToMES.cs b/B3QingDaoWanFu/Tasks/SyncSaleOutStoreInfoToMES.cs
index 26928a8..0f3693a 100644
--- a/B3QingDaoWanFu/Tasks/SyncSaleOutStoreInfoToMES.cs
+++ b/B3QingDaoWanFu/Tasks/SyncSaleOutStoreInfoToMES.cs
@@ -98,7 +98,7 @@ namespace BWP.B3QingDaoWanFu.Tasks
query.Columns.Add(DQSelectColumn.Field("Flag", scan));
query.Where.Conditions.Add(DQCondition.And(DQCondition.GreaterThanOrEqual("BillState", 单据状态.已审核), DQCondition.IsNull(DQExpression.Field(relate, "SaleOutStore_ID")), DQCondition.IsNotNull(DQExpression.Field(scan, "ID"))));
- query.Where.Conditions.Add(DQCondition.And(DQCondition.GreaterThan(scan, "Weight", 0), DQCondition.GreaterThan(scan, "Number", 0)));
+ query.Where.Conditions.Add(DQCondition.And(DQCondition.Or(DQCondition.EQ("Flag", -1), DQCondition.GreaterThan(scan, "Weight", 0)), DQCondition.GreaterThan(scan, "Number", 0)));
query.Where.Conditions.Add(DQCondition.InEQ(scan, "Flag", 2));
query.OrderBy.Expressions.Add(DQOrderByExpression.Create(main, "ID"));
using (var session = Dmo.NewSession())
@@ -116,6 +116,7 @@ namespace BWP.B3QingDaoWanFu.Tasks
var flag = (int)reader[7];
switch (flag)
{
+ case -1://白条
case 0://白条
{
var entity = new CarcassSaleOutStoreObj();
diff --git a/B3QingDaoWanFu/TypeIOCs/ScanInfoTypeIOC.cs b/B3QingDaoWanFu/TypeIOCs/ScanInfoTypeIOC.cs
new file mode 100644
index 0000000..df37779
--- /dev/null
+++ b/B3QingDaoWanFu/TypeIOCs/ScanInfoTypeIOC.cs
@@ -0,0 +1,67 @@
+using BWP.B3ButcherManage.BO;
+using BWP.B3Frameworks;
+using BWP.B3ProcurementInterface.Utils;
+using BWP.B3Sale.Rpcs;
+using Forks.EnterpriseServices.DomainObjects2;
+using Forks.EnterpriseServices.DomainObjects2.DQuery;
+using Forks.JsonRpc.Client;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using TSingSoft.WebPluginFramework;
+
+namespace BWP.B3QingDaoWanFu.TypeIOCs
+{
+ [TypeIOC(typeof(SaleScanIoc), typeof(SaleScanIoc.AfterScan))]
+ public class ScanInfoTypeIOC : SaleScanIoc.AfterScan
+ {
+ static bool inited = false;
+ bool InitRpcFacade()
+ {
+ if (!inited)
+ {
+
+ var url = GetMesUrl();
+ if (string.IsNullOrEmpty(url))
+ return false;
+ try
+ {
+ RpcFacade.Init(url, "B3ClientService");
+ inited = true;
+ }
+ catch (Exception ex)
+ {
+ if (ex.Message == "Can only start once")
+ inited = true;
+ else
+ throw;
+ }
+ }
+ return inited;
+ }
+
+ string GetMesUrl()
+ {
+ var query = new DQueryDom(new JoinAlias(typeof(ClientConfig)));
+ query.Columns.Add(DQSelectColumn.Field("MesUrl"));
+ return query.EExecuteScalar();
+ }
+
+ public string Invoke(string barCode)
+ {
+ if (!InitRpcFacade())
+ {
+ if (!ClientServerFacedRpcFacadeUtil.InitRpcFacade())
+ return string.Empty;
+ }
+ try
+ {
+ return RpcFacade.Call("/MainSystem/B3ClientService/Rpcs/CarcassSaleOutStoreRpc/GetCarcassInstoreInfo", barCode);
+ }
+ catch {
+ return string.Empty;
+ }
+ }
+ }
+}