123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using AutoMapper;
- using DataTransfersLibs.Models;
- using SysBaseLibs;
- using SysDataLibs.TableClass;
- namespace DataTransfersLibs.Service
- {
- public class TransDataService : Sys_Users_info
- {
- public TransDataService(DataRow poRow, DBConnSql poDbConn)
- : base(poRow)
- {
- if (poRow != null && poDbConn != null && poDbConn.IsOpened)
- {
- DbConn = poDbConn;
- if (IsMarketSys)
- {
- string lcSql = "select * from vwUserHasAllMarkets where UserId='" + UserID + "'";
- rsQuery loQuery = DbConn.OpenQuery(lcSql);
- if (loQuery != null && loQuery.IsOpened && loQuery.RecCount > 0)
- {
- loQuery.MoveFirst();
- MarketId = loQuery.GetString("MarketID");
- }
- }
- }
- }
- public DBConnSql DbConn { get; }
- public string MarketId { get; } = "";
- rsQuery _checkProTypes;
- private rsQuery CheckProTypes
- {
- get
- {
- if (_checkProTypes == null || !_checkProTypes.IsOpened)
- {
- string lcSql = " select * from CheckProjectType ";
- _checkProTypes = DbConn.OpenQuery(lcSql);
- }
- return _checkProTypes;
- }
- }
- rsQuery _checkItems;
- private rsQuery CheckItems
- {
- get
- {
- if (_checkItems == null || !_checkItems.IsOpened)
- {
- string lcSql = " select * from CheckItem";
- _checkItems = DbConn.OpenQuery(lcSql);
- }
- return _checkItems;
- }
- }
- rsQuery _checkMethods;
- private rsQuery CheckMethods
- {
- get
- {
- if (_checkMethods == null || !_checkMethods.IsOpened)
- {
- string lcSql = " select * from CheckMethod";
- _checkMethods = DbConn.OpenQuery(lcSql);
- }
- return _checkMethods;
- }
- }
- rsQuery _habitQuery;
- private rsQuery HabitQuery
- {
- get
- {
- if (_habitQuery == null || !_habitQuery.IsOpened)
- {
- string lcSql = "select " + Habitat_info.cHabitatID + "," + Habitat_info.cNames + " from " + Tn.Habitat;
- _habitQuery = DbConn.OpenQuery(lcSql);
- }
- return _habitQuery;
- }
- }
- //rsQuery _specialsQuery = null;
- //private rsQuery SpecialsQuery
- //{
- // get
- // {
- // if (_specialsQuery == null || !_specialsQuery.IsOpened)
- // {
- // string lcSql = "select * from " + Tn.Specials;
- // _specialsQuery = DbConn.OpenQuery(lcSql);
- // }
- // return _specialsQuery;
- // }
- //}
- rsQuery _varietyCategoryQuery;
- private rsQuery VarietyCategoryQuery
- {
- get
- {
- if (_varietyCategoryQuery == null || !_varietyCategoryQuery.IsOpened)
- {
- string lcSql = "select * from " + Tn.VarietyCategory;
- _varietyCategoryQuery = DbConn.OpenQuery(lcSql);
- }
- return _varietyCategoryQuery;
- }
- }
- public string GetCheckProTypeIdByItemAndMothed(string pcItemId, string pcMothedId, string pcValueField,
- string pcItem = null, string pcMothed = null)
- {
- string lcRetVal = "";
- pcItemId = string.IsNullOrEmpty(pcItemId)? TransCheckItem(pcItem): pcItemId;
- pcMothedId = string.IsNullOrEmpty(pcMothedId) ? TransCheckMothed(pcMothed): pcMothedId;
- if (CheckCach.CheckProjectCach.ContainsKey(pcItemId + "_" + pcMothedId))
- {
- lcRetVal = CheckCach.CheckProjectCach[pcItemId + "_" + pcMothedId];
- return lcRetVal;
- }
- if (pcItemId != null && pcMothedId != null && CheckProTypes != null && CheckProTypes.IsOpened)
- {
- if (CheckProTypes.GoToRecordByFieldsAndValues(CheckProjectType_info.cCheckItemId + "," + CheckProjectType_info.cCheckMethodId, pcItemId + "," + pcMothedId))
- {
- lcRetVal = CheckProTypes.GetString(pcValueField);
- }
- else if (CheckProTypes.GoToRecordByFieldsAndValues(CheckProjectType_info.cCheckItemId, pcItemId))
- {
- lcRetVal = CheckProTypes.GetString(pcValueField);
- }
- }
- if (!string.IsNullOrEmpty(lcRetVal))
- {
- CheckCach.CheckProjectCach.Add(pcItemId + "_" + pcMothedId, lcRetVal);
- }
- return lcRetVal;
- }
- public string GetHabitIdByHabitName(string pcHabitName)
- {
- string lcRetVal = "";
- if (HabitQuery != null && HabitQuery.IsOpened)
- {
- if (HabitQuery.GoToRecordByFieldsAndValues(Habitat_info.cNames, pcHabitName))
- {
- return CheckProTypes.GetString(Habitat_info.cHabitatID);
- }
- }
- return lcRetVal;
- }
- public string TransResult(string pcValue)
- {
- pcValue = UtilStr.UAndT(pcValue);
- if (pcValue == "1" || pcValue == "合格")
- {
- return "合格";
- }
- else
- {
- return "不合格";
- }
- }
- public string TransCheckMothed(string pcValue)
- {
- string lcRetVal = null;
- if (pcValue == "速测法" || pcValue == "检测卡")
- {
- pcValue = "速测灵";
- }
- if (pcValue == "检测仪")
- {
- pcValue = "速测仪";
- }
- if (CheckCach.CheckMethodCach.ContainsKey(pcValue))
- {
- lcRetVal = CheckCach.CheckMethodCach[pcValue];
- return lcRetVal;
- }
- if (CheckMethods.GoToRecordByFieldsAndValues(CheckMethod_info.cCheckMethodName, pcValue))
- {
- lcRetVal = CheckMethods.GetString(CheckMethod_info.cCheckMethodId);
- }
- if (!string.IsNullOrEmpty(lcRetVal))
- {
- CheckCach.CheckMethodCach.Add(pcValue, lcRetVal);
- }
- return lcRetVal;
- }
- public string TransCheckItem(string pcItem)
- {
- string lcRetVal = null;
- if (pcItem == "残留农药")
- {
- pcItem = "农药残留";
- }
- if (CheckCach.CheckItemCach.ContainsKey(pcItem))
- {
- lcRetVal = CheckCach.CheckItemCach[pcItem];
- return lcRetVal;
- }
- if (CheckItems.GoToRecordByFieldsAndValues(CheckItem_info.cCheckItemName, pcItem))
- {
- lcRetVal = CheckItems.GetString(CheckItem_info.cCheckItemId);
- }
- if (!string.IsNullOrEmpty(lcRetVal))
- {
- CheckCach.CheckItemCach.Add(pcItem, lcRetVal);
- }
- return lcRetVal;
- }
- public string GetSampleId(string pcSampleName)
- {
- string lcRetVal = "";
- //if (SpecialsQuery != null && SpecialsQuery.IsOpened)
- //{
- // if (SpecialsQuery.GoToRecordByFieldsAndValues(Specials_info.cName, pcSampleName))
- // {
- // lcRetVal = SpecialsQuery.GetString(Specials_info.cName);
- // }
- //}
- if (CheckCach.VarietyCategoryCache.ContainsKey(pcSampleName))
- {
- lcRetVal = CheckCach.VarietyCategoryCache[pcSampleName];
- return lcRetVal;
- }
- if (VarietyCategoryQuery.GoToRecordByFieldsAndValues(VarietyCategory_info.cVarietyCategoryName,
- pcSampleName))
- {
- lcRetVal = VarietyCategoryQuery.GetString(VarietyCategory_info.cVarietyCategoryNo);
- }
- if (!string.IsNullOrEmpty(lcRetVal))
- {
- CheckCach.VarietyCategoryCache.Add(pcSampleName, lcRetVal);
- }
- return lcRetVal;
- }
- //public string GetLittleKindName(string pcSampleName)
- //{
- // string lcRetVal = "";
- // if (SpecialsQuery != null && SpecialsQuery.IsOpened)
- // {
- // if (SpecialsQuery.GoToRecordByFieldsAndValues(Specials_info.cName, pcSampleName))
- // {
- // string lcLittleId = SpecialsQuery.GetString(Specials_info.cLittleKindID);
- // LittleKind_info loLittleKind = new LittleKind_info(lcLittleId, DBConn);
- // lcRetVal = loLittleKind.Name;
- // }
- // }
- // return lcRetVal;
- //}
- public CheckData GetCheckData(SingleCheckData poCheckData)
- {
- CheckData loCheckData = null;
- string lcSampleId = string.IsNullOrEmpty(poCheckData.SampleId)
- ? GetSampleId(poCheckData.SampleName)
- : poCheckData.SampleId;
- string lcCheckProTypeId = GetCheckProTypeIdByItemAndMothed(poCheckData.CheckItemNo, poCheckData.CheckMethodNo,
- CheckProjectType_info.cCheckProjectTypeID, poCheckData.CheckItem, poCheckData.CheckMethod);
- if (poCheckData.IsValid && lcCheckProTypeId != "")
- {
- loCheckData = new CheckData
- {
- BarCode = poCheckData.BarCode,
- CheckProjectTypeID = lcCheckProTypeId,
- CheckLimit = lcCheckProTypeId,
- CheckValue = poCheckData.Rate,
- CheckResult = TransResult(poCheckData.Result),
- CheckTime = poCheckData.CheckTime,
- CheckTotal = poCheckData.ChackTotal,
- CheckUnit = poCheckData.CheckOrg,
- CheckUser = poCheckData.Operator,
- ClientIndexID = poCheckData.SampleNo,
- CorpKind = poCheckData.CheckedOrgType,
- CorpName = poCheckData.CheckedOrg,
- GreatKindName = "",
- //【New】
- CardIndex = poCheckData.CheckedOrgCardIndex,
- LicenseNo = poCheckData.CheckedOrgLicenseNo,
- UnitName = poCheckData.CheckedOrgUnitName,
- IdCode = poCheckData.CheckedOrgIdCode,
- CorpNameName = poCheckData.CheckedOrgName,
- PositionNo = poCheckData.CheckedOrgStallNo,
- HabitatID = string.IsNullOrEmpty(poCheckData.CheckDistrictNo)? GetHabitIdByHabitName(poCheckData.CheckDistrict): poCheckData.CheckDistrictNo,
- //默认自检
- IsSelf = "1",
- MachineID = poCheckData.HardwareNo,
- MachineMaker = poCheckData.MachineMaker,
- MarketID = MarketId,
- Memo = poCheckData.Memo,
- ProduceDate = poCheckData.ProduceDate,
- ProduceUnit = poCheckData.ProduceOrg,
- SampleName = poCheckData.SampleName,
- SampleId = lcSampleId,
- SendDate = poCheckData.SendDate,
- UserID = UserID,
- UploadTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
- };
- }
- return loCheckData;
- }
- public CheckData_info GetCheckDataInfo(SingleCheckData poCheckData)
- {
- var loCheckData = GetCheckData(poCheckData);
- CheckData_info loCheckDataInfo = Mapper.Map<CheckData_info>(loCheckData);
- return loCheckDataInfo;
- }
- public bool InsertCheckData(SingleCheckData poCheckData)
- {
- bool lbRetVal = false;
- try
- {
- if (poCheckData != null)
- {
- CheckData_info loCheckData = GetCheckDataInfo(poCheckData);
- string lcSql = loCheckData.InsertSql() + ";\r\n";
- var lcSampleId = loCheckData.SampleId;
- if (!string.IsNullOrWhiteSpace(lcSampleId))
- {
- lcSql += " UPDATE VarietyCategory SET [CheckCount]=[CheckCount]+1 WHERE [VarietyCategoryNo]='" +
- lcSampleId + "'";
- }
- if (DbConn.ExcuteSqlTran(lcSql))
- lbRetVal = true;
- }
- }
- catch (Exception e)
- {
- this.LogError(e);
- }
- return lbRetVal;
- }
- }
- public static class CheckCach
- {
- public static Dictionary<string, string> CheckProjectCach = new Dictionary<string, string>();
- public static Dictionary<string, string> CheckItemCach = new Dictionary<string, string>();
- public static Dictionary<string, string> CheckMethodCach = new Dictionary<string, string>();
- public static Dictionary<string, string> VarietyCategoryCache = new Dictionary<string, string>();
- }
- }
|