| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |  | 
					
						
							|  |  |  |  | /// <summary> | 
					
						
							|  |  |  |  | ///LOGIC CLASS FOR TABLE t_tmsTranRequest | 
					
						
							|  |  |  |  | ///By wm with codesmith.  | 
					
						
							|  |  |  |  | ///on 07/26/2017 | 
					
						
							|  |  |  |  | /// </summary> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using System.Linq; | 
					
						
							|  |  |  |  | using System.Text; | 
					
						
							|  |  |  |  | using DeiNiu.wms.Data.Model; | 
					
						
							|  |  |  |  | using System.Data; | 
					
						
							|  |  |  |  | using System.Transactions; | 
					
						
							|  |  |  |  | using DeiNiu.Utils; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace DeiNiu.wms.Logical | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     [Serializable] | 
					
						
							|  |  |  |  |     public class lTmsTranRequest   :lbase | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         TmsTranRequest _obj; | 
					
						
							|  |  |  |  |         public lTmsTranRequest() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |              initialize(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         public lTmsTranRequest(int operId) | 
					
						
							|  |  |  |  |             : base(operId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             initialize(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         public  TmsTranRequest getTmsTranRequest | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             get | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 return _obj; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |    | 
					
						
							|  |  |  |  | 		/// <summary> | 
					
						
							|  |  |  |  | 		/// get all data | 
					
						
							|  |  |  |  | 		/// </summary> | 
					
						
							|  |  |  |  |         public DataSet getAllData() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |            return _obj.Query(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// get all data | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         public DataSet getAllActiveData() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return _obj.QueryActived(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		/// <summary> | 
					
						
							|  |  |  |  | 		/// get a record by id | 
					
						
							|  |  |  |  | 		/// </summary> | 
					
						
							|  |  |  |  |         public void initialize(int id) | 
					
						
							|  |  |  |  | 		{ | 
					
						
							|  |  |  |  |             _obj = id != 0 ? new TmsTranRequest(id) : new TmsTranRequest(); | 
					
						
							|  |  |  |  | 		} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  | 		/// get a record by id 0 | 
					
						
							|  |  |  |  | 		/// </summary> | 
					
						
							|  |  |  |  |         public void initialize() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             initialize(0); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |          /// <summary> | 
					
						
							|  |  |  |  |         /// get a record by id | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         public void initialize(DataRow dr) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             _obj =   new TmsTranRequest(dr); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |          | 
					
						
							|  |  |  |  |         protected override DeiNiu.Data.BaseObject.BaseModel getModel() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return _obj; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |   | 
					
						
							|  |  |  |  |         //begin cust db operation, query, excute sql etc. | 
					
						
							|  |  |  |  |          | 
					
						
							|  |  |  |  |       | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// update in a transaction scrop | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         public void update() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (valid()) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 using (TransactionScope scope = new TransactionScope()) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     //Node tmp = new Node(); | 
					
						
							|  |  |  |  |                     //tmp.parentid = 1; | 
					
						
							|  |  |  |  |                     //tmp.name = "test trans" + DateTime.Now; | 
					
						
							|  |  |  |  |                     //tmp.description = "this is for transTest"; | 
					
						
							|  |  |  |  |                     //tmp.Add(); | 
					
						
							|  |  |  |  |                     _obj.Update(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     scope.Complete(); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |          | 
					
						
							|  |  |  |  |          private bool valid() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return true; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |          internal DataSet queryPickRequests(string query, int rownumStart, int rownumEnd) | 
					
						
							|  |  |  |  |          { | 
					
						
							|  |  |  |  |             return _obj.queryPickRequests(query, rownumStart, rownumEnd); | 
					
						
							|  |  |  |  |          } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |          internal DataTable queryPickRequests4Report(string pickOrderNo) | 
					
						
							| 
									
										
										
										
											2025-01-23 22:53:20 +08:00
										 |  |  |  |          {   | 
					
						
							|  |  |  |  |             WmsOutPickRequest wpr = new WmsOutPickRequest(pickOrderNo); | 
					
						
							|  |  |  |  |               | 
					
						
							|  |  |  |  |           //  DataTable dt = _obj.queryPickRequests4Report(pickOrderNo); | 
					
						
							|  |  |  |  |             DataTable dt = _obj.queryPickRequests4Report(wpr.transNo,wpr.customerId); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             if (string.IsNullOrEmpty(wpr.invoiceNo)) | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |              { | 
					
						
							|  |  |  |  |                  foreach (DataRow dr1 in dt.Rows) | 
					
						
							|  |  |  |  |                  { | 
					
						
							|  |  |  |  |                      dr1.BeginEdit(); | 
					
						
							|  |  |  |  |                      wpr.invoiceNo = Utils.Util.getOrderNo(enumCreateOrderType.pickOutInvoice, wpr.getNextSeq(enumCreateOrderType.pickOutInvoice)); | 
					
						
							|  |  |  |  |                      wpr.invoicedBy = LoginInfo.UserId; | 
					
						
							|  |  |  |  |                      dr1["invoiceNo"] = wpr.invoiceNo; | 
					
						
							|  |  |  |  |                      dr1["invoicedBy"] = LoginInfo.UserId; | 
					
						
							|  |  |  |  |                      dr1.EndEdit(); | 
					
						
							|  |  |  |  |                  } | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              return dt; | 
					
						
							|  |  |  |  |          } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |          internal DataTable getFreeViechles() | 
					
						
							|  |  |  |  |          { | 
					
						
							|  |  |  |  |              return new TmsViechle().queryByStatus(Utils.enumViechleStatus.可用,Utils.enumViechleTransStatus.空闲 ); | 
					
						
							|  |  |  |  |              //return _obj.getViechles(Utils.enumViechleStatus.可用, Utils.enumTranStatus.配送结束); | 
					
						
							|  |  |  |  |          } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |         internal DataTable getLatestPickRequestsByViechole(string plateId) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             return getTmsTranRequest.getLatestPickRequestsByViechole(plateId); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |         /* | 
					
						
							|  |  |  |  |          internal string creatTrans(string[] pickOrders, string orderNo, int thirdPart, int status, int lineId, string viechle, int tranType, int person, string contact, string phone, string description) | 
					
						
							|  |  |  |  |          { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              Utils.enumTranType tType = (enumTranType)(tranType); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             | 
					
						
							|  |  |  |  |              TmsViechle tv = new TmsViechle(viechle); | 
					
						
							|  |  |  |  |              | 
					
						
							|  |  |  |  |              | 
					
						
							|  |  |  |  |              if (tType == enumTranType.自营配送 && (tv.state == (int)Utils.enumViechleStatus.不可用 || tv.transState !=(int) Utils.enumViechleTransStatus.空闲 )) | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  return viechle+ " 车辆不可用"; | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              string tranOrder = string.IsNullOrEmpty(orderNo) ? Util.getOrderNo(enumCreateOrderType.transOrder, _obj.getNextSeq()) : orderNo; | 
					
						
							|  |  |  |  |              TmsTranRequest tmr = new TmsTranRequest(); | 
					
						
							|  |  |  |  |              tmr.transNo = tranOrder; | 
					
						
							|  |  |  |  |              tmr.tranType = tranType; | 
					
						
							|  |  |  |  |              tmr.lineId = lineId; | 
					
						
							|  |  |  |  |              tmr.viechleNo = viechle; | 
					
						
							|  |  |  |  |              tmr.contact = contact; | 
					
						
							|  |  |  |  |              tmr.phone = phone; | 
					
						
							|  |  |  |  |              tmr.driver = person; | 
					
						
							|  |  |  |  |              tmr.thirdPart = thirdPart; | 
					
						
							|  |  |  |  |              tmr.description = description; | 
					
						
							|  |  |  |  |              tmr.state = status; | 
					
						
							|  |  |  |  |              tmr.operater = operId; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              int i = 0; | 
					
						
							|  |  |  |  |              try | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  using (TransactionScope scope = new TransactionScope()) | 
					
						
							|  |  |  |  |                  { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                      tmr.Add(); | 
					
						
							|  |  |  |  |                      foreach (string pickOrder in pickOrders) | 
					
						
							|  |  |  |  |                      { | 
					
						
							|  |  |  |  |                          WmsOutPickRequest op = new WmsOutPickRequest(pickOrder); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                          if (op.state >= (int)enumOutStockRequestStatus.配送中) | 
					
						
							|  |  |  |  |                          { | 
					
						
							|  |  |  |  |                              continue; | 
					
						
							|  |  |  |  |                          } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                          op.tranOrderNo = tranOrder; | 
					
						
							|  |  |  |  |                          op.state = (int)enumOutStockRequestStatus.配送中; | 
					
						
							|  |  |  |  |                          op.operater = operId; | 
					
						
							|  |  |  |  |                          op.Update(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                          TmsTranRequestDetail td = new TmsTranRequestDetail(); | 
					
						
							|  |  |  |  |                          td.pickRequest = pickOrder; | 
					
						
							|  |  |  |  |                          td.transNo = tranOrder; | 
					
						
							|  |  |  |  |                          td.operater = operId; | 
					
						
							|  |  |  |  |                          td.Add(); | 
					
						
							|  |  |  |  |                          i++; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                      } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                      if (i > 0) | 
					
						
							|  |  |  |  |                      { | 
					
						
							|  |  |  |  |                         // tv.state = (int)Utils.enumViechleStatus.不可用; | 
					
						
							|  |  |  |  |                          tv.transState = (int)Utils.enumViechleTransStatus.装车; | 
					
						
							|  |  |  |  |                          tv.operater = operId; | 
					
						
							|  |  |  |  |                          tv.transOrder = tranOrder; | 
					
						
							|  |  |  |  |                          tv.Update(); | 
					
						
							|  |  |  |  |                      } | 
					
						
							|  |  |  |  |                      else | 
					
						
							|  |  |  |  |                      { | 
					
						
							|  |  |  |  |                          return "创建失败"; | 
					
						
							|  |  |  |  |                      } | 
					
						
							|  |  |  |  |                      scope.Complete(); | 
					
						
							|  |  |  |  |                  } | 
					
						
							|  |  |  |  |                  return "创建成功"; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  |              catch   | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  return "创建失败"; | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  |                | 
					
						
							|  |  |  |  |          } | 
					
						
							|  |  |  |  |         */ | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |         internal string creatTrans(string[] pickOrders, TmsTranRequest tmsTranRequest) | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |          { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              Utils.enumTranType tType = (enumTranType)(tmsTranRequest.tranType); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              TmsViechle tv = new TmsViechle(tmsTranRequest.viechleNo); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              if (tType == enumTranType.自营配送 && (tv.state == (int)Utils.enumViechleStatus.不可用 || tv.transState != (int)Utils.enumViechleTransStatus.空闲)) | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  return tmsTranRequest.viechleNo + " 车辆不可用"; | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              string tranOrder = string.IsNullOrEmpty(tmsTranRequest.transNo) ? Util.getOrderNo(enumCreateOrderType.transOrder, _obj.getNextSeq(enumCreateOrderType.transOrder)) : tmsTranRequest.transNo; | 
					
						
							|  |  |  |  |               | 
					
						
							|  |  |  |  |              tmsTranRequest.transNo = tranOrder;  | 
					
						
							|  |  |  |  |              tmsTranRequest.operater = operId; | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |            | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |              int i = 0; | 
					
						
							|  |  |  |  |              try | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  using (TransactionScope scope = new TransactionScope()) | 
					
						
							|  |  |  |  |                  { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                      tmsTranRequest.Add(); | 
					
						
							|  |  |  |  |                      foreach (string pickOrder in pickOrders) | 
					
						
							|  |  |  |  |                      { | 
					
						
							|  |  |  |  |                          WmsOutPickRequest op = new WmsOutPickRequest(pickOrder); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-06 19:36:47 +08:00
										 |  |  |  |                          if (op.state >= (int)enumOutStockRequestStatus.已出库) | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                          { | 
					
						
							|  |  |  |  |                              continue; | 
					
						
							|  |  |  |  |                          } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-06 19:36:47 +08:00
										 |  |  |  |                          op.state = (int)enumOutStockRequestStatus.已出库; | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |                          op.operater = operId; | 
					
						
							|  |  |  |  |                          op.transNo = tranOrder; | 
					
						
							|  |  |  |  |                          op.Update(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                          TmsTranRequestDetail td = new TmsTranRequestDetail(); | 
					
						
							|  |  |  |  |                          td.pickOrderNo = pickOrder; | 
					
						
							|  |  |  |  |                          td.transNo = tranOrder; | 
					
						
							|  |  |  |  |                          td.operater = operId; | 
					
						
							|  |  |  |  |                          td.Add(); | 
					
						
							|  |  |  |  |                          i++; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                      } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                      if (i > 0) | 
					
						
							|  |  |  |  |                      { | 
					
						
							|  |  |  |  |                          // tv.state = (int)Utils.enumViechleStatus.不可用; | 
					
						
							|  |  |  |  |                          tv.transState = (int)Utils.enumViechleTransStatus.装车; | 
					
						
							|  |  |  |  |                          tv.operater = operId; | 
					
						
							|  |  |  |  |                          tv.transOrder = tranOrder; | 
					
						
							|  |  |  |  |                          tv.Update(); | 
					
						
							|  |  |  |  |                      } | 
					
						
							|  |  |  |  |                      else | 
					
						
							|  |  |  |  |                      { | 
					
						
							|  |  |  |  |                          return "创建失败"; | 
					
						
							|  |  |  |  |                      } | 
					
						
							|  |  |  |  |                      scope.Complete(); | 
					
						
							|  |  |  |  |                  } | 
					
						
							|  |  |  |  |                  return "创建成功"; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  |              catch | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  return "创建失败"; | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  |          } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         public string createSimpleTran(List<WmsOutPickRequest> pickOrders, WmsPlate plate) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             TmsTranRequest tmsTranRequest = new TmsTranRequest();  | 
					
						
							|  |  |  |  |             tmsTranRequest.transNo = string.IsNullOrEmpty(plate.transNo) ? Util.getOrderNo(enumCreateOrderType.transOrder, _obj.getNextSeq(enumCreateOrderType.transOrder)) : plate.transNo; | 
					
						
							|  |  |  |  |             tmsTranRequest.operater = operId; | 
					
						
							|  |  |  |  |             tmsTranRequest.viechleNo = plate.plateId; | 
					
						
							|  |  |  |  |             int i = 0; | 
					
						
							|  |  |  |  |             try | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 using (TransactionScope scope = new TransactionScope()) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     tmsTranRequest.Add(); | 
					
						
							|  |  |  |  |                     foreach (WmsOutPickRequest op in pickOrders) | 
					
						
							|  |  |  |  |                     {  | 
					
						
							|  |  |  |  |                        | 
					
						
							|  |  |  |  |                         op.operater = operId; | 
					
						
							|  |  |  |  |                         op.transNo = tmsTranRequest.transNo;   | 
					
						
							|  |  |  |  |                         op.Update(); | 
					
						
							|  |  |  |  |                         | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                         TmsTranRequestDetail td = new TmsTranRequestDetail(); | 
					
						
							|  |  |  |  |                         td.pickOrderNo = op.pickOrderNo; | 
					
						
							|  |  |  |  |                         td.transNo = tmsTranRequest.transNo; | 
					
						
							|  |  |  |  |                         td.operater = operId; | 
					
						
							|  |  |  |  |                         td.Add(); | 
					
						
							|  |  |  |  |                         i++; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     if (i > 0) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         //plate.transNo = tmsTranRequest.transNo; | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     else | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         return ""; | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     scope.Complete(); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 return plate.transNo; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             catch | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 return ""; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  |          internal bool updateTranStatus(string transOrder, int status, string mem) | 
					
						
							|  |  |  |  |          { | 
					
						
							|  |  |  |  |              try | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  using (TransactionScope scope = new TransactionScope()) | 
					
						
							|  |  |  |  |                  { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                      TmsTranRequest tr = new TmsTranRequest(transOrder); | 
					
						
							|  |  |  |  |                      tr.state = status; | 
					
						
							|  |  |  |  |                      tr.operater = operId; | 
					
						
							|  |  |  |  |                      tr.description += mem; | 
					
						
							|  |  |  |  |                      tr.description = tr.description.Length > 200 ? tr.description.Substring(0, 200) : tr.description; | 
					
						
							|  |  |  |  |                      tr.Update() ; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                      //update viechle | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                      if (!string.IsNullOrEmpty(tr.viechleNo)) | 
					
						
							|  |  |  |  |                      { | 
					
						
							|  |  |  |  |                          TmsViechle tv = new TmsViechle(tr.viechleNo); | 
					
						
							|  |  |  |  |                          tv.transState = (int)enumViechleTransStatus.空闲; | 
					
						
							|  |  |  |  |                          tv.operater = operId; | 
					
						
							|  |  |  |  |                          tv.Update(); | 
					
						
							|  |  |  |  |                      } | 
					
						
							|  |  |  |  |                      | 
					
						
							|  |  |  |  |                   | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                      scope.Complete(); | 
					
						
							|  |  |  |  |                  } | 
					
						
							|  |  |  |  |                  return true; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  |              catch | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  return false; | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  |                | 
					
						
							|  |  |  |  |          } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 从零库出库集货区取走打包的零货 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="stockId"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |          internal bool pickBulks(string tranNo,int stockId) | 
					
						
							|  |  |  |  |          { | 
					
						
							|  |  |  |  |              TmsStock ts = new TmsStock(stockId); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              WmsStockRecord wsr = new WmsStockRecord(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              wsr.orderNo = tranNo; | 
					
						
							|  |  |  |  |              wsr.locationId = ts.locationId; | 
					
						
							|  |  |  |  |              wsr.operater = operId; | 
					
						
							|  |  |  |  |              wsr.count = ts.count; | 
					
						
							|  |  |  |  |              wsr.goodsId = "打包散货"; | 
					
						
							| 
									
										
										
										
											2023-11-21 19:18:23 +08:00
										 |  |  |  |              wsr.rectype = (int)enumStockRecordType.集货拣货; | 
					
						
							| 
									
										
										
										
											2023-05-23 16:13:17 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |              try | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  using (TransactionScope scope = new TransactionScope()) | 
					
						
							|  |  |  |  |                  { | 
					
						
							|  |  |  |  |                      ts.Delete(); | 
					
						
							|  |  |  |  |                      wsr.Add();                     | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                      scope.Complete(); | 
					
						
							|  |  |  |  |                  } | 
					
						
							|  |  |  |  |                  return true; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  |              catch | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  return false; | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |               | 
					
						
							|  |  |  |  |          } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |          /// <summary> | 
					
						
							|  |  |  |  |          /// 集货完毕,装车 | 
					
						
							|  |  |  |  |          /// </summary> | 
					
						
							|  |  |  |  |          /// <param name="stockId"></param> | 
					
						
							|  |  |  |  |          /// <returns></returns> | 
					
						
							|  |  |  |  |          internal string loadTrucks(string transNo, string pickOrderNo, int tranDetailId) | 
					
						
							|  |  |  |  |          { | 
					
						
							|  |  |  |  |              TmsTranRequestDetail trd = new TmsTranRequestDetail(tranDetailId); | 
					
						
							|  |  |  |  |              int leftunLoadCnt = 0; | 
					
						
							|  |  |  |  |              if (trd.transNo.Equals(transNo) && trd.pickOrderNo.Equals(pickOrderNo) && trd.state ==(int)enumTranDetailStatus.装车) | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  //检查是否有未集货零货  | 
					
						
							|  |  |  |  |                  int leftBulksCnt = _obj.getPickRequestBulksCount(pickOrderNo); | 
					
						
							|  |  |  |  |                  if (leftunLoadCnt > 0) | 
					
						
							|  |  |  |  |                  { | 
					
						
							|  |  |  |  |                      return pickOrderNo + "有未集货打包零货,请先完成集货"; | 
					
						
							|  |  |  |  |                  } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                  trd.state = (int)enumTranDetailStatus.配送; | 
					
						
							|  |  |  |  |                  trd.operater = operId; | 
					
						
							|  |  |  |  |                  leftunLoadCnt = _obj.getTransRequestsDetailCount(transNo,enumTranDetailStatus.装车); | 
					
						
							|  |  |  |  |                  | 
					
						
							|  |  |  |  |                   | 
					
						
							|  |  |  |  |                  if (leftunLoadCnt == 1) | 
					
						
							|  |  |  |  |                  { | 
					
						
							|  |  |  |  |                      _obj = new TmsTranRequest(transNo); | 
					
						
							|  |  |  |  |                       | 
					
						
							|  |  |  |  |                  } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  |              else | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  return "装车失败,数据不符"; | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              try | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  using (TransactionScope scope = new TransactionScope()) | 
					
						
							|  |  |  |  |                  { | 
					
						
							|  |  |  |  |                        trd.Update(); | 
					
						
							|  |  |  |  |                        if (leftunLoadCnt == 1) | 
					
						
							|  |  |  |  |                        { | 
					
						
							|  |  |  |  |                            _obj.state = (int)enumTranStatus.配送途中; | 
					
						
							|  |  |  |  |                            _obj.operater = operId; | 
					
						
							|  |  |  |  |                            _obj.Update(); | 
					
						
							|  |  |  |  |                        } | 
					
						
							|  |  |  |  |                 | 
					
						
							|  |  |  |  |                      scope.Complete(); | 
					
						
							|  |  |  |  |                  } | 
					
						
							|  |  |  |  |                  return ""; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  |              catch | 
					
						
							|  |  |  |  |              { | 
					
						
							|  |  |  |  |                  return ""; | 
					
						
							|  |  |  |  |              } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |          } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |          internal int updatePickInvoice(string pickOrderNo, string invoiceNo) | 
					
						
							|  |  |  |  |          { | 
					
						
							|  |  |  |  |              WmsOutPickRequest wpr = new WmsOutPickRequest(pickOrderNo); | 
					
						
							|  |  |  |  |              wpr.invoiceNo = invoiceNo; | 
					
						
							|  |  |  |  |              wpr.invoicePrintCnt++; | 
					
						
							|  |  |  |  |              wpr.invoicedBy = LoginInfo.UserId;  | 
					
						
							|  |  |  |  |              return wpr.Update(); | 
					
						
							|  |  |  |  |          } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |            | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |      | 
					
						
							|  |  |  |  |      | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  |   |