123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using SysDataLibs.TableClass;
- using SysBaseLibs;
- using System.Threading;
- using System.Web;
- using SysDataLibs;
- using DataTransfersLibs.sDataInfraceSoap;
- namespace CheckDataTransfersLibs
- {
- public class ytCheckDataUpload
- {
- //private static string _Token = "";
- public void saveQuickCheckItemInfo(object poObj)
- {
- string lcRetval = "";
- if (SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceOnOrOff") != "Y")
- {
- ThreadLog.LogInfo("error:系统已禁用次接口调用!");
- return;// "error:系统已禁用次接口调用!";
- }
- string lcMarketID = SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceMarkketID");
- //_Token = string.IsNullOrEmpty(_Token) ? getToken() : _Token;
- CheckData_info poCheckData = (CheckData_info)poObj;
- if (poCheckData == null)
- {
- ThreadLog.LogInfo("error:没有上传的数据!");
- return;// "error:没有上传的数据!";
- }
- if (poCheckData.MarketID != lcMarketID)
- {
- ThreadLog.LogInfo("error:上传的机构不正确!非 苏州工业园区现代农业投资有限公司弘德隆果品市场分公司");
- return;// "error:上传的机构不正确!非 苏州工业园区现代农业投资有限公司弘德隆果品市场分公司";
- }
- string lcSubItemCode = SysDataLibs.AppEnv.YtDataMappingObj.GetSpecialsMappingCode(poCheckData.SampleName, SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceLittleID"), "szLittleKindCode");
- if (string.IsNullOrEmpty(lcSubItemCode))
- {
- ThreadLog.LogInfo("error:上传检测数据不符合上传要求,未获得对应的商品映射!");
- return;// "error:上传检测数据不符合上传要求,未获得对应的商品映射!";
- }
- CheckProjectTypeMapping_info loCheckMapping = SysDataLibs.AppEnv.YtDataMappingObj.GetCheckTypeMapping(poCheckData.CheckProjectTypeID);
- if (loCheckMapping == null || string.IsNullOrEmpty(loCheckMapping.szCheckItemTypeLittleCode))
- {
- ThreadLog.LogInfo("error:上传检测数据不符合上传要求,未获得对应的检测项目映射!");
- return;// "error:上传检测数据不符合上传要求,未获得对应的检测项目映射!";
- }
- if (string.IsNullOrEmpty(poCheckData.CorpName))
- {
- ThreadLog.LogInfo("error:被捡对象不能为空!");
- return;
- }
- ViewMarketSellers_Interface_info loStallInfo = GetViewMarketSellers(lcMarketID, poCheckData.CorpName);
- _ViewMarketSellersSave.Clear();
- try
- {
- string lcToken = getToken();
- if (string.IsNullOrEmpty(lcToken))
- {
- ThreadLog.LogInfo("error:获取令牌失败");
- return;// "error:获取令牌失败";
- }
- QuickCheckItemJC loQuickCheckItemJC = new QuickCheckItemJC();
- loQuickCheckItemJC.JCCode = Guid.NewGuid().ToString().Replace("-", ""); //检测编号
- loQuickCheckItemJC.DABH = loStallInfo.IdCard;//"320502194701151534"; //经营户身份证号码
- loQuickCheckItemJC.PositionNo = poCheckData.CorpName;// poCheckData.CorpName; //摊位编号
- loQuickCheckItemJC.Name = loStallInfo.MarketSellerName;//"韩国金"; //经营户姓名 Y
- loQuickCheckItemJC.SubItemCode = lcSubItemCode; //抽检的品种编码 Y
- loQuickCheckItemJC.SubItemName = poCheckData.SampleName; //抽检的品种名称 Y
- loQuickCheckItemJC.QuickCheckDate = poCheckData.UploadTime; //检测时间 Y
- loQuickCheckItemJC.QuickCheckItemCode = loCheckMapping.szCheckItemTypeGreatCode; //检测项目分类编号 Y
- loQuickCheckItemJC.QuickCheckSubItemCode = loCheckMapping.szCheckItemTypeLittleCode; //检测项目小类编号 Y
- loQuickCheckItemJC.QuickCheckResult = poCheckData.CheckResult == "合格" ? "-" : "+"; //检测项目结果(定性值) Y (+ / -)
- loQuickCheckItemJC.QuickCheckResultValue = poCheckData.CheckValue; //检测项目结果值
- loQuickCheckItemJC.QuickCheckResultValueUnit = ""; //实际值单位
- loQuickCheckItemJC.QuickCheckResultValueCKarea = poCheckData.CheckLimit; //检测项目结果值参考范围
- loQuickCheckItemJC.QuickCheckResultDependOn = ""; //检测依据
- loQuickCheckItemJC.QuickCheckRemarks = ""; //检测备注
- loQuickCheckItemJC.QuickChecker = poCheckData.CheckUser; //检测人姓名 Y
- loQuickCheckItemJC.QuickReChecker = poCheckData.CheckUser; //复核人员姓名 Y
- loQuickCheckItemJC.JCManufactor = poCheckData.MachineMaker; //检测设备厂家名
- loQuickCheckItemJC.JCModel = poCheckData.MachineID; //检测设备型号
- loQuickCheckItemJC.JCSN = ""; //检测设备唯一序列号
- head lTbHead = new head();
- lTbHead.marketCode = SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceMarkketCode");//"91320594717474625W";
- lTbHead.marketName = SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceMarkketName");//"苏州工业园区现代农业投资有限公司弘德隆果品市场分公司";
- lTbHead.tokenNo = lcToken;
- request ltRequest = new request();
- List<QuickCheckItemJC> loQuickCheckItemJCs = new List<QuickCheckItemJC>();
- loQuickCheckItemJCs.Add(loQuickCheckItemJC);
- ltRequest.dataList = loQuickCheckItemJCs;
- webService loAll = new webService();
- loAll.head = lTbHead;
- loAll.request = ltRequest;
- string RequstInfo = SerializerHelper.SerializerToString(loAll);
- ThreadLog.LogInfo(RequstInfo);
- sDataInfraceSoapClient loYTInterface = new sDataInfraceSoapClient();
- lcRetval = loYTInterface.saveQuickCheckItemInfo(RequstInfo);
- //DynamicWebService loInterface = new DynamicWebService();
- //loInterface.Address = SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceAddress");
- //object[] loObj = new object[1];
- //loObj[0] = RequstInfo;
- //lcRetval = loInterface.GetWebServiceData(SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceClass"), "saveQuickCheckItemInfo", loObj).ToString();
- ThreadLog.LogInfo(lcRetval);
- }
- catch (Exception err)
- {
- //if (System.Web.HttpContext.Current.Application["YTErrorList"] != null)
- //{
- // YTErrorList loYE = (YTErrorList)System.Web.HttpContext.Current.Application["YTErrorList"];
- // loYE.ErrorTimes.Add(DateTime.Now);
- // if (loYE.IsCanStop)
- // {
- // SysDataLibs.AppEnv.SysSetObj.SetString("YTInterfaceOnOrOff", "N");
- // }
- //}
- ThreadLog.LogException(err);
- }
- //return lcRetval;
- }
- public void saveQuickCheckItemInfos(Object poObj)
- {
- string lcRetval = "";
- if (SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceOnOrOff") != "Y")
- {
- ThreadLog.LogInfo("error:系统已禁用次接口调用!");
- return;// "error:系统已禁用次接口调用!";
- }
- string lcMarketID = SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceMarkketID");
- List<CheckData_info> poCheckDatas = (List<CheckData_info>)poObj;
- if (poCheckDatas == null || poCheckDatas.Count <= 0)
- {
- ThreadLog.LogInfo("error:没有上传的数据!");
- return;// "error:没有上传的数据!";
- }
- try
- {
- string lcToken = getToken();
- if (string.IsNullOrEmpty(lcToken))
- {
- ThreadLog.LogInfo("error:获取令牌失败");
- return;// "error:获取令牌失败";
- }
- List<QuickCheckItemJC> loQuickCheckItemJCs = new List<QuickCheckItemJC>();
- foreach (CheckData_info poCheckData in poCheckDatas)
- {
- if (poCheckData.MarketID != lcMarketID)
- {
- ThreadLog.LogInfo("error:上传的机构不正确!非 苏州工业园区现代农业投资有限公司弘德隆果品市场分公司");
- continue;
- }
- string lcSubItemCode = SysDataLibs.AppEnv.YtDataMappingObj.GetSpecialsMappingCode(poCheckData.SampleName, SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceLittleID"), "szLittleKindCode");
- if (string.IsNullOrEmpty(lcSubItemCode))
- {
- ThreadLog.LogInfo("error:上传检测数据不符合上传要求,未获得对应的商品映射!");
- continue;
- }
- CheckProjectTypeMapping_info loCheckMapping = SysDataLibs.AppEnv.YtDataMappingObj.GetCheckTypeMapping(poCheckData.CheckProjectTypeID);
- if (loCheckMapping == null || string.IsNullOrEmpty(loCheckMapping.szCheckItemTypeLittleCode))
- {
- ThreadLog.LogInfo("error:上传检测数据不符合上传要求,未获得对应的检测项目映射!");
- continue;
- }
- if (string.IsNullOrEmpty(poCheckData.CorpName))
- {
- ThreadLog.LogInfo("error:被捡对象不能为空!");
- continue;
- }
- ViewMarketSellers_Interface_info loStallInfo = GetViewMarketSellers(lcMarketID, poCheckData.CorpName);
- QuickCheckItemJC loQuickCheckItemJC = new QuickCheckItemJC();
- loQuickCheckItemJC.JCCode = Guid.NewGuid().ToString().Replace("-", ""); //检测编号
- loQuickCheckItemJC.DABH = loStallInfo.IdCard;//"320502194701151534"; //经营户身份证号码
- loQuickCheckItemJC.PositionNo = poCheckData.CorpName;// poCheckData.CorpName;// poCheckData.CorpName; //摊位编号
- loQuickCheckItemJC.Name = loStallInfo.MarketSellerName;//"韩国金"; //经营户姓名 Y
- loQuickCheckItemJC.SubItemCode = lcSubItemCode; //抽检的品种编码 Y
- loQuickCheckItemJC.SubItemName = poCheckData.SampleName; //抽检的品种名称 Y
- loQuickCheckItemJC.QuickCheckDate = poCheckData.UploadTime; //检测时间 Y
- loQuickCheckItemJC.QuickCheckItemCode = loCheckMapping.szCheckItemTypeGreatCode; //检测项目分类编号 Y
- loQuickCheckItemJC.QuickCheckSubItemCode = loCheckMapping.szCheckItemTypeLittleCode; //检测项目小类编号 Y
- loQuickCheckItemJC.QuickCheckResult = poCheckData.CheckResult == "合格" ? "-" : "+"; //检测项目结果(定性值) Y (+ / -)
- loQuickCheckItemJC.QuickCheckResultValue = poCheckData.CheckValue; //检测项目结果值
- loQuickCheckItemJC.QuickCheckResultValueUnit = ""; //实际值单位
- loQuickCheckItemJC.QuickCheckResultValueCKarea = poCheckData.CheckLimit; //检测项目结果值参考范围
- loQuickCheckItemJC.QuickCheckResultDependOn = ""; //检测依据
- loQuickCheckItemJC.QuickCheckRemarks = ""; //检测备注
- loQuickCheckItemJC.QuickChecker = poCheckData.CheckUser; //检测人姓名 Y
- loQuickCheckItemJC.QuickReChecker = poCheckData.CheckUser; //复核人员姓名 Y
- loQuickCheckItemJC.JCManufactor = poCheckData.MachineMaker; //检测设备厂家名
- loQuickCheckItemJC.JCModel = poCheckData.MachineID; //检测设备型号
- loQuickCheckItemJC.JCSN = "";
- loQuickCheckItemJCs.Add(loQuickCheckItemJC);
- }
- _ViewMarketSellersSave.Clear();
- head lTbHead = new head();
- lTbHead.marketCode = SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceMarkketCode");//"91320594717474625W";
- lTbHead.marketName = SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceMarkketName");//"苏州工业园区现代农业投资有限公司弘德隆果品市场分公司";
- lTbHead.tokenNo = lcToken;
- request ltRequest = new request();
- //dataList ltDt = new dataList();
- //ltDt.QuickCheckItemJC = loQuickCheckItemJCs;
- ltRequest.dataList = loQuickCheckItemJCs;
- webService loAll = new webService();
- loAll.head = lTbHead;
- loAll.request = ltRequest;
- string RequstInfo = SerializerHelper.SerializerToString(loAll);
- ThreadLog.LogInfo(RequstInfo);
- //DynamicWebService loInterface = new DynamicWebService();
- //loInterface.Address = SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceAddress");
- //object[] loObj = new object[1];
- //loObj[0] = RequstInfo;
- //lcRetval = loInterface.GetWebServiceData(SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceClass"), "saveQuickCheckItemInfo", loObj).ToString();
- sDataInfraceSoapClient loYTInterface = new sDataInfraceSoapClient();
- lcRetval = loYTInterface.saveQuickCheckItemInfo(RequstInfo);
- ThreadLog.LogInfo("上传结果:" + lcRetval);
- }
- catch (Exception err)
- {
- //YTErrorList loYE = (YTErrorList)SysDataLibs.AppEnv.YTErrorList;
- //loYE.ErrorTimes.Add(DateTime.Now);
- //if (loYE.IsCanStop)
- //{
- // SysDataLibs.AppEnv.SysSetObj.SetString("YTInterfaceOnOrOff", "N");
- //}
- ThreadLog.LogException(err);
- }
- // return lcRetval;
- }
- public Dictionary<string, ViewMarketSellers_Interface_info> _ViewMarketSellersSave = new Dictionary<string, ViewMarketSellers_Interface_info>();
- //获取摊位信息
- public ViewMarketSellers_Interface_info GetViewMarketSellers(string poMarkketID, string poStallNo)
- {
- string lcKey = UtilStr.UAndT(poMarkketID + "@@" + poStallNo);
- ViewMarketSellers_Interface_info loReturn = null;
- if (_ViewMarketSellersSave.ContainsKey(lcKey))
- {
- loReturn = _ViewMarketSellersSave[lcKey];
- }
- else
- {
- //OpenLockKeys_info loOpenLockKey = new OpenLockKeys_info(pcDbConn, pcIndexNo, pcRoomId);
- loReturn = getSellersInfo(poMarkketID, poStallNo);
- _ViewMarketSellersSave.Add(lcKey, loReturn);
- }
- return loReturn;
- }
- private string getToken()
- {
- string lcToken = "";
- sDataInfraceSoapClient loYTInterface = new sDataInfraceSoapClient();
- string lcTokenInfo = loYTInterface.checkIn(SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceLoginInfo"));
- //DynamicWebService loInterface = new DynamicWebService();
- //loInterface.Address = SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceAddress");
- //object[] loObj = new object[1];
- //loObj[0] = SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceLoginInfo");
- //string lcTokenInfo = loInterface.GetWebServiceData(SysDataLibs.AppEnv.SysSetObj.GetString("YTInterfaceClass"), "checkIn", loObj).ToString();
- rsXmlNode loMainNode = rsXmlNode.ParseGenericXml(lcTokenInfo);
- if (loMainNode != null)
- {
- rsXmlNode loResponseNode = loMainNode.GetChildNode("response");
- if (loResponseNode != null)
- lcToken = loResponseNode.GetChildValue("tokenNo");
- }
- return lcToken;
- }
- private ViewMarketSellers_Interface_info getSellersInfo(string poMarkketID, string poStallNo)
- {
- ViewMarketSellers_Interface_info loStall = new ViewMarketSellers_Interface_info();
- string lcSearchSeller = " select IdCard,MarketSellerName,StallName,StallNo from " + Tn.ViewMarketSellers_Interface + " where MarketID='" + poMarkketID +
- "' and " + ViewMarketSellers_Interface_info.cStallNo + "='" + poStallNo + "'";
- DBConnSql loDBConn = new DBConnSql();
- try
- {
- if (loDBConn.Open())
- {
- rsQuery loQuery = loDBConn.OpenQuery(lcSearchSeller);
- if (loQuery != null && loQuery.IsOpened && loQuery.RecCount > 0)
- {
- loStall.IdCard = loQuery.GetString(ViewMarketSellers_Interface_info.cIdCard);
- loStall.MarketSellerName = loQuery.GetString(ViewMarketSellers_Interface_info.cMarketSellerName);
- loStall.StallNo = loQuery.GetString(ViewMarketSellers_Interface_info.cStallNo);
- loStall.StallName = loQuery.GetString(ViewMarketSellers_Interface_info.cStallName);
- }
- }
- }
- catch (Exception err)
- {
- ThreadLog.LogException(err);
- }
- finally
- {
- if (loDBConn != null)
- {
- loDBConn.Close();
- loDBConn = null;
- }
- }
- return loStall;
- }
- public void ExcuteUploadYTThread(CheckData_info poCheckData)
- {
- Thread loThread = new Thread(new ParameterizedThreadStart(saveQuickCheckItemInfo));
- loThread.Start(poCheckData);
- }
- public void ExcuteBatchUploadYTThread(List<CheckData_info> poCheckDatas)
- {
- Thread loThread = new Thread(new ParameterizedThreadStart(saveQuickCheckItemInfos));
- loThread.Start(poCheckDatas);
- }
- }
- }
|