华恒Mes鼎捷代码
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.

679 lines
28 KiB

5 months ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using ICSSoft.Frame.Data.Entity;
  6. using System.Data;
  7. using ICSSoft.Base.Config.DBHelper;
  8. using ICSSoft.Base.Config.AppConfig;
  9. namespace ICSSoft.Frame.Data.DAL
  10. {
  11. public class ICSSOPriceSheetDAL
  12. {
  13. public static List<FormICSStorageUIModel> SearchStorageInfoList(string dsconn)
  14. {
  15. try
  16. {
  17. List<FormICSStorageUIModel> returns = new List<FormICSStorageUIModel>();
  18. string sql = @"select [Serial],[StorageCode],[StorageName]
  19. from [ICSStorage]";
  20. sql = string.Format(sql);
  21. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  22. foreach (DataRow dr in dt.Rows)
  23. {
  24. FormICSStorageUIModel smodel = new FormICSStorageUIModel();
  25. smodel.Serial = dr["Serial"].ToString();
  26. smodel.StorageCode = dr["StorageCode"].ToString();
  27. smodel.StorageName = dr["StorageName"].ToString();
  28. if (!returns.Contains(smodel))
  29. returns.Add(smodel);
  30. }
  31. return returns;
  32. }
  33. catch (Exception ex)
  34. {
  35. throw ex;
  36. }
  37. }
  38. public static List<FormICSVendorUIModel> SearchVendorInfoList(string dsconn)
  39. {
  40. try
  41. {
  42. List<FormICSVendorUIModel> returnv = new List<FormICSVendorUIModel>();
  43. string sql = @"select [ID],[VendorCode],[VendorName]
  44. from [ICSVendor]";
  45. sql = string.Format(sql);
  46. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  47. foreach (DataRow dr in dt.Rows)
  48. {
  49. FormICSVendorUIModel vmodel = new FormICSVendorUIModel();
  50. vmodel.ID = dr["ID"].ToString();
  51. vmodel.VendorCode = dr["VendorCode"].ToString();
  52. vmodel.VendorName = dr["VendorName"].ToString();
  53. if (!returnv.Contains(vmodel))
  54. returnv.Add(vmodel);
  55. }
  56. return returnv;
  57. }
  58. catch (Exception ex)
  59. {
  60. throw ex;
  61. }
  62. }
  63. #region 新增和修改
  64. public static void Add(List<XS001_0001_E001_2020> SoMainList, List<XS001_0001_E002_2020> SoDetailLIist, string dsconn)
  65. {
  66. FramDataContext db = new FramDataContext(dsconn);
  67. db.Connection.Open();
  68. db.Transaction = db.Connection.BeginTransaction();
  69. try
  70. {
  71. foreach (XS001_0001_E001_2020 info in SoMainList)
  72. {
  73. bool isNew = false;
  74. var line = db.XS001_0001_E001_2020.SingleOrDefault(a => a.ID == info.ID);
  75. if (line == null)
  76. {
  77. isNew = true;
  78. line = new XS001_0001_E001_2020();
  79. line.ID = info.ID;//单据号
  80. }
  81. line.cSOCode = info.cSOCode;//销售订单号
  82. line.cCusName = info.cCusName;//客户名称
  83. line.cSoType = info.cSoType;//销售类型
  84. line.iNum = info.iNum;//数量
  85. line.cinvtype = info.cinvtype;//工艺要求
  86. line.cInvCode = info.cInvCode;//存货编码
  87. line.cInvName = info.cInvName;//存货名称
  88. line.cInvStd = info.cInvStd;//图号
  89. line.iWeight = info.iWeight;//重量
  90. line.cMake = info.cMake;//维护人
  91. line.dMakeTime = info.dMakeTime;//维护时间
  92. line.dDate = info.dDate;//销售订单日期
  93. line.iPrice = info.iPrice;//产品单价
  94. if (isNew)
  95. {
  96. db.XS001_0001_E001_2020.InsertOnSubmit(line);
  97. }
  98. }
  99. foreach (XS001_0001_E002_2020 infos in SoDetailLIist)
  100. {
  101. bool isNews = false;
  102. var lines = db.XS001_0001_E002_2020.SingleOrDefault(a => a.RefMainID == infos.RefMainID && a.RefRowID == infos.RefRowID);
  103. if (lines == null)
  104. {
  105. isNews = true;
  106. lines = new XS001_0001_E002_2020();
  107. lines.RefMainID = infos.RefMainID;//单据号
  108. lines.RefRowID = infos.RefRowID;//行号
  109. }
  110. lines.cInvCode = infos.cInvCode;//存货编码
  111. lines.cInvName = infos.cInvName;//存货名称
  112. lines.cInvStd = infos.cInvStd;//图号
  113. lines.cItem = infos.cItem;//报价项目
  114. lines.iPrice = infos.iPrice;//含税单价
  115. lines.XS001_0001_E001_PK = infos.XS001_0001_E001_PK;//工序
  116. lines.UAP_VoucherTransform_Rowkey = infos.UAP_VoucherTransform_Rowkey;//备注
  117. if (isNews)
  118. {
  119. db.XS001_0001_E002_2020.InsertOnSubmit(lines);
  120. }
  121. }
  122. db.SubmitChanges();
  123. db.Transaction.Commit();
  124. }
  125. catch (Exception ex)
  126. {
  127. db.Transaction.Rollback();
  128. throw ex;
  129. }
  130. }
  131. /// <summary>
  132. /// 新增明细 MRO领料单
  133. /// </summary>
  134. public static string AddAndEditDetail(FormICSPickingModel Picking, string dsconn)
  135. {
  136. FramDataContext db = new FramDataContext(dsconn);
  137. db.Connection.Open();
  138. db.Transaction = db.Connection.BeginTransaction();
  139. try
  140. {
  141. bool isNew = false;
  142. #region 201907705注释 ZM表头信息变更没有保存
  143. //var line = db.ICSMaterial.SingleOrDefault(a => a.ID == Picking.ID);
  144. //if (line == null)
  145. //{
  146. // isNew = true;
  147. // line = new ICSMaterial();
  148. // line.ID = AppConfig.GetGuid();
  149. // line.VouchCode = Picking.VouchCode;
  150. // line.PickingSTATUS = "新建";
  151. // line.ISALLINSTORAGE = "N";
  152. // line.CreateTIME = Picking.CreateTIME;
  153. // line.CreateUSER = Picking.CreateUSER;
  154. // line.MUSER = AppConfig.UserId;
  155. // line.MUSERName = AppConfig.UserName;
  156. // line.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss");
  157. // line.WorkPoint = AppConfig.WorkPointCode;
  158. // line.IsMROItem = Picking.IsMROItem;
  159. // line.AuditMan = Picking.AuditMan;
  160. // line.AuditTime = Picking.AuditTime;
  161. // line.MEMO = Picking.MEMO;
  162. //}
  163. #endregion
  164. var line = db.ICSMaterial.SingleOrDefault(a => a.ID == Picking.ID);
  165. if (line == null)
  166. {
  167. isNew = true;
  168. line = new ICSMaterial();
  169. line.ID = AppConfig.GetGuid();
  170. }
  171. line.VouchCode = Picking.VouchCode;
  172. line.PickingSTATUS = "新建";
  173. line.ISALLINSTORAGE = "N";
  174. line.CreateTIME = Picking.CreateTIME;
  175. line.CreateUSER = Picking.CreateUSER;
  176. line.MUSER = AppConfig.UserId;
  177. line.MUSERName = AppConfig.UserName;
  178. line.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss");
  179. line.WorkPoint = AppConfig.WorkPointCode;
  180. line.IsMROItem = Picking.IsMROItem;
  181. line.AuditMan = Picking.AuditMan;
  182. line.AuditTime = Picking.AuditTime;
  183. line.MEMO = Picking.MEMO;
  184. line.IsPickingOrBack = Picking.IsPickingOrBack;
  185. line.OutCategory = Picking.OutCategory;
  186. //line.IsMROItem = Picking.IsMROItem;
  187. //line.IsPickingOrBack = Picking.IsPickingOrBack;
  188. if (isNew)
  189. {
  190. db.ICSMaterial.InsertOnSubmit(line);
  191. }
  192. foreach (FormICSPickingDetailModel ICSMaterialPick in Picking.FormICSPickingDetail)
  193. {
  194. //20191111之前的
  195. //var codes = db.ICSMaterialPick.Where(a => a.SubInvCode == ICSMaterialPick.SubInvCode && a.VouchCode == ICSMaterialPick.VouchCode && a.ID != Convert.ToInt32(ICSMaterialPick.ID));
  196. //if (codes != null && codes.Count() > 0)
  197. //{
  198. // throw new Exception("该物料已存在,不能重复添加");
  199. //}
  200. //20191111修改
  201. var codes = db.ICSMaterialPick.Where(a => a.SubInvCode == ICSMaterialPick.SubInvCode && a.VouchCode == ICSMaterialPick.VouchCode && a.ID != Convert.ToInt32(ICSMaterialPick.ID)&&a.VoucherNO==ICSMaterialPick.VoucherNO);
  202. if (codes != null && codes.Count() > 0)
  203. {
  204. throw new Exception("该物料已存在,不能重复添加");
  205. }
  206. bool detailIsNew = false;
  207. var detailLine = db.ICSMaterialPick.SingleOrDefault(a => a.ID == Convert.ToInt32(ICSMaterialPick.ID));
  208. if (detailLine == null)
  209. {
  210. detailIsNew = true;
  211. detailLine = new ICSMaterialPick();
  212. }
  213. detailLine.VoucherNO = ICSMaterialPick.VoucherNO;
  214. detailLine.VouchRow = ICSMaterialPick.VouchRow;
  215. detailLine.VouchCode = ICSMaterialPick.VouchCode;
  216. detailLine.SubInvCode = ICSMaterialPick.SubInvCode;
  217. detailLine.InvCode = ICSMaterialPick.SubInvCode;
  218. detailLine.WHCode = ICSMaterialPick.WHCode;
  219. detailLine.HasQuantity = 0;
  220. detailLine.SupplyQuantity = ICSMaterialPick.SupplyQuantity;//20190911新增总单重
  221. if (line.IsPickingOrBack == 3)
  222. {
  223. detailLine.MoveType = "退料";//"退料"; 退料单可能关联工单
  224. detailLine.MOCode = ICSMaterialPick.MOCode;
  225. detailLine.MORow = ICSMaterialPick.MORow;
  226. }
  227. else
  228. {
  229. detailLine.MoveType = "领料";//"领料不关联工单
  230. //detailLine.MOCode = ICSMaterialPick.MOCode; //20190705ZM拿掉关联工单
  231. //detailLine.MORow = ICSMaterialPick.MORow; //20190705ZM拿掉
  232. detailLine.MOCode = "";
  233. detailLine.MORow = "";
  234. }
  235. //detailLine.MOCode = ICSMaterialPick.MOCode; //20190705ZM拿掉关联工单
  236. //detailLine.MORow = ICSMaterialPick.MORow; //20190705ZM拿掉
  237. //detailLine.MOCode = "";
  238. //detailLine.MORow = "";
  239. detailLine.Quantity = Convert.ToDecimal(ICSMaterialPick.Quantity);//应退数量
  240. //detailLine.HasQuantity = Convert.ToInt32(ICSMaterialPick.HasQuantity);//已退数量
  241. //detailLine.MUSERName = AppConfig.UserName;//入库用户
  242. detailLine.MUSER = AppConfig.UserCode;
  243. detailLine.MUSERName = AppConfig.UserName;
  244. detailLine.MTIME = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss");
  245. detailLine.VoucherDate = AppConfig.GetSeverDateTime("yyyy-MM-dd hh:mm:ss");
  246. detailLine.WorkPoint = AppConfig.WorkPointCode;
  247. detailLine.Remarks = ICSMaterialPick.Remarks;
  248. detailLine.DDNo = ICSMaterialPick.DDNo;
  249. //ZM增加部门、出库类型
  250. detailLine.Dept = ICSMaterialPick.Dept;
  251. detailLine.OutCategory = ICSMaterialPick.OutCategory;
  252. detailLine.RDCode = ICSMaterialPick.RDCode;
  253. if (detailIsNew)
  254. {
  255. db.ICSMaterialPick.InsertOnSubmit(detailLine);
  256. }
  257. }
  258. db.SubmitChanges();
  259. db.Transaction.Commit();
  260. return line.ID;
  261. }
  262. catch (Exception ex)
  263. {
  264. db.Transaction.Rollback();
  265. throw ex;
  266. }
  267. }
  268. /// <summary>
  269. /// 获取领料单号
  270. /// </summary>
  271. /// <param name="dsconn"></param>
  272. /// <returns></returns>
  273. public static string GetOutInNo(string dsconn)
  274. {
  275. FramDataContext db = new FramDataContext(dsconn);
  276. db.Connection.Open();
  277. DateTime now = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss");
  278. string date = now.Year.ToString() + (now.Month < 10 ? "0" + now.Month : now.Month.ToString()) + (now.Day < 10 ? "0" + now.Day : now.Day.ToString());
  279. var ITEMLot = db.XS001_0001_E001_2020.Where(a => a.ID.Contains(date)).OrderByDescending(a => a.ID);
  280. string count = "001";
  281. if (ITEMLot != null && ITEMLot.Count() > 0)
  282. {
  283. string VouchCode = ITEMLot.First().ID;
  284. count = (Convert.ToInt64(VouchCode) + 1).ToString().PadLeft(2, '0');
  285. }
  286. else
  287. {
  288. count = date + "001";
  289. }
  290. db.Connection.Close();
  291. return count;
  292. }
  293. /// <summary>
  294. /// 获取领料单行号
  295. /// </summary>
  296. /// <param name="dsconn"></param>
  297. /// <returns></returns>
  298. public static string GetPickingRowNo(string VouchCode, string dsconn)
  299. {
  300. FramDataContext db = new FramDataContext(dsconn);
  301. db.Connection.Open();
  302. string count = "1";
  303. if (!string.IsNullOrWhiteSpace(VouchCode))
  304. {
  305. var ITEMLot = db.ICSMaterialPick.Where(a => a.VouchCode.Contains(VouchCode)).OrderByDescending(a => a.VouchRow);
  306. if (ITEMLot != null && ITEMLot.Count() > 0)
  307. {
  308. count = (Convert.ToInt64(ITEMLot.First().VouchRow) + 1).ToString();
  309. }
  310. }
  311. db.Connection.Close();
  312. return count;
  313. }
  314. #endregion
  315. #region 入库单代码是否存在
  316. public static bool IsIncluding(string noCODE, string workpoint, string dsconn)
  317. {
  318. FramDataContext db = new FramDataContext(dsconn);
  319. db.Connection.Open();
  320. db.Transaction = db.Connection.BeginTransaction();
  321. try
  322. {
  323. var line = db.ICSMaterial.SingleOrDefault(a => a.VouchCode == noCODE && a.WorkPoint == workpoint);
  324. if (line == null)
  325. return true;
  326. else
  327. return false;
  328. }
  329. catch (Exception ex)
  330. {
  331. db.Transaction.Rollback();
  332. throw ex;
  333. }
  334. }
  335. #endregion
  336. #region 通过入库代码查询
  337. public static List<FormICSPickingModel> SearchInfoByID(string Rguid, string dsconn)
  338. {
  339. List<FormICSPickingModel> INVR = new List<FormICSPickingModel>();
  340. string sql = @"";
  341. sql = string.Format(sql, Rguid);
  342. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  343. foreach (DataRow dr in dt.Rows)
  344. {
  345. FormICSPickingModel returnInfo = new FormICSPickingModel();
  346. returnInfo.WHCode = dr["WHCode"].ToString();
  347. returnInfo.VouchCode = dr["VouchCode"].ToString();
  348. returnInfo.MTIME = Convert.ToDateTime(dr["MTIME"].ToString());
  349. returnInfo.MUSERName = dr["MUSER"].ToString();
  350. //20190705 ZM
  351. returnInfo.Dept = dr["Dept"].ToString();
  352. returnInfo.OutCategory = dr["OutCategory"].ToString();
  353. returnInfo.MEMO = dr["MEMO"].ToString();
  354. returnInfo.IsMROItem = bool.Parse(dr["IsMROItem"].ToString());
  355. returnInfo.RDCode = dr["RDCode"].ToString();
  356. if (!INVR.Contains(returnInfo))
  357. {
  358. INVR.Add(returnInfo);
  359. }
  360. }
  361. //}
  362. return INVR;
  363. }
  364. #endregion
  365. #region 删除
  366. public static void deleteInfo(string code, string dsconn)
  367. {
  368. FramDataContext db = new FramDataContext(dsconn);
  369. db.Connection.Open();
  370. db.Transaction = db.Connection.BeginTransaction();
  371. try
  372. {
  373. var lines = db.XS001_0001_E001_2020.Where(a => a.ID == code);
  374. var _lines = db.XS001_0001_E002_2020.Where(a => a.RefMainID == code);
  375. db.XS001_0001_E001_2020.DeleteAllOnSubmit(lines);
  376. db.XS001_0001_E002_2020.DeleteAllOnSubmit(_lines);
  377. db.SubmitChanges();
  378. db.Transaction.Commit();
  379. }
  380. catch (Exception ex)
  381. {
  382. db.Transaction.Rollback();
  383. throw ex;
  384. }
  385. }
  386. /// <summary>
  387. /// 删除入库单明细
  388. /// </summary>
  389. /// <param name="RIDList"></param>
  390. /// <param name="dsconn"></param>
  391. public static void deleteDetailInfo(string code,string row, string dsconn)
  392. {
  393. FramDataContext db = new FramDataContext(dsconn);
  394. db.Connection.Open();
  395. db.Transaction = db.Connection.BeginTransaction();
  396. try
  397. {
  398. var lines = db.XS001_0001_E002_2020.Where(a => a.RefMainID == code &&a.RefRowID == row);
  399. db.XS001_0001_E002_2020.DeleteAllOnSubmit(lines);
  400. db.SubmitChanges();
  401. db.Transaction.Commit();
  402. }
  403. catch (Exception ex)
  404. {
  405. db.Transaction.Rollback();
  406. throw ex;
  407. }
  408. }
  409. public static bool IsIncludingDetail(List<string> RIDList, string dsconn)
  410. {
  411. FramDataContext db = new FramDataContext(dsconn);
  412. db.Connection.Open();
  413. db.Transaction = db.Connection.BeginTransaction();
  414. try
  415. {
  416. bool flag = false;
  417. var lines = db.ICSMaterialPick.Where(a => RIDList.Contains(a.ID.ToString()));
  418. if (lines.Count() != 0)
  419. flag = true;
  420. return flag;
  421. }
  422. catch (Exception ex)
  423. {
  424. db.Transaction.Rollback();
  425. throw ex;
  426. }
  427. }
  428. #endregion
  429. #region 子件资料信息
  430. public static DataTable GetDetail(string MoSql)
  431. {
  432. try
  433. {
  434. string sql = @"SELECT
  435. a.ID,
  436. a.VouchCode,
  437. A.VouchRow,
  438. a.MOCODE,
  439. a.MORow,
  440. a.SubInvCode,
  441. a.Quantity,
  442. a.HasQuantity,
  443. a.WHCode,
  444. c.StorageName,
  445. b.INVNAME,
  446. b.INVSTD,
  447. b.INVUOM,
  448. a.MTIME,
  449. a.MUSERName as MUSER,
  450. a.VoucherNO as MoverCode, a.RDCode
  451. FROM
  452. ICSMaterialPick a
  453. LEFT JOIN ICSINVENTORY b ON a.InvCode=b.INVCODE AND a.WorkPoint=b.WorkPoint
  454. LEFT JOIN ICSStorage c ON a.WHCode=c.StorageCode AND a.WorkPoint = c.WorkPoint
  455. where VouchCode IN (SELECT a.VouchCode FROM(" + MoSql + ")a) AND a.WorkPoint ='" + AppConfig.WorkPointCode + @"'
  456. order by VouchCode,VouchRow ";
  457. sql = string.Format(sql);
  458. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0];
  459. return dt;
  460. }
  461. catch (Exception ex)
  462. {
  463. throw ex;
  464. }
  465. }
  466. public static DataTable GetDetailList(string VouchCode, string dsconn)
  467. {
  468. try
  469. {
  470. string sql = @"SELECT
  471. '' as isSelect,
  472. a.cInvCode as InvCode,
  473. a.cInvName as InvName,
  474. a.cInvStd as DNumber,--
  475. a.cItem as QuotationItem,--
  476. CAST(a.iPrice as NUMERIC(10,2)) as SingleMoney,--
  477. a.RefRowID as SORow,
  478. a.RefMainID as SOCode,
  479. a.UAP_VoucherTransform_Rowkey AS Memo,--
  480. b.ID,
  481. b.cSOCode,
  482. b.cSoType,
  483. b.cCusName,
  484. b.cInvStd,
  485. b.cInvCode as InvCodes,
  486. CAST(a.XS001_0001_E001_PK as varchar(10)) as OpCode,
  487. CAST(b.iNum as NUMERIC(10,2)) as iNum,
  488. b.cSOCode+b.cInvCode+ISNULL(b.cinvtype, '') as IDs,
  489. CAST(b.iWeight as NUMERIC(10,2)) as iWeight,
  490. b.dDate,
  491. CAST(b.iPrice as NUMERIC(10,2)) as iPrice,
  492. b.cinvtype
  493. FROM XS001_0001_E002_2020 a
  494. LEFT JOIN XS001_0001_E001_2020 b ON a.RefMainID=b.ID
  495. WHERE RefMainID='{0}'";
  496. sql = string.Format(sql, VouchCode);
  497. DataTable dt = DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.ERP]"), CommandType.Text, sql).Tables[0];
  498. return dt;
  499. }
  500. catch (Exception ex)
  501. {
  502. throw ex;
  503. }
  504. }
  505. public static DataTable GetDetailInfo(string code, string row, string dsconn)
  506. {
  507. try
  508. {
  509. string sql = @"SELECT
  510. b.ID,
  511. b.cSOCode,
  512. b.cCusName,
  513. b.cInvCode,
  514. b.cInvName,
  515. b.cInvStd,
  516. b.cFree4,
  517. a.XS001_0001_E001_PK,
  518. a.XS001_0001_E002_PK,
  519. b.cSoType,
  520. b.iNum,
  521. b.iWeight,
  522. a.UAP_VoucherTransform_Rowkey,
  523. a.RefMainID
  524. FROM XS001_0001_E002_2020 a
  525. LEFT JOIN XS001_0001_E001_2020 b ON a.RefMainID=b.ID
  526. WHERE a.RefMainID='{0}' AND a.RefRowID='{1}'";
  527. sql = string.Format(sql, code,row);
  528. DataTable dt = DBHelper.ExecuteDataset(AppConfig.GetDataBaseConnectStringByKey("[DB.ERP]"), CommandType.Text, sql).Tables[0];
  529. return dt;
  530. }
  531. catch (Exception ex)
  532. {
  533. throw ex;
  534. }
  535. }
  536. #endregion
  537. #region MRO领料单审核
  538. public static void Check(string id, string dsconn)
  539. {
  540. FramDataContext db = new FramDataContext(dsconn);
  541. db.Connection.Open();
  542. db.Transaction = db.Connection.BeginTransaction();
  543. try
  544. {
  545. var line = db.ICSMaterial.SingleOrDefault(a => a.ID == id);
  546. line.PickingSTATUS = "已审核";
  547. line.AuditMan = AppConfig.UserCode;
  548. line.AuditTime = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss");
  549. db.SubmitChanges();
  550. db.Transaction.Commit();
  551. }
  552. catch (Exception ex)
  553. {
  554. db.Transaction.Rollback();
  555. throw ex;
  556. }
  557. }
  558. #endregion
  559. #region 弃审
  560. public static void DiscardedTrialCheck(string id, string dsconn)
  561. {
  562. FramDataContext db = new FramDataContext(dsconn);
  563. db.Connection.Open();
  564. db.Transaction = db.Connection.BeginTransaction();
  565. try
  566. {
  567. var line = db.ICSMaterial.SingleOrDefault(a => a.ID == id);
  568. line.PickingSTATUS = "新增";
  569. line.AuditMan = null;
  570. line.AuditTime = null;
  571. //line.AuditMan = AppConfig.UserCode;
  572. //line.AuditTime = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss");
  573. db.SubmitChanges();
  574. db.Transaction.Commit();
  575. }
  576. catch (Exception ex)
  577. {
  578. db.Transaction.Rollback();
  579. throw ex;
  580. }
  581. }
  582. #endregion
  583. //RefuseCheck
  584. #region 拒绝
  585. public static void RefuseCheck(string id, string dsconn)
  586. {
  587. FramDataContext db = new FramDataContext(dsconn);
  588. db.Connection.Open();
  589. db.Transaction = db.Connection.BeginTransaction();
  590. try
  591. {
  592. var line = db.ICSMaterial.SingleOrDefault(a => a.ID == id);
  593. line.PickingSTATUS = "拒绝";
  594. line.AuditMan = AppConfig.UserCode;
  595. line.AuditTime = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss");
  596. db.SubmitChanges();
  597. db.Transaction.Commit();
  598. }
  599. catch (Exception ex)
  600. {
  601. db.Transaction.Rollback();
  602. throw ex;
  603. }
  604. }
  605. #endregion
  606. #region 通过ID查询
  607. public static DataTable searchInfoByID(string ID, string dsconn)
  608. {
  609. string sql = @"SELECT
  610. a.ID,
  611. a.VouchCode,
  612. a.WHCode,
  613. a.PickingSTATUS,
  614. a.VENDORCODE,
  615. a.PickingTYPE,
  616. a.MEMO,
  617. a.CreateTIME,
  618. a.CreateUSER,
  619. a.WorkPoint,
  620. a.MUSER,
  621. a.MUSERName,
  622. a.MTIME,
  623. a.EATTRIBUTE1,
  624. a.ISALLINSTORAGE,
  625. a.AuditMan,
  626. a.AuditTime
  627. FROM
  628. ICSMaterial a
  629. where a.ID='{0}'";
  630. sql = string.Format(sql, ID);
  631. DataTable dt = DBHelper.ExecuteDataset(dsconn, CommandType.Text, sql).Tables[0];
  632. return dt;
  633. }
  634. #endregion
  635. }
  636. }