Bladeren bron

厂内车辆接口更新

duyong 4 jaren geleden
bovenliggende
commit
462a7ff796

+ 28 - 1
Common/DbOption/work/MeterWorkCarActualService.cs

@@ -96,7 +96,7 @@ namespace Common
         {
             DbHelper db = new DbHelper();
             PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, MeterWorkPreLink, MeterMonitorNote> pbSomeModel = new PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, MeterWorkPreLink, MeterMonitorNote>();
-            pbSomeModel.one = secondDb;
+            pbSomeModel.one = secondDb; 
             pbSomeModel.two = netDb;
             pbSomeModel.sOne = saveTare;
             pbSomeModel.four = monitorNote;
@@ -167,6 +167,33 @@ namespace Common
             RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doNetAddTwo", new object[] { pbSomeModel }, 1);
             return rm;
         }
+
+        /// <summary>
+        /// 双委托逻辑
+        /// </summary>
+        /// <param name="scale">List<PreTrackScale></param>
+        /// <param name="actualFirst">一次计量数据</param>
+        /// <param name="netDb">MeterWorkCarActual</param>
+        /// <param name="saveTare">0 不保存历史皮,1保存历史皮</param>
+        /// <returns></returns>
+        public RESTfulResult<string> doNetTermTare(MeterWorkCarActualFirst actualFirst, MeterWorkCarActual netDb,string saveTare)
+        {
+            DbHelper db = new DbHelper();
+            PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, PreTrackScale, PreTrackScale> pbSomeModel = new PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, PreTrackScale, PreTrackScale>();
+            pbSomeModel.one = actualFirst;
+            pbSomeModel.two = netDb;
+            pbSomeModel.sOne = saveTare;
+
+            if (actualFirst != null && string.IsNullOrEmpty(actualFirst.createManNo))
+            {
+                actualFirst.createManNo = actualFirst.baseSpotNo;
+                actualFirst.createManName = actualFirst.baseSpotName;
+            }
+
+            //RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doAddNetInnerWf", new object[] { secondDb, netDb, saveTare }, 1);
+            RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doNetTermTare", new object[] { pbSomeModel }, 1);
+            return rm;
+        }
         #endregion
     }
 }

+ 91 - 74
MeterSceneLibrary/JISCO/InnerCarJISCO.cs

@@ -96,26 +96,26 @@ namespace MeterSceneLibrary
                     {
                         // 重量类型为期限皮重
                         if (list[0].weightTypeNo == "001033003")
-                    {
-                        // 判断这个车是否有留存期限皮重的权限
-                        MeterBaseTermTareCarService meterBaseTermTareCarService = new MeterBaseTermTareCarService();
-                        RESTfulResult<List<MeterBaseTermTareCar>> tareCarResult = meterBaseTermTareCarService.doQueryWf(new MeterBaseTermTareCar { carNo = PbCache.lockCarNo, valueFlag = "0" });
-
-                        if (tareCarResult.Succeed)
                         {
-                            // 没有期限皮重权限
-                            if (tareCarResult.Data == null || tareCarResult.Data.Count == 0)
-                            {
-                                rt = saveMethod.doError("该车辆没有期限皮重权限,请联系计量大厅");
-                            }
-                            // 有期限皮重权限 
-                            else if (tareCarResult.Data.Count >= 1)
+                            // 判断这个车是否有留存期限皮重的权限
+                            MeterBaseTermTareCarService meterBaseTermTareCarService = new MeterBaseTermTareCarService();
+                            RESTfulResult<List<MeterBaseTermTareCar>> tareCarResult = meterBaseTermTareCarService.doQueryWf(new MeterBaseTermTareCar { carNo = PbCache.lockCarNo, valueFlag = "0" });
+
+                            if (tareCarResult.Succeed)
                             {
-                                // 正常保存期限皮重
-                                rt = saveMethod.doTermTareData();
+                                // 没有期限皮重权限
+                                if (tareCarResult.Data == null || tareCarResult.Data.Count == 0)
+                                {
+                                    rt = saveMethod.doError("该车辆没有期限皮重权限,请联系计量大厅");
+                                }
+                                // 有期限皮重权限 
+                                else if (tareCarResult.Data.Count >= 1)
+                                {
+                                    // 正常保存期限皮重
+                                    rt = saveMethod.doTermTareData();
+                                }
                             }
                         }
-                    }
                         // 重量类型为普通毛重/皮重
                         else if (list[0].weightTypeNo == "001033001" || list[0].weightTypeNo == "001033002")
                         {
@@ -130,72 +130,77 @@ namespace MeterSceneLibrary
                                 if (firstList == null || firstList.Count == 0)
                                 {
                                 
-                                        // 历史皮重验证
-                                        rt = saveMethod.validHisTare();
+                                    // 历史皮重验证
+                                    rt = saveMethod.validHisTare();
 
-                                        // 重量类型为皮重且在皮重误差内
-                                        if (list[0].weightTypeNo == "001033002" && PbCache.monitorResult.valid_wgt == true)
-                                        {
-                                            /*
-                                             * a. 正常保存重量匹配委托
-                                             * b. 提示称重完成
-                                             */
-                                            rt = saveMethod.doAddFirst(rmScale.Data[0], mwaf);
-                                        }
-                                        // 重量类型为皮重且在皮重误差内
-                                        else if (list[0].weightTypeNo == "001033002" && PbCache.monitorResult.valid_wgt == false)
-                                        {
-                                            rt = saveMethod.doError(PbCache.ResultMessage);
-                                        }
-                                        // 重量类型为毛重,在皮重误差内
-                                        else if (list[0].weightTypeNo == "001033001" && PbCache.monitorResult.valid_wgt == true)
-                                        {
-                                            rt = saveMethod.doError("当次重量类型为毛重,在皮重误差内");
-                                        }
-                                        // 重量类型为毛重,不在皮重误差内
-                                        else if (list[0].weightTypeNo == "001033001" && PbCache.monitorResult.valid_wgt == false)
-                                        {
-                                            // 判断车辆是否具有期限皮重权限
-                                            MeterBaseTermTareCarService meterBaseTermTareCarService = new MeterBaseTermTareCarService();
-                                            RESTfulResult<List<MeterBaseTermTareCar>> tareCarResult = meterBaseTermTareCarService.doQueryWf(new MeterBaseTermTareCar { carNo = PbCache.lockCarNo, valueFlag = "0" });
+                                    // 重量类型为皮重且在皮重误差内
+                                    if (list[0].weightTypeNo == "001033002" && PbCache.monitorResult.valid_wgt == true)
+                                    {
+                                        /*sds
+                                        * a. 正常保存重量匹配委托
+                                        * b. 提示称重完成
+                                        */
+                                        rt = saveMethod.doAddFirst(rmScale.Data[0], mwaf);
+                                    }
+                                    // 重量类型为皮重且在皮重误差外
+                                    else if (list[0].weightTypeNo == "001033002" && PbCache.monitorResult.valid_wgt == false)
+                                    {
+                                        rt = saveMethod.doError(PbCache.ResultMessage);
+                                    }
+                                    // 重量类型为毛重,在皮重误差内
+                                    else if (list[0].weightTypeNo == "001033001" && PbCache.monitorResult.valid_wgt == true)
+                                    {
+                                        rt = saveMethod.doError("当次重量类型为毛重,在皮重误差内");
+                                    }
+                                    // 重量类型为毛重,不在皮重误差内
+                                    else if (list[0].weightTypeNo == "001033001" && PbCache.monitorResult.valid_wgt == false)
+                                    {
+                                        // 判断车辆是否具有期限皮重权限
+                                        MeterBaseTermTareCarService meterBaseTermTareCarService = new MeterBaseTermTareCarService();
+                                        RESTfulResult<List<MeterBaseTermTareCar>> tareCarResult = meterBaseTermTareCarService.doQueryWf(new MeterBaseTermTareCar { carNo = PbCache.lockCarNo, valueFlag = "0" });
 
-                                            if (tareCarResult.Succeed)
+                                        if (tareCarResult.Succeed)
+                                        {
+                                            // 没有期限皮重权限
+                                            if (tareCarResult.Data.Count == 0)
                                             {
-                                                // 没有期限皮重权限
-                                                if (tareCarResult.Data.Count == 0)
-                                                {
-                                                    rt = saveMethod.doError("该车辆没有期限皮重权限,请联系计量大厅");
-                                                }
-                                                // 有期限皮重权限 
-                                                else if (tareCarResult.Data.Count >= 1)
+                                                rt = saveMethod.doError("该车辆没有期限皮重权限,请联系计量大厅");
+                                            }
+                                            // 有期限皮重权限 
+                                            else if (tareCarResult.Data.Count >= 1)
+                                            {
+                                                //查下当前拖的物料是否可用期限皮;验证业务类型是否允许使用期限皮重
+                                                string sqls = @"select t.matter_no id, t.matter_name text
+                                                from meter_base_matter_info t,meter_base_metertype_conf t2
+                                                where t.allowed_tare_weight = '1'
+                                                and t.valid_flag = '1'
+                                                and t.matter_no='" + rmScale.Data[0].matterNo + @"'
+                                                and t2.is_allow_term_tare = '1' and  t2.meter_type_no = '" + rmScale.Data[0].meterTypeNo + @"'";
+
+                                                PbModelDbService<List<PbModelDb>> pbp = new PbModelDbService<List<PbModelDb>>();
+                                                RESTfulResult<List<PbModelDb>> rmT = pbp.executeSqlDataWf(sqls);
+                                                if (rmT.Succeed)
                                                 {
-                                                    //查下当前拖的物料是否可用期限皮;验证业务类型是否允许使用期限皮重
-                                                    string sqls = @"select t.matter_no id, t.matter_name text
-                                                  from meter_base_matter_info t,meter_base_metertype_conf t2
-                                                 where t.allowed_tare_weight = '1'
-                                                   and t.valid_flag = '1'
-                                                   and t.matter_no='" + rmScale.Data[0].matterNo + @"'
-                                                   and t2.is_allow_term_tare = '1' and  t2.meter_type_no = '" + rmScale.Data[0].meterTypeNo + @"'";
-
-                                                    PbModelDbService<List<PbModelDb>> pbp = new PbModelDbService<List<PbModelDb>>();
-                                                    RESTfulResult<List<PbModelDb>> rmT = pbp.executeSqlDataWf(sqls);
-                                                    if (rmT.Succeed)
+                                                    if (rmT.Data != null && rmT.Data.Count > 0)
+                                                    {
+                                                        // 存在使用期限皮重权限,并使用期限皮重洁净
+
+                                                        //给一次数据匹配委托
+                                                        EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
+                                                        mwaf = entityBase1.format<MeterWorkCarActualFirst>(rmScale.Data[0], mwaf);
+                                                        mwaf.isPreScale = "1";
+
+                                                        rt = saveMethod.doNetTermTare(rmScale.Data[0], mwaf);
+                                                    }
+                                                    else
                                                     {
-                                                        if (rmT.Data != null && rmT.Data.Count > 0)
-                                                        {
-                                                            // 正常保存期限皮重,同时保存一次计量数据
-                                                            rt = saveMethod.doTermTareData();
-                                                            rt = saveMethod.doAddFirst(rmScale.Data[0], mwaf);
-                                                        }
-                                                        else
-                                                        {
-                                                            // 只保存一次计量数据
-                                                            rt = saveMethod.doAddFirst(rmScale.Data[0], mwaf);
-                                                        }
+                                                        // 只保存一次计量数据
+                                                        rt = saveMethod.doAddFirst(rmScale.Data[0], mwaf);
                                                     }
                                                 }
                                             }
                                         }
+                                    }
                                 }
                                 // 只存在一条有效的一次计量数据
                                 else if (firstList == null || firstList.Count == 1)
@@ -230,6 +235,12 @@ namespace MeterSceneLibrary
                                         if (list[0].weightTypeNo == "001033002" && PbCache.monitorResult.valid_wgt == true)
                                         {
                                             // 正常结净
+
+                                            //给一次数据匹配委托
+                                            EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
+                                            mwaf = entityBase1.format<MeterWorkCarActualFirst>(rmScale.Data[0], mwaf);
+                                            mwaf.isPreScale = "1";
+
                                             rt = saveMethod.doNet(rmScale.Data[0], firstList[0], mwaf);
                                         }
                                         // 重量类型为皮重且不在皮重误差内
@@ -241,7 +252,13 @@ namespace MeterSceneLibrary
                                         else if (list[0].weightTypeNo == "001033001" && PbCache.monitorResult.valid_wgt == false)
                                         {
                                             // 正常结净
-                                            rt = saveMethod.doNet(scale, firstList[0], mwaf);
+
+                                            //给一次数据匹配委托
+                                            EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
+                                            mwaf = entityBase1.format<MeterWorkCarActualFirst>(rmScale.Data[0], mwaf);
+                                            mwaf.isPreScale = "1";
+
+                                            rt = saveMethod.doNet(rmScale.Data[0], firstList[0], mwaf);
                                         }
                                         // 重量类型为毛重,在皮重误差内
                                         else if (list[0].weightTypeNo == "001033001" && PbCache.monitorResult.valid_wgt == true)

+ 59 - 4
MeterSceneLibrary/JISCO/private/SaveMethod.cs

@@ -117,7 +117,7 @@ namespace MeterSceneLibrary.JISCO
             netDb.grossManName = actualFirst.createManName;
             netDb.grossClass = actualFirst.meterClass;
             netDb.grossGroup = actualFirst.meterGroup;
-            netDb.valueFlag = "2";
+            netDb.valueFlag = "1";
             netDb.isPreScale = "1";
 
             netDb.netTime = DateTime.Now;
@@ -131,8 +131,7 @@ namespace MeterSceneLibrary.JISCO
             //净重=毛-皮-附加重量
             netDb.netWeight = netDb.grossWeight - netDb.tareWeight - netDb.addWeight;
             netDb.netMode = "1"; //1:正常结净;2:匹配结净
-            netDb.valueFlag = "0"; //0=有效,1=作废
-            netDb.uploadFlag = "0"; //0=待审核;1:待上传;2=已上传
+            netDb.uploadFlag = "1"; //0=待审核;1:待上传;2=已上传
             netDb.dataSource = "1";//1 = 智能终端,2 = 本地计量,3 = 应急计量,4 = 手动录入(计量票据录入)
                                   //要判断下当前是否勾选了不验证皮重
 
@@ -149,7 +148,7 @@ namespace MeterSceneLibrary.JISCO
             // 保存结净记录,后续改成统一提交模式  BourneCao
 
             MeterWorkCarActualService actualService = new MeterWorkCarActualService();
-            RESTfulResult<string> rmI = actualService.doAddNet(actualFirst, actualFirst2, netDb, monitorNote, "0");
+            RESTfulResult<string> rmI = actualService.doAddNet(actualFirst, actualFirst2, netDb, monitorNote, "1");
 
             if (rmI.Succeed)
             {
@@ -368,6 +367,62 @@ namespace MeterSceneLibrary.JISCO
             return rt;
         }
 
+        /// <summary>
+        /// 期限皮重保存洁净
+        /// </summary>
+        /// <param name="scale"></param>
+        /// <param name="actualFirst"></param>
+        public rtInfo doNetTermTare(PreTrackScale scale, MeterWorkCarActualFirst actualFirst)
+        {
+            // 构造结净数据
+            MeterWorkCarActual netDb = new MeterWorkCarActual();
+
+            if (scale != null)
+            {
+                EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
+                netDb = entityBase.format<MeterWorkCarActual>(scale, netDb);
+            }
+
+            netDb.actualFirst1No = actualFirst.actualFirstNo;
+
+            netDb.tareTime = DateTime.Now;
+            netDb.baseSpot2No = PbCache.sportInfo.baseSpotNo;
+            netDb.baseSpot2Name = PbCache.sportInfo.baseSpotName;
+            netDb.tareMode = "2";//1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
+
+            netDb.grossTime = actualFirst.createTime;
+            netDb.grossWeight = actualFirst.meterWeight.Value; // 谁大谁是毛 BourneCao
+            netDb.baseSpot1No = actualFirst.baseSpotNo;
+            netDb.baseSpot1Name = actualFirst.baseSpotName;
+            netDb.grossMode = "2"; // 1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
+            netDb.grossManNo = actualFirst.createManNo;
+            netDb.grossManName = actualFirst.createManName;
+            netDb.grossClass = actualFirst.meterClass;
+            netDb.grossGroup = actualFirst.meterGroup;
+
+            netDb.netTime = DateTime.Now;
+
+            //netDb.netManNo = appUser.userid; //净重计量员编码 
+            //netDb.netManName = appUser.username; //净重计量员名称
+            netDb.netSpot3No = PbCache.sportInfo.baseSpotNo; //净重计量点编号
+            netDb.netSpot3Name = PbCache.sportInfo.baseSpotName; //净重计量点
+
+            netDb.addWeight = (actualFirst.addWeight == null ? 0 : actualFirst.addWeight.Value);
+            //净重=毛-皮-附加重量
+            netDb.netMode = "2"; //1:正常结净;2:匹配结净
+            netDb.valueFlag = "1"; //0=有效,1=作废
+            netDb.uploadFlag = "1"; //0=待审核;1:待上传;2=已上传
+            netDb.dataSource = "1"; //1 = 智能终端,2 = 本地计量,3 = 应急计量,4 = 手动录入(计量票据录入)
+            netDb.isPreScale = "1";//是否匹配委托,0未匹配,1已匹配
+                                    //要判断下当前是否勾选了不验证皮重
+
+            // 保存结净记录,后续改成统一提交模式  BourneCao
+
+            MeterWorkCarActualService actualService = new MeterWorkCarActualService();
+            actualService.doNetTermTare(actualFirst, netDb,"1");
+            return rt;
+        }
+
         /// <summary>
         /// 一车多卸
         /// a. 取第一条委托正常洁净产生一条净重记录