You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3492 lines
189 KiB

4 weeks ago
6 days ago
4 weeks ago
6 days ago
4 weeks ago
6 days ago
4 weeks ago
6 days ago
4 weeks ago
6 days ago
4 weeks ago
  1. using ICSSoft.SendMail;
  2. using Newtonsoft.Json;
  3. using Newtonsoft.Json.Linq;
  4. using NFine.Code;
  5. using NFine.Data.Extensions;
  6. using NFine.Domain._03_Entity.SRM;
  7. using NFine.Repository;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Configuration;
  11. using System.Data;
  12. using System.Data.Common;
  13. using System.Data.SqlClient;
  14. using System.IO;
  15. using System.Linq;
  16. using System.Net;
  17. using System.Net.Mail;
  18. using System.Net.Security;
  19. using System.Security.Cryptography.X509Certificates;
  20. using System.Text;
  21. using System.Threading.Tasks;
  22. using System.Xml.Linq;
  23. namespace NFine.Application.SRM
  24. {
  25. public class CertifiCationApp : RepositoryFactory<ICSVendor>
  26. {
  27. private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  28. public DataTable GetGridJson(string queryJson, ref Pagination jqgridparam)
  29. {
  30. DataTable dt = new DataTable();
  31. var queryParam = queryJson.ToJObject();
  32. List<DbParameter> parameter = new List<DbParameter>();
  33. string sql = @"select
  34. ID
  35. ,CERTIFICATETPYECODE
  36. ,CERTIFICATETYPENAME
  37. ,CERTIFICATEITEMCODE
  38. ,CERTIFICATEITEMNAME
  39. ,PLANFINISHDAYS
  40. ,Case When ISKEYTASK=0 Then '是' Else '否' END as ISKEYTASK
  41. ,Case When NEEDUPLOADFILE=0 Then '是' Else '否' END as NEEDUPLOADFILE
  42. ,CREATEDATE
  43. ,WorkPoint
  44. ,EATTRIBUTE11
  45. from ICSCERTIFICATE a
  46. WHERE 1=1";
  47. if (!string.IsNullOrWhiteSpace(queryJson))
  48. {
  49. if (!string.IsNullOrWhiteSpace(queryParam["CertifiCateTpyeCode"].ToString()))
  50. {
  51. sql += " and a.CERTIFICATETPYECODE like '%" + queryParam["CertifiCateTpyeCode"].ToString() + "%' ";
  52. }
  53. if (!string.IsNullOrWhiteSpace(queryParam["CertifiCateTpyeName"].ToString()))
  54. {
  55. sql += " and a.CERTIFICATETYPENAME like '%" + queryParam["CertifiCateTpyeName"].ToString() + "%' ";
  56. }
  57. if (!string.IsNullOrWhiteSpace(queryParam["CERTIFICATEITEMCODE"].ToString()))
  58. {
  59. sql += " and a.CERTIFICATEITEMCODE like '%" + queryParam["CERTIFICATEITEMCODE"].ToString() + "%' ";
  60. }
  61. if (!string.IsNullOrWhiteSpace(queryParam["CERTIFICATEITEMNAME"].ToString()))
  62. {
  63. sql += " and a.CERTIFICATEITEMNAME like '%" + queryParam["CERTIFICATEITEMNAME"].ToString() + "%' ";
  64. }
  65. }
  66. if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  67. {
  68. sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
  69. }
  70. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  71. }
  72. public DataTable GetGridJsonICSCERTIFICATE2(string queryJson, ref Pagination jqgridparam)
  73. {
  74. DataTable dt = new DataTable();
  75. var queryParam = queryJson.ToJObject();
  76. List<DbParameter> parameter = new List<DbParameter>();
  77. string sql = @"select
  78. ID
  79. ,CERTIFICATEITEMCODE
  80. ,CERTIFICATEITEMNAME
  81. ,PLANFINISHDAYS
  82. ,Case When ISKEYTASK=0 Then '是' Else '否' END as ISKEYTASK
  83. ,Case When NEEDUPLOADFILE=0 Then '是' Else '否' END as NEEDUPLOADFILE
  84. ,CREATEDATE
  85. ,WorkPoint
  86. ,CERTIFICATEITEMFileName
  87. from ICSCERTIFICATE2 a
  88. WHERE 1=1";
  89. if (!string.IsNullOrWhiteSpace(queryJson))
  90. {
  91. if (!string.IsNullOrWhiteSpace(queryParam["CERTIFICATEITEMCODE"].ToString()))
  92. {
  93. sql += " and a.CERTIFICATEITEMCODE like '%" + queryParam["CERTIFICATEITEMCODE"].ToString() + "%' ";
  94. }
  95. if (!string.IsNullOrWhiteSpace(queryParam["CERTIFICATEITEMNAME"].ToString()))
  96. {
  97. sql += " and a.CERTIFICATEITEMNAME like '%" + queryParam["CERTIFICATEITEMNAME"].ToString() + "%' ";
  98. }
  99. }
  100. if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  101. {
  102. sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
  103. }
  104. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  105. }
  106. /// <summary>
  107. /// 认证资料维护查询
  108. /// </summary>
  109. /// <param name="queryJson"></param>
  110. /// <param name="jqgridparam"></param>
  111. /// <returns></returns>
  112. public DataTable GetICSCertifiiCateItemDetail(string queryJson, ref Pagination jqgridparam)
  113. {
  114. DataTable dt = new DataTable();
  115. var queryParam = queryJson.ToJObject();
  116. List<DbParameter> parameter = new List<DbParameter>();
  117. #region 旧sql
  118. //string sql = @"select
  119. // distinct
  120. // a.ID,
  121. // b.GGUID,
  122. // b.ID as ItemID,
  123. // a.VENDORCODE,
  124. // c.cVenName,
  125. // case When a.AUDITRESULT='NEW' Then '新增' When a.AUDITRESULT='Check' Then '审核中' When a.AUDITRESULT='REJECT' Then '审核拒绝' else '审核通过' ENd as AUDITRESULT,
  126. // case When a.AUDITRESULT='NEW' Then '新增' When a.AUDITRESULT='Check' Then '审核中' When a.AUDITRESULT='REJECT' Then '审核拒绝' else '审核通过' ENd as AUDITRESULTS,
  127. // a.CERTIFICATETPYECODE,
  128. // a.CERTIFICATETYPENAME,
  129. // a.CERTIFICATEITEMCODE,
  130. // b.CERTIFICATENO,
  131. // d.CERTIFICATEITEMFileName,
  132. // a.CERTIFICATEITEMNAME,
  133. // b.CERTIFICATIONINSTITUTIONS,
  134. // case When a.ISKEYTASK=0 Then '是'ELSE '否' END as ISKEYTASK,
  135. // case When a.NEEDUPLOADFILE=0 Then '是'ELSE '否' END as NEEDUPLOADFILE ,
  136. // b.BEGINDATE,
  137. // b.ENDDATE,
  138. // a.Remark,
  139. // b.CERTIFICATETYPENFileName,
  140. // a.PLANFINISHDATE,
  141. // b.CREATEDATE,
  142. // a.WorkPoint,
  143. // b.ADDITION1
  144. // from ICSCERTIFICATEITEM a
  145. // LEFT JOIN ICSCERTIFICATE d on a.CERTIFICATEITEMCODE=d.CERTIFICATEITEMCODE and a.WorkPoint=d.WorkPoint
  146. // LEFT JOIN ICSCERTIFICATEITEMDETAIL b on a.ID=b.GGUID and d.WorkPoint=b.WorkPoint and b.STATUS='有效'
  147. // LEFT JOIN ICSVendor c on a.VENDORCODE =c.cVenCode and b.WorkPoint=c.WorkPoint
  148. // WHERE 1=1 and a.PLANFINISHDATE>Getdate()";
  149. #endregion
  150. //2022/12/29 LS Add
  151. string sql = @"select
  152. distinct
  153. a.ID,
  154. b.GGUID,
  155. b.ID as ItemID,
  156. a.VENDORCODE,
  157. c.VenName cVenName,
  158. case when isnull(b.STATUS,'')='' then b.STATUS when (getdate()>a.PLANFINISHDATE and a.AUDITRESULT='NEW' )or a.AUDITRESULT='' then '' When a.AUDITRESULT='NEW' Then '' When a.AUDITRESULT='Check' Then '' When a.AUDITRESULT='REJECT' Then '' When a.AUDITRESULT='PurchasingPass' Then '' else b.STATUS end as AUDITRESULT,
  159. case when isnull(b.STATUS,'')='' then b.STATUS when (getdate()>a.PLANFINISHDATE and a.AUDITRESULT='NEW' )or a.AUDITRESULT='' then '' When a.AUDITRESULT='NEW' Then '' When a.AUDITRESULT='Check' Then '' When a.AUDITRESULT='REJECT' Then '' When a.AUDITRESULT='PurchasingPass' Then '' else b.STATUS end as AUDITRESULTS,
  160. a.CERTIFICATETPYECODE,
  161. a.CERTIFICATETYPENAME,
  162. a.CERTIFICATEITEMCODE,
  163. b.CERTIFICATENO,
  164. d.CERTIFICATEITEMFileName,
  165. a.CERTIFICATEITEMNAME,
  166. b.CERTIFICATIONINSTITUTIONS,
  167. case When a.ISKEYTASK=0 Then '是'ELSE '否' END as ISKEYTASK,
  168. case When a.NEEDUPLOADFILE=0 Then '是'ELSE '否' END as NEEDUPLOADFILE ,
  169. b.BEGINDATE,
  170. b.ENDDATE,
  171. a.Remark,
  172. b.CERTIFICATETYPENFileName,
  173. a.PLANFINISHDATE,
  174. b.CREATEDATE,
  175. a.WorkPoint,
  176. b.ADDITION1,
  177. f.RegistrationStatus--
  178. from ICSCERTIFICATEITEM a
  179. LEFT JOIN ICSCERTIFICATE d on a.CERTIFICATEITEMCODE=d.CERTIFICATEITEMCODE and a.WorkPoint=d.WorkPoint
  180. LEFT JOIN ICSCERTIFICATEITEMDETAIL b on a.ID=b.GGUID and d.WorkPoint=b.WorkPoint
  181. LEFT JOIN ICSVendor c on a.VENDORCODE =c.VenCode and b.WorkPoint=c.WorkPoint
  182. LEFT JOIN ICSPREVENDOR f ON a.VendorCode=f.VenCode AND a.WorkPoint=f.WorkPoint
  183. WHERE 1=1 and isnull(b.ADDITION2,'')<>'1'";
  184. if (!string.IsNullOrWhiteSpace(queryJson))
  185. {
  186. if (!string.IsNullOrWhiteSpace(queryParam["CertifiCateTpyeCode"].ToString()))
  187. {
  188. sql += " and a.CERTIFICATETPYECODE like '%" + queryParam["CertifiCateTpyeCode"].ToString() + "%' ";
  189. }
  190. if (!string.IsNullOrWhiteSpace(queryParam["CertifiCateTpyeName"].ToString()))
  191. {
  192. sql += " and a.CERTIFICATETYPENAME like '%" + queryParam["CertifiCateTpyeName"].ToString() + "%' ";
  193. }
  194. if (!string.IsNullOrWhiteSpace(queryParam["VENDORCODE"].ToString()))
  195. {
  196. sql += " and a.VENDORCODE like '%" + queryParam["VENDORCODE"].ToString() + "%' ";
  197. }
  198. if (!string.IsNullOrWhiteSpace(queryParam["cVenName"].ToString()))
  199. {
  200. sql += " and a.cVenName like '%" + queryParam["cVenName"].ToString() + "%' ";
  201. }
  202. if (!string.IsNullOrWhiteSpace(queryParam["CREATEDATEBegion"].ToString()))
  203. {
  204. sql += " and a.CREATEDATE >= '" + queryParam["CREATEDATEBegion"].ToString() + "' ";
  205. }
  206. if (!string.IsNullOrWhiteSpace(queryParam["CREATEDATEEnd"].ToString()))
  207. {
  208. sql += " and a.CREATEDATE <= '" + queryParam["CREATEDATEEnd"].ToString() + "' ";
  209. }
  210. if (!string.IsNullOrWhiteSpace(queryParam["status"].ToString()))
  211. {
  212. sql += " and case when isnull(b.STATUS,'')='失效' then b.STATUS when (getdate()>a.PLANFINISHDATE and a.AUDITRESULT='NEW' )or a.AUDITRESULT='未通过' then '待通过' When a.AUDITRESULT='NEW' Then '新增' When a.AUDITRESULT='Check' Then '审核中' When a.AUDITRESULT='REJECT' Then '审核拒绝' else b.STATUS end in (" + queryParam["status"].ToString().TrimEnd(',') + ") ";
  213. }
  214. }
  215. if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  216. {
  217. sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
  218. }
  219. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
  220. {
  221. sql += " and a.VENDORCODE in (SELECT VenCode FROM ICSVendor where VenName ='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserName + "'AND WorkPoint=a.WorkPoint)";
  222. }
  223. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  224. }
  225. /// <summary>
  226. /// 修改时获取主表信息
  227. /// </summary>
  228. /// <param name="tmpID"></param>
  229. /// <param name="WorkPoint"></param>
  230. /// <returns></returns>
  231. public DataRow GetCertifiCateTpye(string CERTIFICATETPYECODE, string WorkPoint)
  232. {
  233. DataRow dr = null;
  234. string sql = string.Empty;
  235. try
  236. {
  237. sql = @"SELECT * FROM ICSCERTIFICATE2
  238. WHERE CERTIFICATEITEMCODE='" + CERTIFICATETPYECODE + "' and WorkPoint = '" + WorkPoint + "'";
  239. dr = SqlHelper.GetDataRowBySql(sql);
  240. return dr;
  241. }
  242. catch (Exception ex)
  243. {
  244. throw new Exception(ex.Message);
  245. }
  246. }
  247. /// <summary>
  248. /// 获取认证类型名称
  249. /// </summary>
  250. /// <returns></returns>
  251. public DataTable GetCertiFicateTypeName(string WorkPoint)
  252. {
  253. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  254. string sql = @"
  255. select '' as CERTIFICATETPYECODE,'' as CERTIFICATETYPENAME
  256. union all
  257. SELECT DISTINCT a.CERTIFICATETPYECODE,isnull(a.CERTIFICATETYPENAME,'') as CERTIFICATETYPENAME FROM dbo.ICSCERTIFICATETYPE a
  258. WHERE a.CERTIFICATETPYECODE IS NOT NULL AND a.CERTIFICATETPYECODE <>''";
  259. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  260. if (role != "admin")
  261. {
  262. sql += " and a.WorkPoint in(" + WorkPoint + ")";
  263. }
  264. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  265. return dt;
  266. }
  267. /// <summary>
  268. /// 获取认证类型名称
  269. /// </summary>
  270. /// <returns></returns>
  271. public DataTable GetCertiFicateTypeNameRZ(string queryJson, string WorkPoint)
  272. {
  273. var queryParam = queryJson.ToJObject();
  274. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  275. string sql = @"
  276. SELECT DISTINCT
  277. a.CERTIFICATETPYECODE,
  278. isnull(a.CERTIFICATETYPENAME,'') as CERTIFICATETYPENAME
  279. FROM dbo.ICSCERTIFICATE a
  280. WHERE 1=1
  281. ";
  282. if (!string.IsNullOrWhiteSpace(queryJson))
  283. {
  284. if (!string.IsNullOrWhiteSpace(queryParam["CERTIFICATETPYECODE"].ToString()))
  285. {
  286. sql += " and a.CERTIFICATETPYECODE like '%" + queryParam["CERTIFICATETPYECODE"].ToString() + "%' ";
  287. }
  288. }
  289. //string role = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  290. //if (role != "admin")
  291. //{
  292. sql += " and a.WorkPoint in('" + WorkPoint + "')";
  293. //}
  294. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  295. return dt;
  296. }
  297. /// <summary>
  298. /// 创建认证项目
  299. /// </summary>
  300. /// <param name="queryJson"></param>
  301. /// <returns></returns>
  302. public void SubmitFormCFType(string queryJson, string ID)
  303. {
  304. try
  305. {
  306. DataTable dt = new DataTable();
  307. List<DbParameter> parameter = new List<DbParameter>();
  308. ICSCERTIFICATE[] list = JsonConvert.DeserializeObject<ICSCERTIFICATE[]>(queryJson);
  309. string sql = string.Empty;
  310. string connString = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
  311. SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
  312. conn.Open();
  313. SqlTransaction sqlTran = conn.BeginTransaction();
  314. SqlCommand cmd = new SqlCommand();
  315. cmd.Transaction = sqlTran;
  316. cmd.Connection = conn;
  317. try
  318. {
  319. string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  320. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  321. sql = "select * from ICSCERTIFICATE2 where CERTIFICATEITEMCODE='" + list[0].CERTIFICATEITEMCODE + "'and ID!='" + ID + "'";
  322. dt = SqlCommandHelper.SQlReturnData(sql, cmd);
  323. if (dt != null && dt.Rows.Count > 0)
  324. {
  325. throw new Exception("认证项目代码已存在");
  326. }
  327. // sql = string.Format(@"SELECT * FROM dbo.ICSCERTIFICATE2
  328. // WHERE CERTIFICATEITEMCODE IN (SELECT CERTIFICATEITEMCODE FROM dbo.ICSCERTIFICATE WHERE CERTIFICATEITEMCODE IN ('{0}'))", list[0].CERTIFICATEITEMCODE);
  329. // DataTable dtASN = SqlHelper.GetDataTableBySql(sql);
  330. // if (dtASN != null && dtASN.Rows.Count > 0)
  331. // {
  332. // throw new Exception("该认证项目已和认证类型关联,请先删除关联关系!");
  333. // }
  334. foreach (var obj in list)
  335. {
  336. sql = @"IF NOT EXISTS(SELECT * FROM dbo.ICSCERTIFICATE2 WHERE CERTIFICATEITEMCODE=@CERTIFICATEITEMCODE and WorkPoint=@WorkPoint)
  337. BEGIN
  338. INSERT INTO dbo.ICSCERTIFICATE2
  339. (ID
  340. ,CERTIFICATEITEMCODE
  341. ,CERTIFICATEITEMNAME
  342. ,ISKEYTASK
  343. , NEEDUPLOADFILE
  344. ,PLANFINISHDAYS
  345. ,CREATEDATE
  346. ,CREATETIME
  347. ,CREATEUSER
  348. ,WorkPoint
  349. ,CERTIFICATEITEMFileName
  350. ,MODIFIEDDATE
  351. ,MODIFIEDTIME
  352. ,MODIFIEDUSER)
  353. VALUES
  354. (
  355. NEWID()
  356. ,@CERTIFICATEITEMCODE
  357. ,@CERTIFICATEITEMNAME
  358. ,@ISKEYTASK
  359. ,@NEEDUPLOADFILE
  360. ,@PLANFINISHDAYS
  361. ,GETDATE()
  362. ,CONVERT(varchar,GETDATE(),120)
  363. ,@CREATEUSER
  364. ,@WorkPoint
  365. ,@CERTIFICATEITEMFileName
  366. ,''
  367. ,''
  368. ,'')
  369. END
  370. ELSE
  371. BEGIN
  372. UPDATE dbo.ICSCERTIFICATE2 SET
  373. CERTIFICATEITEMCODE=@CERTIFICATEITEMCODE
  374. ,CERTIFICATEITEMNAME=@CERTIFICATEITEMNAME
  375. ,ISKEYTASK=@ISKEYTASK
  376. ,NEEDUPLOADFILE=@NEEDUPLOADFILE
  377. ,PLANFINISHDAYS=@PLANFINISHDAYS
  378. ,MODIFIEDDATE=GETDATE()
  379. ,MODIFIEDTIME=CONVERT(varchar,GETDATE(),120)
  380. ,MODIFIEDUSER=@MODIFIEDUSER
  381. ,CERTIFICATEITEMFileName=@CERTIFICATEITEMFileName
  382. WHERE CERTIFICATEITEMCODE=@CERTIFICATEITEMCODE
  383. END";
  384. SqlParameter[] sp_Detail = {
  385. new SqlParameter("@CERTIFICATEITEMCODE",obj.CERTIFICATEITEMCODE),
  386. new SqlParameter("@CERTIFICATEITEMNAME",obj.CERTIFICATEITEMNAME),
  387. new SqlParameter("@ISKEYTASK",obj.ISKEYTASK),
  388. new SqlParameter("@NEEDUPLOADFILE",obj.NEEDUPLOADFILE),
  389. new SqlParameter("@PLANFINISHDAYS",obj.PLANFINISHDAYS),
  390. new SqlParameter("@CERTIFICATEITEMFileName",obj.CERTIFICATEITEMFileName),
  391. //new SqlParameter("@CREATEDATE","已保存"),
  392. //new SqlParameter("@CREATETIME","企业"),
  393. new SqlParameter("@CREATEUSER",UserCode),
  394. //new SqlParameter("@MODIFIEDDATE",Muser),
  395. new SqlParameter("@WORKPOINT",obj.WorkPoint),
  396. new SqlParameter("@MODIFIEDUSER",UserCode),
  397. };
  398. SqlCommandHelper.CmdExecuteNonQuery(sql, sp_Detail, cmd);
  399. }
  400. cmd.Transaction.Commit();
  401. }
  402. catch (Exception ex)
  403. {
  404. cmd.Transaction.Rollback();
  405. throw new Exception(ex.Message);
  406. }
  407. finally
  408. {
  409. if (conn.State == ConnectionState.Open)
  410. {
  411. conn.Close();
  412. }
  413. conn.Dispose();
  414. }
  415. }
  416. catch (Exception ex)
  417. {
  418. throw new Exception(ex.Message);
  419. }
  420. }
  421. //删除认证项目
  422. public string DeleteCertiFicateite(string CERTIFICATEITEMCODE)
  423. {
  424. string sql = string.Empty;
  425. string msg = "";
  426. CERTIFICATEITEMCODE = CERTIFICATEITEMCODE.Substring(1, CERTIFICATEITEMCODE.Length - 2);
  427. sql = string.Format(@"SELECT * FROM dbo.ICSCERTIFICATE2
  428. WHERE CERTIFICATEITEMCODE IN (SELECT CERTIFICATEITEMCODE FROM dbo.ICSCERTIFICATE WHERE CERTIFICATEITEMCODE IN ({0}))", CERTIFICATEITEMCODE.TrimEnd(','));
  429. DataTable dtASN = SqlHelper.GetDataTableBySql(sql);
  430. if (dtASN != null && dtASN.Rows.Count > 0)
  431. {
  432. throw new Exception("该认证项目已和认证类型关联,请先删除关联关系!");
  433. }
  434. sql = @"delete FROM ICSCERTIFICATE2 where CERTIFICATEITEMCODE in ({0})";
  435. sql = string.Format(sql, CERTIFICATEITEMCODE.TrimEnd(','));
  436. try
  437. {
  438. SqlHelper.ExecuteNonQuery(sql);
  439. }
  440. catch (Exception ex)
  441. {
  442. msg = ex.Message;
  443. }
  444. return msg;
  445. }
  446. public string DeleteCertifiCationMaintionRelAdd(string ID, string CERTIFICATETPYECODE)
  447. {
  448. string sql = string.Empty;
  449. ID = ID.Substring(1, ID.Length - 2);
  450. string msg = "";
  451. sql = string.Format(@"SELECT * FROM dbo.ICSCERTIFICATE
  452. WHERE CERTIFICATETPYECODE IN (SELECT CERTIFICATETPYECODE FROM dbo.ICSCERTIFICATEITEM WHERE CERTIFICATETPYECODE IN ('{0}'))", CERTIFICATETPYECODE);
  453. DataTable dtASN = SqlHelper.GetDataTableBySql(sql);
  454. if (dtASN != null && dtASN.Rows.Count > 0)
  455. {
  456. throw new Exception("该认证类型已被供应商关联,请先删除供应商和认证类型关联关系!");
  457. }
  458. sql = @"delete FROM ICSCERTIFICATE where ID in ({0})";
  459. sql = string.Format(sql, ID.TrimEnd(','));
  460. try
  461. {
  462. SqlHelper.ExecuteNonQuery(sql);
  463. }
  464. catch (Exception ex)
  465. {
  466. msg = ex.Message;
  467. }
  468. return msg;
  469. }
  470. /// <summary>
  471. /// 认证资料供应商关联查询
  472. /// </summary>
  473. /// <param name="queryJson"></param>
  474. /// <param name="jqgridparam"></param>
  475. /// <returns></returns>
  476. public DataTable GetICSCertifiiCateItem(string queryJson, ref Pagination jqgridparam)
  477. {
  478. DataTable dt = new DataTable();
  479. var queryParam = queryJson.ToJObject();
  480. List<DbParameter> parameter = new List<DbParameter>();
  481. string sql = @" select distinct
  482. a.FORMCODE
  483. ,a.VENDORCODE
  484. ,a.CERTIFICATETPYECODE
  485. ,a.CERTIFICATETYPENAME
  486. ,a.CREATEDATE
  487. ,a.WorkPoint
  488. ,b.VenName cVenName
  489. from ICSCERTIFICATEITEM a
  490. LEFT JOIN ICSVendor b on a.VENDORCODE=b.VenCode and a.WorkPoint=b.WorkPoint
  491. WHERE 1=1";
  492. if (!string.IsNullOrWhiteSpace(queryJson))
  493. {
  494. if (!string.IsNullOrWhiteSpace(queryParam["CertifiCateTpyeCode"].ToString()))
  495. {
  496. sql += " and a.CERTIFICATETPYECODE like '%" + queryParam["CertifiCateTpyeCode"].ToString() + "%' ";
  497. }
  498. if (!string.IsNullOrWhiteSpace(queryParam["CertifiCateTpyeName"].ToString()))
  499. {
  500. sql += " and a.CERTIFICATETYPENAME like '%" + queryParam["CertifiCateTpyeName"].ToString() + "%' ";
  501. }
  502. if (!string.IsNullOrWhiteSpace(queryParam["VENDORCODE"].ToString()))
  503. {
  504. sql += " and a.VENDORCODE like '%" + queryParam["VENDORCODE"].ToString() + "%' ";
  505. }
  506. if (!string.IsNullOrWhiteSpace(queryParam["cVenName"].ToString()))
  507. {
  508. sql += " and a.cVenName like '%" + queryParam["cVenName"].ToString() + "%' ";
  509. }
  510. if (!string.IsNullOrWhiteSpace(queryParam["CREATEDATEBegion"].ToString()))
  511. {
  512. sql += " and a.CREATEDATE >= '" + queryParam["CREATEDATEBegion"].ToString() + "' ";
  513. }
  514. if (!string.IsNullOrWhiteSpace(queryParam["CREATEDATEEnd"].ToString()))
  515. {
  516. sql += " and a.CREATEDATE <= '" + queryParam["CREATEDATEEnd"].ToString() + "' ";
  517. }
  518. }
  519. if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  520. {
  521. sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
  522. }
  523. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  524. }
  525. public DataRow GetCeriIFicateItem(string ID)
  526. {
  527. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  528. DataRow dr = null;
  529. string sql = string.Empty;
  530. try
  531. {
  532. sql = @"SELECT
  533. CERTIFICATETPYECODE,
  534. VENDORCODE
  535. FROM ICSCERTIFICATEITEM
  536. WHERE ID='" + ID + "' and WorkPoint in (" + WorkPoint + ")";
  537. dr = SqlHelper.GetDataRowBySql(sql);
  538. return dr;
  539. }
  540. catch (Exception ex)
  541. {
  542. throw new Exception(ex.Message);
  543. }
  544. }
  545. /// <summary>
  546. /// 创建供应商与类型关联
  547. /// </summary>
  548. /// <param name="queryJson"></param>
  549. /// <returns></returns>
  550. public void SubmitCeriIFicate(string queryJson, string queryJson2, string WorkPoint)
  551. {
  552. try
  553. {
  554. DataTable dt = new DataTable();
  555. List<DbParameter> parameter = new List<DbParameter>();
  556. ICSCERTIFICATEITEM[] list = JsonConvert.DeserializeObject<ICSCERTIFICATEITEM[]>(queryJson);
  557. ICSVendor[] VendorList = JsonConvert.DeserializeObject<ICSVendor[]>(queryJson2);
  558. string sql = string.Empty;
  559. string connString = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
  560. SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
  561. conn.Open();
  562. SqlTransaction sqlTran = conn.BeginTransaction();
  563. SqlCommand cmd = new SqlCommand();
  564. cmd.Transaction = sqlTran;
  565. cmd.Connection = conn;
  566. try
  567. {
  568. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.Trim(',');
  569. string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  570. foreach (var obj in list)
  571. {
  572. foreach (var itemwh in VendorList)
  573. {
  574. string Pre = "RZ" + obj.CERTIFICATETPYECODE + itemwh.VenCode;
  575. string FORMCODE = GetSerialCode(WorkPoint, "ICSCERTIFICATEITEM", "FORMCODE", Pre, 3);
  576. sql = "select * from ICSCERTIFICATEITEM where CERTIFICATETPYECODE='" + obj.CERTIFICATETPYECODE + "' and VENDORCODE = '" + itemwh.VenCode + "'";
  577. dt = SqlCommandHelper.SQlReturnData(sql, cmd);
  578. if (dt != null && dt.Rows.Count > 0)
  579. {
  580. throw new Exception("供应商已经关联资料");
  581. }
  582. sql = @" INSERT INTO dbo.ICSCERTIFICATEITEM
  583. (ID
  584. ,FORMCODE
  585. ,WorkPoint
  586. ,VENDORCODE
  587. ,CERTIFICATETPYECODE
  588. ,CERTIFICATETYPENAME
  589. ,CERTIFICATEITEMCODE
  590. ,CERTIFICATEITEMNAME
  591. ,ISKEYTASK
  592. ,NEEDUPLOADFILE
  593. ,PLANFINISHDAYS
  594. ,PLANFINISHDATE
  595. ,ActualFINISHDATE
  596. ,AUDITRESULT
  597. ,CREATEDATE
  598. ,CREATETIME
  599. ,CREATEUSER
  600. ,MODIFIEDDATE
  601. ,MODIFIEDTIME
  602. ,MODIFIEDUSER
  603. ,ApplyDATE
  604. ,ApplyIME
  605. ,ApplyUSER
  606. ,ADDITION1
  607. ,ARRIVEQTY
  608. )
  609. select NEWID()
  610. ,@FORMCODE
  611. ,@WORKPOINT
  612. ,@VENDORCODE
  613. ,CERTIFICATETPYECODE
  614. ,CERTIFICATETYPENAME
  615. ,CERTIFICATEITEMCODE
  616. ,CERTIFICATEITEMNAME
  617. ,ISKEYTASK
  618. ,NEEDUPLOADFILE
  619. ,PLANFINISHDAYS
  620. ,DATEADD(DAY,PLANFINISHDAYS,GETDATE())
  621. ,''
  622. ,@AUDITRESULT
  623. ,GETDATE()
  624. ,CONVERT(varchar,GETDATE(),120)
  625. ,@CREATEUSER
  626. ,''
  627. ,''
  628. ,''
  629. ,''
  630. ,''
  631. ,''
  632. ,''
  633. ,''
  634. from ICSCERTIFICATE where CERTIFICATETPYECODE=@CERTIFICATETPYECODE
  635. ";
  636. SqlParameter[] sp_Detail = {
  637. new SqlParameter("ID",obj.ID),
  638. new SqlParameter("@FORMCODE",FORMCODE),
  639. new SqlParameter("@WORKPOINT",itemwh.WorkPoint),
  640. new SqlParameter("@VENDORCODE",itemwh.VenCode),
  641. new SqlParameter("@AUDITRESULT","NEW"),
  642. new SqlParameter("@CERTIFICATETPYECODE",obj.CERTIFICATETPYECODE),
  643. new SqlParameter("@CREATEUSER",UserCode),
  644. new SqlParameter("@MODIFIEDUSER",UserCode),
  645. };
  646. SqlCommandHelper.CmdExecuteNonQuery(sql, sp_Detail, cmd);
  647. #region 发邮件给供应商
  648. //string sqlMail = "SELECT F_Mail FROM Sys_SRm_User where F_VenCode='" + itemwh.VenCode + "'";
  649. //DataTable dtMail = SqlHelper.GetDataTableBySql(sqlMail);
  650. //if (!string.IsNullOrWhiteSpace(dtMail.Rows[0]["F_Mail"].ToString()))
  651. //{
  652. // string MailOpen = ConfigurationManager.ConnectionStrings["MailOpen"].ConnectionString;
  653. // if (MailOpen == "true")
  654. // {
  655. // string SendHost = ConfigurationManager.ConnectionStrings["SendHost"].ConnectionString;
  656. // string StrSendPort = ConfigurationManager.ConnectionStrings["SendPort"].ConnectionString;
  657. // int SendPort = 25;
  658. // if (!string.IsNullOrEmpty(StrSendPort))
  659. // SendPort = Convert.ToInt32(ConfigurationManager.ConnectionStrings["SendPort"].ConnectionString);
  660. // string SendDisplayName = ConfigurationManager.ConnectionStrings["SendDisplayName"].ConnectionString;
  661. // string SendAddress = ConfigurationManager.ConnectionStrings["SendAddress"].ConnectionString;
  662. // string SendPassword = ConfigurationManager.ConnectionStrings["SendPassword"].ConnectionString;
  663. // string VenName = itemwh.VenCode;
  664. // string CCAddress = "";
  665. // string Subject = "";
  666. // bool isBodyHtml = false;
  667. // string NowDate = DateTime.Now.GetDateTimeFormats('D')[0].ToString();
  668. // string body = VenName + ":";
  669. // body += "\r\n";
  670. // body += " 您好! 您有一个认证类型在SRM中待维护,请及时处理!请注意计划完成日期,逾期请在补录中进行重新维护。";
  671. // body += "\r\n";
  672. // body += " 顺颂商祺!";
  673. // body += "\r\n";
  674. // body += " 佑伦真空设备科技有限公司";
  675. // body += "\r\n";
  676. // body += " " + NowDate;
  677. // string StrConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
  678. // MailHelper.SendEmail(StrConn, SendHost, SendPort, SendDisplayName, SendAddress, SendPassword, dtMail.Rows[0]["F_Mail"].ToString(), CCAddress, Subject, isBodyHtml, body);
  679. // }
  680. //}
  681. #endregion
  682. }
  683. }
  684. cmd.Transaction.Commit();
  685. }
  686. catch (Exception ex)
  687. {
  688. cmd.Transaction.Rollback();
  689. throw new Exception(ex.Message);
  690. }
  691. finally
  692. {
  693. if (conn.State == ConnectionState.Open)
  694. {
  695. conn.Close();
  696. }
  697. conn.Dispose();
  698. }
  699. }
  700. catch (Exception ex)
  701. {
  702. throw new Exception(ex.Message);
  703. }
  704. }
  705. /// <summary>
  706. /// 获取单号
  707. /// </summary>
  708. /// <param name="workPointCode"></param>
  709. /// <param name="tbName"></param>
  710. /// <param name="colName"></param>
  711. /// <param name="Pre"></param>
  712. /// <param name="numLen"></param>
  713. /// <returns></returns>
  714. public string GetSerialCode(string workPointCode, string tbName, string colName, string Pre, int numLen)
  715. {
  716. string sql = "EXEC Addins_GetSerialCode '{0}','{1}','{2}','{3}',{4}";
  717. sql = string.Format(sql, new object[] { workPointCode, tbName, colName, Pre, numLen });
  718. return DbHelper.ExecuteScalar(CommandType.Text, sql).ToString();
  719. }
  720. /// <summary>
  721. /// 获取单号
  722. /// </summary>
  723. /// <param name="workPointCode"></param>
  724. /// <param name="tbName"></param>
  725. /// <param name="colName"></param>
  726. /// <param name="Pre"></param>
  727. /// <param name="numLen"></param>
  728. /// <returns></returns>
  729. public string GetSerialCodeBYVenDor(string workPointCode, string tbName, string colName, string Pre, int numLen)
  730. {
  731. string sql = "EXEC Addins_GetSerialCode '','{0}','{1}','{2}',{3}";
  732. sql = string.Format(sql, new object[] {tbName, colName, Pre, numLen });
  733. return DbHelper.ExecuteScalarByVenDor(CommandType.Text, sql).ToString();
  734. }
  735. /// <summary>
  736. /// 认证类型维护
  737. /// </summary>
  738. /// <param name="queryJson"></param>
  739. /// <param name="jqgridparam"></param>
  740. /// <returns></returns>
  741. public DataTable GetCertificateTypeMaintion(string queryJson, ref Pagination jqgridparam)
  742. {
  743. DataTable dt = new DataTable();
  744. var queryParam = queryJson.ToJObject();
  745. List<DbParameter> parameter = new List<DbParameter>();
  746. string sql = @"select
  747. ID
  748. ,CERTIFICATETPYECODE
  749. ,CERTIFICATETYPENAME
  750. ,CREATEDATE
  751. ,WorkPoint
  752. from ICSCERTIFICATETYPE a
  753. WHERE 1=1";
  754. if (!string.IsNullOrWhiteSpace(queryJson))
  755. {
  756. if (!string.IsNullOrWhiteSpace(queryParam["CertifiCateTpyeCode"].ToString()))
  757. {
  758. sql += " and a.CERTIFICATETPYECODE like '%" + queryParam["CertifiCateTpyeCode"].ToString() + "%' ";
  759. }
  760. if (!string.IsNullOrWhiteSpace(queryParam["CertifiCateTpyeName"].ToString()))
  761. {
  762. sql += " and a.CERTIFICATETYPENAME like '%" + queryParam["CertifiCateTpyeName"].ToString() + "%' ";
  763. }
  764. }
  765. if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  766. {
  767. sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
  768. }
  769. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  770. }
  771. /// <summary>
  772. /// 修改时获取主表信息
  773. /// </summary>
  774. /// <param name="tmpID"></param>
  775. /// <param name="WorkPoint"></param>
  776. /// <returns></returns>
  777. public DataRow GetCertificateTypeAdd(string CERTIFICATETPYECODE,string WorkPoint)
  778. {
  779. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  780. List<DbParameter> parameter = new List<DbParameter>();
  781. string sql = string.Empty;
  782. try
  783. {
  784. sql = @"SELECT * FROM ICSCERTIFICATETYPE
  785. WHERE CERTIFICATETPYECODE='" + CERTIFICATETPYECODE + "' and WorkPoint = '" + WorkPoint + "'";
  786. DataRow dt = SqlHelper.GetDataRowBySql(sql);
  787. return dt;
  788. }
  789. catch (Exception ex)
  790. {
  791. throw new Exception(ex.Message);
  792. }
  793. }
  794. /// <summary>
  795. /// 创建认证类型
  796. /// </summary>
  797. /// <param name="queryJson"></param>
  798. /// <returns></returns>
  799. public void SubmitCertificateType(string queryJson, string ID)
  800. {
  801. try
  802. {
  803. DataTable dt = new DataTable();
  804. List<DbParameter> parameter = new List<DbParameter>();
  805. ICSCERTIFICATE[] list = JsonConvert.DeserializeObject<ICSCERTIFICATE[]>(queryJson);
  806. string sql = string.Empty;
  807. string connString = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
  808. SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
  809. conn.Open();
  810. SqlTransaction sqlTran = conn.BeginTransaction();
  811. SqlCommand cmd = new SqlCommand();
  812. cmd.Transaction = sqlTran;
  813. cmd.Connection = conn;
  814. try
  815. {
  816. string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  817. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.Replace("'", "");
  818. ////string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  819. sql = "select * from ICSCERTIFICATETYPE where CERTIFICATETPYECODE='" + list[0].CERTIFICATETPYECODE + "'and ID!='" + ID + "'";
  820. dt = SqlCommandHelper.SQlReturnData(sql, cmd);
  821. if (dt != null && dt.Rows.Count > 0)
  822. {
  823. throw new Exception("认证类型已存在!");
  824. }
  825. sql = string.Format(@"SELECT CERTIFICATETPYECODE FROM dbo.ICSCERTIFICATETYPE
  826. WHERE CERTIFICATETPYECODE IN (SELECT CERTIFICATETPYECODE FROM dbo.ICSCERTIFICATE WHERE CERTIFICATETPYECODE IN ('{0}'))", list[0].CERTIFICATETPYECODE);
  827. DataTable dtASN = SqlHelper.GetDataTableBySql(sql);
  828. if (dtASN != null && dtASN.Rows.Count > 0)
  829. {
  830. throw new Exception("所认证类型已被关联,请先在供应商关联中删除!");
  831. }
  832. foreach (var obj in list)
  833. {
  834. sql = @"IF NOT EXISTS(SELECT * FROM dbo.ICSCERTIFICATETYPE WHERE ID=@ID)
  835. BEGIN
  836. INSERT INTO dbo.ICSCERTIFICATETYPE
  837. (ID
  838. ,WorkPoint
  839. ,CERTIFICATETPYECODE
  840. ,CERTIFICATETYPENAME
  841. ,CREATEDATE
  842. ,CREATETIME
  843. ,CREATEUSER
  844. ,MODIFIEDDATE
  845. ,MODIFIEDTIME
  846. ,MODIFIEDUSER
  847. ,REMARK
  848. ,ADDITION1
  849. ,ADDITION2
  850. )
  851. VALUES
  852. (
  853. NEWID()
  854. ,@WorkPoint
  855. ,@CERTIFICATETPYECODE
  856. ,@CERTIFICATETYPENAME
  857. ,GETDATE()
  858. ,CONVERT(varchar,GETDATE(),120)
  859. ,@CREATEUSER
  860. ,''
  861. ,''
  862. ,''
  863. ,''
  864. ,''
  865. ,'')
  866. END
  867. ELSE
  868. BEGIN
  869. UPDATE dbo.ICSCERTIFICATETYPE SET
  870. CERTIFICATETPYECODE=@CERTIFICATETPYECODE
  871. ,CERTIFICATETYPENAME=@CERTIFICATETYPENAME
  872. ,MODIFIEDDATE=GETDATE()
  873. ,MODIFIEDTIME=CONVERT(varchar,GETDATE(),120)
  874. ,MODIFIEDUSER=@MODIFIEDUSER
  875. WHERE ID=@ID
  876. END";
  877. SqlParameter[] sp_Detail = {
  878. new SqlParameter("@ID",ID),
  879. new SqlParameter("@CERTIFICATETPYECODE",obj.CERTIFICATETPYECODE),
  880. new SqlParameter("@CERTIFICATETYPENAME",obj.CERTIFICATETYPENAME),
  881. //new SqlParameter("@CREATEDATE","已保存"),
  882. //new SqlParameter("@CREATETIME","企业"),
  883. new SqlParameter("@CREATEUSER",UserCode),
  884. //new SqlParameter("@MODIFIEDDATE",Muser),
  885. new SqlParameter("@WorkPoint",obj.WorkPoint),
  886. new SqlParameter("@MODIFIEDUSER",UserCode),
  887. };
  888. SqlCommandHelper.CmdExecuteNonQuery(sql, sp_Detail, cmd);
  889. }
  890. cmd.Transaction.Commit();
  891. }
  892. catch (Exception ex)
  893. {
  894. cmd.Transaction.Rollback();
  895. throw new Exception(ex.Message);
  896. }
  897. finally
  898. {
  899. if (conn.State == ConnectionState.Open)
  900. {
  901. conn.Close();
  902. }
  903. conn.Dispose();
  904. }
  905. }
  906. catch (Exception ex)
  907. {
  908. throw new Exception(ex.Message);
  909. }
  910. }
  911. //删除认证类型
  912. public string DeleteCertificateType(string CERTIFICATETPYECODE)
  913. {
  914. string sql = string.Empty;
  915. string msg = "";
  916. CERTIFICATETPYECODE = CERTIFICATETPYECODE.Substring(1, CERTIFICATETPYECODE.Length - 2);
  917. sql = string.Format(@"SELECT CERTIFICATETPYECODE FROM dbo.ICSCERTIFICATETYPE
  918. WHERE CERTIFICATETPYECODE IN (SELECT CERTIFICATETPYECODE FROM dbo.ICSCERTIFICATE WHERE CERTIFICATETPYECODE IN ({0}))", CERTIFICATETPYECODE.TrimEnd(','));
  919. DataTable dtASN = SqlHelper.GetDataTableBySql(sql);
  920. if (dtASN != null && dtASN.Rows.Count > 0)
  921. {
  922. throw new Exception("所认证类型已被关联,请先在供应商关联中删除!");
  923. }
  924. sql = @"delete FROM ICSCERTIFICATETYPE where CERTIFICATETPYECODE in ({0})";
  925. sql = string.Format(sql, CERTIFICATETPYECODE.TrimEnd(','));
  926. try
  927. {
  928. SqlHelper.ExecuteNonQuery(sql);
  929. }
  930. catch (Exception ex)
  931. {
  932. msg = ex.Message;
  933. }
  934. return msg;
  935. }
  936. public string DeleteCertiFicateiteRZ(string ID, string VENDORCODE)
  937. {
  938. string sql = string.Empty;
  939. string msg = "";
  940. ID = ID.Substring(1, ID.Length - 2);
  941. VENDORCODE = VENDORCODE.Substring(1, VENDORCODE.Length - 2);
  942. sql = string.Format(@"SELECT * FROM dbo.ICSCERTIFICATEITEM
  943. WHERE ID IN (SELECT GGUID FROM dbo.ICSCERTIFICATEITEMDETAIL WHERE CERTIFICATETPYECODE IN ({0})) and VENDORCODE in({1})", ID.TrimEnd(','), VENDORCODE.TrimEnd(','));
  944. DataTable dtASN = SqlHelper.GetDataTableBySql(sql);
  945. if (dtASN != null && dtASN.Rows.Count > 0)
  946. {
  947. throw new Exception("该认证类型的项目已被供应商认证,无法删除!");
  948. }
  949. sql = @"delete FROM ICSCERTIFICATEITEM where CERTIFICATETPYECODE in ({0}) and VENDORCODE in({1})";
  950. sql = string.Format(sql, ID.TrimEnd(','), VENDORCODE.TrimEnd(','));
  951. try
  952. {
  953. SqlHelper.ExecuteNonQuery(sql);
  954. }
  955. catch (Exception ex)
  956. {
  957. msg = ex.Message;
  958. }
  959. return msg;
  960. }
  961. public DataTable GetICSCertifiiCateItemDetailCK(string CERTIFICATETPYECODE, string VENDORCODE, ref Pagination jqgridparam, string WorkPoint)
  962. {
  963. DataTable dt = new DataTable();
  964. CERTIFICATETPYECODE = CERTIFICATETPYECODE.Substring(1, CERTIFICATETPYECODE.Length - 2);
  965. VENDORCODE = VENDORCODE.Substring(1, VENDORCODE.Length - 2);
  966. WorkPoint = WorkPoint.Substring(1, WorkPoint.Length - 2);
  967. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  968. List<DbParameter> parameter = new List<DbParameter>();
  969. string sql = @"select
  970. distinct
  971. a.ID
  972. ,a.CERTIFICATEITEMCODE
  973. ,a.CERTIFICATEITEMNAME
  974. ,case When a.ISKEYTASK=0 Then '是'ELSE '否' END as ISKEYTASK
  975. ,case When a.NEEDUPLOADFILE=0 Then '是'ELSE '否' END as NEEDUPLOADFILE
  976. from ICSCERTIFICATEITEM a
  977. LEFT JOIN ICSCERTIFICATE b on a.CERTIFICATEITEMCODE=b.CERTIFICATEITEMCODE
  978. where a.CERTIFICATETPYECODE='" + CERTIFICATETPYECODE + "' and VENDORCODE ='" + VENDORCODE + "' and a.WorkPoint='" + WorkPoint+ "'";
  979. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  980. }
  981. public int UpLoadFile(string FilePath, string FileName, string ID)
  982. {
  983. DataTable dt = new DataTable();
  984. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  985. string Vendor = NFine.Code.OperatorProvider.Provider.GetCurrent().VenCode;
  986. string sql = "";
  987. sql += string.Format(@"update ICSCERTIFICATEITEMDETAIL set CERTIFICATETPYECODE=isnull(VendorFileName,'')+'{0}'
  988. where ID='{1}'",
  989. FilePath, ID);
  990. sql += "\r\n";
  991. StringBuilder Str = new StringBuilder(sql);
  992. return Repository().ExecuteBySql(Str);
  993. }
  994. /// <summary>
  995. /// 保存主档信息
  996. /// </summary>
  997. /// <param name="queryJson"></param>
  998. /// <returns></returns>
  999. public void SubmitCertificateItemDetail(string queryJson, string ItemID,string ID)
  1000. {
  1001. try
  1002. {
  1003. DataTable dt = new DataTable();
  1004. List<DbParameter> parameter = new List<DbParameter>();
  1005. ICSCERTIFICATEITEMDETAIL[] list = JsonConvert.DeserializeObject<ICSCERTIFICATEITEMDETAIL[]>(queryJson);
  1006. string sql = string.Empty;
  1007. string sqls = string.Empty;
  1008. string connString = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
  1009. SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
  1010. conn.Open();
  1011. SqlTransaction sqlTran = conn.BeginTransaction();
  1012. SqlCommand cmd = new SqlCommand();
  1013. cmd.Transaction = sqlTran;
  1014. cmd.Connection = conn;
  1015. try
  1016. {
  1017. string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1018. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.Replace("'", "");
  1019. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1020. foreach (var obj in list)
  1021. {
  1022. sql = @"IF NOT EXISTS(SELECT * FROM dbo.ICSCERTIFICATEITEMDETAIL WHERE GGUID=@GGUID)
  1023. BEGIN
  1024. INSERT INTO dbo.ICSCERTIFICATEITEMDETAIL
  1025. (ID
  1026. ,GGUID
  1027. ,BEGINDATE
  1028. ,ENDDATE
  1029. ,CERTIFICATENO
  1030. ,CERTIFICATETYPENAME
  1031. ,CERTIFICATETYPENFileName
  1032. ,CERTIFICATIONINSTITUTIONS
  1033. ,STATUS
  1034. ,CREATEDATE
  1035. ,CREATETIME
  1036. ,CREATEUSER
  1037. ,MODIFIEDDATE
  1038. ,MODIFIEDTIME
  1039. ,MODIFIEDUSER
  1040. ,REMARK
  1041. ,ADDITION1
  1042. ,ADDITION2
  1043. ,WorkPoint
  1044. )
  1045. VALUES
  1046. (
  1047. NEWID()
  1048. ,@GGUID
  1049. ,@BEGINDATE
  1050. ,@ENDDATE
  1051. ,@CERTIFICATENO
  1052. ,@CERTIFICATETYPENAME
  1053. ,@CERTIFICATETYPENFileName
  1054. ,@CERTIFICATIONINSTITUTIONS
  1055. ,''
  1056. ,GETDATE()
  1057. ,CONVERT(varchar,GETDATE(),120)
  1058. ,@CREATEUSER
  1059. ,''
  1060. ,''
  1061. ,''
  1062. ,''
  1063. ,@ADDITION1
  1064. ,''
  1065. ,@WorkPoint)
  1066. END
  1067. ELSE
  1068. BEGIN
  1069. UPDATE dbo.ICSCERTIFICATEITEMDETAIL SET
  1070. BEGINDATE=@BEGINDATE
  1071. ,ENDDATE=@ENDDATE
  1072. ,CERTIFICATENO=@CERTIFICATENO
  1073. ,CERTIFICATETYPENAME=@CERTIFICATETYPENAME
  1074. ,CERTIFICATETYPENFileName=@CERTIFICATETYPENFileName
  1075. ,CERTIFICATIONINSTITUTIONS=@CERTIFICATIONINSTITUTIONS
  1076. ,STATUS=''
  1077. ,MODIFIEDDATE=GETDATE()
  1078. ,MODIFIEDTIME=CONVERT(varchar,GETDATE(),120)
  1079. ,MODIFIEDUSER=@MODIFIEDUSER
  1080. ,ADDITION1=@ADDITION1
  1081. ,WorkPoint=@WorkPoint
  1082. WHERE GGUID=@GGUID
  1083. END";
  1084. SqlParameter[] sp_Detail = {
  1085. new SqlParameter("@ID",ItemID),//当前表ID
  1086. new SqlParameter("@GGUID",ID),//主表ID
  1087. new SqlParameter("@BEGINDATE",obj.BEGINDATE),
  1088. new SqlParameter("@ENDDATE",obj.ENDDATE),
  1089. new SqlParameter("@CERTIFICATENO",obj.CERTIFICATENO),
  1090. new SqlParameter("@CERTIFICATETYPENAME",obj.CERTIFICATETYPENAME),
  1091. new SqlParameter("@CERTIFICATETYPENFileName",obj.CERTIFICATETYPENFileName),
  1092. new SqlParameter("@CERTIFICATIONINSTITUTIONS",obj.CERTIFICATIONINSTITUTIONS),
  1093. new SqlParameter("@WorkPoint",obj.WorkPoint),
  1094. new SqlParameter("@CREATEUSER",UserCode),
  1095. new SqlParameter("@MODIFIEDUSER",UserCode),
  1096. new SqlParameter("@ADDITION1",obj.ADDITION1)
  1097. };
  1098. SqlCommandHelper.CmdExecuteNonQuery(sql, sp_Detail, cmd);
  1099. sqls += @"Update ICSCERTIFICATEITEM Set AUDITRESULT='Check' Where ID=@GGUID";
  1100. SqlParameter[] sp_Details = {
  1101. new SqlParameter("@GGUID",ID),
  1102. };
  1103. SqlCommandHelper.CmdExecuteNonQuery(sqls, sp_Details, cmd);
  1104. }
  1105. cmd.Transaction.Commit();
  1106. }
  1107. catch (Exception ex)
  1108. {
  1109. cmd.Transaction.Rollback();
  1110. throw new Exception(ex.Message);
  1111. }
  1112. finally
  1113. {
  1114. if (conn.State == ConnectionState.Open)
  1115. {
  1116. conn.Close();
  1117. }
  1118. conn.Dispose();
  1119. }
  1120. }
  1121. catch (Exception ex)
  1122. {
  1123. throw new Exception(ex.Message);
  1124. }
  1125. }
  1126. public DataTable GetICSCertifiiCateItemDetailSearch(string queryJson, ref Pagination jqgridparam)
  1127. {
  1128. DataTable dt = new DataTable();
  1129. var queryParam = queryJson.ToJObject();
  1130. List<DbParameter> parameter = new List<DbParameter>();
  1131. // string sql = @"select
  1132. // a.ID,
  1133. // case when b.GGUID<>'' and b.STATUS<>'失效' Then '已维护'WHEN b.STATUS='失效' THEN '失效' WHEN Getdate()> a.PLANFINISHDATE THEN
  1134. //'已逾期' ELSE '未维护' End as AUDITRESULT,
  1135. // a.VENDORCODE,
  1136. // c.cVenName,
  1137. // a.CERTIFICATETPYECODE,
  1138. // a.CERTIFICATETYPENAME,
  1139. // a.CERTIFICATEITEMCODE,
  1140. // a.CERTIFICATEITEMNAME,
  1141. // b.CERTIFICATIONINSTITUTIONS,
  1142. // case When a.ISKEYTASK=0 Then '是'ELSE '否' END as ISKEYTASK,
  1143. // case When a.NEEDUPLOADFILE=0 Then '是'ELSE '否' END as NEEDUPLOADFILE ,
  1144. // b.BEGINDATE,
  1145. // b.ENDDATE,
  1146. // b.CERTIFICATETYPENFileName,
  1147. // a.PLANFINISHDATE,
  1148. // b.CREATEDATE
  1149. // from ICSCERTIFICATEITEM a
  1150. // LEFT JOIN ICSCERTIFICATEITEMDETAIL b on a.ID=b.GGUID and a.WorkPoint=b.WorkPoint and b.AUDITRESULT<>'REJECT'
  1151. // LEFT JOIN ICSVendor c on a.VENDORCODE=c.cVenCode and b.WorkPoint=c.WorkPoint
  1152. // WHERE 1=1 and case when b.GGUID<>'' and b.STATUS<>'失效' Then '已维护'WHEN b.STATUS='失效' THEN '失效' WHEN Getdate()> a.PLANFINISHDATE THEN
  1153. // '已逾期' ELSE '未维护' END IN('失效','已逾期')";
  1154. string sql = @" select distinct
  1155. a.ID,
  1156. b.STATUS,
  1157. case when a.AUDITRESULT='pass' AND b.STATUS='' Then ''WHEN b.STATUS='' THEN '' WHEN Getdate()> a.PLANFINISHDATE AND a.AUDITRESULT in ('New','REJECT') THEN
  1158. '' ELSE '' End as AUDITRESULT,
  1159. a.VENDORCODE,
  1160. c.cVenName,
  1161. a.CERTIFICATETPYECODE,
  1162. a.CERTIFICATETYPENAME,
  1163. a.CERTIFICATEITEMCODE,
  1164. a.CERTIFICATEITEMNAME,
  1165. b.CERTIFICATIONINSTITUTIONS,
  1166. case When a.ISKEYTASK=0 Then '是'ELSE '否' END as ISKEYTASK,
  1167. case When a.NEEDUPLOADFILE=0 Then '是'ELSE '否' END as NEEDUPLOADFILE ,
  1168. b.BEGINDATE,
  1169. b.ENDDATE,
  1170. b.CERTIFICATETYPENFileName,
  1171. a.PLANFINISHDATE,
  1172. b.CREATEDATE
  1173. from ICSCERTIFICATEITEM a
  1174. LEFT JOIN ICSCERTIFICATEITEMDETAIL b on a.ID=b.GGUID and a.WorkPoint=b.WorkPoint and isnull(b.AUDITRESULT,'')<>'REJECT'
  1175. LEFT JOIN ICSVendor c on a.VENDORCODE=c.cVenCode and b.WorkPoint=c.WorkPoint
  1176. WHERE 1=1 and case when a.AUDITRESULT='pass'AND b.STATUS='' Then ''WHEN b.STATUS='' THEN '' WHEN Getdate()> a.PLANFINISHDATE AND a.AUDITRESULT='New' THEN '' ELSE '' End IN('','') ";
  1177. if (!string.IsNullOrWhiteSpace(queryJson))
  1178. {
  1179. if (!string.IsNullOrWhiteSpace(queryParam["CertifiCateTpyeCode"].ToString()))
  1180. {
  1181. sql += " and a.CERTIFICATETPYECODE like '%" + queryParam["CertifiCateTpyeCode"].ToString() + "%' ";
  1182. }
  1183. if (!string.IsNullOrWhiteSpace(queryParam["CertifiCateTpyeName"].ToString()))
  1184. {
  1185. sql += " and a.CERTIFICATETYPENAME like '%" + queryParam["CertifiCateTpyeName"].ToString() + "%' ";
  1186. }
  1187. if (!string.IsNullOrWhiteSpace(queryParam["VENDORCODE"].ToString()))
  1188. {
  1189. sql += " and a.VENDORCODE like '%" + queryParam["VENDORCODE"].ToString() + "%' ";
  1190. }
  1191. if (!string.IsNullOrWhiteSpace(queryParam["cVenName"].ToString()))
  1192. {
  1193. sql += " and a.cVenName like '%" + queryParam["cVenName"].ToString() + "%' ";
  1194. }
  1195. if (!string.IsNullOrWhiteSpace(queryParam["CREATEDATEBegion"].ToString()))
  1196. {
  1197. sql += " and a.CREATEDATE >= '" + queryParam["CREATEDATEBegion"].ToString() + "' ";
  1198. }
  1199. if (!string.IsNullOrWhiteSpace(queryParam["CREATEDATEEnd"].ToString()))
  1200. {
  1201. sql += " and a.CREATEDATE <= '" + queryParam["CREATEDATEEnd"].ToString() + "' ";
  1202. }
  1203. if (!string.IsNullOrWhiteSpace(queryParam["status"].ToString()))
  1204. {
  1205. sql += " and case when b.GGUID<>'' Then '已维护' When Getdate()> a.PLANFINISHDATE Then '已逾期' Else '未维护' End in (" + queryParam["status"].ToString().TrimEnd(',') + ") ";
  1206. }
  1207. }
  1208. if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  1209. {
  1210. sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
  1211. }
  1212. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
  1213. {
  1214. sql += " and c.cVenCode in (SELECT cVenCode FROM ICSVendor where cVenName ='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserName + "'AND WorkPoint=a.WorkPoint)";
  1215. }
  1216. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1217. }
  1218. /// <summary>
  1219. /// 修改时获取主表信息
  1220. /// </summary>
  1221. /// <param name="tmpID"></param>
  1222. /// <param name="WorkPoint"></param>
  1223. /// <returns></returns>
  1224. public DataRow GetCertifiCateTpyeDetail(string ItemID)
  1225. {
  1226. DataRow dr = null;
  1227. string sql = string.Empty;
  1228. try
  1229. {
  1230. sql = @"SELECT
  1231. CERTIFICATIONINSTITUTIONS,
  1232. BEGINDATE,
  1233. ENDDATE,
  1234. CERTIFICATENO,
  1235. CERTIFICATETYPENAME,
  1236. CERTIFICATETYPENFileName
  1237. FROM ICSCERTIFICATEITEMDETAIL
  1238. WHERE ID='" + ItemID + "'";
  1239. dr = SqlHelper.GetDataRowBySql(sql);
  1240. return dr;
  1241. }
  1242. catch (Exception ex)
  1243. {
  1244. throw new Exception(ex.Message);
  1245. }
  1246. }
  1247. /// <summary>
  1248. /// 供应商准入-注册状态查询
  1249. /// </summary>
  1250. /// <param name="queryJson"></param>
  1251. /// <param name="jqgridparam"></param>
  1252. /// <returns></returns>
  1253. public DataTable GetVendorTemp(string queryJson, ref Pagination jqgridparam)
  1254. {
  1255. DataTable dt = new DataTable();
  1256. var queryParam = queryJson.ToJObject();
  1257. List<DbParameter> parameter = new List<DbParameter>();
  1258. string sql = @"SELECT DISTINCT
  1259. --a.TEMPVENDORCODE,
  1260. case when RegistrationStatus='' then c.F_Account else a.TEMPVENDORCODE end as TEMPVENDORCODE,
  1261. a.TEMPVENDORCODE as TEMPVENDORCODELS,
  1262. a.TEMPVENDORNAME,
  1263. VENDORAbbreviation,
  1264. VENDORTYPE,
  1265. RegistrationStatus,
  1266. b.TEMPVENDORAttribute,
  1267. a.WorkPoint,
  1268. a.VenCode,
  1269. a.CONTACTNAME,
  1270. a.CREATEDATE,
  1271. RegistrationStatus as RegistrationStatusColor,
  1272. a.ADDITIon5,
  1273. a.ADDITION3,
  1274. a.ADDITION4
  1275. FROM dbo.ICSPREVENDOR a
  1276. LEFT JOIN dbo.ICSPREVENDORBasic b ON a.TEMPVENDORCODE=b.TEMPVENDORCODE AND a.WorkPoint=b.WorkPoint
  1277. LEFT JOIN sys_srm_user c ON a.venCode=c.F_VenCode AND a.WorkPoint=c.F_Location
  1278. WHERE 1=1
  1279. ";
  1280. if (!string.IsNullOrWhiteSpace(queryJson))
  1281. {
  1282. if (!string.IsNullOrWhiteSpace(queryParam["WorkPoint"].ToString()))
  1283. {
  1284. sql += " and a.WorkPoint like '%" + queryParam["WorkPoint"].ToString() + "%' ";
  1285. }
  1286. if (!string.IsNullOrWhiteSpace(queryParam["TEMPVENDORNAME"].ToString()))
  1287. {
  1288. sql += " and a.TEMPVENDORNAME like '%" + queryParam["TEMPVENDORNAME"].ToString() + "%' ";
  1289. }
  1290. if (!string.IsNullOrWhiteSpace(queryParam["CONTACTNAME"].ToString()))
  1291. {
  1292. sql += " and a.CONTACTNAME like '%" + queryParam["CONTACTNAME"].ToString() + "%' ";
  1293. }
  1294. if (!string.IsNullOrWhiteSpace(queryParam["TEMPVENDORAttribute"].ToString()))
  1295. {
  1296. sql += " and a.TEMPVENDORAttribute like '%" + queryParam["TEMPVENDORAttribute"].ToString() + "%' ";
  1297. }
  1298. if (!string.IsNullOrWhiteSpace(queryParam["TEMPVENDORCODE"].ToString()))
  1299. {
  1300. sql += " and a.TEMPVENDORCODE like '%" + queryParam["TEMPVENDORCODE"].ToString() + "%' ";
  1301. }
  1302. if (!string.IsNullOrWhiteSpace(queryParam["RegistrationStatus"].ToString()))
  1303. {
  1304. sql += " and a.RegistrationStatus = '" + queryParam["RegistrationStatus"].ToString() + "' ";
  1305. }
  1306. }
  1307. //if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  1308. //{
  1309. // sql = SqlHelper.OrganizeByVendor_F_ParentId(sql, NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode);
  1310. //}
  1311. if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  1312. {
  1313. sql += " and a.ADDITIon2 = '" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserName.TrimEnd(',') + "'";
  1314. }
  1315. //if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  1316. //{
  1317. // sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
  1318. //}
  1319. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1320. }
  1321. public DataTable GetVendorTempByYL(string queryJson, ref Pagination jqgridparam)
  1322. {
  1323. DataTable dt = new DataTable();
  1324. var queryParam = queryJson.ToJObject();
  1325. List<DbParameter> parameter = new List<DbParameter>();
  1326. string sql = @"SELECT DISTINCT
  1327. --a.TEMPVENDORCODE,
  1328. case when RegistrationStatus='' then c.F_Account else a.TEMPVENDORCODE end as TEMPVENDORCODE,
  1329. a.TEMPVENDORCODE as TEMPVENDORCODELS,
  1330. a.TEMPVENDORNAME,
  1331. VENDORAbbreviation,
  1332. VENDORTYPE,
  1333. RegistrationStatus,
  1334. b.TEMPVENDORAttribute,
  1335. a.WorkPoint,
  1336. a.VenCode,
  1337. a.CONTACTNAME,
  1338. a.CREATEDATE,
  1339. RegistrationStatus as RegistrationStatusColor,
  1340. a.ADDITIon5,
  1341. a.ADDITIon2
  1342. FROM dbo.ICSPREVENDOR a
  1343. LEFT JOIN dbo.ICSPREVENDORBasic b ON a.TEMPVENDORCODE=b.TEMPVENDORCODE AND a.WorkPoint=b.WorkPoint
  1344. LEFT JOIN sys_srm_user c ON a.venCode=c.F_VenCode AND a.WorkPoint=c.F_Location
  1345. WHERE 1=1
  1346. ";
  1347. if (!string.IsNullOrWhiteSpace(queryJson))
  1348. {
  1349. if (!string.IsNullOrWhiteSpace(queryParam["WorkPoint"].ToString()))
  1350. {
  1351. sql += " and a.WorkPoint like '%" + queryParam["WorkPoint"].ToString() + "%' ";
  1352. }
  1353. if (!string.IsNullOrWhiteSpace(queryParam["TEMPVENDORNAME"].ToString()))
  1354. {
  1355. sql += " and a.TEMPVENDORNAME like '%" + queryParam["TEMPVENDORNAME"].ToString() + "%' ";
  1356. }
  1357. if (!string.IsNullOrWhiteSpace(queryParam["CONTACTNAME"].ToString()))
  1358. {
  1359. sql += " and a.CONTACTNAME like '%" + queryParam["CONTACTNAME"].ToString() + "%' ";
  1360. }
  1361. if (!string.IsNullOrWhiteSpace(queryParam["TEMPVENDORAttribute"].ToString()))
  1362. {
  1363. sql += " and a.TEMPVENDORAttribute like '%" + queryParam["TEMPVENDORAttribute"].ToString() + "%' ";
  1364. }
  1365. if (!string.IsNullOrWhiteSpace(queryParam["TEMPVENDORCODE"].ToString()))
  1366. {
  1367. sql += " and a.TEMPVENDORCODE like '%" + queryParam["TEMPVENDORCODE"].ToString() + "%' ";
  1368. }
  1369. if (!string.IsNullOrWhiteSpace(queryParam["RegistrationStatus"].ToString()))
  1370. {
  1371. sql += " and a.RegistrationStatus = '" + queryParam["RegistrationStatus"].ToString() + "' ";
  1372. }
  1373. }
  1374. if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  1375. {
  1376. sql = SqlHelper.OrganizeByVendor_F_ParentId(sql, NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode);
  1377. }
  1378. if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  1379. {
  1380. sql += " OR a.ADDITIon2 = '" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserName.TrimEnd(',') + "'";
  1381. }
  1382. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1383. }
  1384. /// <summary>
  1385. /// 总览
  1386. /// </summary>
  1387. /// <param name="queryJson"></param>
  1388. /// <param name="jqgridparam"></param>
  1389. /// <returns></returns>
  1390. public DataTable GetICSCertifiiCateItemDetailSearchZL(string queryJson, ref Pagination jqgridparam)
  1391. {
  1392. DataTable dt = new DataTable();
  1393. var queryParam = queryJson.ToJObject();
  1394. List<DbParameter> parameter = new List<DbParameter>();
  1395. // string sql = @"
  1396. // select
  1397. // a.ID,
  1398. // a.WorkPoint,
  1399. // case when b.GGUID<>'' and b.STATUS<>'失效' Then '已维护'WHEN b.STATUS='失效' THEN '失效' WHEN Getdate()> a.PLANFINISHDATE THEN
  1400. //'已逾期' ELSE '未维护' End as AUDITRESULT,
  1401. // a.VENDORCODE,
  1402. // c.cVenName,
  1403. // a.CERTIFICATETPYECODE,
  1404. // a.CERTIFICATETYPENAME,
  1405. // a.CERTIFICATEITEMCODE,
  1406. // a.CERTIFICATEITEMNAME,
  1407. // b.CERTIFICATIONINSTITUTIONS,
  1408. // case When a.ISKEYTASK=0 Then '是'ELSE '否' END as ISKEYTASK,
  1409. // case When a.NEEDUPLOADFILE=0 Then '是'ELSE '否' END as NEEDUPLOADFILE ,
  1410. // b.BEGINDATE,
  1411. // b.ENDDATE,
  1412. // b.CERTIFICATETYPENFileName,
  1413. // a.PLANFINISHDATE,
  1414. // b.CREATEDATE
  1415. // from ICSCERTIFICATEITEM a
  1416. // LEFT JOIN ICSCERTIFICATEITEMDETAIL b on a.ID=b.GGUID and a.WorkPoint=b.WorkPoint
  1417. // LEFT JOIN ICSVendor c on a.VENDORCODE=c.cVenCode WHERE 1=1";
  1418. string sql = @"SELECT DISTINCT a.ID,a.WorkPoint,
  1419. case when a.AUDITRESULT='Check' THEN ''
  1420. WHEN a.AUDITRESULT='REJECT' THEN ''
  1421. WHEN b.STATUS= '' AND a.AUDITRESULT= 'pass' AND b.AUDITRESULT is Null THEN''
  1422. WHEN a.AUDITRESULT= 'pass' AND b.STATUS= '' THEN''
  1423. WHEN Getdate( ) > a.PLANFINISHDATE AND a.AUDITRESULT IN ( 'New', 'REJECT' ) THEN''
  1424. ELSE '' END AS AUDITRESULT,
  1425. case when a.AUDITRESULT='Check' THEN ''
  1426. WHEN a.AUDITRESULT='REJECT' THEN ''
  1427. WHEN b.STATUS= '' AND a.AUDITRESULT= 'pass' AND b.AUDITRESULT is Null THEN''
  1428. WHEN a.AUDITRESULT= 'pass' AND b.STATUS= '' THEN''
  1429. WHEN Getdate( ) > a.PLANFINISHDATE AND a.AUDITRESULT IN ( 'New', 'REJECT' ) THEN''
  1430. ELSE '' END AS AUDITRESULTS,
  1431. a.VENDORCODE,c.VenName cVenName,a.CERTIFICATETPYECODE,a.CERTIFICATETYPENAME,a.CERTIFICATEITEMCODE,
  1432. a.CERTIFICATEITEMNAME,b.CERTIFICATIONINSTITUTIONS,CASE WHEN a.ISKEYTASK= 0 THEN '是' ELSE '否' END AS ISKEYTASK,
  1433. CASE WHEN a.NEEDUPLOADFILE= 0 THEN '是' ELSE '否' END AS NEEDUPLOADFILE,b.BEGINDATE,b.ENDDATE,
  1434. b.CERTIFICATETYPENFileName,a.PLANFINISHDATE,b.CREATEDATE
  1435. FROM ICSCERTIFICATEITEM a
  1436. LEFT JOIN ICSCERTIFICATEITEMDETAIL b ON a.ID= b.GGUID AND a.WorkPoint= b.WorkPoint AND isnull(b.AUDITRESULT,'')<> 'REJECT'
  1437. LEFT JOIN ICSVendor c ON a.VENDORCODE= c.VenCode
  1438. WHERE 1 =1";
  1439. if (!string.IsNullOrWhiteSpace(queryJson))
  1440. {
  1441. if (!string.IsNullOrWhiteSpace(queryParam["WorkPoint"].ToString()))
  1442. {
  1443. sql += " and a.WorkPoint like '%" + queryParam["WorkPoint"].ToString() + "%' ";
  1444. }
  1445. if (!string.IsNullOrWhiteSpace(queryParam["VenCode"].ToString()))
  1446. {
  1447. sql += " and a.VENDORCODE like '%" + queryParam["VenCode"].ToString() + "%' ";
  1448. }
  1449. if (!string.IsNullOrWhiteSpace(queryParam["VenName"].ToString()))
  1450. {
  1451. sql += " and c.VenName like '%" + queryParam["VenName"].ToString() + "%' ";
  1452. }
  1453. if (!string.IsNullOrWhiteSpace(queryParam["CERTIFICATETPYECODE"].ToString()))
  1454. {
  1455. sql += " and a.CERTIFICATETPYECODE like '%" + queryParam["CERTIFICATETPYECODE"].ToString() + "%' ";
  1456. }
  1457. if (!string.IsNullOrWhiteSpace(queryParam["CERTIFICATETYPENAME"].ToString()))
  1458. {
  1459. sql += " and a.CERTIFICATETYPENAME like '%" + queryParam["CERTIFICATETYPENAME"].ToString() + "%' ";
  1460. }
  1461. if (!string.IsNullOrWhiteSpace(queryParam["CERTIFICATEITEMCODE"].ToString()))
  1462. {
  1463. sql += " and a.CERTIFICATEITEMCODE like '%" + queryParam["CERTIFICATEITEMCODE"].ToString() + "%' ";
  1464. }
  1465. if (!string.IsNullOrWhiteSpace(queryParam["CERTIFICATEITEMNAME"].ToString()))
  1466. {
  1467. sql += " and a.CERTIFICATEITEMNAME like '%" + queryParam["CERTIFICATEITEMNAME"].ToString() + "%' ";
  1468. }
  1469. if (!string.IsNullOrWhiteSpace(queryParam["status"].ToString()))
  1470. {
  1471. sql += @" and case when a.AUDITRESULT='Check' THEN '审核中'
  1472. WHEN a.AUDITRESULT='REJECT' THEN ''
  1473. WHEN b.STATUS= '' AND a.AUDITRESULT= 'pass' AND b.AUDITRESULT is Null THEN''
  1474. WHEN a.AUDITRESULT= 'pass' AND b.STATUS= '' THEN''
  1475. WHEN Getdate( ) > a.PLANFINISHDATE AND a.AUDITRESULT IN ( 'New', 'REJECT' ) THEN''
  1476. ELSE '' END in (" + queryParam["status"].ToString().TrimEnd(',') + ") ";
  1477. }
  1478. }
  1479. if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  1480. {
  1481. sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
  1482. }
  1483. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
  1484. {
  1485. sql += " and c.VenCode in (SELECT VenCode FROM ICSVendor where VenName ='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserName + "'AND WorkPoint=a.WorkPoint)";
  1486. }
  1487. return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
  1488. }
  1489. public DataTable GetCVCCode()
  1490. {
  1491. string sqlU9 = "SELECT DBIpAddress,DBName FROM dbo.Sys_DataBase WHERE DBSourceName='ERP'";
  1492. DataTable dtU9 = SqlHelper.GetDataTableBySql(sqlU9);
  1493. string U9IP = dtU9.Rows[0]["DBIpAddress"].ToString();
  1494. string DBName = dtU9.Rows[0]["DBName"].ToString();
  1495. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  1496. string sql = @"
  1497. select '' as cvccode,'' as cvname
  1498. union all
  1499. SELECT DISTINCT a.cvccode,isnull(a.cVCName,'') as cVenName FROM [{0}].{1}.dbo.VendorClass a ";
  1500. sql = string.Format(sql, U9IP, DBName);
  1501. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  1502. return dt;
  1503. }
  1504. public DataTable GetVenSSCode()
  1505. {
  1506. string sqlU9 = "SELECT DBIpAddress,DBName FROM dbo.Sys_DataBase WHERE DBSourceName='ERP'";
  1507. DataTable dtU9 = SqlHelper.GetDataTableBySql(sqlU9);
  1508. string U9IP = dtU9.Rows[0]["DBIpAddress"].ToString();
  1509. string DBName = dtU9.Rows[0]["DBName"].ToString();
  1510. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  1511. string sql = @"
  1512. select '' as cSSCode,'' as cSSName
  1513. union all
  1514. SELECT DISTINCT a.cSSCode,isnull(a.cSSName,'') as cVenName FROM [{0}].{1}.dbo.settleStyle a ";
  1515. sql = string.Format(sql, U9IP, DBName);
  1516. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  1517. return dt;
  1518. }
  1519. public DataTable GetcVenExch_name()
  1520. {
  1521. string sqlU9 = "SELECT DBIpAddress,DBName FROM dbo.Sys_DataBase WHERE DBSourceName='ERP'";
  1522. DataTable dtU9 = SqlHelper.GetDataTableBySql(sqlU9);
  1523. string U9IP = dtU9.Rows[0]["DBIpAddress"].ToString();
  1524. string DBName = dtU9.Rows[0]["DBName"].ToString();
  1525. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  1526. string sql = @"
  1527. select '' as cexch_name,'' as cexch_code
  1528. union all
  1529. SELECT DISTINCT a.cexch_name,isnull(a.cexch_code,'') as cVenName FROM [{0}].{1}.dbo.foreigncurrency a ";
  1530. sql = string.Format(sql, U9IP,DBName);
  1531. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  1532. return dt;
  1533. }
  1534. public DataTable GetVenBankCode()
  1535. {
  1536. string sqlU9 = "SELECT DBIpAddress,DBName FROM dbo.Sys_DataBase WHERE DBSourceName='ERP'";
  1537. DataTable dtU9 = SqlHelper.GetDataTableBySql(sqlU9);
  1538. string U9IP = dtU9.Rows[0]["DBIpAddress"].ToString();
  1539. string DBName = dtU9.Rows[0]["DBName"].ToString();
  1540. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  1541. string sql = @"
  1542. select '' as cBankCode,'' as cBankName
  1543. union all
  1544. SELECT DISTINCT a.cBankCode,isnull(a.cBankName,'') as cVenName FROM [{0}].{1}.dbo.AA_Bank a ";
  1545. sql = string.Format(sql, U9IP, DBName);
  1546. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  1547. return dt;
  1548. }
  1549. /// <summary>
  1550. /// 修改供应商
  1551. /// </summary>
  1552. /// <param name="ID"></param>
  1553. /// <returns></returns>
  1554. public DataRow GetCertifiCateVendor(string cVenCode)
  1555. {
  1556. DataRow dr = null;
  1557. string sql = string.Empty;
  1558. try
  1559. {
  1560. sql = @"SELECT
  1561. cVenType,
  1562. cVenStartTime,
  1563. cVenStartEnd,
  1564. cVenCode,
  1565. iTaxRateNum,
  1566. cVenName,
  1567. cVenAbbName,
  1568. cVenHeadCode,
  1569. cVCCode,
  1570. cVenSource,
  1571. cVenPerson,
  1572. cVenPerson2,
  1573. cVenAddress,
  1574. cVenPhone,
  1575. cVenPostCode,
  1576. cVenHand,
  1577. cVenSSCode,
  1578. cVenEmail,
  1579. cVenBankCode,
  1580. cVenBank,
  1581. cVenAccount,
  1582. iVenTaxRate,
  1583. cVenExch_name,
  1584. bVenCargo,
  1585. bProxyForeign,
  1586. bVenService,
  1587. bVenOverseas
  1588. FROM ICSVendor
  1589. WHERE cVenCode='" + cVenCode + "'";
  1590. dr = SqlHelper.GetDataRowBySql(sql);
  1591. return dr;
  1592. }
  1593. catch (Exception ex)
  1594. {
  1595. throw new Exception(ex.Message);
  1596. }
  1597. }
  1598. public void SubmitVendor(string queryJson)
  1599. {
  1600. try
  1601. {
  1602. DataTable dt = new DataTable();
  1603. List<DbParameter> parameter = new List<DbParameter>();
  1604. ICSVendors[] list = JsonConvert.DeserializeObject<ICSVendors[]>(queryJson);
  1605. string sql = string.Empty;
  1606. string sqls = string.Empty;
  1607. string connString = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
  1608. SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
  1609. conn.Open();
  1610. SqlTransaction sqlTran = conn.BeginTransaction();
  1611. SqlCommand cmd = new SqlCommand();
  1612. cmd.Transaction = sqlTran;
  1613. cmd.Connection = conn;
  1614. try
  1615. {
  1616. string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1617. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.Replace("'", "");
  1618. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  1619. foreach (var obj in list)
  1620. {
  1621. sql = @"IF NOT EXISTS(SELECT * FROM dbo.ICSVendor WHERE cVenCode=@cVenCode)
  1622. BEGIN
  1623. INSERT INTO dbo.ICSVendor
  1624. (cVenCode
  1625. ,cVenName
  1626. ,cVenAbbName
  1627. ,cVCCode
  1628. ,cVCName
  1629. ,cVenAddress
  1630. ,cVenBank
  1631. ,cVenAccount
  1632. ,cVenPhone
  1633. ,cVenEmail
  1634. ,cVenPerson
  1635. ,cVenHand
  1636. ,cVenExch_name
  1637. ,cVenStart
  1638. ,cVenStartTime
  1639. ,cVenStartEnd
  1640. ,cVenType
  1641. ,iTaxRateNum
  1642. ,cVenHeadCode
  1643. ,cVenSource
  1644. ,cVenPerson2
  1645. ,cVenSSCode
  1646. ,cVenBankCode
  1647. ,cVenPostCode
  1648. ,iVenTaxRate
  1649. ,bVenCargo
  1650. ,bProxyForeign
  1651. ,bVenService
  1652. ,bVenOverseas
  1653. ,WorkPoint
  1654. )
  1655. VALUES
  1656. (
  1657. @cVenCode
  1658. ,@cVenName
  1659. ,@cVenAbbName
  1660. ,@cVCCode
  1661. ,@cVCName
  1662. ,@cVenAddress
  1663. ,@cVenBank
  1664. ,@cVenAccount
  1665. ,@cVenPhone
  1666. ,@cVenEmail
  1667. ,@cVenPerson
  1668. ,@cVenHand
  1669. ,@cVenExch_name
  1670. ,@cVenStart
  1671. ,@cVenStartTime
  1672. ,@cVenStartEnd
  1673. ,@cVenType
  1674. ,@iTaxRateNum
  1675. ,@cVenHeadCode
  1676. ,@cVenSource
  1677. ,@cVenPerson2
  1678. ,@cVenSSCode
  1679. ,@cVenBankCode
  1680. ,@cVenPostCode
  1681. ,@iVenTaxRate
  1682. ,@bVenCargo
  1683. ,@bProxyForeign
  1684. ,@bVenService
  1685. ,@bVenOverseas
  1686. ,@WorkPoint)
  1687. END
  1688. ELSE
  1689. BEGIN
  1690. UPDATE dbo.ICSVendor SET
  1691. cVenCode=@cVenCode
  1692. ,cVenName=@cVenName
  1693. ,cVenAbbName=@cVenAbbName
  1694. ,cVCCode=@cVCCode
  1695. ,cVCName=@cVCName
  1696. ,cVenAddress=@cVenAddress
  1697. ,cVenBank=@cVenBank
  1698. ,cVenAccount=@cVenAccount
  1699. ,cVenPhone=@cVenPhone
  1700. ,cVenEmail=@cVenEmail
  1701. ,cVenPerson=@cVenPerson
  1702. ,cVenHand=@cVenHand
  1703. ,cVenExch_name=@cVenExch_name
  1704. ,cVenStart=@cVenStart
  1705. ,cVenStartTime=@cVenStartTime
  1706. ,cVenStartEnd=@cVenStartEnd
  1707. ,cVenType=@cVenType
  1708. ,iTaxRateNum=@iTaxRateNum
  1709. ,cVenHeadCode=@cVenHeadCode
  1710. ,cVenSource=@cVenSource
  1711. ,cVenPerson2=@cVenPerson2
  1712. ,cVenSSCode=@cVenSSCode
  1713. ,cVenBankCode=@cVenBankCode
  1714. ,cVenPostCode=@cVenPostCode
  1715. ,iVenTaxRate=@iVenTaxRate
  1716. ,bVenCargo=@bVenCargo
  1717. ,bProxyForeign=@bProxyForeign
  1718. ,bVenService=@bVenService
  1719. ,bVenOverseas=@bVenOverseas
  1720. WHERE cVenCode=@cVenCode
  1721. END";
  1722. SqlParameter[] sp_Detail = {
  1723. new SqlParameter("@cVenCode",obj.cVenCode),
  1724. new SqlParameter("@cVenName",obj.cVenName),
  1725. new SqlParameter("@cVenAbbName",obj.cVenAbbName),
  1726. new SqlParameter("@cVCCode",obj.cVCCode),
  1727. new SqlParameter("@cVCName",obj.cVCName),
  1728. new SqlParameter("@cVenAddress",obj.cVenAddress),
  1729. new SqlParameter("@cVenBank",obj.cVenBank),
  1730. new SqlParameter("@cVenAccount",obj.cVenAccount),
  1731. new SqlParameter("@cVenPhone",obj.cVenPhone),
  1732. new SqlParameter("@cVenEmail",obj.cVenEmail),
  1733. new SqlParameter("@cVenPerson",obj.cVenPerson),
  1734. new SqlParameter("@cVenHand",obj.cVenHand),
  1735. new SqlParameter("@cVenExch_name",obj.cVenExch_name),
  1736. new SqlParameter("@cVenStart","未录入"),
  1737. new SqlParameter("@cVenStartTime",obj.cVenStartTime),
  1738. new SqlParameter("@cVenStartEnd",obj.cVenStartEnd),
  1739. new SqlParameter("@cVenType",obj.cVenType),
  1740. new SqlParameter("@cVenHeadCode",obj.cVenHeadCode),
  1741. new SqlParameter("@cVenSource",obj.cVenSource),
  1742. new SqlParameter("@cVenPerson2",obj.cVenPerson2),
  1743. new SqlParameter("@cVenSSCode",obj.cVenSSCode),
  1744. new SqlParameter("@cVenBankCode",obj.cVenBankCode),
  1745. new SqlParameter("@cVenPostCode",obj.cVenPostCode),
  1746. new SqlParameter("@iVenTaxRate",obj.iVenTaxRate),
  1747. new SqlParameter("@bVenCargo",obj.bVenCargo),
  1748. new SqlParameter("@bProxyForeign",obj.bProxyForeign),
  1749. new SqlParameter("@bVenService",obj.bVenService),
  1750. new SqlParameter("@bVenOverseas",obj.bVenOverseas),
  1751. new SqlParameter("@iTaxRateNum",obj.iTaxRateNum),
  1752. new SqlParameter("@WorkPoint",WorkPoint.TrimEnd(','))
  1753. };
  1754. SqlCommandHelper.CmdExecuteNonQuery(sql, sp_Detail, cmd);
  1755. }
  1756. cmd.Transaction.Commit();
  1757. }
  1758. catch (Exception ex)
  1759. {
  1760. cmd.Transaction.Rollback();
  1761. throw new Exception(ex.Message);
  1762. }
  1763. finally
  1764. {
  1765. if (conn.State == ConnectionState.Open)
  1766. {
  1767. conn.Close();
  1768. }
  1769. conn.Dispose();
  1770. }
  1771. }
  1772. catch (Exception ex)
  1773. {
  1774. throw new Exception(ex.Message);
  1775. }
  1776. }
  1777. /// <summary>
  1778. /// 创建供应商与类型关联
  1779. /// </summary>
  1780. /// <param name="queryJson"></param>
  1781. /// <returns></returns>
  1782. public void SubmitCeriIFicateRel(string queryJson, string queryJson2)
  1783. {
  1784. try
  1785. {
  1786. DataTable dt = new DataTable();
  1787. List<DbParameter> parameter = new List<DbParameter>();
  1788. ICSCERTIFICATE[] list = JsonConvert.DeserializeObject<ICSCERTIFICATE[]>(queryJson);
  1789. ICSRel[] IDList = JsonConvert.DeserializeObject<ICSRel[]>(queryJson2);
  1790. string sql = string.Empty;
  1791. string connString = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
  1792. SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
  1793. conn.Open();
  1794. SqlTransaction sqlTran = conn.BeginTransaction();
  1795. SqlCommand cmd = new SqlCommand();
  1796. cmd.Transaction = sqlTran;
  1797. cmd.Connection = conn;
  1798. try
  1799. {
  1800. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.Trim(',');
  1801. string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1802. foreach (var obj in list)
  1803. {
  1804. foreach (var obj2 in IDList)
  1805. {
  1806. sql = "select * from ICSCERTIFICATE where CERTIFICATETPYECODE='" + obj.CERTIFICATETPYECODE + "' and CERTIFICATEITEMCODE='" + obj2.CERTIFICATEITEMCODE + "'";
  1807. dt = SqlCommandHelper.SQlReturnData(sql, cmd);
  1808. if (dt != null && dt.Rows.Count > 0)
  1809. {
  1810. throw new Exception("认证类型已被项目类型关联!");
  1811. }
  1812. sql = @"
  1813. INSERT INTO dbo.ICSCERTIFICATE
  1814. (ID
  1815. ,CERTIFICATETPYECODE
  1816. ,CERTIFICATETYPENAME
  1817. ,CERTIFICATEITEMCODE
  1818. ,CERTIFICATEITEMNAME
  1819. ,ISKEYTASK
  1820. , NEEDUPLOADFILE
  1821. ,PLANFINISHDAYS
  1822. ,CREATEDATE
  1823. ,CREATETIME
  1824. ,CREATEUSER
  1825. ,WorkPoint
  1826. ,CERTIFICATEITEMFileName
  1827. ,MODIFIEDDATE
  1828. ,MODIFIEDTIME
  1829. ,MODIFIEDUSER
  1830. ,EATTRIBUTE11)
  1831. select
  1832. NEWID()
  1833. ,@CERTIFICATETPYECODE
  1834. ,@CERTIFICATETYPENAME
  1835. ,@CERTIFICATEITEMCODE
  1836. ,@CERTIFICATEITEMNAME
  1837. ,ISKEYTASK
  1838. ,NEEDUPLOADFILE
  1839. ,PLANFINISHDAYS
  1840. ,GETDATE()
  1841. ,CONVERT(varchar,GETDATE(),120)
  1842. ,CREATEUSER
  1843. ,WorkPoint
  1844. ,CERTIFICATEITEMFileName
  1845. ,''
  1846. ,''
  1847. ,''
  1848. ,@EATTRIBUTE11 from ICSCERTIFICATE2 WHERE ID=@ID
  1849. ";
  1850. SqlParameter[] sp_Detail = {
  1851. new SqlParameter("@ID",obj2.ID),
  1852. new SqlParameter("@CERTIFICATETPYECODE",obj.CERTIFICATETPYECODE),
  1853. new SqlParameter("@CERTIFICATETYPENAME",obj.CERTIFICATETYPENAME),
  1854. new SqlParameter("@CERTIFICATEITEMCODE",obj2.CERTIFICATEITEMCODE),
  1855. new SqlParameter("@CERTIFICATEITEMNAME",obj2.CERTIFICATEITEMNAME),
  1856. new SqlParameter("@ISKEYTASK",obj.ISKEYTASK),
  1857. new SqlParameter("@NEEDUPLOADFILE",obj.NEEDUPLOADFILE),
  1858. new SqlParameter("@PLANFINISHDAYS",obj.PLANFINISHDAYS),
  1859. new SqlParameter("@CERTIFICATEITEMFileName",obj.CERTIFICATEITEMFileName),
  1860. //new SqlParameter("@CREATEDATE","已保存"),
  1861. //new SqlParameter("@CREATETIME","企业"),
  1862. new SqlParameter("@CREATEUSER",UserCode),
  1863. //new SqlParameter("@MODIFIEDDATE",Muser),
  1864. new SqlParameter("@WorkPoint",obj.WorkPoint),
  1865. new SqlParameter("@MODIFIEDUSER",UserCode),
  1866. new SqlParameter("@EATTRIBUTE11",obj2.EATTRIBUTE11),
  1867. };
  1868. SqlCommandHelper.CmdExecuteNonQuery(sql, sp_Detail, cmd);
  1869. }
  1870. }
  1871. cmd.Transaction.Commit();
  1872. }
  1873. catch (Exception ex)
  1874. {
  1875. cmd.Transaction.Rollback();
  1876. throw new Exception(ex.Message);
  1877. }
  1878. finally
  1879. {
  1880. if (conn.State == ConnectionState.Open)
  1881. {
  1882. conn.Close();
  1883. }
  1884. conn.Dispose();
  1885. }
  1886. }
  1887. catch (Exception ex)
  1888. {
  1889. throw new Exception(ex.Message);
  1890. }
  1891. }
  1892. /// <summary>
  1893. /// 获取认证类型名称
  1894. /// </summary>
  1895. /// <returns></returns>
  1896. public DataTable GetCertifiCationMaintionRel(string queryJson, string WorkPoint)
  1897. {
  1898. var queryParam = queryJson.ToJObject();
  1899. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  1900. string sql = @"
  1901. SELECT DISTINCT
  1902. ID,
  1903. a.CERTIFICATETPYECODE,
  1904. CERTIFICATETYPENAME
  1905. FROM dbo.ICSCERTIFICATETYPE a
  1906. WHERE 1=1
  1907. ";
  1908. if (!string.IsNullOrWhiteSpace(queryJson))
  1909. {
  1910. if (!string.IsNullOrWhiteSpace(queryParam["CERTIFICATETPYECODE"].ToString()))
  1911. {
  1912. sql += " and a.CERTIFICATETPYECODE like '%" + queryParam["CERTIFICATETPYECODE"].ToString() + "%' ";
  1913. }
  1914. }
  1915. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1916. //if (role != "admin")
  1917. //{
  1918. sql += " and a.WorkPoint in('" + WorkPoint + "')";
  1919. //}
  1920. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  1921. return dt;
  1922. }
  1923. public DataTable GetCertifiCationMaintionRelXM(string queryJson, string WorkPoint)
  1924. {
  1925. var queryParam = queryJson.ToJObject();
  1926. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  1927. string sql = @"
  1928. SELECT DISTINCT
  1929. ID,
  1930. a.CERTIFICATEITEMCODE,
  1931. CERTIFICATEITEMNAME
  1932. FROM dbo.ICSCERTIFICATE2 a
  1933. WHERE 1=1
  1934. ";
  1935. if (!string.IsNullOrWhiteSpace(queryJson))
  1936. {
  1937. if (!string.IsNullOrWhiteSpace(queryParam["CERTIFICATEITEMCODE"].ToString()))
  1938. {
  1939. sql += " and a.CERTIFICATEITEMCODE like '%" + queryParam["CERTIFICATEITEMCODE"].ToString() + "%' ";
  1940. }
  1941. }
  1942. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1943. //if (role != "admin")
  1944. //{
  1945. sql += " and a.WorkPoint in('" + WorkPoint + "')";
  1946. //}
  1947. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  1948. return dt;
  1949. }
  1950. /// <summary>
  1951. /// 获取供应商列表
  1952. /// </summary>
  1953. /// <returns></returns>
  1954. public DataTable GetVendor(string queryJson, string WorkPoint)
  1955. {
  1956. var queryParam = queryJson.ToJObject();
  1957. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  1958. string sql = @"
  1959. SELECT DISTINCT a.VenCode cVenCode,isnull(a.VenName,'') as cVenName FROM dbo.ICSVendor a
  1960. WHERE 1=1 ";
  1961. string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode;
  1962. if (!string.IsNullOrWhiteSpace(queryJson))
  1963. {
  1964. if (!string.IsNullOrWhiteSpace(queryParam["Vendor"].ToString()))
  1965. {
  1966. sql += " and a.VenCode like '%" + queryParam["Vendor"].ToString() + "%' ";
  1967. }
  1968. }
  1969. if (WorkPoint!="")
  1970. {
  1971. sql += " and a.WorkPoint in('" + WorkPoint + "')";
  1972. }
  1973. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  1974. return dt;
  1975. }
  1976. public DataTable GetWorkPointMore(string queryJson)
  1977. {
  1978. var queryParam = queryJson.ToJObject();
  1979. string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  1980. string sql = @"
  1981. SELECT WorkPoint,b.WorkPointName FROM dbo.Sys_SRM_User a
  1982. LEFT JOIN Sys_WorkPoint b on a.F_Location=b.WorkPointCode
  1983. Where a.F_VenCode='" + UserCode + "'";
  1984. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  1985. return dt;
  1986. }
  1987. public string GetSTNO(string WorkPoint)
  1988. {
  1989. string CERTIFICATETPYECODE = string.Empty;
  1990. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  1991. if (!string.IsNullOrEmpty(WorkPoint))
  1992. {
  1993. string Pre = "RZLX" + WorkPoint;
  1994. CERTIFICATETPYECODE = GetSerialCode(WorkPoint, "ICSCERTIFICATETYPE", "CERTIFICATETPYECODE", Pre, 3);
  1995. }
  1996. return CERTIFICATETPYECODE;
  1997. }
  1998. public string GetProjectCode(string WorkPoint)
  1999. {
  2000. string CERTIFICATEITEMCODE = string.Empty;
  2001. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
  2002. if (!string.IsNullOrEmpty(WorkPoint))
  2003. {
  2004. string Pre = "RZXM" + WorkPoint;
  2005. CERTIFICATEITEMCODE = GetSerialCode(WorkPoint, "ICSCERTIFICATE", "CERTIFICATEITEMCODE", Pre, 3);
  2006. }
  2007. return CERTIFICATEITEMCODE;
  2008. }
  2009. public string SetData_PR(String savePath)
  2010. {
  2011. string msg = "";
  2012. //数据获取
  2013. try
  2014. {
  2015. string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2016. SqlConnection conn = SqlHelper.GetDataCenterConn();
  2017. string sql = "";
  2018. int count = 0;
  2019. DataTable data = FileToExcel.ExcelToTable(savePath);
  2020. var parent = data.DefaultView.ToTable(true, "供应商编码", "供应商名称", "类型编码","站点");
  2021. foreach (DataRow dr in parent.Rows)
  2022. {
  2023. string GUID = Guid.NewGuid().ToString();
  2024. if (string.IsNullOrWhiteSpace(dr["供应商编码"].ToString()))
  2025. throw new Exception("物料编码不能为空!");
  2026. if (string.IsNullOrWhiteSpace(dr["供应商名称"].ToString()))
  2027. throw new Exception("供应商名称不能为空!");
  2028. if (string.IsNullOrWhiteSpace(dr["类型编码"].ToString()))
  2029. {
  2030. throw new Exception("供应商名称不能为空!");
  2031. }
  2032. string Pre = "RZ" + dr["类型编码"].ToString() + dr["供应商编码"].ToString();
  2033. string FORMCODE = GetSerialCode(dr["站点"].ToString(), "ICSCERTIFICATEITEM", "FORMCODE", Pre, 3);
  2034. sql+= @"insert into ICSCERTIFICATEITEM
  2035. (ID,
  2036. FORMCODE,
  2037. WorkPoint,
  2038. VENDORCODE,
  2039. CERTIFICATETPYECODE,
  2040. CERTIFICATETYPENAME,
  2041. CERTIFICATEITEMCODE,
  2042. CERTIFICATEITEMNAME,
  2043. ISKEYTASK,
  2044. NEEDUPLOADFILE,
  2045. PLANFINISHDAYS,
  2046. PLANFINISHDATE,
  2047. ActualFINISHDATE,
  2048. AUDITRESULT,
  2049. CREATEDATE,
  2050. CREATETIME,
  2051. CREATEUSER,
  2052. MODIFIEDDATE,
  2053. MODIFIEDTIME,
  2054. MODIFIEDUSER,
  2055. ApplyDATE,
  2056. ApplyIME,
  2057. ApplyUSER,
  2058. ADDITION1,
  2059. ARRIVEQTY)
  2060. SELECT NEWID(),
  2061. '"+FORMCODE+@"',
  2062. '"+dr[""].ToString()+@"',
  2063. '"+dr[""].ToString()+ @"',
  2064. a.CERTIFICATETPYECODE,
  2065. a.CERTIFICATETYPENAME,
  2066. a.CERTIFICATEITEMCODE,
  2067. a.CERTIFICATEITEMNAME,
  2068. a.ISKEYTASK,
  2069. a.NEEDUPLOADFILE,
  2070. a.PLANFINISHDAYS,
  2071. dateadd(day,a.PLANFINISHDAYS,GETDATE()),
  2072. '',
  2073. 'NEW',
  2074. GETDATE(),
  2075. GETDATE(),
  2076. '"+MUSERNAME+ @"',
  2077. '',
  2078. '',
  2079. '',
  2080. '',
  2081. '',
  2082. '',
  2083. '',
  2084. ''
  2085. FROM ICSCERTIFICATE a WHERE a.CERTIFICATETPYECODE='" + dr[""].ToString() + "'";
  2086. }
  2087. if (string.IsNullOrEmpty(msg))
  2088. {
  2089. count = SqlHelper.CmdExecuteNonQueryLi(sql);
  2090. }
  2091. if (count > 0)
  2092. {
  2093. msg = "导入成功" + msg.TrimEnd(';');
  2094. }
  2095. else
  2096. {
  2097. return msg;
  2098. }
  2099. return msg;
  2100. }
  2101. catch (Exception ex)
  2102. {
  2103. throw new Exception("" + msg + "!");
  2104. }
  2105. }
  2106. /// <summary>
  2107. /// 供应商注册
  2108. /// </summary>
  2109. /// <param name="queryJson"></param>
  2110. public string SubmitVendorRegister(string queryJson)
  2111. {
  2112. string str = "";
  2113. string MSG = string.Empty;
  2114. try
  2115. {
  2116. string MailOpen = ConfigurationManager.ConnectionStrings["MailOpen"].ConnectionString;
  2117. DataTable dt = new DataTable();
  2118. List<DbParameter> parameter = new List<DbParameter>();
  2119. ICSPREVENDOR[] list = JsonConvert.DeserializeObject<ICSPREVENDOR[]>(queryJson);
  2120. string sql = string.Empty;
  2121. string sqls = string.Empty;
  2122. string GUID = Guid.NewGuid().ToString();
  2123. string Date = DateTime.Now.ToString("yyyy");
  2124. string Muoth = DateTime.Now.ToString("MM");
  2125. string Day = DateTime.Now.ToString("dd");
  2126. string Pre = "SV" + Date + Muoth + Day;
  2127. string VenCode = string.Empty;
  2128. string TEMPVENDORCODE = string.Empty;
  2129. string RoleID = string.Empty;
  2130. string connString = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
  2131. SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
  2132. conn.Open();
  2133. SqlTransaction sqlTran = conn.BeginTransaction();
  2134. SqlCommand cmd = new SqlCommand();
  2135. cmd.Transaction = sqlTran;
  2136. cmd.Connection = conn;
  2137. try
  2138. {
  2139. //string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2140. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.Replace("'", "");
  2141. //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  2142. foreach (var obj in list)
  2143. {
  2144. string PreVenCode = "8";
  2145. //string sqlPREVENDOR = @"SELECT TEMPVENDORCODE,VenCode FROM dbo.ICSPREVENDOR Where TEMPVENDORNAME='" + obj.TEMPVENDORNAME + "' ";
  2146. //DataTable dtPREVENDOR = SqlHelper.GetDataTableBySql(sqlPREVENDOR);
  2147. string sqlUserIsHave = @"SELECT F_RealName,F_VenCode FROM dbo.Sys_SRM_User WHERE F_RealName='" + list[0].TEMPVENDORNAME + "' AND F_Location='" + list[0].WorkPoint + "'";
  2148. DataTable dt_User = SqlHelper.GetDataTableBySql(sqlUserIsHave);
  2149. if (dt_User.Rows.Count > 0)
  2150. {
  2151. //TEMPVENDORCODE = dtPREVENDOR.Rows[0]["TEMPVENDORCODE"].ToString();
  2152. TEMPVENDORCODE = GetSerialCodeBYVenDor(list[0].WorkPoint, "ICSPREVENDOR", "TEMPVENDORCODE", Pre, 4);
  2153. VenCode = dt_User.Rows[0]["F_VenCode"].ToString();
  2154. }
  2155. else
  2156. {
  2157. sql = @"select TOP 1 ISNULL(VenCode,'') AS VenCode from ICSPREVENDOR
  2158. where VenCode like '{0}%'
  2159. ORDER BY VenCode DESC";
  2160. sql = string.Format(sql, PreVenCode);
  2161. DataTable dtCode = SqlHelper.GetDataTableBySql(sql);
  2162. if (dtCode.Rows.Count == 0)
  2163. {
  2164. VenCode = PreVenCode + "0000001";
  2165. }
  2166. else
  2167. {
  2168. str = dtCode.Rows[0]["VenCode"].ToString().Substring(dtCode.Rows[0]["VenCode"].ToString().Length - 7, 7);
  2169. VenCode = PreVenCode + (Convert.ToInt32(str) + 1).ToString().PadLeft(7, '0');
  2170. }
  2171. //VenCode = GetSerialCodeBYVenDor(list[0].WorkPoint, "Sys_SRM_User", "VenCode", PreVenCode, 7);
  2172. TEMPVENDORCODE = GetSerialCodeBYVenDor(list[0].WorkPoint, "ICSPREVENDOR", "TEMPVENDORCODE", Pre, 4);
  2173. }
  2174. //SqlHelper.UserEmaildValid("", obj.CONTACTEMAIL);//验证邮箱
  2175. //SqlHelper.UserIphonedValid("", obj.CONTACTPHONENO);//验证手机
  2176. sql = @"
  2177. INSERT INTO dbo.ICSPREVENDOR
  2178. (ID,TEMPVENDORCODE,TEMPVENDORNAME,TEMPVENDORAttribute
  2179. ,VENDORAbbreviation,CONTACTNAME,CONTACTEMAIL,VENDORTYPE,CONTACTPHONENO
  2180. ,RegBusinessScope,RegRegisteredCapital,RegIncorporationDate,WhetherPassIS09000
  2181. ,WhetherInviteRegistration,InviteRegistrationPerson,CREATEDATE,CREATEUSER
  2182. ,LOGDATE,LOGUSER,WorkPoint,RegistrationStatus,VenCode
  2183. )
  2184. VALUES
  2185. (
  2186. NewID(), '" + TEMPVENDORCODE + @"', '" + obj.TEMPVENDORNAME.Trim() + @"', '" + obj.TEMPVENDORAttribute + @"'
  2187. ,'" + obj.VENDORAbbreviation + @"','" + obj.CONTACTNAME + @"','" + obj.CONTACTEMAIL + @"','','" + obj.CONTACTPHONENO + @"'
  2188. ,'" + obj.RegBusinessScope + @"','" + obj.RegRegisteredCapital + @"','" + obj.RegIncorporationDate + @"','" + obj.WhetherPassISO9000 + @"'
  2189. ," + obj.WhetherInviteRegistration + @",'" + obj.InviteRegistrationPerson + @"','" + DateTime.Now.ToString() + @"','" + obj.CONTACTNAME + @"',
  2190. '" + DateTime.Now.ToString() + @"','" + obj.CONTACTNAME + @"','" + obj.WorkPoint + @"','','"+VenCode+@"'
  2191. )
  2192. ";
  2193. string GetRole = "SELECT F_Id FROM dbo.Sys_SRM_Role Where F_EnCode='TempVendor' ";
  2194. DataTable dtRole = SqlHelper.GetDataTableBySql(GetRole);
  2195. if (dtRole.Rows.Count > 0)
  2196. {
  2197. RoleID = dtRole.Rows[0]["F_Id"].ToString();
  2198. }
  2199. else
  2200. {
  2201. throw new Exception("请先维护临时供应商角色!");
  2202. }
  2203. SqlCommandHelper.CmdExecuteNonQueryBYvendor(sql, cmd);
  2204. string sqlUser = @"INSERT INTO dbo.Sys_SRM_User
  2205. ( F_Id ,F_Account ,F_RealName ,F_NickName ,
  2206. F_RoleId ,F_IsAdministrator , F_EnabledMark ,
  2207. F_CreatorTime ,F_CreatorUserId ,F_Location ,
  2208. F_VenCode,F_ISUse,F_CGAccount,F_MobilePhone,F_Email)Values(
  2209. '" + GUID + @"','" + TEMPVENDORCODE + @"','" + obj.TEMPVENDORNAME.Trim() + @"','" + obj.TEMPVENDORNAME.Trim() + @"',
  2210. '" + RoleID + @"',0,1,
  2211. GETDATE(),'9f2ec079-7d0f-4fe2-90ab-8b09a8302aba','" + obj.WorkPoint + @"','" + VenCode + @"',0,NULL,'" + obj.CONTACTPHONENO + "','" + obj.CONTACTEMAIL + "')";
  2212. SqlCommandHelper.CmdExecuteNonQueryBYvendor(sqlUser, cmd);
  2213. string UserSecretkey = Md5.md5(Common.CreateNo(), 16).ToLower();
  2214. string pwd = Md5.md5(DESEncrypt.Encrypt(Md5.md5("Hh123abc**", 32).ToLower(), UserSecretkey).ToLower(), 32).ToLower();
  2215. string sqlUser_LOG = @"INSERT INTO dbo.Sys_SRM_UserLogOn
  2216. ( F_Id ,F_UserId ,F_UserPassword ,F_UserSecretkey
  2217. )
  2218. VALUES ( '" + GUID + @"','" + GUID + @"','" + pwd + "','" + UserSecretkey + "')";
  2219. SqlCommandHelper.CmdExecuteNonQueryBYvendor(sqlUser_LOG, cmd);
  2220. cmd.Transaction.Commit();
  2221. }
  2222. }
  2223. catch (Exception ex)
  2224. {
  2225. cmd.Transaction.Rollback();
  2226. throw new Exception(ex.Message);
  2227. }
  2228. finally
  2229. {
  2230. if (conn.State == ConnectionState.Open)
  2231. {
  2232. conn.Close();
  2233. }
  2234. conn.Dispose();
  2235. string sqlTEMPVENDORCODE = @"SELECT b.WorkPointName,* FROM ICSPREVENDOR a
  2236. LEFT JOIN Sys_WorkPoint b on b.WorkPointCode=a.WorkPoint
  2237. Where a.TEMPVENDORCODE='{0}'";
  2238. sqlTEMPVENDORCODE = string.Format(sqlTEMPVENDORCODE, TEMPVENDORCODE);
  2239. DataTable dtTEMPVENDORCODE = SqlHelper.GetDataTableBySql(sqlTEMPVENDORCODE);
  2240. if (dtTEMPVENDORCODE.Rows.Count > 0)
  2241. {
  2242. MSG = TEMPVENDORCODE;
  2243. if (MailOpen == "true")
  2244. {
  2245. string CCAddress = "";
  2246. bool isBodyHtml = true;
  2247. string Subject = "SRM-注册提醒";
  2248. string SendHost = ConfigurationManager.ConnectionStrings["SendHost"].ConnectionString;
  2249. string StrSendPort = ConfigurationManager.ConnectionStrings["SendPort"].ConnectionString;
  2250. int SendPort = 25;
  2251. if (!string.IsNullOrEmpty(StrSendPort))
  2252. SendPort = Convert.ToInt32(ConfigurationManager.ConnectionStrings["SendPort"].ConnectionString);
  2253. string SendDisplayName = ConfigurationManager.ConnectionStrings["SendDisplayName"].ConnectionString;
  2254. string SendAddress = ConfigurationManager.ConnectionStrings["SendAddress"].ConnectionString;
  2255. string SendPassword = ConfigurationManager.ConnectionStrings["SendPassword"].ConnectionString;
  2256. string NowDate = DateTime.Now.GetDateTimeFormats('D')[0].ToString();
  2257. string CusterJC = ConfigurationManager.ConnectionStrings["CusterJC"].ConnectionString;
  2258. string CusterQC = ConfigurationManager.ConnectionStrings["CusterQC"].ConnectionString;
  2259. string body = "<html><body><table border='0'>";
  2260. body += "<tr><td>尊敬供应商" + dtTEMPVENDORCODE.Rows[0]["TEMPVENDORNAME"].ToString().Trim() + ":</td></tr>";
  2261. body += "<tr><td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;非常感谢贵公司的信任与支持,注册成为"+ CusterQC + "潜在供应商。</td></tr>";
  2262. body += "<tr><td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;请用本邮件中账户密码登录系统继续完善资料,我们会尽快完成资料审核,期待与贵司的合作。</td></tr>";
  2263. body += "<tr><td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;贵公司注册账号:" + dtTEMPVENDORCODE.Rows[0]["TEMPVENDORCODE"].ToString() + ",密码为:Hh123abc** </td></tr>";
  2264. body += "<tr><td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此为系统自动发送邮件,请勿回复。</td></tr>";
  2265. body += "<tr><td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;顺颂商祺!</td></tr>";
  2266. body += "<tr><td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+ CusterQC + "</td></tr>";
  2267. body += "<tr><td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + NowDate + "</td></tr>";
  2268. body += "<tr><td> </td></tr>";
  2269. body += "<tr><td> </td></tr>";
  2270. body += "</table> </body> </html>";
  2271. string StrConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
  2272. try
  2273. {
  2274. SendEmail(StrConn, SendHost, SendPort, SendDisplayName, SendAddress, SendPassword, dtTEMPVENDORCODE.Rows[0]["CONTACTEMAIL"].ToString(), CCAddress, Subject, isBodyHtml, body);
  2275. }
  2276. catch (Exception ex)
  2277. {
  2278. throw new Exception(ex.Message);
  2279. }
  2280. }
  2281. }
  2282. }
  2283. }
  2284. catch (Exception ex)
  2285. {
  2286. throw new Exception(ex.Message);
  2287. }
  2288. return MSG;
  2289. }
  2290. public static void SendEmail(string ConnectionString, string SendHost, int SendPort, string SendDisplayName, string SendAddress, string SendPassword, string TOAddress, string CCAddress, string Subject, bool IsBodyHtml, string Body)
  2291. {
  2292. try
  2293. {
  2294. SmtpClient smtpClient = new SmtpClient
  2295. {
  2296. //EnableSsl = false,
  2297. UseDefaultCredentials = false,
  2298. Host = SendHost,
  2299. Port = SendPort,
  2300. Credentials = new NetworkCredential(SendAddress, SendPassword)
  2301. };
  2302. MailMessage mailMessage = new MailMessage
  2303. {
  2304. Subject = Subject,
  2305. SubjectEncoding = Encoding.GetEncoding("utf-8"),
  2306. BodyEncoding = Encoding.GetEncoding("utf-8"),
  2307. From = new MailAddress(SendAddress, SendDisplayName),
  2308. IsBodyHtml = IsBodyHtml,
  2309. Body = Body
  2310. };
  2311. string[] array = TOAddress.Split(new char[]
  2312. {
  2313. ','
  2314. });
  2315. string[] array2 = array;
  2316. for (int i = 0; i < array2.Length; i++)
  2317. {
  2318. string text = array2[i];
  2319. if (!string.IsNullOrEmpty(text))
  2320. {
  2321. mailMessage.To.Add(text);
  2322. }
  2323. }
  2324. string[] array3 = CCAddress.Split(new char[]
  2325. {
  2326. ','
  2327. });
  2328. array2 = array3;
  2329. for (int i = 0; i < array2.Length; i++)
  2330. {
  2331. string text2 = array2[i];
  2332. if (!string.IsNullOrEmpty(text2))
  2333. {
  2334. mailMessage.CC.Add(text2);
  2335. }
  2336. }
  2337. ServicePointManager.ServerCertificateValidationCallback = ((object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) => true);
  2338. smtpClient.Send(mailMessage);
  2339. // InsertData(ConnectionString, SendHost, SendPort, SendDisplayName, SendAddress, SendPassword, TOAddress, CCAddress, Subject, IsBodyHtml, Body, "1", null);
  2340. }
  2341. catch (Exception ex)
  2342. {
  2343. //InsertData(ConnectionString, SendHost, SendPort, SendDisplayName, SendAddress, SendPassword, TOAddress, CCAddress, Subject, IsBodyHtml, Body, "2", ex.Message);
  2344. throw;
  2345. }
  2346. }
  2347. /// <summary>
  2348. /// 准入抛到OA
  2349. /// </summary>
  2350. /// <param name="TEMPVENDORCODE"></param>
  2351. /// <param name="WorkPoint"></param>
  2352. /// <returns></returns>
  2353. // public string PreSubmitOARejict(string TEMPVENDORCODE, string WorkPoint)
  2354. // {
  2355. // string sql = "";
  2356. // string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2357. // string msg = "";
  2358. // DataTable dt = new DataTable();
  2359. // var reqInterNme = "http://172.16.8.33/seeyon/rest/token/SRMTEST/25eba5c2-95e9-4bf8-92f5-0f42595255ba?loginName=" + UserCode;
  2360. // var responseStr = httpGet(reqInterNme);
  2361. // try
  2362. // {
  2363. // string Pre = "HH-SRM02" + WorkPoint;
  2364. // string BIDCodes = GetSerialCode(WorkPoint, "ICSBidDoc", "code", Pre, 3);
  2365. // //JObject res = (JObject)JsonConvert.DeserializeObject(dtsql.Rows[0]["searchKey"].ToString());
  2366. // JObject res = (JObject)JsonConvert.DeserializeObject(responseStr);
  2367. // string ID = res["id"].ToString();//获取Tockn
  2368. // JObject resultbidUser = (JObject)JsonConvert.DeserializeObject(res["bindingUser"].ToString());
  2369. // string id = resultbidUser["id"].ToString(); //用户ID
  2370. // string departmentId = resultbidUser["departmentId"].ToString(); //部门ID
  2371. // string postId = resultbidUser["postId"].ToString(); //岗位ID
  2372. // //string Message = res["Message"].ToString();
  2373. // if (!string.IsNullOrWhiteSpace(ID))
  2374. // {
  2375. // List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.thirdAttachments> thirdAttachments = new List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.thirdAttachments>();
  2376. // NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.datadetail dat = new NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.datadetail();
  2377. // NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.datass dds = new NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.datass();
  2378. // //string sqlFile = "SELECT Attachment1,Attachment2 FROM ICSPREVENDORProductionInspection Where TEMPVENDORCODE='" + TEMPVENDORCODE + "'and WorkPoint='" + WorkPoint + "'";
  2379. // //DataTable dts = SqlHelper.GetDataTableBySql(sqlFile);
  2380. // //string fileName = "" + dts.Rows[0]["Attachment1"].ToString() + ";" + dts.Rows[0]["Attachment2"].ToString();
  2381. // //string[] PrintParas = fileName.Split(';');
  2382. // int sort = 1;
  2383. // string fileUrl = "";
  2384. // ICSVenDorPreOA da = new ICSVenDorPreOA();
  2385. // da.appName = "collaboration";
  2386. // List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.attachments> attachmentsdetail = new List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.attachments>();
  2387. // NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.attachments attachments = new NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.attachments();
  2388. // attachments.ID = "";
  2389. // attachmentsdetail.Add(attachments);
  2390. // dat.templateCode = "SRM03";
  2391. // dat.draft = "0";
  2392. // dat.relateDoc = "";//(OA 公文附件 ID,默认为空,不使用)
  2393. // dat.subject = "";//(OA 流程标题,默认为空,OA 端自动生成标题)
  2394. // #region 职务
  2395. // //子女
  2396. // sql = @"SELECT PersonnelPosition,WhetheRelation,PersonnelPhone FROM dbo.ICSPREVENDORRelatedPerson a
  2397. // WHERE TEMPVENDORCODE='" + TEMPVENDORCODE + "' and a.WorkPoint='" + WorkPoint + "' AND ISNULL(a.PersonnelPhone,'')<>''";
  2398. // DataTable dtPerson = SqlHelper.GetDataTableBySql(sql);
  2399. // for (int i = 0; i < dtPerson.Rows.Count; i++)
  2400. // {
  2401. // List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0040> formson_0040 = new List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0040>();
  2402. // Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0040 dm0022 = new Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0040();
  2403. // dm0022.企业关联人员联系方式 = dtPerson.Rows[i]["PersonnelPhone"].ToString();
  2404. // dm0022.企业关联人员是否我方领导及子女担任 = dtPerson.Rows[i]["WhetheRelation"].ToString();
  2405. // dm0022.企业关联人员职位 = dtPerson.Rows[i]["PersonnelPosition"].ToString();
  2406. // dds.formson_0040.Add(dm0022);
  2407. // }
  2408. //#endregion
  2409. // #region 意向供货
  2410. // //意向供货
  2411. // sql = @"SELECT a.SupplyProduction FROM dbo.ICSPREVENDORIntendedSupply a
  2412. // WHERE TEMPVENDORCODE='" + TEMPVENDORCODE + "'and a.WorkPoint='" + WorkPoint + "'";
  2413. // DataTable dtVenDor = SqlHelper.GetDataTableBySql(sql);
  2414. // for (int i = 0; i < dtVenDor.Rows.Count; i++)
  2415. // {
  2416. // List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0035> formson_0035 = new List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0035>();
  2417. // Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0035 dm0023 = new Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0035();
  2418. // dm0023.意向供应产品 = dtVenDor.Rows[i]["SupplyProduction"].ToString();
  2419. // dds.formson_0035.Add(dm0023);
  2420. // }
  2421. // #endregion
  2422. // #region 生产设备
  2423. // //生产设备
  2424. // sql = @"SELECT EquipmentName,b.Attachment1 FROM dbo.ICSPREVENDOREquipment a
  2425. // LEFT JOIN ICSPREVENDORProductionInspection b on a.TEMPVENDORCODE=b.TEMPVENDORCODE AND a.WorkPoint=b.WorkPoint
  2426. // WHERE a.TEMPVENDORCODE='" + TEMPVENDORCODE + "' and a.WorkPoint='" + WorkPoint + "'";
  2427. // DataTable dtDB = SqlHelper.GetDataTableBySql(sql);
  2428. // int subReference = 0;
  2429. // Random rd = new Random();  //无参即为使用系统时钟为种子
  2430. // subReference = rd.Next();
  2431. // if (!string.IsNullOrWhiteSpace(dtDB.Rows[0]["Attachment1"].ToString()))
  2432. // {
  2433. // NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.thirdAttachments ths = new NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.thirdAttachments();
  2434. // string[] PrintParas = dtDB.Rows[0]["Attachment1"].ToString().Split(';');
  2435. // foreach (var p in PrintParas)
  2436. // {
  2437. // string filePath = System.Web.HttpContext.Current.Server.MapPath("~\\File\\VendorFile\\" + TEMPVENDORCODE + "\\" + p.ToString());
  2438. // string APIURL = "http://172.16.8.33/seeyon/rest/attachment?token=" + ID;
  2439. // var IDFile = UploadLog(filePath, APIURL);
  2440. // JObject resFile = (JObject)JsonConvert.DeserializeObject(IDFile);
  2441. // JArray result = (JArray)JsonConvert.DeserializeObject(resFile["atts"].ToString());
  2442. // foreach (var item in result)
  2443. // {
  2444. // JObject jo = (JObject)item;
  2445. // fileUrl = jo["fileUrl"].ToString(); //地址
  2446. // }
  2447. // //JObject result = (JObject)JsonConvert.DeserializeObject(resFile["atts"].ToString());//企业信息
  2448. // ths.subReference = subReference;
  2449. // ths.fileUrl = fileUrl;
  2450. // ths.sort = sort;
  2451. // thirdAttachments.Add(ths);
  2452. // sort++;
  2453. // }
  2454. // dds.thirdAttachments.Add(ths);
  2455. // }
  2456. // for (int i = 0; i < dtDB.Rows.Count; i++)
  2457. // {
  2458. // List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0036> formson_0036 = new List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0036>();
  2459. // Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0036 dm0022 = new Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0036();
  2460. // dm0022.生产设备名称 = dtDB.Rows[i]["EquipmentName"].ToString();
  2461. // dm0022.生产设备相关附件 = subReference;
  2462. // dds.formson_0036.Add(dm0022);
  2463. // }
  2464. // #endregion
  2465. // #region 检验信息
  2466. // //检验信息
  2467. // sql = @"SELECT CheckEquipmentName,Attachment4 FROM dbo.ICSPREVENDORCheckEquipment a
  2468. // LEFT JOIN ICSPREVENDORProductionInspection b on a.TEMPVENDORCODE=b.TEMPVENDORCODE AND a.WorkPoint=b.WorkPoint
  2469. // WHERE a.TEMPVENDORCODE='" + TEMPVENDORCODE + "' and a.WorkPoint='" + WorkPoint + "'";
  2470. // DataTable dtCheckEquipment = SqlHelper.GetDataTableBySql(sql);
  2471. // Random rds = new Random();  //无参即为使用系统时钟为种子
  2472. // subReference = rds.Next();
  2473. // if (!string.IsNullOrWhiteSpace(dtCheckEquipment.Rows[0]["Attachment4"].ToString()))
  2474. // {
  2475. // NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.thirdAttachments ths = new NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.thirdAttachments();
  2476. // string[] PrintParas = dtCheckEquipment.Rows[0]["Attachment4"].ToString().Split(';');
  2477. // foreach (var p in PrintParas)
  2478. // {
  2479. // string filePath = System.Web.HttpContext.Current.Server.MapPath("~\\File\\VendorFile\\" + TEMPVENDORCODE + "\\" + p.ToString());
  2480. // string APIURL = "http://172.16.8.33/seeyon/rest/attachment?token=" + ID;
  2481. // var IDFile = UploadLog(filePath, APIURL);
  2482. // JObject resFile = (JObject)JsonConvert.DeserializeObject(IDFile);
  2483. // JArray result = (JArray)JsonConvert.DeserializeObject(resFile["atts"].ToString());
  2484. // foreach (var item in result)
  2485. // {
  2486. // JObject jo = (JObject)item;
  2487. // fileUrl = jo["fileUrl"].ToString(); //地址
  2488. // }
  2489. // //JObject result = (JObject)JsonConvert.DeserializeObject(resFile["atts"].ToString());//企业信息
  2490. // ths.subReference = subReference;
  2491. // ths.fileUrl = fileUrl;
  2492. // ths.sort = sort;
  2493. // thirdAttachments.Add(ths);
  2494. // sort++;
  2495. // }
  2496. // dds.thirdAttachments.Add(ths);
  2497. // }
  2498. // for (int i = 0; i < dtCheckEquipment.Rows.Count; i++)
  2499. // {
  2500. // List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0037> formson_0037 = new List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0037>();
  2501. // Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0037 dm0022 = new Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0037();
  2502. // dm0022.检验设备名称 = dtCheckEquipment.Rows[i]["CheckEquipmentName"].ToString();
  2503. // dm0022.检验设备附件 = subReference;
  2504. // dds.formson_0037.Add(dm0022);
  2505. // }
  2506. // #endregion
  2507. // #region 销售信息
  2508. // //销售信息
  2509. // sql = @"SELECT S1Year,S1Amount,S1Ranking FROM dbo.ICSPREVENDORSales a
  2510. // WHERE TEMPVENDORCODE='" + TEMPVENDORCODE + "' and a.WorkPoint='" + WorkPoint + "'";
  2511. // DataTable dtPREVENDORSales = SqlHelper.GetDataTableBySql(sql);
  2512. // for (int i = 0; i < dtPREVENDORSales.Rows.Count; i++)
  2513. // {
  2514. // List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0038> formson_0038 = new List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0038>();
  2515. // Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0038 dm0022 = new Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0038();
  2516. // dm0022.销售额 = dtPREVENDORSales.Rows[i]["S1Amount"].ToString();
  2517. // dm0022.销售年份 = dtPREVENDORSales.Rows[i]["S1Year"].ToString();
  2518. // dm0022.行业排名 = dtPREVENDORSales.Rows[i]["S1Ranking"].ToString();
  2519. // dds.formson_0038.Add(dm0022);
  2520. // }
  2521. // #endregion
  2522. // #region 认证资料信息
  2523. // //认证资料信息
  2524. // sql = @"SELECT
  2525. // distinct
  2526. // b.ID,
  2527. // c.id AS GGUID,
  2528. // a.CERTIFICATETPYECODE ,--认证类型代码
  2529. // a.CERTIFICATETYPENAME,--认证名称
  2530. // a.CERTIFICATEITEMNAME,--项目名称
  2531. // a.CERTIFICATEITEMCODE,
  2532. // CERTIFICATEITEMFileName,--认证项目模板文件名称
  2533. // CERTIFICATEITEMFilePath,--认证项目模板文件路径
  2534. // a.ISKEYTASK,--是否关键项
  2535. // a.NEEDUPLOADFILE,--是否必须上传附件
  2536. // BEGINDATE,--开始日期
  2537. // CONVERT(NVARCHAR(20),ENDDATE,23) as ENDDATE,--结束日期
  2538. // CERTIFICATETYPENFilePath,--供应商证书文件路径
  2539. // --CERTIFICATETPYECODE,--认真类型代码
  2540. // CERTIFICATENO,--证书编号
  2541. // c.CERTIFICATETYPENFileName AS UploadFile,--上传文件
  2542. // CERTIFICATIONINSTITUTIONS,--认证机构
  2543. // c.ADDITION1,
  2544. // c.CERTIFICATETYPENFileName AS UploadName,--上传文件
  2545. // e.WorkPoint
  2546. // FROM ICSCERTIFICATE a
  2547. // LEFT JOIN ICSCERTIFICATEITEM b on b.CERTIFICATEITEMCODE=a.CERTIFICATEITEMCODE and b.WorkPoint=a.WorkPoint
  2548. // LEFT JOIN ICSCERTIFICATEITEMDETAIL c on b.ID=c.GGUID and b.WorkPoint=c.WorkPoint
  2549. // inner JOIN dbo.ICSPREVENDORBasic d ON d.TEMPVENDORAttribute=a.CERTIFICATETYPENAME and a.WorkPoint=d.WorkPoint
  2550. // inner join ICSPREVENDOR e on d.TEMPVENDORCODE=e.TEMPVENDORCODE and d.WorkPoint=e.WorkPoint and b.VENDORCODE=e.VenCode
  2551. // WHERE d.TEMPVENDORCODE='" + TEMPVENDORCODE + "' and a.WorkPoint='" + WorkPoint + "'";
  2552. // DataTable dtCERTIFICATE = SqlHelper.GetDataTableBySql(sql);
  2553. // for (int i = 0; i < dtCERTIFICATE.Rows.Count; i++)
  2554. // {
  2555. // Random rdss = new Random();  //无参即为使用系统时钟为种子
  2556. // subReference = rdss.Next();
  2557. // NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.thirdAttachments ths = new NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.thirdAttachments();
  2558. // if (!string.IsNullOrWhiteSpace(dtCERTIFICATE.Rows[i]["UploadName"].ToString()))
  2559. // {
  2560. // string[] PrintParas = dtCERTIFICATE.Rows[i]["UploadName"].ToString().Split(';');
  2561. // foreach (var p in PrintParas)
  2562. // {
  2563. // string filePath = System.Web.HttpContext.Current.Server.MapPath("~\\File\\VendorFile\\" + TEMPVENDORCODE + "\\" + p.ToString());
  2564. // string APIURL = "http://172.16.8.33/seeyon/rest/attachment?token=" + ID;
  2565. // var IDFile = UploadLog(filePath, APIURL);
  2566. // JObject resFile = (JObject)JsonConvert.DeserializeObject(IDFile);
  2567. // JArray result = (JArray)JsonConvert.DeserializeObject(resFile["atts"].ToString());
  2568. // foreach (var item in result)
  2569. // {
  2570. // JObject jo = (JObject)item;
  2571. // fileUrl = jo["fileUrl"].ToString(); //地址
  2572. // }
  2573. // //JObject result = (JObject)JsonConvert.DeserializeObject(resFile["atts"].ToString());//企业信息
  2574. // ths.subReference = subReference;
  2575. // ths.fileUrl = fileUrl;
  2576. // ths.sort = sort;
  2577. // thirdAttachments.Add(ths);
  2578. // sort++;
  2579. // }
  2580. // dds.thirdAttachments.Add(ths);
  2581. // }
  2582. // List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0039> formson_0039 = new List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0039>();
  2583. // Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0039 dm0022 = new Domain._03_Entity.SRM.ICSVenDorPreOA.formson_0039();
  2584. // dm0022.资料名称 = dtCERTIFICATE.Rows[i]["CERTIFICATEITEMNAME"].ToString();
  2585. // dm0022.资料附件 = subReference;
  2586. // dds.formson_0039.Add(dm0022);
  2587. // }
  2588. // #endregion
  2589. // #region 基本信息
  2590. // //基本信息
  2591. // sql = @"SELECT TEMPVENDORAttribute,
  2592. // CASE WHEN PaymentTermsDays='A' THEN '30天'WHEN PaymentTermsDays='B' THEN '90天' WHEN PaymentTermsDays='c'THEN'180天' ELSE '其他' END AS PaymentTermsDays ,a.TEMPVENDORNAME,RegADDR,BUSINESSSCOPE,
  2593. // CASE WHEN PaymentTermsDays='A' THEN '现金'WHEN PaymentTermsDays='B' THEN '转账' WHEN PaymentTermsDays='c'THEN'银行承兑汇票' ELSE '其他' END AS SettlementMethod,b.BillingInfoDepositBank,a.VENDORCODE,UnifiedCreditCode,CAPITAL,CONVERT(DECIMAL(8,0), WhetheListedCompany) AS WhetheListedCompany
  2594. // ,CONVERT(DECIMAL(8,0), WhetheProdDevCapability) AS WhetheProdDevCapability ,FactoryADDR,MEMBERQTY,PLANTAREA,CONVERT(DECIMAL(8,0), WhetheToolingDesignCapability) AS WhetheToolingDesignCapability ,LEGALPERSON
  2595. // ,VENDORPROPERTY,BillingInfoBankAccountNo,c.ID
  2596. // FROM ICSPREVENDORBasic a
  2597. // LEFT JOIN ICSPREVENDORBank b on a.TEMPVENDORCODE=b.TEMPVENDORCODE and a.WorkPoint=b.WorkPoint
  2598. // LEFT JOIN ICSOAEnum c ON a.WorkPoint=c.WorkPoint
  2599. // WHERE a.TEMPVENDORCODE='" + TEMPVENDORCODE + "' and a.WorkPoint='" + WorkPoint + "'";
  2600. // DataTable dtDBDoc = SqlHelper.GetDataTableBySql(sql);
  2601. // Domain._03_Entity.SRM.ICSVenDorPreOA.formmain_0034 dm0021 = new Domain._03_Entity.SRM.ICSVenDorPreOA.formmain_0034();
  2602. // dm0021.日期 = DateTime.Now.ToString("yyyy-MM-dd");
  2603. // dm0021.公司 = dtDBDoc.Rows[0]["ID"].ToString();
  2604. // dm0021.编号 = BIDCodes;
  2605. // dm0021.姓名 = id;
  2606. // dm0021.部门 = departmentId;
  2607. // dm0021.岗位 = postId;
  2608. // dm0021.供应商全称 = dtDBDoc.Rows[0]["TEMPVENDORNAME"].ToString();
  2609. // dm0021.注册地址 = dtDBDoc.Rows[0]["RegADDR"].ToString();
  2610. // dm0021.组织机构代码 = dtDBDoc.Rows[0]["VENDORCODE"].ToString();
  2611. // dm0021.统一社会信用代码 = dtDBDoc.Rows[0]["UnifiedCreditCode"].ToString();
  2612. // dm0021.法人 = dtDBDoc.Rows[0]["LEGALPERSON"].ToString();
  2613. // dm0021.注册资本 = dtDBDoc.Rows[0]["CAPITAL"].ToString();
  2614. // dm0021.企业性质 = dtDBDoc.Rows[0]["PLANTAREA"].ToString();
  2615. // dm0021.是否上市公司 = Convert.ToInt32( dtDBDoc.Rows[0]["WhetheListedCompany"].ToString());
  2616. // dm0021.经营范围 = dtDBDoc.Rows[0]["BUSINESSSCOPE"].ToString();
  2617. // dm0021.供应商属性 = dtDBDoc.Rows[0]["TEMPVENDORAttribute"].ToString();
  2618. // dm0021.是否有产品开发能力 = Convert.ToInt32( dtDBDoc.Rows[0]["WhetheProdDevCapability"].ToString());
  2619. // dm0021.是否有工装设计制造能力 = Convert.ToInt32( dtDBDoc.Rows[0]["WhetheToolingDesignCapability"].ToString());
  2620. // dm0021.生产地址 = dtDBDoc.Rows[0]["FactoryADDR"].ToString();
  2621. // dm0021.厂区面积 = dtDBDoc.Rows[0]["PLANTAREA"].ToString();
  2622. // dm0021.员工人数 = dtDBDoc.Rows[0]["MEMBERQTY"].ToString();
  2623. // dm0021.结算方式 = dtDBDoc.Rows[0]["SettlementMethod"].ToString();
  2624. // dm0021.付款条件 = dtDBDoc.Rows[0]["PaymentTermsDays"].ToString();
  2625. // dm0021.开户行 = dtDBDoc.Rows[0]["BillingInfoDepositBank"].ToString();
  2626. // dm0021.账号 = dtDBDoc.Rows[0]["BillingInfoBankAccountNo"].ToString();
  2627. // #endregion
  2628. // dds.formmain_0034 = dm0021;
  2629. // dat.data = dds;
  2630. // da.data = dat;
  2631. // string input = JsonConvert.SerializeObject(da);
  2632. // //}
  2633. // string APIURLBid = "http://172.16.8.33/seeyon/rest/bpm/process/start?token=" + ID;
  2634. // string resultBid = HttpPost(APIURLBid, input);
  2635. // JObject resBId = (JObject)JsonConvert.DeserializeObject(resultBid);
  2636. // string Code = resBId["code"].ToString();//获取Tockn
  2637. // if (Code == "0")
  2638. // {
  2639. // sql = "Update ICSPREVENDOR set RegistrationStatus='OA待审核' Where TEMPVENDORCODE='" + TEMPVENDORCODE + "' and WorkPoint='"+WorkPoint+"'";
  2640. // SqlHelper.CmdExecuteNonQueryLi(sql);
  2641. // }
  2642. // else
  2643. // {
  2644. // msg = "OA上传OA失败!";
  2645. // }
  2646. // }
  2647. // else
  2648. // {
  2649. // msg = "获取Token失败";
  2650. // }
  2651. // }
  2652. // catch (Exception ex)
  2653. // {
  2654. // msg = ex.Message;
  2655. // }
  2656. // return msg;
  2657. // }
  2658. /// <summary>
  2659. /// 准入抛到OA(佑伦)
  2660. /// </summary>
  2661. /// <param name="TEMPVENDORCODE"></param>
  2662. /// <param name="WorkPoint"></param>
  2663. /// <returns></returns>
  2664. public string PreSubmitOARejict(string TEMPVENDORCODE, string WorkPoint,string Vendor)
  2665. {
  2666. string sql = "";
  2667. string UserCodeOA= NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2668. sql = "select id from OA.dbo.org_member where code='" + UserCodeOA + "'";
  2669. log.Info("追加异常" + sql);
  2670. DataTable dtUserCodeOA = SqlHelper.GetDataTableBySql(sql);
  2671. if (dtUserCodeOA.Rows.Count <= 0)
  2672. {
  2673. log.Info(dtUserCodeOA.Rows.Count);
  2674. throw new Exception("发起账号OA系统中不存在!!");
  2675. }
  2676. string msg = "";
  2677. DataTable dt = new DataTable();
  2678. var userInfo = new Dictionary<string, string>
  2679. {
  2680. {"userName", "ylzk-rest"},
  2681. {"password", "054d197d-73c2-4761-be58-a46efe6cd03f"},
  2682. {"loginName", UserCodeOA}
  2683. };
  2684. // {
  2685. //{"userName", "ylzk-rest"},
  2686. //{"password", "054d197d-73c2-4761-be58-a46efe6cd03f"},
  2687. //{"loginName", "ylzk-rest"}
  2688. //};
  2689. // 序列化Dictionary为JSON字符串
  2690. string jsonString = JsonConvert.SerializeObject(userInfo, Formatting.Indented);
  2691. log.Info("获取Tocken传入参数:"+jsonString);
  2692. var reqInterNme = "https://oa.ylzk.com.cn:6443/seeyon/rest/token";
  2693. string responseStr = HttpPost(reqInterNme, jsonString);
  2694. //var responseStr = httpGet(reqInterNme);
  2695. try
  2696. {
  2697. string OAForm = ConfigurationManager.ConnectionStrings["OAForm"].ConnectionString;
  2698. //JObject res = (JObject)JsonConvert.DeserializeObject(dtsql.Rows[0]["searchKey"].ToString());
  2699. JObject res = (JObject)JsonConvert.DeserializeObject(responseStr);
  2700. log.Info("输出Tocken参数:" + res);
  2701. string ID = res["id"].ToString();//获取Tockn
  2702. JObject resultbidUser = (JObject)JsonConvert.DeserializeObject(res["bindingUser"].ToString());
  2703. string id = resultbidUser["id"].ToString(); //用户ID
  2704. string departmentId = resultbidUser["departmentId"].ToString(); //部门ID
  2705. string postId = resultbidUser["postId"].ToString(); //岗位ID
  2706. //string Message = res["Message"].ToString();
  2707. if (!string.IsNullOrWhiteSpace(ID))
  2708. {
  2709. List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.thirdAttachments> thirdAttachments = new List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.thirdAttachments>();
  2710. NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.datadetail dat = new NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.datadetail();
  2711. NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.datass dds = new NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.datass();
  2712. //string sqlFile = "SELECT Attachment1,Attachment2 FROM ICSPREVENDORProductionInspection Where TEMPVENDORCODE='" + TEMPVENDORCODE + "'and WorkPoint='" + WorkPoint + "'";
  2713. //DataTable dts = SqlHelper.GetDataTableBySql(sqlFile);
  2714. //string fileName = "" + dts.Rows[0]["Attachment1"].ToString() + ";" + dts.Rows[0]["Attachment2"].ToString();
  2715. //string[] PrintParas = fileName.Split(';');
  2716. int sort = 1;
  2717. string fileUrl = "";
  2718. ICSVenDorPreOAByYL da = new ICSVenDorPreOAByYL();
  2719. da.appName = "collaboration";
  2720. List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.attachments> attachmentsdetail = new List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.attachments>();
  2721. NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.attachments attachments = new NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.attachments();
  2722. attachments.ID = "";
  2723. attachmentsdetail.Add(attachments);
  2724. dat.templateCode = OAForm;
  2725. dat.draft = "0";
  2726. dat.relateDoc = "";//(OA 公文附件 ID,默认为空,不使用)
  2727. dat.subject = "";//(OA 流程标题,默认为空,OA 端自动生成标题)
  2728. #region 岗位
  2729. //子女
  2730. sql = @"select ID, POST,TotalQTY,technicianQTY,ManagerQTY,WOrkerQTY,InspectorQTY
  2731. from ICSPREVENDORPersonnelStatus
  2732. WHERE TEMPVENDORCODE='" + TEMPVENDORCODE + "' and WorkPoint='" + WorkPoint + "' ";
  2733. DataTable dtPerson = SqlHelper.GetDataTableBySql(sql);
  2734. int rows = 1;
  2735. for (int i = 0; i < dtPerson.Rows.Count; i++)
  2736. {
  2737. List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formson_0129> formson_0129 = new List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formson_0129>();
  2738. Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formson_0129 dm0022 = new Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formson_0129();
  2739. dm0022.field0003 = rows;
  2740. dm0022.field0004 = dtPerson.Rows[i]["POST"].ToString();
  2741. dm0022.field0005 = dtPerson.Rows[i]["TotalQTY"].ToString();
  2742. dm0022.field0006 = dtPerson.Rows[i]["technicianQTY"].ToString();
  2743. dm0022.field0007 = dtPerson.Rows[i]["ManagerQTY"].ToString();
  2744. dm0022.field0008 = dtPerson.Rows[i]["WOrkerQTY"].ToString();
  2745. dm0022.field0009 = dtPerson.Rows[i]["InspectorQTY"].ToString();
  2746. dds.formson_0129.Add(dm0022);
  2747. rows++;
  2748. }
  2749. #endregion
  2750. #region 意向供货
  2751. //意向供货
  2752. sql = @"SELECT a.SupplyProduction FROM dbo.ICSPREVENDORIntendedSupply a
  2753. WHERE TEMPVENDORCODE='" + TEMPVENDORCODE + "'and a.WorkPoint='" + WorkPoint + "'";
  2754. DataTable dtVenDor = SqlHelper.GetDataTableBySql(sql);
  2755. for (int i = 0; i < dtVenDor.Rows.Count; i++)
  2756. {
  2757. List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formson_0128> formson_0128 = new List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formson_0128>();
  2758. Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formson_0128 dm0023 = new Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formson_0128();
  2759. dm0023.field0016 = dtVenDor.Rows[i]["SupplyProduction"].ToString();
  2760. dds.formson_0128.Add(dm0023);
  2761. }
  2762. #endregion
  2763. #region 认证资料信息
  2764. //认证资料信息
  2765. sql = @"SELECT
  2766. distinct
  2767. b.ID,
  2768. c.id AS GGUID,
  2769. a.CERTIFICATETPYECODE ,--
  2770. a.CERTIFICATETYPENAME,--
  2771. a.CERTIFICATEITEMNAME,--
  2772. a.CERTIFICATEITEMCODE,
  2773. CERTIFICATEITEMFileName,--
  2774. CERTIFICATEITEMFilePath,--
  2775. a.ISKEYTASK,--
  2776. a.NEEDUPLOADFILE,--
  2777. BEGINDATE,--
  2778. CONVERT(NVARCHAR(20),ENDDATE,23) as ENDDATE,--
  2779. CERTIFICATETYPENFilePath,--
  2780. --CERTIFICATETPYECODE,--
  2781. CERTIFICATENO,--
  2782. c.CERTIFICATETYPENFileName AS UploadFile,--
  2783. CERTIFICATIONINSTITUTIONS,--
  2784. c.ADDITION1,
  2785. c.CERTIFICATETYPENFileName AS UploadName,--
  2786. e.WorkPoint
  2787. FROM ICSCERTIFICATE a
  2788. LEFT JOIN ICSCERTIFICATEITEM b on b.CERTIFICATEITEMCODE=a.CERTIFICATEITEMCODE and b.WorkPoint=a.WorkPoint
  2789. LEFT JOIN ICSCERTIFICATEITEMDETAIL c on b.ID=c.GGUID and b.WorkPoint=c.WorkPoint
  2790. inner JOIN dbo.ICSPREVENDORBasic d ON d.TEMPVENDORAttribute=a.CERTIFICATETYPENAME and a.WorkPoint=d.WorkPoint
  2791. inner join ICSPREVENDOR e on d.TEMPVENDORCODE=e.TEMPVENDORCODE and d.WorkPoint=e.WorkPoint and b.VENDORCODE=e.VenCode
  2792. WHERE d.TEMPVENDORCODE='" + TEMPVENDORCODE + "' and a.WorkPoint='" + WorkPoint + "'";
  2793. DataTable dtCERTIFICATE = SqlHelper.GetDataTableBySql(sql);
  2794. for (int i = 0; i < dtCERTIFICATE.Rows.Count; i++)
  2795. {
  2796. Random rdss = new Random();  //无参即为使用系统时钟为种子
  2797. //int subReference = rdss.Next();
  2798. NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.thirdAttachments ths = new NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.thirdAttachments();
  2799. //if (!string.IsNullOrWhiteSpace(dtCERTIFICATE.Rows[i]["UploadName"].ToString()))
  2800. //{
  2801. // string[] PrintParas = dtCERTIFICATE.Rows[i]["UploadName"].ToString().Split(';');
  2802. // log.Info("追加异常" + PrintParas);
  2803. // foreach (var p in PrintParas)
  2804. // {
  2805. // string filePath = System.Web.HttpContext.Current.Server.MapPath("~\\File\\VendorFile\\" + TEMPVENDORCODE + "\\" + p.ToString());
  2806. // log.Info("追加异常" + filePath);
  2807. // string APIURL = "https://oa.ylzk.com.cn:6443/seeyon/rest/attachment?token=" + ID;
  2808. // var IDFile = UploadLog(filePath, APIURL);
  2809. // JObject resFile = (JObject)JsonConvert.DeserializeObject(IDFile);
  2810. // log.Info("追加异常" + IDFile);
  2811. // JArray result = (JArray)JsonConvert.DeserializeObject(resFile["atts"].ToString());
  2812. // log.Info("追加异常" + result);
  2813. // foreach (var item in result)
  2814. // {
  2815. // JObject jo = (JObject)item;
  2816. // fileUrl = jo["fileUrl"].ToString(); //地址
  2817. // log.Info("追加异常" + fileUrl);
  2818. // }
  2819. // //JObject result = (JObject)JsonConvert.DeserializeObject(resFile["atts"].ToString());//企业信息
  2820. // ths.subReference = subReference;
  2821. // ths.fileUrl = fileUrl;
  2822. // ths.sort = sort;
  2823. // thirdAttachments.Add(ths);
  2824. // sort++;
  2825. // }
  2826. // dds.thirdAttachments.Add(ths);
  2827. //}
  2828. List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formson_0130> formson_0130 = new List<NFine.Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formson_0130>();
  2829. Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formson_0130 dm0022 = new Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formson_0130();
  2830. dm0022.field0011 = dtCERTIFICATE.Rows[i]["CERTIFICATEITEMNAME"].ToString();
  2831. dm0022.field0015 = dtCERTIFICATE.Rows[i]["UploadName"].ToString();
  2832. log.Info("追加异常" + dtCERTIFICATE.Rows[i]["CERTIFICATEITEMNAME"].ToString());
  2833. //log.Info("追加异常" + subReference);
  2834. dds.formson_0130.Add(dm0022);
  2835. }
  2836. #endregion
  2837. #region 基本信息
  2838. //基本信息
  2839. sql = @"SELECT a.TEMPVENDORNAME,RegADDR,b.BillingInfoDepositBank,BillingInfoBankAccountNo,BillingInfoDutyParagraph,BusinessContactName,BusinessContactPhone,BusinessContactMail,UnifiedCreditCode,d.VenCode,b.ADDITION3
  2840. FROM ICSPREVENDORBasic a
  2841. LEFT JOIN ICSPREVENDORBank b on a.TEMPVENDORCODE=b.TEMPVENDORCODE and a.WorkPoint=b.WorkPoint
  2842. left join ICSPREVENDORContact c on b.TEMPVENDORCODE=c.TEMPVENDORCODE and b.WorkPoint=c.WorkPoint
  2843. left join ICSPREVENDOR d on a.TEMPVENDORCODE=d.TEMPVENDORCODE and a.WorkPoint=d.WorkPoint
  2844. WHERE a.TEMPVENDORCODE='" + TEMPVENDORCODE + "' and a.WorkPoint='" + WorkPoint + "'";
  2845. DataTable dtDBDoc = SqlHelper.GetDataTableBySql(sql);
  2846. Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formmain_0127 dm0021 = new Domain._03_Entity.SRM.ICSVenDorPreOAByYL.formmain_0127();
  2847. dm0021.field0001 = dtDBDoc.Rows[0]["TEMPVENDORNAME"].ToString();
  2848. dm0021.field0002 = dtDBDoc.Rows[0]["RegADDR"].ToString();
  2849. dm0021.field0019 = dtDBDoc.Rows[0]["BillingInfoDepositBank"].ToString();
  2850. dm0021.field0020 = dtDBDoc.Rows[0]["BillingInfoBankAccountNo"].ToString();
  2851. dm0021.field0021 = dtDBDoc.Rows[0]["UnifiedCreditCode"].ToString();
  2852. dm0021.field0022 = dtDBDoc.Rows[0]["BusinessContactName"].ToString();
  2853. dm0021.field0023 = dtDBDoc.Rows[0]["BusinessContactPhone"].ToString();
  2854. dm0021.field0024 = dtDBDoc.Rows[0]["BusinessContactMail"].ToString();
  2855. dm0021.field0025 = dtDBDoc.Rows[0]["VenCode"].ToString(); ;
  2856. dm0021.field0026 = dtDBDoc.Rows[0]["TEMPVENDORNAME"].ToString();
  2857. dm0021.field0027 = Vendor;
  2858. dm0021.field0028 = dtDBDoc.Rows[0]["ADDITION3"].ToString();
  2859. #endregion
  2860. dds.formmain_0127 = dm0021;
  2861. dat.data = dds;
  2862. da.data = dat;
  2863. string input = JsonConvert.SerializeObject(da);
  2864. log.Info("传入参数" + input);
  2865. //}
  2866. string APIURLBid = "https://oa.ylzk.com.cn:6443/seeyon/rest/bpm/process/start?token=" + ID;
  2867. string resultBid = HttpPost(APIURLBid, input);
  2868. JObject resBId = (JObject)JsonConvert.DeserializeObject(resultBid);
  2869. log.Info("输出参数" + resBId);
  2870. string Code = resBId["code"].ToString();//获取Tockn
  2871. if (Code == "0")
  2872. {
  2873. string appBussinessDataJson = resBId["data"]["app_bussiness_data"].ToString();
  2874. // 解析 app_bussiness_data 的 JSON 数据
  2875. JObject appBussinessDataObject = JObject.Parse(appBussinessDataJson);
  2876. // 提取 affairId 和 summaryId 的值
  2877. string affairId = appBussinessDataObject["affairId"].ToString();
  2878. string summaryId = appBussinessDataObject["summaryId"].ToString();
  2879. sql = "Update ICSPREVENDOR set RegistrationStatus='OA待审核',ADDITION3='"+ affairId + @"',ADDITION4='"+ summaryId + "' Where TEMPVENDORCODE='" + TEMPVENDORCODE + "' and WorkPoint='" + WorkPoint + "'";
  2880. SqlHelper.CmdExecuteNonQueryLi(sql);
  2881. }
  2882. else
  2883. {
  2884. msg = "OA上传OA失败,失败原因:"+ resBId["message"].ToString();
  2885. }
  2886. }
  2887. else
  2888. {
  2889. msg = "获取Token失败";
  2890. }
  2891. }
  2892. catch (Exception ex)
  2893. {
  2894. msg = ex.Message;
  2895. log.Error(msg + sql);
  2896. }
  2897. return msg;
  2898. }
  2899. /// <summary>
  2900. /// 撤销准入抛到OA(佑伦)
  2901. /// </summary>
  2902. /// <param name="TEMPVENDORCODE"></param>
  2903. /// <param name="WorkPoint"></param>
  2904. /// <returns></returns>
  2905. ///
  2906. public string CleanPreSubmitOARejict(string ADDITION3, string WorkPoint, string ADDITION4,string TEMPVENDORCODE)
  2907. {
  2908. string sql = "";
  2909. string sqls = "";
  2910. string msg = "";
  2911. try {
  2912. #region 推送OA
  2913. string UserCodeOA = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  2914. string UserName = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
  2915. sql = "select id from OA.dbo.org_member where code='" + UserCodeOA + "'";
  2916. log.Info("追加异常" + sql);
  2917. DataTable dtUserCodeOA = SqlHelper.GetDataTableBySql(sql);
  2918. if (dtUserCodeOA.Rows.Count <= 0)
  2919. {
  2920. log.Info(dtUserCodeOA.Rows.Count);
  2921. throw new Exception("发起账号OA系统中不存在!!");
  2922. }
  2923. DataTable dt = new DataTable();
  2924. var userInfo = new Dictionary<string, string>
  2925. {
  2926. {"userName", "ylzk-rest"},
  2927. {"password", "054d197d-73c2-4761-be58-a46efe6cd03f"},
  2928. {"loginName", UserCodeOA}
  2929. };
  2930. //var userInfo = new Dictionary<string, string>
  2931. // {
  2932. // {"userName", "ylzk-rest"},
  2933. // {"password", "054d197d-73c2-4761-be58-a46efe6cd03f"},
  2934. // {"loginName", "ylzk-rest"}
  2935. // };
  2936. // 序列化Dictionary为JSON字符串
  2937. string jsonString = JsonConvert.SerializeObject(userInfo, Formatting.Indented);
  2938. log.Info("获取Tocken传入参数:" + jsonString);
  2939. var reqInterNme = "https://oa.ylzk.com.cn:6443/seeyon/rest/token";
  2940. string responseStr = CertifiCationApp.HttpPost(reqInterNme, jsonString);
  2941. //var responseStr = httpGet(reqInterNme);
  2942. try
  2943. {
  2944. //JObject res = (JObject)JsonConvert.DeserializeObject(dtsql.Rows[0]["searchKey"].ToString());
  2945. JObject res = (JObject)JsonConvert.DeserializeObject(responseStr);
  2946. log.Info("输出Tocken参数:" + res);
  2947. string ID = res["id"].ToString();//获取Tockn
  2948. JObject resultbidUser = (JObject)JsonConvert.DeserializeObject(res["bindingUser"].ToString());
  2949. string id = resultbidUser["id"].ToString(); //用户ID
  2950. string departmentId = resultbidUser["departmentId"].ToString(); //部门ID
  2951. string postId = resultbidUser["postId"].ToString(); //岗位ID
  2952. //string Message = res["Message"].ToString();
  2953. if (!string.IsNullOrWhiteSpace(ID))
  2954. {
  2955. var cancelInfo = new Dictionary<string, string>
  2956. {
  2957. {"affairId", ADDITION3},
  2958. {"summaryId",ADDITION4},
  2959. {"loginName", UserCodeOA}
  2960. };
  2961. // 序列化Dictionary为JSON字符串
  2962. string canceljsonString = JsonConvert.SerializeObject(cancelInfo, Formatting.Indented);
  2963. log.Info("传入参数" + canceljsonString);
  2964. //}
  2965. string APIURLBid = "https://oa.ylzk.com.cn:6443/seeyon/rest/affair/cancel?token=" + ID;
  2966. string resultBid = CertifiCationApp.HttpPost(APIURLBid, canceljsonString);
  2967. log.Info("输出参数" + resultBid);
  2968. if (resultBid == "true")
  2969. {
  2970. sql = "Update ICSPREVENDOR set RegistrationStatus='待初审' Where TEMPVENDORCODE='" + TEMPVENDORCODE + "' and WorkPoint='" + WorkPoint + "'";
  2971. SqlHelper.CmdExecuteNonQueryLi(sql);
  2972. }
  2973. }
  2974. }
  2975. catch (Exception ex)
  2976. {
  2977. // for (int i = 0; i < jobject.Count; i++)
  2978. // {
  2979. // sqls += @"update a
  2980. // set a.QUOSTATUS='Publish'
  2981. // from icsSORQUODETAILNORMAL a
  2982. //left join icsSORQUOTATION b ON a.QUOTATIONCODE=b.QUOTATIONCODE AND a.WorkPoint=b.WorkPoint
  2983. // LEFT JOIN dbo.ICSVendor c ON b.VENDORCODE=c.VenCode AND b.WorkPoint=c.WorkPoint
  2984. // where b.RFQCODE='" + jobject[i]["RFQCODE"] + "'";
  2985. // sqls += " UPDATE icsSORRFQ SET STATUS='Publish' where RFQCODE='" + jobject[i]["RFQCODE"] + "'";
  2986. // }
  2987. // SqlHelper.CmdExecuteNonQueryLi(sqls);
  2988. log.Error(ex.Message);
  2989. msg = ex.Message;
  2990. }
  2991. #endregion
  2992. }
  2993. catch (Exception ex)
  2994. {
  2995. msg = ex.Message;
  2996. log.Error(msg + sql);
  2997. }
  2998. return msg;
  2999. }
  3000. /// <summary>
  3001. /// Http Get请求
  3002. /// </summary>
  3003. /// <param name="url"></param>
  3004. /// <param name="headerValue"></param>
  3005. /// <returns></returns>
  3006. static String httpGet(string url)
  3007. {
  3008. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
  3009. WebHeaderCollection headers = new WebHeaderCollection();
  3010. //headers.Add("Token", headerValue[0]);
  3011. //headers.Add("Timespan", headerValue[1]);
  3012. request.UserAgent = null;
  3013. request.Headers = headers;
  3014. request.Method = "GET";
  3015. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  3016. var httpStatusCode = (int)response.StatusCode;
  3017. Console.WriteLine("返回码为 {0}", httpStatusCode);
  3018. if (httpStatusCode == 200)
  3019. {
  3020. Stream myResponseStream = response.GetResponseStream();
  3021. StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
  3022. string retString = myStreamReader.ReadToEnd();
  3023. myStreamReader.Close();
  3024. myResponseStream.Close();
  3025. return retString;
  3026. }
  3027. else
  3028. {
  3029. Console.WriteLine("未返回数据 {0}", httpStatusCode);
  3030. throw new Exception("no data response");
  3031. }
  3032. }
  3033. /// <summary>
  3034. /// Http P0st请求
  3035. /// </summary>
  3036. /// <param name="url"></param>
  3037. /// <param name="headerValue"></param>
  3038. /// <returns></returns>
  3039. public static string UploadLog(string file, string fileippath)
  3040. {
  3041. var uploadUrl = fileippath;
  3042. HttpWebRequest request = WebRequest.Create(uploadUrl) as HttpWebRequest;
  3043. request.AllowAutoRedirect = true;
  3044. request.Method = "POST";
  3045. //这段代码不是必须,请求头传输内容,看业务情况
  3046. //request.Headers.Add("iauth", ia);//加鉴权
  3047. string boundary = DateTime.Now.Ticks.ToString("X"); // 随机分隔线
  3048. request.ContentType = "multipart/form-data;charset=utf-8;boundary=" + boundary;
  3049. byte[] itemBoundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "\r\n");
  3050. byte[] endBoundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n");
  3051. int pos = file.LastIndexOf("\\");
  3052. string fileName = file.Substring(pos + 1);
  3053. //请求头部信息
  3054. StringBuilder sbHeader = new StringBuilder(string.Format("Content-Disposition:form-data;name=\"file\";filename=\"{0}\"\r\nContent-Type:application/octet-stream\r\n\r\n", fileName));
  3055. byte[] postHeaderBytes = Encoding.UTF8.GetBytes(sbHeader.ToString());
  3056. FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read);
  3057. byte[] bArr = new byte[fs.Length];
  3058. fs.Read(bArr, 0, bArr.Length);
  3059. fs.Close();
  3060. Stream postStream = request.GetRequestStream();
  3061. postStream.Write(itemBoundaryBytes, 0, itemBoundaryBytes.Length);
  3062. postStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);
  3063. postStream.Write(bArr, 0, bArr.Length);
  3064. postStream.Write(endBoundaryBytes, 0, endBoundaryBytes.Length);
  3065. postStream.Close();
  3066. HttpWebResponse response = request.GetResponse() as HttpWebResponse;
  3067. Stream instream = response.GetResponseStream();
  3068. StreamReader sr = new StreamReader(instream, Encoding.UTF8);
  3069. string content = sr.ReadToEnd();
  3070. return content;
  3071. }
  3072. //public static string HttpPost(string url, string body)
  3073. //{
  3074. // try
  3075. // {
  3076. // Encoding encoding = Encoding.UTF8;
  3077. // HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
  3078. // request.Method = "POST";
  3079. // request.Accept = "application/json, text/javascript, */*"; //"text/html, application/xhtml+xml, */*";
  3080. // request.ContentType = "application/json; charset=utf-8";
  3081. // byte[] buffer = encoding.GetBytes(body);
  3082. // request.ContentLength = buffer.Length;
  3083. // request.GetRequestStream().Write(buffer, 0, buffer.Length);
  3084. // HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  3085. // using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding))
  3086. // {
  3087. // return reader.ReadToEnd();
  3088. // }
  3089. // }
  3090. // catch (WebException ex)
  3091. // {
  3092. // throw new Exception(ex.Message);
  3093. // }
  3094. //}
  3095. public static string HttpPost(string url, string body)
  3096. {
  3097. // 设置TLS版本(推荐在全局范围内设置,但这里为了示例放在方法内)
  3098. ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
  3099. try
  3100. {
  3101. Encoding encoding = Encoding.UTF8;
  3102. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
  3103. request.Method = "POST";
  3104. request.Accept = "application/json, text/javascript, */*";
  3105. request.ContentType = "application/json; charset=utf-8";
  3106. byte[] buffer = encoding.GetBytes(body);
  3107. request.ContentLength = buffer.Length;
  3108. using (Stream stream = request.GetRequestStream())
  3109. {
  3110. stream.Write(buffer, 0, buffer.Length);
  3111. }
  3112. using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
  3113. {
  3114. using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding))
  3115. {
  3116. return reader.ReadToEnd();
  3117. }
  3118. }
  3119. }
  3120. catch (WebException ex)
  3121. {
  3122. // 注意:在生产环境中,你可能希望更详细地处理这个异常,而不是简单地抛出另一个异常
  3123. throw new Exception($"HTTP POST request failed: {ex.Message}");
  3124. }
  3125. }
  3126. /// <summary>
  3127. /// 文件名写入数据库
  3128. /// </summary>
  3129. /// <param name="TEMPVENDORCODELS"></param>
  3130. /// <param name="WorkPoint"></param>
  3131. /// <param name="FileName"></param>
  3132. public void UpLoadFileBYVendor(string TEMPVENDORCODELS, string WorkPoint, string FileName)
  3133. {
  3134. string MSg = string.Empty;
  3135. try
  3136. {
  3137. string sql = @"UPDATE ICSPREVENDOR SET ADDITION5 ='{0}' WHERE TEMPVENDORCODE='{1}' AND WorkPoint='{2}' ";
  3138. sql = string.Format(sql, FileName.TrimEnd(';'), TEMPVENDORCODELS, WorkPoint);
  3139. SqlHelper.ExecuteNonQuery(sql);
  3140. }
  3141. catch (Exception ex)
  3142. {
  3143. MSg = ex.Message;
  3144. }
  3145. }
  3146. /// <summary>
  3147. /// 获取供应商分类
  3148. /// </summary>
  3149. /// <returns></returns>
  3150. public DataTable GetVCCode()
  3151. {
  3152. string sql = @"select '' as F_VenCode,'' as cVenName
  3153. union all
  3154. SELECT a.F_ItemCode as F_VenCode,a.F_ItemName as cVenName FROM Sys_SRM_ItemsDetail a
  3155. LEFT JOIN Sys_SRM_Items b ON a.F_ItemId = b.F_Id
  3156. WHERE b.F_EnCode = 'Vendor_Category' and a.F_EnabledMark='1' ";
  3157. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  3158. return dt;
  3159. }
  3160. public string PreSendMail(string TEMPVENDORCODE, string WorkPoint, string Vendor)
  3161. {
  3162. string msg = "";
  3163. string sql = @"SELECT a.F_Account,a.F_Email,c.VenCode,c.VenName FROM dbo.Sys_SRM_User a
  3164. LEFT JOIN dbo.Sys_SRM_Role b ON a.F_RoleId=b.F_Id
  3165. LEFT JOIN dbo.ICSVendor c ON a.F_VenCode=c.VenCode AND a.F_Location=c.WorkPoint
  3166. WHERE a.F_NickName='{0}' AND b.F_EnCode='Vendor'";
  3167. sql = string.Format(sql, TEMPVENDORCODE);
  3168. DataTable dt=SqlHelper.GetDataTableBySql(sql );
  3169. string MailOpen = ConfigurationManager.ConnectionStrings["MailOpen"].ConnectionString;
  3170. try
  3171. {
  3172. if (MailOpen == "true")
  3173. {
  3174. string SendHost = ConfigurationManager.ConnectionStrings["SendHost"].ConnectionString;
  3175. string CusterJC = ConfigurationManager.ConnectionStrings["CusterJC"].ConnectionString;
  3176. string CusterQC = ConfigurationManager.ConnectionStrings["CusterQC"].ConnectionString;
  3177. string StrSendPort = ConfigurationManager.ConnectionStrings["SendPort"].ConnectionString;
  3178. int SendPort = 25;
  3179. if (!string.IsNullOrEmpty(StrSendPort))
  3180. SendPort = Convert.ToInt32(ConfigurationManager.ConnectionStrings["SendPort"].ConnectionString);
  3181. string SendDisplayName = ConfigurationManager.ConnectionStrings["SendDisplayName"].ConnectionString;
  3182. string SendAddress = ConfigurationManager.ConnectionStrings["SendAddress"].ConnectionString;
  3183. string SendPassword = ConfigurationManager.ConnectionStrings["SendPassword"].ConnectionString;
  3184. foreach (DataRow dr in dt.Rows)
  3185. {
  3186. string cVenCode = dr["VenCode"].ToString();
  3187. string TOAddress = GetVendorEmail(cVenCode).TrimEnd(';');
  3188. string[] Partint = TOAddress.Split(';');
  3189. if (!string.IsNullOrEmpty(TOAddress))
  3190. {
  3191. foreach (var p in Partint)
  3192. {
  3193. string CCAddress = "";
  3194. string Subject = "有来自" + CusterJC + "SRM平台新发布的信息";
  3195. bool isBodyHtml = false;
  3196. string VenName = dr["VenName"].ToString();
  3197. string F_Account = dr["F_Account"].ToString();
  3198. string NowDate = DateTime.Now.GetDateTimeFormats('D')[0].ToString();
  3199. string body = "尊敬的" + VenName + ":";
  3200. body += " \r\n\n 您所提交的准入信息已审核通过,临时账号已被删除,请使用新账号:" + F_Account + " 密码:123456进行登录";
  3201. body += "\r\n";
  3202. body += " 顺颂商祺!";
  3203. body += "\r\n";
  3204. body += " " + CusterQC + "";
  3205. body += "\r\n";
  3206. body += " " + NowDate;
  3207. if (!string.IsNullOrEmpty(TOAddress))
  3208. {
  3209. string StrConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
  3210. ICSSendMail.SendEmail(StrConn, SendHost, SendPort, SendDisplayName, SendAddress, SendPassword, p.ToString(), CCAddress, Subject, isBodyHtml, body);
  3211. }
  3212. else
  3213. {
  3214. msg = "未维护邮箱,请到ERP维护供应商邮箱地址!";
  3215. }
  3216. }
  3217. }
  3218. }
  3219. }
  3220. }
  3221. catch (Exception ex)
  3222. {
  3223. msg=ex.Message;
  3224. }
  3225. //SendEmailByWH(queryJson.TrimEnd(','),"采购");
  3226. return msg;
  3227. }
  3228. public string GetVendorEmail(string VenCode)
  3229. {
  3230. string sql = " SELECT F_Email FROM dbo.Sys_SRM_User WHERE F_VenCode='" + VenCode + "'";
  3231. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  3232. string Email = string.Empty;
  3233. foreach (DataRow dr in dt.Rows)
  3234. {
  3235. Email += dr["F_Email"].ToString() + ";";
  3236. }
  3237. return Email;
  3238. }
  3239. public DataTable ExportAll(string WorkPoint, string VenCode, string VenName, string CERTIFICATETPYECODE, string CERTIFICATETYPENAME, string CERTIFICATEITEMCODE, string CERTIFICATEITEMNAME,string status)
  3240. {
  3241. string ParentId = SqlHelper.Organize_F_ParentId(NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode);
  3242. List<DbParameter> parameter = new List<DbParameter>();
  3243. string sql = @"SELECT DISTINCT
  3244. c.VenName ,
  3245. a.VENDORCODE ,
  3246. a.CERTIFICATEITEMCODE ,
  3247. a.CERTIFICATEITEMNAME ,
  3248. case when a.AUDITRESULT='Check' THEN ''
  3249. WHEN a.AUDITRESULT='REJECT' THEN ''
  3250. WHEN b.STATUS= '' AND a.AUDITRESULT= 'pass' AND b.AUDITRESULT is Null THEN''
  3251. WHEN a.AUDITRESULT= 'pass' AND b.STATUS= '' THEN''
  3252. WHEN Getdate( ) > a.PLANFINISHDATE AND a.AUDITRESULT IN ( 'New', 'REJECT' ) THEN''
  3253. ELSE '' END AS ,
  3254. a.CERTIFICATETPYECODE ,
  3255. a.CERTIFICATETYPENAME ,
  3256. a.WorkPoint
  3257. FROM ICSCERTIFICATEITEM a
  3258. LEFT JOIN ICSCERTIFICATEITEMDETAIL b ON a.ID= b.GGUID AND a.WorkPoint= b.WorkPoint AND isnull(b.AUDITRESULT,'')<> 'REJECT'
  3259. LEFT JOIN ICSVendor c ON a.VENDORCODE= c.VenCode
  3260. WHERE 1 =1";
  3261. if (!string.IsNullOrWhiteSpace(WorkPoint))
  3262. {
  3263. sql += " and a.WorkPoint like '%" + WorkPoint + "%' ";
  3264. }
  3265. if (!string.IsNullOrWhiteSpace(VenCode))
  3266. {
  3267. sql += " and a.VENDORCODE like '%" + VenCode + "%' ";
  3268. }
  3269. if (!string.IsNullOrWhiteSpace(VenName))
  3270. {
  3271. sql += " and c.VenName like '%" + VenName + "%' ";
  3272. }
  3273. if (!string.IsNullOrWhiteSpace(CERTIFICATETPYECODE))
  3274. {
  3275. sql += " and a.CERTIFICATETPYECODE like '%" + CERTIFICATETPYECODE + "%' ";
  3276. }
  3277. if (!string.IsNullOrWhiteSpace(CERTIFICATETYPENAME))
  3278. {
  3279. sql += " and a.CERTIFICATETYPENAME like '%" + CERTIFICATETYPENAME + "%' ";
  3280. }
  3281. if (!string.IsNullOrWhiteSpace(CERTIFICATEITEMCODE))
  3282. {
  3283. sql += " and a.CERTIFICATEITEMCODE like '%" + CERTIFICATEITEMCODE + "%' ";
  3284. }
  3285. if (!string.IsNullOrWhiteSpace(CERTIFICATEITEMNAME))
  3286. {
  3287. sql += " and a.CERTIFICATEITEMNAME like '%" + CERTIFICATEITEMNAME + "%' ";
  3288. }
  3289. if (!string.IsNullOrWhiteSpace(status))
  3290. {
  3291. sql += @" and case when a.AUDITRESULT='Check' THEN '审核中'
  3292. WHEN a.AUDITRESULT='REJECT' THEN ''
  3293. WHEN b.STATUS= '' AND a.AUDITRESULT= 'pass' AND b.AUDITRESULT is Null THEN''
  3294. WHEN a.AUDITRESULT= 'pass' AND b.STATUS= '' THEN''
  3295. WHEN Getdate( ) > a.PLANFINISHDATE AND a.AUDITRESULT IN ( 'New', 'REJECT' ) THEN''
  3296. ELSE '' END in (" + status + ") ";
  3297. }
  3298. if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  3299. {
  3300. sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
  3301. }
  3302. if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
  3303. {
  3304. sql += " and c.VenCode in (SELECT VenCode FROM ICSVendor where VenName ='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserName + "'AND WorkPoint=a.WorkPoint)";
  3305. }
  3306. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  3307. return dt;
  3308. }
  3309. /// <summary>
  3310. /// 认证资料审核导出
  3311. /// </summary>
  3312. /// <param name="WorkPoint">站点</param>
  3313. /// <param name="TEMPVENDORNAME"></param>
  3314. /// <param name="CONTACTNAME"></param>
  3315. /// <param name="TEMPVENDORCODE"></param>
  3316. /// <param name="TEMPVENDORAttribute"></param>
  3317. /// <param name="RegistrationStatus"></param>
  3318. /// <returns></returns>
  3319. public DataTable ExportAllRZList(string WorkPoint, string TEMPVENDORNAME, string CONTACTNAME, string TEMPVENDORCODE, string TEMPVENDORAttribute, string RegistrationStatus)
  3320. {
  3321. string ParentId = SqlHelper.Organize_F_ParentId(NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode);
  3322. List<DbParameter> parameter = new List<DbParameter>();
  3323. string sql = @"SELECT DISTINCT
  3324. case when RegistrationStatus='' then c.F_Account else a.TEMPVENDORCODE end as ,
  3325. a.VenCode ,
  3326. b.TEMPVENDORAttribute ,
  3327. a.TEMPVENDORNAME ,
  3328. VENDORTYPE ,
  3329. RegistrationStatus ,
  3330. a.CONTACTNAME ,
  3331. a.ADDITIon5 ,
  3332. a.WorkPoint
  3333. FROM dbo.ICSPREVENDOR a
  3334. LEFT JOIN dbo.ICSPREVENDORBasic b ON a.TEMPVENDORCODE=b.TEMPVENDORCODE AND a.WorkPoint=b.WorkPoint
  3335. LEFT JOIN sys_srm_user c ON a.venCode=c.F_VenCode AND a.WorkPoint=c.F_Location
  3336. WHERE 1=1
  3337. ";
  3338. if (!string.IsNullOrWhiteSpace(WorkPoint))
  3339. {
  3340. sql += " and a.WorkPoint like '%" +WorkPoint+ "%' ";
  3341. }
  3342. if (!string.IsNullOrWhiteSpace(TEMPVENDORNAME))
  3343. {
  3344. sql += " and a.TEMPVENDORNAME like '%" +TEMPVENDORNAME+ "%' ";
  3345. }
  3346. if (!string.IsNullOrWhiteSpace(CONTACTNAME))
  3347. {
  3348. sql += " and a.CONTACTNAME like '%" + CONTACTNAME + "%' ";
  3349. }
  3350. if (!string.IsNullOrWhiteSpace(TEMPVENDORAttribute))
  3351. {
  3352. sql += " and a.TEMPVENDORAttribute like '%" + TEMPVENDORAttribute + "%' ";
  3353. }
  3354. if (!string.IsNullOrWhiteSpace(TEMPVENDORCODE))
  3355. {
  3356. sql += " and a.TEMPVENDORCODE like '%" + TEMPVENDORCODE+ "%' ";
  3357. }
  3358. if (!string.IsNullOrWhiteSpace(RegistrationStatus))
  3359. {
  3360. sql += " and a.RegistrationStatus = '" + RegistrationStatus+ "' ";
  3361. }
  3362. if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
  3363. {
  3364. sql += " and a.ADDITIon2 = '" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserName.TrimEnd(',') + "'";
  3365. }
  3366. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  3367. return dt;
  3368. }
  3369. }
  3370. }