ReportsController.cs 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025
  1. using SysBaseLibs;
  2. using SysDataLibs.TableClass;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Web;
  8. using System.Web.Mvc;
  9. namespace GSMarketSys.Controllers
  10. {
  11. public class ReportsController : BaseController
  12. {
  13. // GET: Reports
  14. #region RptBulletinInfoRead
  15. [CheckPowerFilter]
  16. public ActionResult RptBulletinInfoRead()
  17. {
  18. return View();
  19. }
  20. public ActionResult GetRptBulletinInfoRead()
  21. {
  22. string lcSql = " select * from vwBulletinInfoNoRead ";
  23. return Content(GetData.Instance.GetResult(lcSql, UserSessionInfo.DBConn));
  24. }
  25. [ValidateInput(false)]
  26. public ActionResult ExportExcelRptBulletinInfoRead()
  27. {
  28. string lcSql = " select Title as '通知标题',MarketName as '市场' from vwBulletinInfoNoRead ";
  29. rsQuery loQuery = UserSessionInfo.DBConn.OpenQuery(lcSql);
  30. string UploadFileDestination = System.Web.HttpContext.Current.Request.PhysicalApplicationPath;
  31. UploadFileDestination += SysDataLibs.AppEnv.SysSetObj.GetString("DOWNLOADPATH") +"\\ExcelExport\\"+ "最近7天公告通知市场未读情况表" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".xls";
  32. string lcMsg = "/"+ SysDataLibs.AppEnv.SysSetObj.GetString("DOWNLOADPATH") + "/ExcelExport/" + "最近7天公告通知市场未读情况表" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".xls";
  33. string lcRetval = "";
  34. if(ExcelHelper.dataTableToCsv(loQuery.CurrentTable, UploadFileDestination))
  35. {
  36. lcRetval = ErrorRebackInfo.GetErrorBackInfo(true,"0", lcMsg);
  37. }else
  38. {
  39. lcRetval = ErrorRebackInfo.GetErrorBackInfo(false, "0", "下载失败!");
  40. }
  41. return Content(lcRetval);
  42. }
  43. #endregion
  44. #region 市场证照到期过期 RptQMarketWrntDueExpire
  45. public ActionResult RptQMarketWrntDueExpire()
  46. {
  47. ViewBag.SelMarketInfo = GetData.Instance.GetSelStr(Markets_info.cMarketID, Markets_info.cNames, Tn.Markets, Markets_info.cIsLock + "='0' " + UserSessionInfo.MarketDataSql(true), UserSessionInfo.DBConn);
  48. ViewBag.SelWarrantType = GetData.Instance.GetSelStr(WarrantType_info.cWarrantTypeID, WarrantType_info.cName, " "+Tn.WarrantType, WarrantType_info.cFlag + "=0 AND " + WarrantType_info.cIsLock + "=0", UserSessionInfo.DBConn);
  49. return View();
  50. }
  51. public ActionResult RptPMarketWrntDueExpire()
  52. {
  53. string MarketID = Utils.AreaToSQLcs(Request["MarketID"]).Trim();
  54. string ExpireFlag = Request["ExpireFlag"];
  55. string WarrantTypeID = Utils.AreaToSQLcs(Request["WarrantTypeID"]).Trim();
  56. // 视图中已经对Markets.IsLock=0进行了过滤
  57. string lcSql = "SELECT * FROM " + Tn.vwMarketWrntDueExpire + " WHERE " + UserSessionInfo.MarketDataSql(false);
  58. //string strDEFlag = ddlDueExpireFlag.SelectedValue.Trim();
  59. if (ExpireFlag != "0")
  60. {
  61. lcSql += " AND " + vwMarketWrntDueExpire_info.cDEFlag + "=" + ExpireFlag;
  62. }
  63. if (!string.IsNullOrEmpty(MarketID))
  64. {
  65. lcSql += " AND " + vwMarketWrntDueExpire_info.cMarketId + "='" + MarketID + "' ";
  66. }
  67. if (!string.IsNullOrEmpty(WarrantTypeID))
  68. {
  69. lcSql += " AND " + vwMarketWrntDueExpire_info.cWarrantTypeId + "=" + WarrantTypeID;
  70. }
  71. lcSql += " ORDER BY " + vwMarketWrntDueExpire_info.cMarketId;
  72. lcSql += "," + vwMarketWrntDueExpire_info.cWarrantTypeId;
  73. rsQuery loQuery = UserSessionInfo.DBConn.OpenQuery(lcSql);
  74. StringBuilder sb = new StringBuilder();
  75. if (loQuery != null && loQuery.IsOpened)
  76. {
  77. loQuery.MoveFirst();
  78. for (int i = 0; i < loQuery.RecCount; i++)
  79. {
  80. sb.Append("<tr>");
  81. // 序号
  82. sb.Append("<td align='left'>");
  83. sb.Append((i + 1) + "");
  84. sb.Append("</td>");
  85. // 市场名称
  86. sb.Append("<td align='left'>");
  87. sb.Append(loQuery.GetString(vwMarketWrntDueExpire_info.cMktName));
  88. sb.Append("</td>");
  89. // 证照类型
  90. sb.Append("<td align='left'>");
  91. sb.Append(loQuery.GetString(vwMarketWrntDueExpire_info.cWarrantName));
  92. sb.Append("</td>");
  93. // 证照号
  94. sb.Append("<td align='left'>");
  95. sb.Append(loQuery.GetString(vwMarketWrntDueExpire_info.cWarrantNumber));
  96. sb.Append("</td>");
  97. // 证照有限期截止日期
  98. sb.Append("<td align='left'>");
  99. DateTime dtValidEnd = loQuery.GetDateTime(vwMarketWrntDueExpire_info.cValidEndTime);
  100. sb.Append(dtValidEnd.ToString("yyyy-MM-dd"));
  101. sb.Append("</td>");
  102. // 到期过期
  103. sb.Append("<td align='left'>");
  104. if (loQuery.GetInt(vwMarketWrntDueExpire_info.cDEFlag) == 1)
  105. sb.Append("三个月到期");
  106. else
  107. sb.Append("过期");
  108. sb.Append("</td>");
  109. sb.Append("</tr>");
  110. loQuery.MoveNext();
  111. }
  112. }
  113. //ViewBag.Hid_WhereSql = lcSql;
  114. ViewBag.TableMsg = sb.ToString();
  115. return View();
  116. }
  117. public ActionResult GetRptPMarketWrntDueExpire()
  118. {
  119. string lcWhereSql = Request["WhereSql"];
  120. rsQuery loQuery = UserSessionInfo.DBConn.OpenQuery(lcWhereSql);
  121. StringBuilder sb = new StringBuilder();
  122. sb.Append("{\"total\":" + loQuery.RecCount + ",\"rows\":");
  123. if (loQuery.IsOpened && loQuery.RecCount > 0)
  124. {
  125. loQuery.CurrentTable.Columns.Add("DEFlagName", typeof(string));
  126. loQuery.MoveFirst();
  127. for(int i = 0; i < loQuery.RecCount; i++)
  128. {
  129. loQuery.SetField("DEFlagName", loQuery.GetString("DEFlag") == "1" ? "三个月到期" : "过期");
  130. loQuery.MoveNext();
  131. }
  132. sb.Append(loQuery.CurrentTable.ToJson("yyyy-MM-dd"));
  133. }
  134. else
  135. {
  136. sb.Append("[]");
  137. }
  138. sb.Append("}");
  139. return Content(sb.ToString());
  140. //return Content(GetData.Instance.GetResult(lcWhereSql, UserSessionInfo.DBConn));
  141. }
  142. [CheckPowerFilter]
  143. public ActionResult CheckIsHasBrowerAuth()
  144. {
  145. return Content(ErrorRebackInfo.GetErrorBackInfo(true, "0",""));
  146. }
  147. #endregion
  148. public ActionResult GetMarkets()
  149. {
  150. string lcSql = "select top 100 * from " + Tn.Markets + " where IsLock='0' " + UserSessionInfo.MarketDataSql(true);
  151. string RegionId = Request["RegionID"];
  152. string MarketName = Request["MarketName"];
  153. if (!string.IsNullOrEmpty(RegionId))
  154. {
  155. RegionId = Regions_info.GetAllRegion(UserSessionInfo, RegionId);
  156. lcSql += " and " + Markets_info.cRegionID + " in (" + RegionId + ")";
  157. }
  158. if (!string.IsNullOrEmpty(MarketName))
  159. {
  160. lcSql += " and names like '%" + MarketName + "%'";
  161. }
  162. lcSql += " and MarketTypeID <> '6' ";
  163. return Content(GetData.Instance.GetResult(lcSql, UserSessionInfo.DBConn));
  164. }
  165. public ActionResult GetMarketJsons()
  166. {
  167. string lcSql = "select MarketID ,Names from " + Tn.Markets + " where IsLock='0' " + UserSessionInfo.MarketDataSql(true);
  168. string RegionId = Request["RegionID"];
  169. string MarketName = Request["MarketName"];
  170. if (!string.IsNullOrEmpty(RegionId))
  171. {
  172. RegionId = Regions_info.GetAllRegion(UserSessionInfo, RegionId);
  173. lcSql += " and " + Markets_info.cRegionID + " in (" + RegionId + ")";
  174. }
  175. if (!string.IsNullOrEmpty(MarketName))
  176. {
  177. lcSql += " and names like '%" + MarketName + "%'";
  178. }
  179. lcSql += " and MarketTypeID <> '6' ";
  180. return Content(GetData.Instance.GetJsonResult(lcSql, UserSessionInfo.DBConn));
  181. }
  182. #region RptQSellerWrntDueExpire
  183. public ActionResult RptQSellerWrntDueExpire()
  184. {
  185. ViewBag.SelMarketInfo = GetData.Instance.GetSelStr(Markets_info.cMarketID, Markets_info.cNames, Tn.Markets, Markets_info.cIsLock + "='0' " + UserSessionInfo.MarketDataSql(true), UserSessionInfo.DBConn);
  186. ViewBag.SelWarrantType = GetData.Instance.GetSelStr(WarrantType_info.cWarrantTypeID, WarrantType_info.cName, " " + Tn.WarrantType, WarrantType_info.cFlag + "=1 AND " + WarrantType_info.cIsLock + "=0", UserSessionInfo.DBConn);
  187. return View();
  188. }
  189. public ActionResult RptPSellerWrntDueExpire()
  190. {
  191. string MarketID = Utils.AreaToSQLcs(Request["MarketID"]).Trim();
  192. string ExpireFlag = Request["ExpireFlag"];
  193. string WarrantTypeID = Utils.AreaToSQLcs(Request["WarrantTypeID"]).Trim();
  194. string SellerNames = Utils.AreaToSQLcs(Request["SellerNames"]).Trim();
  195. // 视图中已经对Markets.IsLock=0进行了过滤
  196. string lcSql = "SELECT * FROM " + Tn.vwSellerWrntDueExpire + " WHERE " + UserSessionInfo.MarketDataSql(false);
  197. //string strDEFlag = ddlDueExpireFlag.SelectedValue.Trim();
  198. if (ExpireFlag != "0")
  199. {
  200. lcSql += " AND " + vwSellerWrntDueExpire_info.cDEFlag + "=" + ExpireFlag;
  201. }
  202. if (!string.IsNullOrEmpty(SellerNames))
  203. {
  204. lcSql += " AND " + vwSellerWrntDueExpire_info.cSellerName + "='" + SellerNames + "' ";
  205. }else
  206. {
  207. if (!string.IsNullOrEmpty(MarketID))
  208. {
  209. lcSql += " AND " + vwSellerWrntDueExpire_info.cMarketId + "='" + MarketID + "' ";
  210. }
  211. }
  212. if (!string.IsNullOrEmpty(WarrantTypeID))
  213. {
  214. lcSql += " AND " + vwSellerWrntDueExpire_info.cWarrantTypeId + "=" + WarrantTypeID;
  215. }
  216. lcSql += " ORDER BY " + vwSellerWrntDueExpire_info.cMarketId;
  217. lcSql += "," + vwSellerWrntDueExpire_info.cWarrantTypeId;
  218. rsQuery loQuery = UserSessionInfo.DBConn.OpenQuery(lcSql);
  219. StringBuilder sb = new StringBuilder();
  220. if (loQuery != null && loQuery.IsOpened)
  221. {
  222. loQuery.MoveFirst();
  223. for (int i = 0; i < loQuery.RecCount; i++)
  224. {
  225. sb.Append("<tr>");
  226. // 序号
  227. sb.Append("<td align='left'>");
  228. sb.Append((i + 1) + "");
  229. sb.Append("</td>");
  230. // 经营户
  231. sb.Append("<td align='left'>");
  232. sb.Append(loQuery.GetString(vwSellerWrntDueExpire_info.cMarketName));
  233. sb.Append("</td>");
  234. // 证照类型
  235. sb.Append("<td align='left'>");
  236. sb.Append(loQuery.GetString(vwSellerWrntDueExpire_info.cSellerName));
  237. sb.Append("</td>");
  238. // 证照类型
  239. sb.Append("<td align='left'>");
  240. sb.Append(loQuery.GetString(vwSellerWrntDueExpire_info.cWarrantName));
  241. sb.Append("</td>");
  242. // 证照类型
  243. sb.Append("<td align='left'>");
  244. sb.Append(loQuery.GetString(vwSellerWrntDueExpire_info.cWarrantNumber));
  245. sb.Append("</td>");
  246. // 证照有限期截止日期
  247. sb.Append("<td align='left'>");
  248. DateTime dtValidEnd = loQuery.GetDateTime(vwSellerWrntDueExpire_info.cValidEndTime);
  249. sb.Append(dtValidEnd.ToString("yyyy-MM-dd"));
  250. sb.Append("</td>");
  251. // 到期过期
  252. sb.Append("<td align='left'>");
  253. if (loQuery.GetInt(vwSellerWrntDueExpire_info.cDEFlag) == 1)
  254. sb.Append("三个月到期");
  255. else
  256. sb.Append("过期");
  257. sb.Append("</td>");
  258. sb.Append("</tr>");
  259. loQuery.MoveNext();
  260. }
  261. }
  262. //ViewBag.Hid_WhereSql = lcSql;
  263. ViewBag.TableMsg = sb.ToString();
  264. return View();
  265. }
  266. public ActionResult GetMarketSeller()
  267. {
  268. string RegionId = Request["RegionId"];
  269. string MarketID = Request["MarketID"];
  270. string Names = Utils.AreaToSQLcs(Request["SellerName"]).Trim();
  271. string lcSql = "select top 250 * from " + Tn.MarketSellers + " Where 1=1 and IsLock='N' ";
  272. if (!string.IsNullOrEmpty(MarketID))
  273. {
  274. //选定市场
  275. lcSql += " and " + MarketSellers_info.cMarketID + " ='" + MarketID + "'";
  276. }
  277. else
  278. {
  279. string whereMarketSql = "select MarketID from Markets where IsLock='0' " + UserSessionInfo.MarketDataSql(true);
  280. //全部市场
  281. lcSql += " and " + MarketSellers_info.cMarketID + " in(" + whereMarketSql + ")";
  282. }
  283. if (!string.IsNullOrEmpty(Names))
  284. {
  285. lcSql += " and " + MarketSellers_info.cName + " like '%" + Names + "%'";
  286. }
  287. return Content(GetData.Instance.GetResult(lcSql, UserSessionInfo.DBConn));
  288. }
  289. #endregion
  290. #region RptQSellerWrntDueExpireCnt RptPSellerWrntDueExpireCnt
  291. public ActionResult RptQSellerWrntDueExpireCnt()
  292. {
  293. ViewBag.SelMarketInfo = GetData.Instance.GetSelStr(Markets_info.cMarketID, Markets_info.cNames, Tn.Markets, Markets_info.cIsLock + "='0' " + UserSessionInfo.MarketDataSql(true), UserSessionInfo.DBConn);
  294. ViewBag.SelWarrantType = GetData.Instance.GetSelStr(WarrantType_info.cWarrantTypeID, WarrantType_info.cName, " " + Tn.WarrantType, WarrantType_info.cFlag + "=1 AND " + WarrantType_info.cIsLock + "=0", UserSessionInfo.DBConn);
  295. return View();
  296. }
  297. public ActionResult RptPSellerWrntDueExpireCnt()
  298. {
  299. string MarketID = Utils.AreaToSQLcs(Request["MarketID"]).Trim();
  300. string WarrantTypeID = Utils.AreaToSQLcs(Request["WarrantTypeID"]).Trim();
  301. // 视图中已经对Markets.IsLock=0进行了过滤
  302. string lcSql = "SELECT * FROM " + Tn.vwSellerWrntDueExpireCalc + " WHERE " + UserSessionInfo.MarketDataSql(false);
  303. //string strDEFlag = ddlDueExpireFlag.SelectedValue.Trim();
  304. if (!string.IsNullOrEmpty(MarketID))
  305. {
  306. lcSql += " AND " + vwSellerWrntDueExpire_info.cMarketId + "='" + MarketID + "' ";
  307. }
  308. if (!string.IsNullOrEmpty(WarrantTypeID))
  309. {
  310. lcSql += " AND " + vwSellerWrntDueExpire_info.cWarrantTypeId + "=" + WarrantTypeID;
  311. }
  312. lcSql += " ORDER BY " + vwSellerWrntDueExpireCalc_info.cMarketId + "," + vwSellerWrntDueExpireCalc_info.cWarrantTypeId;
  313. rsQuery loQuery = UserSessionInfo.DBConn.OpenQuery(lcSql);
  314. StringBuilder sb = new StringBuilder();
  315. if (loQuery != null && loQuery.IsOpened)
  316. {
  317. loQuery.MoveFirst();
  318. int liSumAll = 0;
  319. for (int i = 0; i < loQuery.RecCount; i++)
  320. {
  321. sb.Append("<tr>");
  322. // 序号
  323. sb.Append("<td align='left'>");
  324. sb.Append((i + 1) + "");
  325. sb.Append("</td>");
  326. // 经营户
  327. sb.Append("<td align='left'>");
  328. sb.Append(loQuery.GetString(vwSellerWrntDueExpireCalc_info.cMarketName));
  329. sb.Append("</td>");
  330. // 证照类型
  331. sb.Append("<td align='left'>");
  332. sb.Append(loQuery.GetString(vwSellerWrntDueExpireCalc_info.cWarrantName));
  333. sb.Append("</td>");
  334. int liTotal, liDueCnt, liExpireCnt;
  335. // 到期数
  336. sb.Append("<td align='left'>");
  337. liDueCnt = loQuery.GetInt(vwSellerWrntDueExpireCalc_info.cSDueCnt);
  338. sb.Append(liDueCnt.ToString());
  339. sb.Append("</td>");
  340. // 过期数
  341. sb.Append("<td align='left'>");
  342. liExpireCnt = loQuery.GetInt(vwSellerWrntDueExpireCalc_info.cSExpireCnt);
  343. sb.Append(liExpireCnt.ToString());
  344. sb.Append("</td>");
  345. // 合计
  346. sb.Append("<td align='left'>");
  347. liTotal = liDueCnt + liExpireCnt;
  348. sb.Append(liTotal.ToString());
  349. sb.Append("</td>");
  350. sb.Append("</tr>");
  351. liSumAll += liTotal;
  352. loQuery.MoveNext();
  353. }
  354. if (liSumAll > 0)
  355. {
  356. sb.Append("<tr>");
  357. for (int i = 0; i < 5; i++)
  358. {
  359. sb.Append("<td align='left'>");
  360. sb.Append("");
  361. sb.Append("</td>");
  362. }
  363. sb.Append("<td align='left'>");
  364. sb.Append(liSumAll.ToString());
  365. sb.Append("</td>");
  366. sb.Append("</tr>");
  367. }
  368. }
  369. //ViewBag.Hid_WhereSql = lcSql;
  370. ViewBag.TableMsg = sb.ToString();
  371. return View();
  372. }
  373. #endregion
  374. #region RptQAgriFoodCheck 农产品(食品)检测情况表
  375. public ActionResult RptQAgriFoodCheck()
  376. {
  377. DateTime EndDate = DateTime.Now;
  378. ViewBag.StartTime = EndDate.AddMonths(-2).ToString("yyyy-MM-dd");
  379. ViewBag.EndTime = EndDate.ToString("yyyy-MM-dd");
  380. ViewBag.SelMarketInfo = GetData.Instance.GetSelStr(Markets_info.cMarketID, Markets_info.cNames, Tn.Markets, Markets_info.cIsLock + "='0' " + UserSessionInfo.MarketDataSql(true), UserSessionInfo.DBConn);
  381. // 检测单位
  382. // string strFillDDL = " SELECT DISTINCT " + CheckData_info.cCheckUnit + " FROM " + Tn.CheckData + " WHERE " + UserSessionInfo.MarketDataSql(false);
  383. ViewBag.SelCheckUnit = GetData.Instance.GetSelStrDistinct(CheckData_info.cCheckUnit, CheckData_info.cCheckUnit, Tn.CheckData, UserSessionInfo.MarketDataSql(false), UserSessionInfo.DBConn);
  384. // 检测方法
  385. ViewBag.SelCheckMethod = GetData.Instance.GetSelStrDistinct(CheckProjectType_info.cCheckMethod, CheckProjectType_info.cCheckMethod, Tn.CheckProjectType, CheckProjectType_info.cIsLock + "=0 ", UserSessionInfo.DBConn);
  386. return View();
  387. }
  388. public ActionResult RptPAgriFoodCheck()
  389. {
  390. string MarketID = Utils.AreaToSQLcs(Request["MarketID"]).Trim();
  391. string StartTime = Request["StartTime"];
  392. string EndTime = Request["EndTime"];
  393. string CheckUnit = Utils.AreaToSQLcs(Request["CheckUnit"]).Trim();
  394. string CheckMethod = Utils.AreaToSQLcs(Request["CheckMethod"]).Trim();
  395. // 检测时间
  396. string lcTimeSql = " ";
  397. if (!string.IsNullOrEmpty(StartTime))
  398. {
  399. if (!string.IsNullOrEmpty(EndTime))
  400. {
  401. lcTimeSql = vwCheckData_info.cCheckTime + ">='" + StartTime;
  402. lcTimeSql += "' AND " + vwCheckData_info.cCheckTime + "<='" + EndTime + "' ";
  403. }
  404. else
  405. {
  406. lcTimeSql = vwCheckData_info.cCheckTime + "='" + StartTime + "' ";
  407. }
  408. }
  409. string lcSql = "";
  410. lcSql = " SELECT M." + Markets_info.cMarketID + ",M." + Markets_info.cNames + " AS MarketName,";
  411. lcSql += " ISNULL(TotalCnt,0) AS TotalCnt, ISNULL(SuccCnt,0) AS SuccCnt, ";
  412. lcSql += " ISNULL(TotalCnt1,0) AS TotalCnt1, ISNULL(SuccCnt1,0) AS SuccCnt1 ";
  413. lcSql += " FROM ";
  414. // 过滤市场编号及锁定状态
  415. lcSql += " (SELECT " + Markets_info.cMarketID + "," + Markets_info.cNames;
  416. lcSql += " FROM " + Tn.Markets + " WHERE " + UserSessionInfo.MarketDataSql(false);
  417. lcSql += " AND " + Markets_info.cIsLock + "=0) AS M ";
  418. // 检测方法
  419. string strCheckMethodSql = " ";
  420. if (!string.IsNullOrEmpty(CheckMethod))
  421. {
  422. strCheckMethodSql += " and " + vwCheckData_info.cCheckMethod + "= '" + CheckMethod + "' ";
  423. }
  424. // 检测单位
  425. string strCheckUnitSql = " ";
  426. if (!string.IsNullOrEmpty(CheckUnit))
  427. {
  428. strCheckUnitSql += " and " + vwCheckData_info.cCheckUnit + "='" + CheckUnit + "' ";
  429. }
  430. // 农药残留的检测项目
  431. string strNyclItemsSql = vwCheckData_info.cCheckProjectTypeID + " IN (5,6) ";
  432. lcSql += " LEFT JOIN ";
  433. lcSql += " (SELECT " + vwCheckData_info.cMarketID + ",COUNT(*) AS TotalCnt FROM " + Tn.vwCheckData;
  434. lcSql += " WHERE " + UserSessionInfo.MarketDataSql(false);
  435. lcSql += " AND " + lcTimeSql + " AND " + strNyclItemsSql + strCheckMethodSql + strCheckUnitSql;
  436. lcSql += " GROUP BY " + vwCheckData_info.cMarketID + ") t1 ";
  437. lcSql += " ON M." + Markets_info.cMarketID + "=t1." + vwCheckData_info.cMarketID;
  438. lcSql += " LEFT JOIN ";
  439. lcSql += " (SELECT " + vwCheckData_info.cMarketID + ",COUNT(*) AS SuccCnt FROM " + Tn.vwCheckData;
  440. lcSql += " WHERE " + UserSessionInfo.MarketDataSql(false);
  441. lcSql += " AND " + lcTimeSql + " AND " + strNyclItemsSql + strCheckMethodSql + strCheckUnitSql;
  442. lcSql += " AND " + vwCheckData_info.cCheckResult + "='合格'";
  443. lcSql += " GROUP BY " + vwCheckData_info.cMarketID + ") s1 ";
  444. lcSql += " ON M." + Markets_info.cMarketID + "=s1." + vwCheckData_info.cMarketID;
  445. // 常规五项检测项目的配置从数据库获取
  446. string strNormItemsSql = SysDataLibs.AppEnv.SysSetObj.GetString("AgriCheckNormItems");
  447. if (strNormItemsSql.Trim().Length < 1)
  448. {
  449. strNormItemsSql = " CheckProjectTypeId in (2,4,7,9,10) ";
  450. }
  451. lcSql += " LEFT JOIN ";
  452. lcSql += " (SELECT " + vwCheckData_info.cMarketID + ",COUNT(*) AS TotalCnt1 FROM " + Tn.vwCheckData;
  453. lcSql += " WHERE " + UserSessionInfo.MarketDataSql(false);
  454. lcSql += " AND " + lcTimeSql + " AND " + strNormItemsSql + strCheckMethodSql + strCheckUnitSql;
  455. lcSql += " GROUP BY " + vwCheckData_info.cMarketID + ") t2 ";
  456. lcSql += " ON M." + Markets_info.cMarketID + "=t2." + vwCheckData_info.cMarketID;
  457. lcSql += " LEFT JOIN ";
  458. lcSql += " (SELECT " + vwCheckData_info.cMarketID + ",COUNT(*) AS SuccCnt1 FROM " + Tn.vwCheckData;
  459. lcSql += " WHERE " + UserSessionInfo.MarketDataSql(false);
  460. lcSql += " AND " + lcTimeSql + " AND " + strNormItemsSql + strCheckMethodSql + strCheckUnitSql;
  461. lcSql += " AND " + vwCheckData_info.cCheckResult + "='合格'";
  462. lcSql += " GROUP BY " + vwCheckData_info.cMarketID + ") s2 ";
  463. lcSql += " ON M." + Markets_info.cMarketID + "=s2." + vwCheckData_info.cMarketID;
  464. // 如指定市场则加上过滤条件
  465. if (!string.IsNullOrEmpty(MarketID))
  466. {
  467. lcSql += " WHERE M." + Markets_info.cMarketID + "='" + MarketID + "' ";
  468. }
  469. rsQuery loQuery = UserSessionInfo.DBConn.OpenQuery(lcSql);
  470. StringBuilder sb = new StringBuilder();
  471. if (loQuery != null && loQuery.IsOpened)
  472. {
  473. loQuery.MoveFirst();
  474. for (int i = 0; i < loQuery.RecCount; i++)
  475. {
  476. sb.Append("<tr>");
  477. // 序号
  478. sb.Append("<td align='left'>");
  479. sb.Append((i + 1) + "");
  480. sb.Append("</td>");
  481. // 市场
  482. sb.Append("<td align='left'>");
  483. sb.Append(loQuery.GetString("MarketName"));
  484. sb.Append("</td>");
  485. // 农药残留----->
  486. int liTotal, liSucc, liFail;
  487. // 检测批次
  488. sb.Append("<td align='center'>");
  489. liTotal = loQuery.GetInt("TotalCnt");
  490. sb.Append(liTotal.ToString());
  491. sb.Append("</td>");
  492. // 合格批次
  493. sb.Append("<td align='center'>");
  494. liSucc = loQuery.GetInt("SuccCnt");
  495. sb.Append(liSucc.ToString());
  496. sb.Append("</td>");
  497. // 不合格批次
  498. sb.Append("<td align='center'>");
  499. liFail = liTotal - liSucc;
  500. sb.Append(liFail.ToString());
  501. sb.Append("</td>");
  502. // 常规五项----->
  503. int liTotal1, liSucc1, liFail1;
  504. // 检测批次
  505. sb.Append("<td align='center'>");
  506. liTotal1 = loQuery.GetInt("TotalCnt1");
  507. sb.Append(liTotal1.ToString());
  508. sb.Append("</td>");
  509. // 合格批次
  510. sb.Append("<td align='center'>");
  511. liSucc1 = loQuery.GetInt("SuccCnt1");
  512. sb.Append(liSucc1.ToString());
  513. sb.Append("</td>");
  514. // 不合格批次
  515. sb.Append("<td align='center'>");
  516. liFail1 = liTotal1 - liSucc1;
  517. sb.Append(liFail1.ToString());
  518. sb.Append("</td>");
  519. // 市场合计
  520. int liSumTotal = liTotal + liTotal1;
  521. sb.Append("<td align='center'>");
  522. sb.Append(liSumTotal.ToString());
  523. sb.Append("</td>");
  524. int liSumSucc = liSucc + liSucc1;
  525. sb.Append("<td align='center'>");
  526. sb.Append(liSumSucc.ToString());
  527. sb.Append("</td>");
  528. int liSumFail = liFail + liFail1;
  529. sb.Append("<td align='center'>");
  530. sb.Append(liSumFail.ToString());
  531. sb.Append("</td>");
  532. sb.Append("</tr>");
  533. loQuery.MoveNext();
  534. }
  535. }
  536. ViewBag.TableMsg = sb.ToString();
  537. return View();
  538. }
  539. #endregion
  540. #region RptQUnitedCenterCheckData 联合检测中心检测情况报表
  541. public ActionResult RptQUnitedCenterCheckData()
  542. {
  543. DateTime EndDate = DateTime.Now;
  544. ViewBag.StartTime = EndDate.AddMonths(-2).ToString("yyyy-MM-dd");
  545. ViewBag.EndTime = EndDate.ToString("yyyy-MM-dd");
  546. ViewBag.SelMarketInfo = GetData.Instance.GetSelStr(Markets_info.cMarketID, Markets_info.cNames, Tn.Markets, Markets_info.cIsLock + "='0' " + UserSessionInfo.MarketDataSql(true), UserSessionInfo.DBConn);
  547. // 检测方法
  548. ViewBag.SelCheckProjectTypeID = GetData.Instance.GetSelStrDistinct(CheckProjectType_info.cCheckProjectTypeID, CheckProjectType_info.cName, Tn.CheckProjectType, CheckProjectType_info.cIsLock + "=0 ", UserSessionInfo.DBConn);
  549. return View();
  550. }
  551. public ActionResult RptPUnitedCenterCheckData()
  552. {
  553. string MarketID = Utils.AreaToSQLcs(Request["MarketID"]).Trim();
  554. string StartTime = Request["StartTime"];
  555. string EndTime = Request["EndTime"];
  556. string CheckProjectTypeID = Utils.AreaToSQLcs(Request["CheckProjectTypeID"]).Trim();
  557. //string CheckMethod = Utils.AreaToSQLcs(Request["CheckMethod"]).Trim();
  558. // 检测时间
  559. string lcTimeSql = " ";
  560. if (!string.IsNullOrEmpty(StartTime))
  561. {
  562. if (!string.IsNullOrEmpty(EndTime))
  563. {
  564. lcTimeSql = vwCheckData_info.cCheckTime + ">='" + StartTime;
  565. lcTimeSql += "' AND " + vwCheckData_info.cCheckTime + "<='" + EndTime + "' ";
  566. }
  567. else
  568. {
  569. lcTimeSql = vwCheckData_info.cCheckTime + "='" + StartTime + "' ";
  570. }
  571. }
  572. // 检测项目
  573. string strCheckProjectTypeSql = " ";
  574. if (!string.IsNullOrEmpty(CheckProjectTypeID))
  575. {
  576. strCheckProjectTypeSql += " and " + vwCheckData_info.cCheckProjectTypeID + "= '" + CheckProjectTypeID + "' ";
  577. }
  578. // 如指定市场则加上过滤条件
  579. string strMarketIdSql = " ";
  580. if (!string.IsNullOrEmpty(MarketID))
  581. {
  582. strMarketIdSql += " AND " + vwCheckData_info.cMarketID + "='" + MarketID + "' ";
  583. }
  584. // 检测单位
  585. string lcCheckUnitSql = " AND " + vwCheckData_info.cCheckUnit + " like '%联合检测中心%' ";
  586. // 检测方法
  587. string lcMethodSql = vwCheckData_info.cCheckMethod + " IN ('速测仪','光谱仪','试剂速测') ";
  588. string lcSql = "";
  589. lcSql = " SELECT T." + vwCheckData_info.cCheckMethod + ", TotalCnt, ISNULL(SuccCnt,0) AS SuccCnt FROM ";
  590. lcSql += " (SELECT " + vwCheckData_info.cCheckMethod + ", COUNT(*) AS TotalCnt FROM " + Tn.vwCheckData + " WHERE ";
  591. if (lcTimeSql != "")
  592. lcSql += lcTimeSql + " AND ";
  593. lcSql += lcMethodSql + strCheckProjectTypeSql + strMarketIdSql + lcCheckUnitSql;
  594. lcSql += " GROUP BY " + vwCheckData_info.cCheckMethod + ") T ";
  595. lcSql += " LEFT JOIN ";
  596. lcSql += " (SELECT " + vwCheckData_info.cCheckMethod + ", COUNT(*) AS SuccCnt FROM " + Tn.vwCheckData + " WHERE ";
  597. if (lcTimeSql != "")
  598. lcSql += lcTimeSql + " AND ";
  599. lcSql += lcMethodSql + strCheckProjectTypeSql + strMarketIdSql + lcCheckUnitSql;
  600. lcSql += " AND " + vwCheckData_info.cCheckResult + "='合格' ";
  601. lcSql += " GROUP BY " + vwCheckData_info.cCheckMethod + ") H ";
  602. lcSql += " ON H." + vwCheckData_info.cCheckMethod + "=T." + vwCheckData_info.cCheckMethod;
  603. rsQuery loQuery = UserSessionInfo.DBConn.OpenQuery(lcSql);
  604. StringBuilder sb = new StringBuilder();
  605. // 合计
  606. int liSumTotal = 0, liSumSucc = 0, liSumFail = 0;
  607. if (loQuery != null && loQuery.IsOpened)
  608. {
  609. loQuery.MoveFirst();
  610. for (int i = 0; i < loQuery.RecCount; i++)
  611. {
  612. sb.Append("<tr>");
  613. // 项目
  614. sb.Append("<td align='left'>");
  615. sb.Append(loQuery.GetString("CheckMethod"));
  616. sb.Append("</td>");
  617. int liTotal, liSucc, liFail;
  618. // 检测批次
  619. sb.Append("<td align='center'>");
  620. liTotal = loQuery.GetInt("TotalCnt");
  621. sb.Append(liTotal.ToString());
  622. sb.Append("</td>");
  623. // 合格批次
  624. sb.Append("<td align='center'>");
  625. liSucc = loQuery.GetInt("SuccCnt");
  626. sb.Append(liSucc.ToString());
  627. sb.Append("</td>");
  628. // 不合格批次
  629. sb.Append("<td align='center'>");
  630. liFail = liTotal - liSucc;
  631. sb.Append(liFail.ToString());
  632. sb.Append("</td>");
  633. // 累加到合计
  634. liSumTotal += liTotal;
  635. liSumSucc += liSucc;
  636. liSumFail += liFail;
  637. // 备注
  638. sb.Append("<td align='center'>");
  639. sb.Append("");
  640. sb.Append("</td>");
  641. sb.Append("</tr>");
  642. loQuery.MoveNext();
  643. }
  644. }
  645. sb.Append("<tr>");
  646. sb.Append("<td align='center'>");
  647. sb.Append("合计:");
  648. sb.Append("</td>");
  649. sb.Append("<td align='center'>");
  650. sb.Append(liSumTotal.ToString());
  651. sb.Append("</td>");
  652. sb.Append("<td align='center'>");
  653. sb.Append(liSumSucc.ToString());
  654. sb.Append("</td>");
  655. sb.Append("<td align='center'>");
  656. sb.Append(liSumFail.ToString());
  657. sb.Append("</td>");
  658. sb.Append("<td align='center'>");
  659. sb.Append("");
  660. sb.Append("</td>");
  661. sb.Append("</tr>");
  662. ViewBag.TableMsg = sb.ToString();
  663. return View();
  664. }
  665. #endregion
  666. #region RptQMarketBaseInfo 市场、超市主体基础信息报表
  667. public ActionResult RptQMarketBaseInfo()
  668. {
  669. ViewBag.SelMarketTypeID = GetData.Instance.GetSelStr("MarketType", "MarketTypeForBaseInfo",UserSessionInfo.DBConn);
  670. // 检测方法
  671. ViewBag.SelCheckProjectTypeID = GetData.Instance.GetSelStrDistinct(CheckProjectType_info.cCheckProjectTypeID, CheckProjectType_info.cName, Tn.CheckProjectType, CheckProjectType_info.cIsLock + "=0 ", UserSessionInfo.DBConn);
  672. return View();
  673. }
  674. public ActionResult RptPMarketBaseInfo()
  675. {
  676. string MarketTypeID = Utils.AreaToSQLcs(Request["MarketTypeID"]).Trim();
  677. // 检测时间
  678. string lcSql = "";
  679. lcSql = " SELECT * FROM " + Tn.vwMarketBaseInfo + " WHERE " + UserSessionInfo.MarketDataSql(false);
  680. //按照市场类型查询
  681. if (!string.IsNullOrEmpty(MarketTypeID))
  682. {
  683. lcSql += " AND " + vwMarketBaseInfo_info.cMarketTypeID + " " + MarketTypeID + " ";
  684. }
  685. // 过滤市场
  686. lcSql += " AND " + UserSessionInfo.MarketDataSql(false);
  687. rsQuery loQuery = UserSessionInfo.DBConn.OpenQuery(lcSql);
  688. StringBuilder sb = new StringBuilder();
  689. if (loQuery != null && loQuery.IsOpened)
  690. {
  691. loQuery.MoveFirst();
  692. for (int i = 0; i < loQuery.RecCount; i++)
  693. {
  694. sb.Append("<tr>");
  695. sb.Append("<td align='left'>");
  696. sb.Append((i + 1) + "");
  697. sb.Append("</td>");
  698. sb.Append("<td align='center'>");
  699. sb.Append(loQuery.GetString(vwMarketBaseInfo_info.cNames));
  700. sb.Append("</td>");
  701. sb.Append("<td align='center'>");
  702. sb.Append(loQuery.GetString(vwMarketBaseInfo_info.cArea));
  703. sb.Append("</td>");
  704. sb.Append("<td align='center'>");
  705. sb.Append(loQuery.GetString(vwMarketBaseInfo_info.cMktStallCnt));
  706. sb.Append("</td>");
  707. sb.Append("<td align='center'>");
  708. sb.Append(loQuery.GetString(vwMarketBaseInfo_info.cMktSellerCnt));
  709. sb.Append("</td>");
  710. sb.Append("<td align='center'>");
  711. sb.Append(loQuery.GetString(vwMarketBaseInfo_info.cLinkMan));
  712. sb.Append("</td>");
  713. sb.Append("<td align='center'>");
  714. sb.Append(loQuery.GetString(vwMarketBaseInfo_info.cTelephone));
  715. sb.Append("</td>");
  716. sb.Append("</tr>");
  717. loQuery.MoveNext();
  718. }
  719. }
  720. ViewBag.TableMsg = sb.ToString();
  721. return View();
  722. }
  723. #endregion
  724. #region RptQConsumerComplain 投诉情况月统计报表
  725. public ActionResult RptQConsumerComplain()
  726. {
  727. DateTime loDate = DateTime.Now;
  728. string lcYears = "";
  729. string lcMonths = "";
  730. for (int i = 0; i > -12; i--)
  731. {
  732. lcYears += "<option value='"+ loDate.AddYears(i).Year+ "'>"+ loDate.AddYears(i).Year + " 年" + "</option>";
  733. lcMonths += "<option value='" + loDate.AddMonths(i).Month + "'>" + loDate.AddMonths(i).Month + " 月份" + "</option>";
  734. }
  735. ViewBag.SelYears = lcYears;
  736. ViewBag.SelMonths = lcMonths;
  737. ViewBag.SelMarketInfo = GetData.Instance.GetSelStr(Markets_info.cMarketID, Markets_info.cNames, Tn.Markets, Markets_info.cIsLock + "='0' " + UserSessionInfo.MarketDataSql(true), UserSessionInfo.DBConn);
  738. return View();
  739. }
  740. public ActionResult RptPConsumerComplain()
  741. {
  742. string MarketID = Utils.AreaToSQLcs(Request["MarketID"]).Trim();
  743. string Year = Utils.AreaToSQLcs(Request["Year"]).Trim();
  744. string Month = Utils.AreaToSQLcs(Request["Month"]).Trim();
  745. // 月份格式为yyyy/mm
  746. string strDateSql = Year + "/";
  747. if (Month.Length == 1)
  748. strDateSql += "0";
  749. strDateSql += Month;
  750. // 从视图查询结果
  751. string lcSql = " SELECT " + viewConsumerComplain_info.cMarketID + "," + viewConsumerComplain_info.cNames;
  752. lcSql += " ,COUNT(*) AS ComplainCnt FROM " + Tn.viewConsumerComplain;
  753. lcSql += " WHERE " + UserSessionInfo.MarketDataSql(false);
  754. if (!string.IsNullOrEmpty(MarketID))
  755. {
  756. lcSql += " AND " + viewConsumerComplain_info.cMarketID + "='" + MarketID + "' ";
  757. }
  758. lcSql += " AND CONVERT(Char(7)," + viewConsumerComplain_info.cLogDate + ",111)='" + strDateSql + "' ";
  759. lcSql += " GROUP BY " + viewConsumerComplain_info.cMarketID + "," + viewConsumerComplain_info.cNames;
  760. lcSql += " ORDER BY " + viewConsumerComplain_info.cMarketID;
  761. rsQuery loQuery = UserSessionInfo.DBConn.OpenQuery(lcSql);
  762. StringBuilder sb = new StringBuilder();
  763. if (loQuery != null && loQuery.IsOpened)
  764. {
  765. loQuery.MoveFirst();
  766. for (int i = 0; i < loQuery.RecCount; i++)
  767. {
  768. sb.Append("<tr>");
  769. sb.Append("<td align='left'>");
  770. sb.Append((i + 1) + "");
  771. sb.Append("</td>");
  772. // 市场名称
  773. sb.Append("<td align='left'>");
  774. sb.Append(loQuery.GetString(viewConsumerComplain_info.cNames));
  775. sb.Append("</td>");
  776. // 市场合计
  777. sb.Append("<td align='left'>");
  778. sb.Append(loQuery.GetString("ComplainCnt"));
  779. sb.Append("</td>");
  780. sb.Append("</tr>");
  781. loQuery.MoveNext();
  782. }
  783. }
  784. ViewBag.TableMsg = sb.ToString();
  785. return View();
  786. }
  787. #endregion
  788. #region RptQMarketEvaluationHist 市场月度信用评分情况
  789. public ActionResult RptQMarketEvaluationHist()
  790. {
  791. ViewBag.SelMarketInfo = GetData.Instance.GetSelStr(Markets_info.cMarketID, Markets_info.cNames, Tn.Markets, Markets_info.cIsLock + "='0' " + UserSessionInfo.MarketDataSql(true), UserSessionInfo.DBConn);
  792. return View();
  793. }
  794. public ActionResult RptPMarketEvaluationHist()
  795. {
  796. string MarketID = Utils.AreaToSQLcs(Request["MarketID"]).Trim();
  797. string lcSql = "SELECT TOP 24 * FROM " + Tn.vwMarketEvalRpt + " WHERE " + UserSessionInfo.MarketDataSql(false);
  798. if (!string.IsNullOrEmpty(MarketID))
  799. {
  800. lcSql += " AND " + vwMarketEvalRpt_info.cMarketId + "='" + MarketID + "' ";
  801. }
  802. lcSql += " ORDER BY " + vwMarketEvalRpt_info.cMarketId;
  803. lcSql += "," + vwMarketEvalRpt_info.cYear + "," + vwMarketEvalRpt_info.cMonth + " DESC";
  804. rsQuery loQuery = UserSessionInfo.DBConn.OpenQuery(lcSql);
  805. StringBuilder sb = new StringBuilder();
  806. if (loQuery != null && loQuery.IsOpened)
  807. {
  808. loQuery.MoveFirst();
  809. for (int i = 0; i < loQuery.RecCount; i++)
  810. {
  811. sb.Append("<tr>");
  812. sb.Append("<td align='left'>");
  813. sb.Append((i + 1) + "");
  814. sb.Append("</td>");
  815. // 市场名称
  816. sb.Append("<td align='left'>");
  817. sb.Append(loQuery.GetString(vwMarketEvalRpt_info.cMarketName));
  818. sb.Append("</td>");
  819. sb.Append("<td align='left'>");
  820. sb.Append(loQuery.GetString(vwMarketEvalRpt_info.cMarketTypeName));
  821. sb.Append("</td>");
  822. sb.Append("<td align='left'>");
  823. sb.Append(loQuery.GetString(vwMarketEvalRpt_info.cRegionName));
  824. sb.Append("</td>");
  825. // 月度
  826. string strYear = loQuery.GetString(vwMarketEvalRpt_info.cYear);
  827. string strMonth = loQuery.GetString(vwMarketEvalRpt_info.cMonth);
  828. sb.Append("<td align='left'>");
  829. sb.Append(strYear + "年" + strMonth + "月");
  830. sb.Append("</td>");
  831. sb.Append("<td align='left'>");
  832. int liScore = loQuery.GetInt(vwMarketEvalRpt_info.cTotalScore);
  833. sb.Append(liScore.ToString());
  834. sb.Append("</td>");
  835. sb.Append("<td align='left'>");
  836. sb.Append(MarketEvalGrade_info.GetRankByScore(liScore));
  837. sb.Append("</td>");
  838. sb.Append("</tr>");
  839. loQuery.MoveNext();
  840. }
  841. }
  842. ViewBag.TableMsg = sb.ToString();
  843. return View();
  844. }
  845. #endregion
  846. public ActionResult MajorQuoteTrendHighCharts()
  847. {
  848. return View();
  849. }
  850. }
  851. }