华恒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.

1034 lines
42 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 ICSSoft.Frame.Data.DAL;
  7. using System.Data;
  8. using System.Data.SqlClient;
  9. namespace ICSSoft.Frame.Data.BLL
  10. {
  11. public class ICSWareHouseLotInfoBLL
  12. {
  13. /// <summary>
  14. /// 获取货位信息
  15. /// </summary>
  16. /// <param name="POCode"></param>
  17. /// <param name="workpointCode"></param>
  18. /// <param name="dsconn"></param>
  19. /// <returns></returns>
  20. public static DataTable GetBinCode(string LotNO, string WorkPoint, string dsconn)
  21. {
  22. DataTable dt = ICSWareHouseLotInfoDAL.GetBinCode(LotNO, WorkPoint, dsconn);
  23. return dt;
  24. }
  25. /// <summary>
  26. /// 验证库位信息
  27. /// </summary>
  28. /// <param name="StackCode"></param>
  29. /// <param name="workpointCode"></param>
  30. /// <returns></returns>
  31. public static string CheckStackCode(string StackCode, string workpointCode, string dsconn)
  32. {
  33. string errormessage = "";
  34. DataTable dt = ICSWareHouseLotInfoDAL.CheckStackCode(StackCode, workpointCode, dsconn);
  35. if (dt.Rows.Count == 0)
  36. {
  37. errormessage = "库位不存在!";
  38. }
  39. else
  40. {
  41. errormessage = "1";
  42. }
  43. string result = "";
  44. if (errormessage == "1")
  45. {
  46. result = string.Format("{{\"code\":\"0\",\"msg\":\" \",\"data\":\"{0}\"}}", dt.Rows[0]["StorageCode"].ToString());
  47. }
  48. else
  49. {
  50. result = string.Format("{{\"code\":\"1\",\"msg\":\"{0}\"}}", errormessage);
  51. }
  52. return result;
  53. }
  54. /// <summary>
  55. /// 验证条码信息(采购上架)
  56. /// </summary>
  57. /// <param name="lotNo"></param>
  58. /// <param name="workpointCode"></param>
  59. /// <returns></returns>
  60. public static string CheckLotNoForStockIn(string lotNo, string workpointCode, string dsconn)
  61. {
  62. string errormessage = "";
  63. DataTable dt = ICSWareHouseLotInfoDAL.CheckLotNoForStockIn(lotNo, workpointCode, dsconn);
  64. if (dt.Rows.Count == 0)
  65. {
  66. errormessage = "条码不存在!";
  67. }
  68. else
  69. {
  70. if (dt.Rows[0]["TYPE"].ToString() != "到货")
  71. {
  72. errormessage = "条码不是采购条码,不能进行采购上架!";
  73. }
  74. else if (dt.Rows[0]["BarCode"].ToString() != "" && dt.Rows[0]["BarCode"].ToString() != null)
  75. {
  76. errormessage = "条码条码已经上架!";
  77. }
  78. //else if (dt.Rows[0]["LogLot"].ToString() == null || dt.Rows[0]["LogLot"].ToString() == "")
  79. //{
  80. // errormessage = "条码尚未到货,不能上架!";
  81. //}
  82. else if (dt.Rows[0]["EATTRIBUTE2"].ToString().ToUpper() == "NULL" || dt.Rows[0]["EATTRIBUTE2"].ToString() == "不合格" || dt.Rows[0]["EATTRIBUTE2"].ToString() == "退料" || dt.Rows[0]["EATTRIBUTE2"].ToString() == "")
  83. {
  84. errormessage = "条码尚未检验或不合格,不能上架!";
  85. }
  86. else
  87. {
  88. errormessage = "1";
  89. }
  90. }
  91. string result = "";
  92. if (errormessage == "1")
  93. {
  94. result = string.Format("{{\"code\":\"0\",\"msg\":\" \"}}");
  95. }
  96. else
  97. {
  98. result = string.Format("{{\"code\":\"1\",\"msg\":\"{0}\"}}", errormessage);
  99. }
  100. return result;
  101. }
  102. /// <summary>
  103. /// 验证条码信息(半成品/成品上架)
  104. /// </summary>
  105. /// <param name="lotNo"></param>
  106. /// <param name="workpointCode"></param>
  107. /// <param name="dsconn"></param>
  108. /// <returns></returns>
  109. public static string CheckLotNoForMOIn(string lotNo, string workpointCode, string dsconn)
  110. {
  111. string errormessage = "";
  112. DataTable dt = ICSWareHouseLotInfoDAL.CheckLotNoForMOIn(lotNo, workpointCode, dsconn);
  113. if (dt.Rows.Count == 0)
  114. {
  115. errormessage = "条码不存在!";
  116. }
  117. else
  118. {
  119. if (dt.Rows[0]["BarCode"].ToString() != "" && dt.Rows[0]["BarCode"].ToString() != null)
  120. {
  121. errormessage = "条码已经上架!";
  122. }
  123. else if (dt.Rows[0]["MOCODE"].ToString() == null || dt.Rows[0]["MOCODE"].ToString() == "")
  124. {
  125. errormessage = "条码不是产成品条码";
  126. }
  127. else if (dt.Rows[0]["ISCOM"].ToString() != "1")
  128. {
  129. errormessage = "条码尚未完工,不能入库!";
  130. }
  131. else if (dt.Rows[0]["ISCOM"].ToString() == "1")
  132. {
  133. if (dt.Rows[0]["Result"].ToString() == "合格")
  134. {
  135. errormessage = "1";
  136. }
  137. else
  138. {
  139. if (dt.Rows[0]["TResult"].ToString() == "报废" || dt.Rows[0]["TResult"].ToString() == "让步")
  140. {
  141. errormessage = "1";
  142. }
  143. else
  144. {
  145. errormessage = "条码检验不合格,且不是报废或者让步状态,不能入库!";
  146. }
  147. }
  148. }
  149. else
  150. {
  151. errormessage = "1";
  152. }
  153. }
  154. string result = "";
  155. if (errormessage == "1")
  156. {
  157. result = string.Format("{{\"code\":\"0\",\"msg\":\" \"}}");
  158. }
  159. else
  160. {
  161. result = string.Format("{{\"code\":\"1\",\"msg\":\"{0}\"}}", errormessage);
  162. }
  163. return result;
  164. }
  165. /// <summary>
  166. /// 采购入库
  167. /// </summary>
  168. /// <param name="barcodeList"></param>
  169. /// <param name=""></param>
  170. /// <param name="workpointCode"></param>
  171. /// <param name="dsconn"></param>
  172. /// <returns></returns>
  173. public static bool StockIn(SqlConnection sqlConnection, SqlTransaction trans, string[] barcodeList, string[] bincodeList, string userCode, string userName, string workpointCode, string Type, string ScanType, string dsconn)
  174. {
  175. try
  176. {
  177. return ICSWareHouseLotInfoDAL.StockIn(sqlConnection, trans, barcodeList, bincodeList, userCode, userName, workpointCode, Type, ScanType, dsconn);
  178. }
  179. catch (Exception ex)
  180. {
  181. throw ex;
  182. }
  183. }
  184. /// <summary>
  185. /// 半成品入库
  186. /// </summary>
  187. /// <param name="sqlConnection"></param>
  188. /// <param name="trans"></param>
  189. /// <param name="pocodeList"></param>
  190. /// <param name="porowList"></param>
  191. /// <param name="poqtyList"></param>
  192. /// <param name="barcodeList"></param>
  193. /// <param name="bincodeList"></param>
  194. /// <param name="workpointCode"></param>
  195. /// <param name="Type"></param>
  196. /// <param name="ScanType"></param>
  197. /// <param name="dsconn"></param>
  198. /// <returns></returns>
  199. public static bool StockInForMo(SqlConnection sqlConnection, SqlTransaction trans, string[] barcodeList, string[] bincodeList, string userCode, string userName, string workpointCode, string Type, string ScanType, string dsconn)
  200. {
  201. try
  202. {
  203. return ICSWareHouseLotInfoDAL.StockInForMo(sqlConnection, trans, barcodeList, bincodeList, userCode, userName, workpointCode, Type, ScanType, dsconn);
  204. }
  205. catch (Exception ex)
  206. {
  207. throw ex;
  208. }
  209. }
  210. /// <summary>
  211. /// 验证采购退货单信息
  212. /// </summary>
  213. /// <param name="POCode"></param>
  214. /// <param name="workpointCode"></param>
  215. /// <param name="dsconn"></param>
  216. /// <returns></returns>
  217. public static string CheckPOCode(string POCode, string workpointCode, string dsconn)
  218. {
  219. string errormessage = "";
  220. DataTable dt = ICSWareHouseLotInfoDAL.CheckPOCode(POCode, workpointCode, dsconn);
  221. if (dt.Rows.Count == 0)
  222. {
  223. errormessage = "退货单号不存在!";
  224. }
  225. else
  226. {
  227. errormessage = "1";
  228. }
  229. string result = "";
  230. if (errormessage == "1")
  231. {
  232. result = string.Format("{{\"code\":\"0\",\"msg\":\" \",\"data\":\"{0}\"}}", dt.Rows[0]["cWhCode"].ToString());
  233. }
  234. else
  235. {
  236. result = string.Format("{{\"code\":\"1\",\"msg\":\"{0}\"}}", errormessage);
  237. }
  238. return result;
  239. }
  240. /// <summary>
  241. /// 获取采购退货单信息
  242. /// </summary>
  243. /// <param name="POCode"></param>
  244. /// <param name="workpointCode"></param>
  245. /// <param name="dsconn"></param>
  246. /// <returns></returns>
  247. public static DataTable GetPOReturnData(string POCode, string workpointCode, string dsconn)
  248. {
  249. DataTable dt = ICSWareHouseLotInfoDAL.GetPOReturnData(POCode, workpointCode, dsconn);
  250. return dt;
  251. }
  252. /// <summary>
  253. /// 验证条码信息(采购退货)
  254. /// </summary>
  255. /// <param name="BarCode"></param>
  256. /// <param name="workpointCode"></param>
  257. /// <param name="dsconn"></param>
  258. /// <returns></returns>
  259. public static DataTable CheckLotnoForReturn(string BarCode, string workpointCode, string dsconn)
  260. {
  261. DataTable dt = ICSWareHouseLotInfoDAL.CheckLotnoForReturn(BarCode, workpointCode, dsconn);
  262. return dt;
  263. }
  264. /// <summary>
  265. /// 验证条码信息(工单领料)
  266. /// </summary>
  267. /// <param name="BarCode"></param>
  268. /// <param name="workpointCode"></param>
  269. /// <param name="dsconn"></param>
  270. /// <returns></returns>
  271. public static DataTable CheckLotnoForMOOut(string BarCode, string workpointCode, string dsconn)
  272. {
  273. DataTable dt = ICSWareHouseLotInfoDAL.CheckLotnoForMOOut(BarCode, workpointCode, dsconn);
  274. return dt;
  275. }
  276. /// <summary>
  277. /// 验证条码信息(移库)
  278. /// </summary>
  279. /// <param name="BarCode"></param>
  280. /// <param name="workpointCode"></param>
  281. /// <param name="dsconn"></param>
  282. /// <returns></returns>
  283. public static DataTable CheckLotnoForStackTrans(string BarCode, string workpointCode, string dsconn)
  284. {
  285. DataTable dt = ICSWareHouseLotInfoDAL.CheckLotnoForStackTrans(BarCode, workpointCode, dsconn);
  286. return dt;
  287. }
  288. /// <summary>
  289. /// 验证库位信息(移库)
  290. /// </summary>
  291. /// <param name="BarCode"></param>
  292. /// <param name="workpointCode"></param>
  293. /// <param name="dsconn"></param>
  294. /// <returns></returns>
  295. public static DataTable CheckBinCodeForStackTrans(string BinCode, string workpointCode, string dsconn)
  296. {
  297. DataTable dt = ICSWareHouseLotInfoDAL.CheckBinCodeForStackTrans(BinCode, workpointCode, dsconn);
  298. return dt;
  299. }
  300. /// <summary>
  301. /// 验证箱号信息(移库)
  302. /// </summary>
  303. /// <param name="BarCode"></param>
  304. /// <param name="workpointCode"></param>
  305. /// <param name="dsconn"></param>
  306. /// <returns></returns>
  307. public static DataTable CheckBoxnoForStackTrans(string BarCode, string workpointCode, string dsconn)
  308. {
  309. DataTable dt = ICSWareHouseLotInfoDAL.CheckBoxnoForStackTrans(BarCode, workpointCode, dsconn);
  310. return dt;
  311. }
  312. /// <summary>
  313. /// 验证销售出库条码信息
  314. /// </summary>
  315. /// <param name="SOCode"></param>
  316. /// <param name="BarCode"></param>
  317. /// <param name="workpointCode"></param>
  318. /// <param name="dsconn"></param>
  319. /// <returns></returns>
  320. public static DataTable CheckLotnoForSO(string SOCode, string BarCode, string workpointCode, string dsconn)
  321. {
  322. DataTable dt = ICSWareHouseLotInfoDAL.CheckLotnoForSO(SOCode, BarCode, workpointCode, dsconn);
  323. return dt;
  324. }
  325. /// <summary>
  326. /// 验证销售退库条码信息
  327. /// </summary>
  328. /// <param name="SOCode"></param>
  329. /// <param name="BarCode"></param>
  330. /// <param name="workpointCode"></param>
  331. /// <param name="dsconn"></param>
  332. /// <returns></returns>
  333. public static DataTable CheckLotnoForSOReturn(string BarCode, string workpointCode, string dsconn)
  334. {
  335. DataTable dt = ICSWareHouseLotInfoDAL.CheckLotnoForSOReturn(BarCode, workpointCode, dsconn);
  336. return dt;
  337. }
  338. /// <summary>
  339. /// 采购退货
  340. /// </summary>
  341. /// <param name="POCode"></param>
  342. /// <param name="porowList"></param>
  343. /// <param name="poqtyList"></param>
  344. /// <param name="barcodeList"></param>
  345. /// <param name="barcodeqtyList"></param>
  346. /// <param name="workpointCode"></param>
  347. /// <param name="Type"></param>
  348. /// <param name="dsconn"></param>
  349. /// <returns></returns>
  350. public static bool StockReturn(SqlConnection sqlConnection, SqlTransaction trans, string POCode, string[] porowList, string[] poqtyList, string[] barcoderowList, string[] barcodeList, string[] barcodeqtyList, string userCode, string userName, string workpointCode, string Type, string dsconn)
  351. {
  352. try
  353. {
  354. return ICSWareHouseLotInfoDAL.StockReturn(sqlConnection, trans, POCode, porowList, poqtyList, barcoderowList, barcodeList, barcodeqtyList, userCode, userName, workpointCode, Type, dsconn);
  355. }
  356. catch (Exception ex)
  357. {
  358. throw ex;
  359. }
  360. }
  361. /// <summary>
  362. /// 验证工单调拨
  363. /// </summary>
  364. /// <param name="TransferNo"></param>
  365. /// <param name="workpointCode"></param>
  366. /// <param name="dsconn"></param>
  367. /// <returns></returns>
  368. public static string CheckTransferNoMO(string TransferNo, string TransferLine, string workpointCode, string dsconn)
  369. {
  370. string errormessage = "";
  371. DataTable dt = ICSWareHouseLotInfoDAL.CheckTransferNoMO(TransferNo, TransferLine, workpointCode, dsconn);
  372. if (dt.Rows.Count == 0)
  373. {
  374. errormessage = "工单BOM不存在!";
  375. }
  376. else
  377. {
  378. errormessage = "1";
  379. }
  380. string result = "";
  381. if (errormessage == "1")
  382. {
  383. result = string.Format("{{\"code\":\"0\",\"msg\":\" \"}}");
  384. }
  385. else
  386. {
  387. result = string.Format("{{\"code\":\"1\",\"msg\":\"{0}\"}}", errormessage);
  388. }
  389. return result;
  390. }
  391. /// <summary>
  392. /// 获取工单调拨信息
  393. /// </summary>
  394. /// <param name="TransferNo"></param>
  395. /// <param name="workpointCode"></param>
  396. /// <param name="dsconn"></param>
  397. /// <returns></returns>
  398. public static DataTable GetTransferDataMO(string TransferNo, string TransferLine, string workpointCode, string dsconn)
  399. {
  400. DataTable dt = ICSWareHouseLotInfoDAL.GetTransferDataMO(TransferNo, TransferLine, workpointCode, dsconn);
  401. return dt;
  402. }
  403. //验证ICSMaterial表状态
  404. public static string CheckMaterialStatus(string VouchCode, string workpointCode, string dsconn)
  405. {
  406. string errormessage = "";
  407. DataTable dt = ICSWareHouseLotInfoDAL.CheckMaterialStatus(VouchCode, workpointCode, dsconn);
  408. if (dt.Rows.Count == 0)
  409. {
  410. errormessage = "单号不存在!";
  411. }
  412. else
  413. {
  414. if (dt.Rows[0]["PickingSTATUS"].ToString() != "已审核")
  415. {
  416. errormessage = "未审核状态的单据不能出库!";
  417. }
  418. else
  419. {
  420. errormessage = "1";
  421. }
  422. }
  423. string result = "";
  424. if (errormessage == "1")
  425. {
  426. result = string.Format("{{\"code\":\"0\",\"msg\":\" \"}}");
  427. }
  428. else
  429. {
  430. result = string.Format("{{\"code\":\"1\",\"msg\":\"{0}\"}}", errormessage);
  431. }
  432. return result;
  433. }
  434. /// <summary>
  435. /// 验证领料申请单号
  436. /// </summary>
  437. /// <param name="TransferNo"></param>
  438. /// <param name="workpointCode"></param>
  439. /// <param name="dsconn"></param>
  440. /// <returns></returns>
  441. public static string CheckTransferNo(string TransferNo, string workpointCode, string dsconn)
  442. {
  443. string errormessage = "";
  444. DataTable dt = ICSWareHouseLotInfoDAL.CheckTransferNo(TransferNo, workpointCode, dsconn);
  445. if (dt.Rows.Count == 0)
  446. {
  447. errormessage = "调拨申请单不存在!";
  448. }
  449. else
  450. {
  451. errormessage = "1";
  452. }
  453. string result = "";
  454. if (errormessage == "1")
  455. {
  456. result = string.Format("{{\"code\":\"0\",\"msg\":\" \"}}");
  457. }
  458. else
  459. {
  460. result = string.Format("{{\"code\":\"1\",\"msg\":\"{0}\"}}", errormessage);
  461. }
  462. return result;
  463. }
  464. /// <summary>
  465. /// 获取调拨申请单信息
  466. /// </summary>
  467. /// <param name="TransferNo"></param>
  468. /// <param name="workpointCode"></param>
  469. /// <param name="dsconn"></param>
  470. /// <returns></returns>
  471. public static DataTable GetTransferData(string TransferNo, string workpointCode, string dsconn)
  472. {
  473. DataTable dt = ICSWareHouseLotInfoDAL.GetTransferData(TransferNo, workpointCode, dsconn);
  474. return dt;
  475. }
  476. /// <summary>
  477. /// 物料调拨
  478. /// </summary>
  479. /// <param name="POCode"></param>
  480. /// <param name="porowList"></param>
  481. /// <param name="poqtyList"></param>
  482. /// <param name="barcodeList"></param>
  483. /// <param name="barcodeqtyList"></param>
  484. /// <param name="workpointCode"></param>
  485. /// <param name="Type"></param>
  486. /// <param name="dsconn"></param>
  487. /// <returns></returns>
  488. public static bool WareHouseTrans(SqlConnection sqlConnection, SqlTransaction trans, string POCode, string[] porowList, string[] poqtyList, string[] barcoderowList, string[] barcodeList, string[] barcodeqtyList, string[] bincodeList, string userCode, string userName, string workpointCode, string Type, string dsconn)
  489. {
  490. try
  491. {
  492. return ICSWareHouseLotInfoDAL.WareHouseTrans(sqlConnection, trans, POCode, porowList, poqtyList, barcoderowList, barcodeList, barcodeqtyList, bincodeList, userCode, userName, workpointCode, Type, dsconn);
  493. }
  494. catch (Exception ex)
  495. {
  496. throw ex;
  497. }
  498. }
  499. /// <summary>
  500. /// 验证材料出库申请单(工单)
  501. /// </summary>
  502. /// <param name="VouchCode"></param>
  503. /// <param name="WorkPointCode"></param>
  504. /// <param name="dsconn"></param>
  505. /// <returns></returns>
  506. public static DataTable CheckVouchCode(string VouchCode, string WorkPointCode, string dsconn)
  507. {
  508. DataTable dt = ICSWareHouseLotInfoDAL.CheckVouchCode(VouchCode, WorkPointCode, dsconn);
  509. return dt;
  510. }
  511. /// <summary>
  512. /// 验证材料出库申请单(领料单)
  513. /// </summary>
  514. /// <param name="VouchCode"></param>
  515. /// <param name="WorkPointCode"></param>
  516. /// <param name="dsconn"></param>
  517. /// <returns></returns>
  518. public static DataTable CheckMaterialPickCode(string VouchCode, string WorkPointCode, string dsconn)
  519. {
  520. DataTable dt = ICSWareHouseLotInfoDAL.CheckMaterialPickCode(VouchCode, WorkPointCode, dsconn);
  521. return dt;
  522. }
  523. /// <summary>
  524. /// 验证材料出库申请单
  525. /// </summary>
  526. /// <param name="VouchCode"></param>
  527. /// <param name="WorkPointCode"></param>
  528. /// <param name="dsconn"></param>
  529. /// <returns></returns>
  530. public static DataTable CheckVouchCodePick(string VouchCode, string WorkPointCode, string dsconn)
  531. {
  532. DataTable dt = ICSWareHouseLotInfoDAL.CheckVouchCodePick(VouchCode, WorkPointCode, dsconn);
  533. return dt;
  534. }
  535. /// <summary>
  536. /// 获取销售出库单信息
  537. /// </summary>
  538. /// <param name="SOCode"></param>
  539. /// <param name="WorkPointCode"></param>
  540. /// <param name="dsconn"></param>
  541. /// <returns></returns>
  542. public static DataTable CheckSOCode(string SOCode, string WorkPointCode, string dsconn)
  543. {
  544. DataTable dt = ICSWareHouseLotInfoDAL.CheckSOCode(SOCode, WorkPointCode, dsconn);
  545. return dt;
  546. }
  547. /// <summary>
  548. /// 获取销售退库单信息
  549. /// </summary>
  550. /// <param name="SOCode"></param>
  551. /// <param name="WorkPointCode"></param>
  552. /// <param name="dsconn"></param>
  553. /// <returns></returns>
  554. public static DataTable CheckSOCodeForReturn(string SOCode, string WorkPointCode, string dsconn)
  555. {
  556. DataTable dt = ICSWareHouseLotInfoDAL.CheckSOCodeForReturn(SOCode, WorkPointCode, dsconn);
  557. return dt;
  558. }
  559. /// <summary>
  560. /// 材料出库(领料单)
  561. /// </summary>
  562. /// <param name="POCode"></param>
  563. /// <param name="porowList"></param>
  564. /// <param name="poqtyList"></param>
  565. /// <param name="barcodeList"></param>
  566. /// <param name="barcodeqtyList"></param>
  567. /// <param name="bincodeList"></param>
  568. /// <param name="userCode"></param>
  569. /// <param name="workpointCode"></param>
  570. /// <param name="Type"></param>
  571. /// <param name="dsconn"></param>
  572. /// <returns></returns>
  573. public static bool WareHouseMterialOut(SqlConnection sqlConnection, SqlTransaction trans, string POCode, string[] porowList, string[] poqtyList, string[] barcodeRowList, string[] barcodeList, string[] barcodeqtyList, string SubmitUserName, string userCode, string userName, string workpointCode, string Type, string dsconn)
  574. {
  575. try
  576. {
  577. return ICSWareHouseLotInfoDAL.WareHouseMterialOut(sqlConnection, trans, POCode, porowList, poqtyList, barcodeRowList, barcodeList, barcodeqtyList, SubmitUserName, userCode, userName, workpointCode, Type, dsconn);
  578. }
  579. catch (Exception ex)
  580. {
  581. throw ex;
  582. }
  583. }
  584. /// <summary>
  585. /// 材料出库(工单)
  586. /// </summary>
  587. /// <param name="sqlConnection"></param>
  588. /// <param name="trans"></param>
  589. /// <param name="POCode"></param>
  590. /// <param name="pomainrowlist"></param>
  591. /// <param name="porowList"></param>
  592. /// <param name="poqtyList"></param>
  593. /// <param name="barcodeRowList"></param>
  594. /// <param name="barcodeList"></param>
  595. /// <param name="barcodeqtyList"></param>
  596. /// <param name="userCode"></param>
  597. /// <param name="userName"></param>
  598. /// <param name="workpointCode"></param>
  599. /// <param name="Type"></param>
  600. /// <param name="dsconn"></param>
  601. /// <returns></returns>
  602. public static bool WareHouseMOMterialOut(SqlConnection sqlConnection, SqlTransaction trans, string POCode, string[] pomainrowlist, string[] porowList, string[] poqtyList, string[] barcodeRowList, string[] barcodeList, string[] barcodeqtyList, string userCode, string userName, string workpointCode, string Type, string dsconn)
  603. {
  604. try
  605. {
  606. return ICSWareHouseLotInfoDAL.WareHouseMOMterialOut(sqlConnection, trans, POCode, pomainrowlist, porowList, poqtyList, barcodeRowList, barcodeList, barcodeqtyList, userCode, userName, workpointCode, Type, dsconn);
  607. }
  608. catch (Exception ex)
  609. {
  610. throw ex;
  611. }
  612. }
  613. /// <summary>
  614. /// 销售出库
  615. /// </summary>
  616. /// <param name="sqlConnection"></param>
  617. /// <param name="trans"></param>
  618. /// <param name="POCode"></param>
  619. /// <param name="porowList"></param>
  620. /// <param name="poqtyList"></param>
  621. /// <param name="barcodeList"></param>
  622. /// <param name="barcodeqtyList"></param>
  623. /// <param name="userCode"></param>
  624. /// <param name="workpointCode"></param>
  625. /// <param name="Type"></param>
  626. /// <param name="dsconn"></param>
  627. /// <returns></returns>
  628. public static bool WareHouseDisPatchOut(SqlConnection sqlConnection, SqlTransaction trans, string POCode, string[] porowList, string[] poqtyList, string[] barcoderowList, string[] barcodeList, string[] barcodeqtyList, string userCode, string userName, string workpointCode, string Type, string dsconn)
  629. {
  630. try
  631. {
  632. return ICSWareHouseLotInfoDAL.WareHouseDisPatchOut(sqlConnection, trans, POCode, porowList, poqtyList, barcoderowList, barcodeList, barcodeqtyList, userCode, userName, workpointCode, Type, dsconn);
  633. }
  634. catch (Exception ex)
  635. {
  636. throw ex;
  637. }
  638. }
  639. /// <summary>
  640. /// 销售退库
  641. /// </summary>
  642. /// <param name="sqlConnection"></param>
  643. /// <param name="trans"></param>
  644. /// <param name="POCode"></param>
  645. /// <param name="porowList"></param>
  646. /// <param name="poqtyList"></param>
  647. /// <param name="barcodeList"></param>
  648. /// <param name="barcodeqtyList"></param>
  649. /// <param name="userCode"></param>
  650. /// <param name="workpointCode"></param>
  651. /// <param name="Type"></param>
  652. /// <param name="dsconn"></param>
  653. /// <returns></returns>
  654. public static bool WareHouseDisPatchIN(SqlConnection sqlConnection, SqlTransaction trans, string POCode, string[] porowList, string[] barcodeList, string[] barcodeqtyList, string[] stackcodeList, string userCode, string userName, string workpointCode, string Type, string dsconn)
  655. {
  656. try
  657. {
  658. return ICSWareHouseLotInfoDAL.WareHouseDisPatchIN(sqlConnection, trans, POCode, porowList, barcodeList, barcodeqtyList, stackcodeList, userCode, userName, workpointCode, Type, dsconn);
  659. }
  660. catch (Exception ex)
  661. {
  662. throw ex;
  663. }
  664. }
  665. /// <summary>
  666. /// 物料退料
  667. /// </summary>
  668. /// <param name="POCode"></param>
  669. /// <param name="porowList"></param>
  670. /// <param name="poqtyList"></param>
  671. /// <param name="barcodeList"></param>
  672. /// <param name="barcodeqtyList"></param>
  673. /// <param name="bincodeList"></param>
  674. /// <param name="userCode"></param>
  675. /// <param name="workpointCode"></param>
  676. /// <param name="Type"></param>
  677. /// <param name="dsconn"></param>
  678. /// <returns></returns>
  679. public static bool MaterialIN(SqlConnection sqlConnection, SqlTransaction trans, string[] pocodeList, string[] porowList, string[] poqtyList, string[] barcoderowList, string[] barcodeList, string[] barcodeqtyList, string[] bincodelist, string userCode, string userName, string workpointCode, string Type, string VouchType, string dsconn)
  680. {
  681. try
  682. {
  683. return ICSWareHouseLotInfoDAL.MaterialIN(sqlConnection, trans, pocodeList, porowList, poqtyList, barcoderowList, barcodeList, barcodeqtyList, bincodelist, userCode, userName, workpointCode, Type, VouchType, dsconn);
  684. }
  685. catch (Exception ex)
  686. {
  687. throw ex;
  688. }
  689. }
  690. /// <summary>
  691. /// 移库扫描
  692. /// </summary>
  693. /// <param name="sqlConnection"></param>
  694. /// <param name="trans"></param>
  695. /// <param name="oldBinCodeList"></param>
  696. /// <param name="newBinCodeList"></param>
  697. /// <param name="barcodeList"></param>
  698. /// <param name="barcodeqtyList"></param>
  699. /// <param name="userCode"></param>
  700. /// <param name="workpointCode"></param>
  701. /// <param name="Type"></param>
  702. /// <param name="dsconn"></param>
  703. /// <returns></returns>
  704. public static bool StackTransfer(SqlConnection sqlConnection, SqlTransaction trans, string[] oldBinCodeList, string[] newBinCodeList, string[] barcodeList, string[] barcodeqtyList, string userCode, string userName, string workpointCode, string Type, string dsconn)
  705. {
  706. try
  707. {
  708. return ICSWareHouseLotInfoDAL.StackTransfer(sqlConnection, trans, oldBinCodeList, newBinCodeList, barcodeList, barcodeqtyList, userCode, userName, workpointCode, Type, dsconn);
  709. }
  710. catch (Exception ex)
  711. {
  712. throw ex;
  713. }
  714. }
  715. /// <summary>
  716. /// 验证盘点单号
  717. /// </summary>
  718. /// <param name="CheckNo"></param>
  719. /// <param name="WorkPointCode"></param>
  720. /// <param name="dsconn"></param>
  721. /// <returns></returns>
  722. public static string CheckCheckNo(string CheckNo, string WorkPointCode, string dsconn)
  723. {
  724. string errormessage = "";
  725. DataTable dt = ICSWareHouseLotInfoDAL.CheckCheckNo(CheckNo, WorkPointCode, dsconn);
  726. if (dt.Rows.Count == 0)
  727. {
  728. errormessage = "盘点单不存在!";
  729. }
  730. else
  731. {
  732. errormessage = "1";
  733. }
  734. string result = "";
  735. if (errormessage == "1")
  736. {
  737. result = string.Format("{{\"code\":\"0\",\"msg\":\" \"}}");
  738. }
  739. else
  740. {
  741. result = string.Format("{{\"code\":\"1\",\"msg\":\"{0}\"}}", errormessage);
  742. }
  743. return result;
  744. }
  745. /// <summary>
  746. /// 验证盘点条码信息
  747. /// </summary>
  748. /// <param name="CheckNo"></param>
  749. /// <param name="BarCode"></param>
  750. /// <param name="dsconn"></param>
  751. /// <returns></returns>
  752. public static DataTable CheckLotnoForCheck(string CheckNo, string BarCode, string WorkPointCode, string dsconn)
  753. {
  754. DataTable dt = ICSWareHouseLotInfoDAL.CheckLotnoForCheck(CheckNo, BarCode, WorkPointCode, dsconn);
  755. return dt;
  756. }
  757. /// <summary>
  758. /// 盘点扫描
  759. /// </summary>
  760. /// <param name="CheckNo"></param>
  761. /// <param name="BarCodeList"></param>
  762. /// <param name="BarCodeQtyList"></param>
  763. /// <param name="UserCode"></param>
  764. /// <param name="WorkPointCode"></param>
  765. /// <param name="Type"></param>
  766. /// <param name="EditType"></param>
  767. /// <param name="dsconn"></param>
  768. /// <returns></returns>
  769. public static bool CheckIn(SqlConnection sqlConnection, SqlTransaction trans, string CheckNo, string[] BarCodeList, string[] BarCodeQtyList, string userCode, string userName, string WorkPointCode, string Type, string EditType, string dsconn)
  770. {
  771. try
  772. {
  773. return ICSWareHouseLotInfoDAL.CheckIn(sqlConnection, trans, CheckNo, BarCodeList, BarCodeQtyList, userCode, userName, WorkPointCode, Type, EditType, dsconn);
  774. }
  775. catch (Exception ex)
  776. {
  777. throw ex;
  778. }
  779. }
  780. /// <summary>
  781. /// 验证条码信息(其他出库)
  782. /// </summary>
  783. /// <param name="lotNo"></param>
  784. /// <param name="workpointCode"></param>
  785. /// <param name="dsconn"></param>
  786. /// <returns></returns>
  787. public static string CheckLotNoForOtherOut(string lotNo, string workpointCode, string dsconn)
  788. {
  789. string errormessage = "";
  790. DataTable dt = ICSWareHouseLotInfoDAL.CheckLotNoForOtherOut(lotNo, workpointCode, dsconn);
  791. if (dt.Rows.Count == 0)
  792. {
  793. errormessage = "条码不存在或条码不尚未入库,请确认后重新扫描!";
  794. }
  795. else
  796. {
  797. errormessage = "1";
  798. }
  799. string result = "";
  800. if (errormessage == "1")
  801. {
  802. result = string.Format("{{\"code\":\"0\",\"msg\":\" \"}}");
  803. }
  804. else
  805. {
  806. result = string.Format("{{\"code\":\"1\",\"msg\":\"{0}\"}}", errormessage);
  807. }
  808. return result;
  809. }
  810. /// <summary>
  811. /// 验证条码信息(其他入库)
  812. /// </summary>
  813. /// <param name="TransferNO"></param>
  814. /// <param name="lotNo"></param>
  815. /// <param name="workpointCode"></param>
  816. /// <param name="dsconn"></param>
  817. /// <returns></returns>
  818. public static string CheckLotNoForOtherIN(string TransferNO, string lotNo, string workpointCode, string dsconn)
  819. {
  820. string errormessage = "";
  821. DataTable dt = ICSWareHouseLotInfoDAL.CheckLotNoForOtherIN(TransferNO, lotNo, workpointCode, dsconn);
  822. if (dt.Rows.Count == 0)
  823. {
  824. errormessage = "条码不存在或条码不属于源头单据,请确认后重新扫描!";
  825. }
  826. else
  827. {
  828. errormessage = "1";
  829. }
  830. string result = "";
  831. if (errormessage == "1")
  832. {
  833. result = string.Format("{{\"code\":\"0\",\"msg\":\"\"}}");
  834. }
  835. else
  836. {
  837. result = string.Format("{{\"code\":\"1\",\"msg\":\"{0}\"}}", errormessage);
  838. }
  839. return result;
  840. }
  841. /// <summary>
  842. /// 验证物料退料库位信息
  843. /// </summary>
  844. /// <param name="Stack"></param>
  845. /// <param name="WHCode"></param>
  846. /// <param name="workpointCode"></param>
  847. /// <param name="dsconn"></param>
  848. /// <returns></returns>
  849. public static string CheckStackCodeForBack(string Stack, string WHCode, string workpointCode, string dsconn)
  850. {
  851. string errormessage = "";
  852. DataTable dt = ICSWareHouseLotInfoDAL.CheckStackCodeForBack(Stack, workpointCode, dsconn);
  853. if (dt.Rows.Count == 0)
  854. {
  855. errormessage = "库位不存在!";
  856. }
  857. else
  858. {
  859. string StorageCode = dt.Rows[0]["StorageCode"].ToString();
  860. if (StorageCode != WHCode)
  861. {
  862. errormessage = "扫入库位与条码所在库位不同,请确认后重新扫描!";
  863. }
  864. else
  865. {
  866. errormessage = "1";
  867. }
  868. }
  869. string result = "";
  870. if (errormessage == "1")
  871. {
  872. result = string.Format("{{\"code\":\"0\",\"msg\":\" \"}}");
  873. }
  874. else
  875. {
  876. result = string.Format("{{\"code\":\"1\",\"msg\":\"{0}\"}}", errormessage);
  877. }
  878. return result;
  879. }
  880. /// <summary>
  881. /// 获取其他出库单源头单据信息
  882. /// </summary>
  883. /// <param name="TransferNO"></param>
  884. /// <param name="WorkPointCode"></param>
  885. /// <param name="dsconn"></param>
  886. /// <returns></returns>
  887. public static DataTable CheckCodeForOtherOut(string TransferNO, string WorkPointCode, string dsconn)
  888. {
  889. DataTable dt = ICSWareHouseLotInfoDAL.CheckCodeForOtherOut(TransferNO, WorkPointCode, dsconn);
  890. return dt;
  891. }
  892. /// <summary>
  893. /// 获取条码信息(其他出库)
  894. /// </summary>
  895. /// <param name="BarCode"></param>
  896. /// <param name="WorkPointCode"></param>
  897. /// <param name="dsconn"></param>
  898. /// <returns></returns>
  899. public static DataTable GetLotDataForOtherOut(string BarCode, string WorkPointCode, string dsconn)
  900. {
  901. DataTable dt = ICSWareHouseLotInfoDAL.GetLotDataForOtherOut(BarCode, WorkPointCode, dsconn);
  902. return dt;
  903. }
  904. public static DataTable GetLotDataForOtherIN(string BarCode, string WorkPointCode, string dsconn)
  905. {
  906. DataTable dt = ICSWareHouseLotInfoDAL.GetLotDataForOtherIN(BarCode, WorkPointCode, dsconn);
  907. return dt;
  908. }
  909. /// <summary>
  910. /// 其他出库
  911. /// </summary>
  912. /// <param name="POCode"></param>
  913. /// <param name="porowList"></param>
  914. /// <param name="poqtyList"></param>
  915. /// <param name="barcodeList"></param>
  916. /// <param name="barcodeqtyList"></param>
  917. /// <param name="bincodeList"></param>
  918. /// <param name="userCode"></param>
  919. /// <param name="workpointCode"></param>
  920. /// <param name="Type"></param>
  921. /// <param name="dsconn"></param>
  922. /// <returns></returns>
  923. public static bool WareHouseOtherOut(SqlConnection sqlConnection, SqlTransaction trans, string[] barcodeList, string OutType, string userCode, string userName, string workpointCode, string Type, string dsconn)
  924. {
  925. try
  926. {
  927. return ICSWareHouseLotInfoDAL.WareHouseOtherOut(sqlConnection, trans, barcodeList, OutType, userCode, userName, workpointCode, Type, dsconn);
  928. }
  929. catch (Exception ex)
  930. {
  931. throw ex;
  932. }
  933. }
  934. /// <summary>
  935. /// 验证条码信息(物料退料)
  936. /// </summary>
  937. /// <param name="BarCode"></param>
  938. /// <param name="workpointCode"></param>
  939. /// <param name="dsconn"></param>
  940. /// <returns></returns>
  941. public static DataTable CheckLotnoForINVIN(string BarCode, string workpointCode, string dsconn)
  942. {
  943. DataTable dt = ICSWareHouseLotInfoDAL.CheckLotnoForINVIN(BarCode, workpointCode, dsconn);
  944. return dt;
  945. }
  946. /// <summary>
  947. /// 获取其他入库单源头单据信息
  948. /// </summary>
  949. /// <param name="TransferNO"></param>
  950. /// <param name="WorkPointCode"></param>
  951. /// <param name="dsconn"></param>
  952. /// <returns></returns>
  953. public static DataTable CheckCodeForOtherIN(string TransferNO, string WorkPointCode, string dsconn)
  954. {
  955. DataTable dt = ICSWareHouseLotInfoDAL.CheckCodeForOtherIN(TransferNO, WorkPointCode, dsconn);
  956. return dt;
  957. }
  958. /// <summary>
  959. /// 获取用户信息
  960. /// </summary>
  961. /// <param name="UserCode"></param>
  962. /// <param name="WorkPointCode"></param>
  963. /// <param name="dsconn"></param>
  964. /// <returns></returns>
  965. public static DataTable GetUserInfo(string UserCode, string WorkPointCode, string dsconn)
  966. {
  967. DataTable dt = ICSWareHouseLotInfoDAL.GetUserInfo(UserCode, WorkPointCode, dsconn);
  968. return dt;
  969. }
  970. /// <summary>
  971. /// 其他入库
  972. /// </summary>
  973. /// <param name="POCode"></param>
  974. /// <param name="porowList"></param>
  975. /// <param name="poqtyList"></param>
  976. /// <param name="barcodeList"></param>
  977. /// <param name="barcodeqtyList"></param>
  978. /// <param name="bincodeList"></param>
  979. /// <param name="userCode"></param>
  980. /// <param name="workpointCode"></param>
  981. /// <param name="Type"></param>
  982. /// <param name="dsconn"></param>
  983. /// <returns></returns>
  984. public static bool WareHouseOtherIN(SqlConnection sqlConnection, SqlTransaction trans, string POCode, string[] porowList, string[] poqtyList, string[] barcodeRowList, string[] barcodeList, string[] barcodeqtyList, string[] bincodelist, string userCode, string userName, string workpointCode, string Type, string dsconn)
  985. {
  986. try
  987. {
  988. return ICSWareHouseLotInfoDAL.WareHouseOtherIN(sqlConnection, trans, POCode, porowList, poqtyList, barcodeRowList, barcodeList, barcodeqtyList, bincodelist, userCode, userName, workpointCode, Type, dsconn);
  989. }
  990. catch (Exception ex)
  991. {
  992. throw ex;
  993. }
  994. }
  995. /// <summary>
  996. /// 先进先出批次管控
  997. /// </summary>
  998. /// <param name="LotNo"></param>
  999. /// <param name="WorkPointCode"></param>
  1000. /// <param name="dsconn"></param>
  1001. /// <returns></returns>
  1002. public static string CanOut(string LotNo, string WorkPointCode, string dsconn)
  1003. {
  1004. string message = ICSWareHouseLotInfoDAL.CanOut(LotNo, WorkPointCode, dsconn);
  1005. return message;
  1006. }
  1007. #region PDA查询界面
  1008. public static DataTable FormINVSer(string INVCode, string WorkPoint, string dsconn)
  1009. {
  1010. DataTable dt = ICSWareHouseLotInfoDAL.FormINVSer(INVCode, WorkPoint, dsconn);
  1011. return dt;
  1012. }
  1013. public static DataTable FormBinSer(string BinCode, string WorkPoint, string dsconn)
  1014. {
  1015. DataTable dt = ICSWareHouseLotInfoDAL.FormBinSer(BinCode, WorkPoint, dsconn);
  1016. return dt;
  1017. }
  1018. public static DataTable FormLotSer(string LotNO, string WorkPoint, string dsconn)
  1019. {
  1020. DataTable dt = ICSWareHouseLotInfoDAL.FormLotSer(LotNO, WorkPoint, dsconn);
  1021. return dt;
  1022. }
  1023. #endregion
  1024. }
  1025. }