151 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			151 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								/// <summary>
							 | 
						|||
| 
								 | 
							
								///INTERFACE IMPLIMENT FOR TABLE t_wmsImportSeeds
							 | 
						|||
| 
								 | 
							
								///By wm with codesmith. 
							 | 
						|||
| 
								 | 
							
								///on 07/21/2019
							 | 
						|||
| 
								 | 
							
								/// </summary>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Data.SqlClient;
							 | 
						|||
| 
								 | 
							
								using DeiNiu.Utils; 
							 | 
						|||
| 
								 | 
							
								namespace DeiNiu.wms.Data.Model
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    [Serializable]  class WmsImportSeeds_Imp : WmsImportSeeds_base_Imp
							 | 
						|||
| 
								 | 
							
								    { 
							 | 
						|||
| 
								 | 
							
								        protected override void CmdPrepare(SqlCommand sqlCmd)
							 | 
						|||
| 
								 | 
							
								        { 
							 | 
						|||
| 
								 | 
							
								            base.CmdPrepare(sqlCmd);
							 | 
						|||
| 
								 | 
							
								            WmsImportSeeds mObj = ( WmsImportSeeds)modelObj;
							 | 
						|||
| 
								 | 
							
								            switch (_cust_op_flag)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								             case 99:  //query with dic
							 | 
						|||
| 
								 | 
							
								                    _strSql = "SELECT *,0 AS isLightUp, 0 AS isPicked ,ROW_NUMBER() OVER (ORDER BY ID DESC) as sortNo  FROM v_seeds  WHERE DR = 1 " + mObj.CmdParameters[0].ToString();
							 | 
						|||
| 
								 | 
							
								                    _strSql = "SELECT * FROM (" + _strSql + " )AS SORTEDTB WHERE sortNo BETWEEN @START AND @END" + " ORDER BY ID DESC";
							 | 
						|||
| 
								 | 
							
								                    _strSql += ";SELECT COUNT(*) FROM v_seeds  WHERE DR = 1 " + mObj.CmdParameters[0].ToString();
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@START", this._rownumStart);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@END", this._rownumEnd);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								                case 100:  //by name
							 | 
						|||
| 
								 | 
							
								                    _strSql = "SELECT * FROM t_wmsImportSeeds WHERE NAME = @NAME";
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql; 
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@NAME",   mObj.CmdParameters[0]  );
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								                case 201:// start load seeds with deskId, 适合不同仓库不同seedsno的情况
							 | 
						|||
| 
								 | 
							
								                    String cols = "[deskId], [elabId] ,[port],[seedsNo] ,[barcode] ,[custName] ,[itemName]  ,[count] ,[countOut] ,[unit] ,[category1] ,[category2],[category3] ,[spec] ,[elabAddress] ,[description]";
							 | 
						|||
| 
								 | 
							
								                    _strSql = "insert t_wmsImportSeeds_tmp({0}) select {1} from v_availableSeeds "
							 | 
						|||
| 
								 | 
							
								                                + " WHERE deskId = @deskId and seedsNo =@seedsNo ";
							 | 
						|||
| 
								 | 
							
								                    _strSql = String.Format(_strSql, cols, cols);
							 | 
						|||
| 
								 | 
							
								                    _strSql += ";";
							 | 
						|||
| 
								 | 
							
								                    _strSql += "delete from  t_wmsImportSeeds WHERE deskId = @deskId and seedsNo =@seedsNo ";
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql; 
							 | 
						|||
| 
								 | 
							
								                      
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@deskId", mObj.CmdParameters[0]);                  
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[1]);
							 | 
						|||
| 
								 | 
							
								                      
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								                case 301:  //start light an item, 适合不同仓库不同seedsno的情况,deskid 已分配好
							 | 
						|||
| 
								 | 
							
								                    _strSql = "update t_wmsImportSeeds_tmp "
							 | 
						|||
| 
								 | 
							
								                        + "set color= @color,operater =@operater,state=1"
							 | 
						|||
| 
								 | 
							
								                        + "WHERE deskId = @deskId and seedsNo=@seedsNo and barcode =@barcode";
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@deskId", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[1]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[2]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@operater", mObj.CmdParameters[3]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@color", mObj.CmdParameters[4]);
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                case 200:// start load seeds ,不分配deskId
							 | 
						|||
| 
								 | 
							
								                    cols = "[deskId], [elabId] ,[port],[seedsNo] ,[barcode] ,[custName] ,[itemName]  ,[count] ,[countOut] ,[unit] ,[category1] ,[category2],[category3] ,[spec] ,[elabAddress] ,[description],[picktime],[createtime]";
							 | 
						|||
| 
								 | 
							
								                     _strSql = "insert t_wmsImportSeeds_tmp({0},[state]) select {1},{2} from t_wmsImportSeeds "
							 | 
						|||
| 
								 | 
							
								                                + " WHERE  seedsNo =@seedsNo ";
							 | 
						|||
| 
								 | 
							
								                    
							 | 
						|||
| 
								 | 
							
								                    _strSql += ";delete from  t_wmsImportSeeds WHERE seedsNo =@seedsNo ";
							 | 
						|||
| 
								 | 
							
								                    _strSql += ";insert t_wmsImportSeeds_history({0},[state],[operater],[lastmodified]) "
							 | 
						|||
| 
								 | 
							
								                               + " select {1},[state],[operater],[lastmodified] from t_wmsImportSeeds_tmp";//把历史已完成分拣的数据导入history
							 | 
						|||
| 
								 | 
							
								                    _strSql += " where state={3}";
							 | 
						|||
| 
								 | 
							
								                    _strSql += ";delete from  t_wmsImportSeeds_tmp WHERE state={3} ";
							 | 
						|||
| 
								 | 
							
								                    _strSql = String.Format(_strSql, cols, cols, (int)enumSeedsState.处理中, (int)enumSeedsState.已按灭); 
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    //sqlCmd.Parameters.AddWithValue("@deskId", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[1]);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                case 300:  //start light an item,根据deskId ->custNames, 结合 barcode找到亮灯数据
							 | 
						|||
| 
								 | 
							
								                    _strSql = "select * from t_wmsImportSeeds_tmp "  
							 | 
						|||
| 
								 | 
							
								                        + "WHERE  seedsNo=@seedsNo and barcode =@barcode "
							 | 
						|||
| 
								 | 
							
								                        + "and state <@state"
							 | 
						|||
| 
								 | 
							
								                        + " and exists(select 1 from t_wmsDeskCustomer where deskId=@deskId and custName = t_wmsImportSeeds_tmp.custName)"; 
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@deskId", mObj.CmdParameters[0]);                  
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[1]);
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[2]);
							 | 
						|||
| 
								 | 
							
								                     sqlCmd.Parameters.AddWithValue("@state", enumSeedsState.已按灭);
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                case 302:  //反查亮灯
							 | 
						|||
| 
								 | 
							
								                    _strSql = "select * from v_seeds "
							 | 
						|||
| 
								 | 
							
								                        + "WHERE  seedsNo=@seedsNo and barcode =@barcode "
							 | 
						|||
| 
								 | 
							
								                        + " and state =@state"
							 | 
						|||
| 
								 | 
							
								                        + " and operater =@operater"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        + " and exists(select 1 from t_wmsDeskCustomer where deskId=@deskId and custName = v_seeds.custName)";
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@deskId", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[1]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[2]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@operater", mObj.CmdParameters[3]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@state", enumSeedsState.已按灭);
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								                case 400:  //get seeds by barcode
							 | 
						|||
| 
								 | 
							
								                    _strSql = "update t_wmsImportSeeds_tmp "
							 | 
						|||
| 
								 | 
							
								                        + "set color= @color,operater =@operater,state=1"
							 | 
						|||
| 
								 | 
							
								                        + "WHERE deskId = @deskId and seedsNo=@seedsNo and barcode =@barcode";
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@deskId", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[1]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[2]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@operater", mObj.CmdParameters[3]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@color", mObj.CmdParameters[4]);
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                case 500:  //更新亮灯状态 相应灯光按灭事件
							 | 
						|||
| 
								 | 
							
								                    _strSql = "update t_wmsImportSeeds_tmp set state = @stateLight, picktime = getdate()  WHERE id =@id "
							 | 
						|||
| 
								 | 
							
								                          + " and state!= @stateLight";
							 | 
						|||
| 
								 | 
							
								                //    _strSql += " and state < @statePicked";
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@id", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@stateLight", mObj.CmdParameters[1]);
							 | 
						|||
| 
								 | 
							
								                 //   sqlCmd.Parameters.AddWithValue("@statePicked", enumSeedsState.已亮灯);
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                case 600:  //删除分拣单
							 | 
						|||
| 
								 | 
							
								                    _strSql = "delete from t_wmsImportSeeds where seedsNo =@seedsNo ; ";
							 | 
						|||
| 
								 | 
							
								                    _strSql += " delete from t_wmsImportSeeds_tmp where seedsNo =@seedsNo ; "; 
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[0]); 
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								                case 601:  //查询可删除分拣单
							 | 
						|||
| 
								 | 
							
								                    _strSql = " select count(1) from v_seeds where seedsNo =@seedsNo and state >= @state; "; 
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@state",(int)enumSeedsState.已亮灯);
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								                case 700:  //查询可删除分拣单
							 | 
						|||
| 
								 | 
							
								                    _strSql = " select sum(countOut),sum(count) from v_seeds where seedsNo =@seedsNo and barcode = @barcode; ";
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.CommandText = _strSql;
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@seedsNo", mObj.CmdParameters[0]);
							 | 
						|||
| 
								 | 
							
								                    sqlCmd.Parameters.AddWithValue("@barcode", mObj.CmdParameters[1]);
							 | 
						|||
| 
								 | 
							
								                    break;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |