Ejemplo n.º 1
0
        /// <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(',');
            }
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        //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);
        }
Ejemplo n.º 5
0
 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);
 }
Ejemplo n.º 6
0
 public void com_protocol_SendResponse_bus(receiveData receive_Data, byte response)
 {
     com_protocol_SendDataCommandInternal(DeviceAddress, response, null, 0, true, receive_Data.packetNumber);
 }
Ejemplo n.º 7
0
 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));
 }
Ejemplo n.º 8
0
 public receiveData com_protocol_SendResponse_p2p(receiveData receive_Data, byte response)
 {
     return(com_protocol_SendDataCommandInternal(0, response, null, 0, true, receive_Data.packetNumber));
 }