| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 |
- using com.hnshituo.core.webapp.vo;
- using CoreFS.CA06;
- using iCore.Rtdb;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- namespace CarLocalMeter
- {
- public class MeterWorkCarActualFirstService
- {
- #region JISCO特殊接口 By BourneCao 20220122
- /// <summary>
- /// 按车号查询状态为未使用或使用中的计量实绩数据
- /// </summary>
- /// <param name="info"></param>
- /// <returns></returns>
- public RESTfulResult<List<MeterWorkCarActualFirst>> doQueryByFlag(MeterWorkCarActualFirst info)
- {
- DbHelper db = new DbHelper();
- info.pageNum = 1;
- info.pageSize = 3;
- RESTfulResult<List<MeterWorkCarActualFirst>> result = db.doOption<List<MeterWorkCarActualFirst>>("meterworkcaractualfirsts", "/queryByFlag", new object[] { info }, 1);
- return result;
- }
- #endregion
- internal RESTfulResult<List<MeterWorkCarActualFirst>> doQueryWf(MeterWorkCarActualFirst info)
- {
- DbHelper db = new DbHelper();
- RESTfulResult<PageList<List<MeterWorkCarActualFirst>>> rm = db.doOption<PageList<List<MeterWorkCarActualFirst>>>("meterworkcaractualfirsts", "/", new object[] { info }, 0);
- List<MeterWorkCarActualFirst> lt = new List<MeterWorkCarActualFirst>();
- //如果一次数据在当前过期时间外,则将数据设置为失效状态
- if (rm.Succeed)
- {
- DateTime dtNow = DateTime.Now;
- if (rm.Data.list.Count > 0)
- {
- foreach (MeterWorkCarActualFirst meter in rm.Data.list)
- {
- if (meter.createTime.Value.AddHours(AppConfigCache.isEndHour).CompareTo(dtNow) < 0)
- {
- doUpdateWf(new MeterWorkCarActualFirst { actualFirstNo = meter.actualFirstNo, valueFlag = "0", updateTime = dtNow, updateManName = "超期未使用" });
- }
- else
- {
- lt.Add(meter);
- }
- }
- }
- }
- RESTfulResult<List<MeterWorkCarActualFirst>> result = new RESTfulResult<List<MeterWorkCarActualFirst>>();
- result.Succeed = rm.Succeed;
- result.Status = rm.Status;
- result.Message = rm.Message;
- result.ResultMessage = rm.ResultMessage;
- result.Code = rm.Code;
- if (lt != null && lt.Count > 0)
- {
- result.Data = rm.Data.list;
- }
- return result;
- }
- /// <summary>
- /// 修改
- /// </summary>
- /// <param name="info"></param>
- /// <returns></returns>
- internal RESTfulResult<string> doUpdateWf(MeterWorkCarActualFirst info)
- {
- DbHelper db = new DbHelper();
- RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doUpdateWf", new object[] { info }, 1);
- return rm;
- }
- /// <summary>
- /// 一次计量数据保存以及结净
- /// </summary>
- public RESTfulResult<MeterWorkCarActualFirst> doAddFirstDjDb(PreTrackScale scale, MeterWorkCarActualFirst model)
- {
- DbHelper db = new DbHelper();
- if (scale != null)
- {
- EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
- model = entityBase.format<MeterWorkCarActualFirst>(scale, model);
- }
- //操作日志
- MeterMonitorNote monitorNote = new MeterMonitorNote();
- monitorNote.baseSpotNo = model.baseSpotNo;
- monitorNote.baseSpotName = model.baseSpotName;
- monitorNote.operationContent = string.Format("产生一次计量数据");
- monitorNote.operationTime = model.createTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
- monitorNote.carNo = model.carNo;
- monitorNote.meterNoteSource = "0";
- PbSomeModel<MeterWorkCarActualFirst, MeterMonitorNote, MeterMonitorNote, MeterMonitorNote> pbSomeModel = new PbSomeModel<MeterWorkCarActualFirst, MeterMonitorNote, MeterMonitorNote, MeterMonitorNote>();
- pbSomeModel.one = model;
- pbSomeModel.two = monitorNote;
- RESTfulResult<MeterWorkCarActualFirst> rmI = db.doOption<MeterWorkCarActualFirst>("meterworkcaractualfirsts", "/add", new object[] { pbSomeModel }, 1);
-
- return rmI;
- }
- /// <summary>
- /// 结净操作
- /// </summary>
- /// <param name="secondDb"></param>
- /// <param name="netDb"></param>
- /// <param name="monitorNote"></param>
- /// <param name="saveTare"></param>
- /// <returns></returns>
- public RESTfulResult<string> doAddNet(PreTrackScale scale, MeterWorkCarActualFirst actualFirst, MeterWorkCarActualFirst actualFirst2)
- {
- DbHelper db = new DbHelper();
- // 构造结净数据
- MeterWorkCarActual netDb = new MeterWorkCarActual();
- // 将第一个一次数据状态改为 已结净
- //actualFirst.valueFlag = "2";
- netDb.isPreScale = "0";
- // 复制对象
- if (scale != null)
- {
- EntityBase<PreTrackScale> entityBase = new EntityBase<PreTrackScale>();
- netDb = entityBase.format<MeterWorkCarActual>(scale, netDb);
- netDb.isPreScale = "1";
- //给二次计量数据匹配委托
- actualFirst2 = entityBase.format<MeterWorkCarActualFirst>(scale, actualFirst2);
- }
- netDb.carNo = actualFirst.carNo;
- if (actualFirst2.meterWeight.Value > actualFirst.meterWeight.Value)
- {
- actualFirst2.weightType = "0";//0=毛重;1=常规皮重;2=期限皮重;3=历史皮重;4=标识皮重;5=自重皮重
- netDb.actualFirst1No = ""; //毛重编号
- netDb.grossTime = actualFirst2.createTime;
- netDb.grossWeight = actualFirst2.meterWeight.Value; // 谁大谁是毛 BourneCao
- netDb.baseSpot1No = AppConfigCache.pointNo;
- netDb.baseSpot1Name = AppConfigCache.pointName;
- netDb.grossMode = "2"; // 1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
- netDb.grossClass = actualFirst2.meterClass;
- netDb.grossGroup = actualFirst2.meterGroup;
- netDb.grossManNo = "system";
- netDb.grossManName = "system";
- netDb.grossTime = actualFirst2.createTime;
- netDb.actualFirst2No = actualFirst2.actualFirstNo; //皮重编号
- netDb.tareTime = actualFirst.createTime;
- netDb.tareWeight = actualFirst.meterWeight.Value; // 谁小谁是皮 BourneCao
- netDb.baseSpot2No = actualFirst.baseSpotNo;
- netDb.baseSpot2Name = actualFirst.baseSpotName;
- netDb.tareMode = actualFirst.meterMode;//1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
- netDb.tareManName = actualFirst.createManName;
- netDb.tareManNo = actualFirst.createManNo;
- netDb.tareTime = actualFirst.createTime;
- }
- else
- {
- actualFirst2.weightType = "1";//皮重
- netDb.actualFirst2No = ""; //皮重编号
- netDb.tareTime = actualFirst2.createTime;
- netDb.tareWeight = actualFirst2.meterWeight.Value; // 谁小谁是皮 BourneCao
- netDb.baseSpot2No = AppConfigCache.pointNo;
- netDb.baseSpot2Name = AppConfigCache.pointName;
- netDb.tareMode = "2";//1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
- netDb.tareClass = actualFirst2.meterClass;
- netDb.tareGroup = actualFirst2.meterGroup;
- netDb.tareManName = "system";
- netDb.tareManNo = "system";
- netDb.tareTime = actualFirst2.createTime;
- netDb.actualFirst1No = actualFirst2.actualFirstNo; //毛重编号
- netDb.grossTime = actualFirst.createTime;
- netDb.grossWeight = actualFirst.meterWeight.Value; // 谁大谁是毛 BourneCao
- netDb.baseSpot1No = actualFirst.baseSpotNo;
- netDb.baseSpot1Name = actualFirst.baseSpotName;
- netDb.grossMode = actualFirst.meterMode;//1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
- netDb.grossManNo = actualFirst.createManNo;
- netDb.grossManName = actualFirst.createManName;
- netDb.grossTime = actualFirst.createTime;
- }
- netDb.valueFlag = "1";
- netDb.netManName = "system";
- netDb.netManNo = "system";
- netDb.createManName = "system";
- netDb.createTime = DateTime.Now;
- netDb.netTime = DateTime.Now;
- netDb.netSpot3No = AppConfigCache.pointNo; //净重计量点编号
- netDb.netSpot3Name = AppConfigCache.pointName; //净重计量点
- netDb.addWeight = (actualFirst.addWeight == null ? 0 : actualFirst.addWeight.Value);
- //净重=毛-皮-附加重量
- netDb.netWeight = netDb.grossWeight - netDb.tareWeight - netDb.addWeight;
- netDb.netMode = "1"; //1:正常结净;2:匹配结净
- netDb.uploadFlag = "1"; //0=待审核;1:待上传;2=已上传
- netDb.dataSource = "1";//1 = 智能终端,2 = 本地计量,3 = 应急计量,4 = 手动录入(计量票据录入)
- //netDb.updateManName = "system";
- //netDb.updateManNo = "system";
- //netDb.updateTime = DateTime.Now;
- //操作日志
- MeterMonitorNote monitorNote = new MeterMonitorNote();
- monitorNote.baseSpotNo = actualFirst2.baseSpotNo;
- monitorNote.baseSpotName = actualFirst2.baseSpotName;
- monitorNote.operationContent = string.Format("产生一次计量数据和洁净数据");
- monitorNote.operationTime = actualFirst2.createTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
- monitorNote.carNo = actualFirst2.carNo;
- monitorNote.meterNoteSource = "0";
- PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, MeterWorkPreLink, MeterMonitorNote> pbSomeModel = new PbSomeModel<MeterWorkCarActualFirst, MeterWorkCarActual, MeterWorkPreLink, MeterMonitorNote>();
- pbSomeModel.one = actualFirst2;
- pbSomeModel.two = netDb;
- pbSomeModel.sOne = "1"; //保存历史皮
- pbSomeModel.four = monitorNote;
- if (actualFirst2 != null && string.IsNullOrEmpty(actualFirst2.createManNo))
- {
- actualFirst2.createManNo = actualFirst2.baseSpotNo;
- actualFirst2.createManName = actualFirst2.baseSpotName;
- }
- RESTfulResult<string> rm = db.doOption<string>("meterworkcaractualfirsts", "doAddNetInnerWf", new object[] { pbSomeModel }, 1);
- return rm;
- }
- /// <summary>
- /// 上传本地文件数据
- /// </summary>
- /// <param name="lm"></param>
- /// <returns></returns>
- internal RESTfulResult<List<DjPbModel>> doDbUpload(List<MeterWorkCarActualFirst> lm)
- {
- DbHelper db = new DbHelper();
- foreach (MeterWorkCarActualFirst mfirst in lm)
- {
- mfirst.dataSource = "1"; //智能终端
- mfirst.meterMode = "2"; //智能终端
- mfirst.valueFlag = "1";
- mfirst.isPreScale = "0"; //未匹配委托
- }
- RESTfulResult<List<DjPbModel>> rm = db.doOption<List<DjPbModel>>("meterworkcaractualfirstbaks", "addFirstEmergencyList", new object[] { lm }, 1);
- return rm;
- }
- }
- }
|