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