/// <summary> 获取全数据 资料拼接展示 /// </summary> public void getFullData(string contractid, ref string ReceiveBuyHaveDatas, ref string ReceiveSellHaveDatas, ref string ReceiveBuyNoHaveDatas, ref string ReceiveSellNoHaveDatas) { SqlAgent sa = new SqlAgent(SysConfiguration.GetErpSqlConn()); sa.addSelect( "F_8100_01,F_8100_02,F_8100_03,F_8100_04,F_8100_05,F_8100_06,F_8100_07,F_8100_08,F_8100_09,F_992"); sa.addCondition("F_8100_02", contractid, CompareType.Equal, LogicType.none, ""); sa.addOrder("F_992", false); DataTable dt = sa.select("T_8100"); List <receiveData> list_receiveData = new List <receiveData>(); foreach (DataRow dr in dt.Rows) { receiveData b = new receiveData(); b.id = dr["F_8100_01"].ToString(); b.cid = dr["F_8100_02"].ToString(); b.receiveBuyData = dr["F_8100_03"].ToString(); b.receiveSellData = dr["F_8100_04"].ToString(); b.DataIsReceiveOK = bool.Parse(dr["F_8100_05"].ToString()); b.remark = dr["F_8100_07"].ToString(); b.arriveTime = dr["F_8100_08"].ToString(); b.operatorName = dr["F_8100_09"].ToString(); b.inputTime = dr["F_992"].ToString(); getData(b); list_receiveData.Add(b); } foreach (receiveData item in list_receiveData) { ReceiveBuyHaveDatas += string.IsNullOrEmpty(item.receiveBuyHaveData) ? "" : item.receiveBuyHaveData + ","; ReceiveSellHaveDatas += string.IsNullOrEmpty(item.receiveSellHaveData) ? "" : item.receiveSellHaveData + ","; ReceiveBuyNoHaveDatas += string.IsNullOrEmpty(item.receiveBuyNoHaveData) ? "" : item.receiveBuyNoHaveData + ","; ReceiveSellNoHaveDatas += string.IsNullOrEmpty(item.receiveSellNoHaveData) ? "" : item.receiveSellNoHaveData + ","; } if (!string.IsNullOrEmpty(ReceiveBuyHaveDatas)) { ReceiveBuyHaveDatas = ReceiveBuyHaveDatas.TrimEnd(','); } if (!string.IsNullOrEmpty(ReceiveSellHaveDatas)) { ReceiveSellHaveDatas = ReceiveSellHaveDatas.TrimEnd(','); } if (!string.IsNullOrEmpty(ReceiveBuyNoHaveDatas)) { ReceiveBuyNoHaveDatas = ReceiveBuyNoHaveDatas.TrimEnd(','); } if (!string.IsNullOrEmpty(ReceiveSellNoHaveDatas)) { ReceiveSellNoHaveDatas = ReceiveSellNoHaveDatas.TrimEnd(','); } }
/// <summary> 获取收到/缺少资料 分开枚举b 和 其他资料文本(ref) /// </summary> /// <returns></returns> public receiveData getData(receiveData b) { //已收到 if (b.DataIsReceiveOK) { if (!string.IsNullOrEmpty(b.receiveBuyData)) { //多个资料存在判断 if (b.receiveBuyData.Contains(":")) { b.receiveBuyData = b.receiveBuyData.Replace("买方其他资料:", "").Replace("卖方其他资料:", ""); } string[] datas = b.receiveBuyData.Split(','); for (int i = 0; i < datas.Length; i++) { b.receiveBuyHaveData += datas[i] + ","; } b.receiveBuyHaveData = !string.IsNullOrEmpty(b.receiveBuyHaveData) ? b.receiveBuyHaveData.TrimEnd(',') : b.receiveBuyHaveData; } if (!string.IsNullOrEmpty(b.receiveSellData)) { //多个资料存在判断 if (b.receiveSellData.Contains(":")) { b.receiveSellData = b.receiveSellData.Replace("买方其他资料:", "").Replace("卖方其他资料:", ""); } string[] datas = b.receiveSellData.Split(','); for (int i = 0; i < datas.Length; i++) { b.receiveSellHaveData += datas[i] + ","; } b.receiveSellHaveData = !string.IsNullOrEmpty(b.receiveSellHaveData) ? b.receiveSellHaveData.TrimEnd(',') : b.receiveSellHaveData; } } else { //缺失 if (!string.IsNullOrEmpty(b.receiveBuyData)) { //多个资料存在判断 if (b.receiveBuyData.Contains(":")) { b.receiveBuyData = b.receiveBuyData.Replace("买方其他资料:", "").Replace("卖方其他资料:", ""); } string[] datas = b.receiveBuyData.Split(','); for (int i = 0; i < datas.Length; i++) { b.receiveBuyNoHaveData += datas[i] + ","; } b.receiveBuyNoHaveData = !string.IsNullOrEmpty(b.receiveBuyNoHaveData) ? b.receiveBuyNoHaveData.TrimEnd(',') : b.receiveBuyNoHaveData; } if (!string.IsNullOrEmpty(b.receiveSellData)) { //多个资料存在判断 if (b.receiveSellData.Contains(":")) { b.receiveSellData = b.receiveSellData.Replace("买方其他资料:", "").Replace("卖方其他资料:", ""); } string[] datas = b.receiveSellData.Split(','); for (int i = 0; i < datas.Length; i++) { b.receiveSellNoHaveData += datas[i] + ","; } b.receiveSellNoHaveData = !string.IsNullOrEmpty(b.receiveSellNoHaveData) ? b.receiveSellNoHaveData.TrimEnd(',') : b.receiveSellNoHaveData; } } return(b); }
/// <summary>银行按揭信息详情收到按揭资料分页查询 /// </summary> /// <param name="isHaveData"></param> /// <returns></returns> public List <receiveData> GetReceiveDataList(string contractid, bool isReceive, int pageIndex, int pageSize, ref int tableTotalCount) { List <receiveData> list_receiveData = new List <receiveData>(); SqlAgent sa = new SqlAgent(SysConfiguration.GetErpSqlConn()); sa.addSelect( "F_8100_01,F_8100_02,F_8100_03,F_8100_04,F_8100_05,F_8100_06,F_8100_07,F_8100_08,F_8100_09,F_992"); sa.addCondition("F_8100_02", contractid, CompareType.Equal, LogicType.none, ""); if (isReceive) { sa.addCondition("F_8100_05", 1, CompareType.Equal, LogicType.And, "");//已收到 } else { sa.addCondition("F_8100_05", 0, CompareType.Equal, LogicType.And, "");//缺失 } sa.addOrder("F_992", false); sa.pageNow = pageIndex - 1; sa.pageSize = pageSize; DataTable dt = sa.selectPage("T_8100"); tableTotalCount = sa.recordCount; sa.whereAppend = ""; if (dt == null || dt.Rows.Count == 0) { return(list_receiveData); } foreach (DataRow dr in dt.Rows) { receiveData b = new receiveData(); b.id = dr["F_8100_01"].ToString(); b.cid = dr["F_8100_02"].ToString(); b.receiveBuyData = dr["F_8100_03"].ToString(); b.receiveSellData = dr["F_8100_04"].ToString(); b.DataIsReceiveOK = bool.Parse(dr["F_8100_05"].ToString()); b.remark = dr["F_8100_07"].ToString(); b.arriveTime = dr["F_8100_08"].ToString(); b.operatorName = dr["F_8100_09"].ToString(); b.inputTime = dr["F_992"].ToString(); getData(b); if (!string.IsNullOrEmpty(b.receiveBuyHaveData)) { b.receiveBuyHaveData = b.receiveBuyHaveData.TrimEnd(','); } if (!string.IsNullOrEmpty(b.receiveSellHaveData)) { b.receiveSellHaveData = b.receiveSellHaveData.TrimEnd(','); } if (!string.IsNullOrEmpty(b.receiveBuyNoHaveData)) { b.receiveBuyNoHaveData = b.receiveBuyNoHaveData.TrimEnd(','); } if (!string.IsNullOrEmpty(b.receiveSellNoHaveData)) { b.receiveSellNoHaveData = b.receiveSellNoHaveData.TrimEnd(','); } list_receiveData.Add(b); } return(list_receiveData); }
//send a command to an address and wait for the client to response (bus mode) //response is NULL if client does not response within maximum response time (CANCMD_MAX_RESPONSE_TIME_MS) protected receiveData com_protocol_SendDataCommandInternal(UInt32 address, byte command, byte[] data, byte dataLength, bool responseMessage, byte responsePacketNumber) { if (Connected() == false) { return(null); } receiveData response = null; for (int i = 0; ((i < COM_PROTOCOL_MAX_RESPONSE_TRIES) && (response == null)); i++) { BufferIndex = 0; ClearChecksum(); Buffer[BufferIndex++] = COM_PROTOCOL_COMMAND_START; byte packetnmbr; if (responseMessage) { packetnmbr = responsePacketNumber; } else { packetnmbr = GetNextPacketNumber(); } AddToSendBuffer(packetnmbr); UpdateChecksum(packetnmbr); if (p2p_mode == false) { AddToSendBuffer((byte)(address >> 24)); UpdateChecksum((byte)(address >> 24)); AddToSendBuffer((byte)(address >> 16)); UpdateChecksum((byte)(address >> 16)); AddToSendBuffer((byte)(address >> 8)); UpdateChecksum((byte)(address >> 8)); AddToSendBuffer((byte)address); UpdateChecksum((byte)address); } AddToSendBuffer(dataLength); UpdateChecksum(dataLength); AddToSendBuffer(command); UpdateChecksum(command); for (int j = 0; j < dataLength; j++) { if (AddToSendBuffer(data[j]) == false) { //send buffer overflow return(null); } UpdateChecksum(data[j]); } if ((BufferIndex + 4) > COM_PROTOCOL_BUFFER_SIZE) { //send buffer overflow return(null); } AddToSendBuffer((byte)(GetChecksum() >> 8)); AddToSendBuffer((byte)GetChecksum()); try { Serport.Write(Buffer, 0, BufferIndex); //successfully send the data //delete any remaining data in the input buffer Serport.DiscardInBuffer(); } catch (System.Exception) { return(null); } if ((address == COM_PROTOCOL_ADDRESS_TO_ALL_NO_RESPONSE) || (responseMessage == true)) { //we are not expecting a response break; } else { CurrentReceiveState = com_protocol_receiveStates.RCV_start; ReceivedEscape = false; DateTime startTime = DateTime.Now; while ((DateTime.Now - startTime).TotalMilliseconds <= COM_PROTOCOL_MAX_RESPONSE_TIME_MS) { response = com_protocol_ReceiveUpdateInternal(address); if (response != null) { if ((((response.address != COM_PROTOCOL_ADDRESS_TO_ALL_NO_RESPONSE) && (response.address != COM_PROTOCOL_ADDRESS_TO_ALL)) || p2p_mode) && (response.packetNumber == packetnmbr)) { //valid response received break; } else { response = null; if (p2p_mode) { break; } } } Thread.Sleep(5); } } } CurrentReceiveState = com_protocol_receiveStates.RCV_start; ReceivedEscape = false; return(response); }
public void com_protocol_SendDataResponse_bus(receiveData receive_Data, byte response, byte[] data, byte dataLength) { com_protocol_SendDataCommandInternal(DeviceAddress, response, data, dataLength, true, receive_Data.packetNumber); }
public void com_protocol_SendResponse_bus(receiveData receive_Data, byte response) { com_protocol_SendDataCommandInternal(DeviceAddress, response, null, 0, true, receive_Data.packetNumber); }
public receiveData com_protocol_SendDataResponse_p2p(receiveData receive_Data, byte response, byte[] data, byte dataLength) { return(com_protocol_SendDataCommandInternal(0, response, data, dataLength, true, receive_Data.packetNumber)); }
public receiveData com_protocol_SendResponse_p2p(receiveData receive_Data, byte response) { return(com_protocol_SendDataCommandInternal(0, response, null, 0, true, receive_Data.packetNumber)); }