Beispiel #1
0
        /// <summary>
        /// 更新订单的收款信息
        /// </summary>
        /// <param name="dt"></param>
        private void UpdateOrderColect(DataTable dt)
        {
            To_ClaimDetailManager manage = new To_ClaimDetailManager();

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                double hasAmount    = manage.GetHasAmount(dt.Rows[i]["orderCollectId"].ToString());
                double shouldAmount = Convert.IsDBNull(dt.Rows[i]["money"]) ? 0 : Convert.ToDouble(dt.Rows[i]["money"]);
                string getstatsu    = "";
                if (hasAmount == 0)
                {
                    getstatsu = "未收款";
                }
                else if (shouldAmount > hasAmount)
                {
                    getstatsu = "部分收款";
                }
                else
                {
                    getstatsu = "完成收款";
                }
                To_OrderCollectDetialManager.updateDetialStatusAndMoney(dt.Rows[i]["orderCollectId"].ToString(), getstatsu, hasAmount.ToString());
            }
        }
Beispiel #2
0
        /// <summary>
        /// 保存收款认领明细数据的方法
        /// </summary>
        /// <param name="claimId">收款认领单id</param>
        /// <param name="collectId">收款单id</param>
        private void SaveClaimDetail(int claimId, int collectId)
        {
            IList <string> orderColectIDs = new List <string>();

            To_CollectingManager.ChangeClaim(Convert.ToInt32(Request.QueryString["id"]), chkFinish.Checked ? 2 : 1);
            if (chkFinish.Checked)
            {
                SendMessage(collectId, LblMaker.Text, 1);
            }
            else
            {
                SendMessage(collectId, LblMaker.Text, 0);
            }
            if (HidClaimDetail.Value.Trim() != string.Empty)
            {
                To_ClaimDetailManager claimDetailManager = new To_ClaimDetailManager();
                string[] items = HidClaimDetail.Value.Trim().TrimEnd('@').Split('@');
                if (items.Length > 0)
                {
                    To_ClaimDetail claimDetail = new To_ClaimDetail();
                    foreach (string item in items)
                    {
                        string[] detail = item.Trim().Split('$');
                        if (detail.Length > 0)
                        {
                            claimDetail.claimID        = claimId;              //收款单id
                            claimDetail.orderCollectId = int.Parse(detail[0]); //订单表收款信息明细表id
                            if (!orderColectIDs.Contains(detail[0]))
                            {
                                orderColectIDs.Add(detail[0]);
                            }
                            claimDetail.orderCusId    = int.Parse(hidComID.Value); //付款单位id
                            claimDetail.orderNum      = detail[1];                 //订单编号
                            claimDetail.receiptAmount = decimal.Parse(detail[2]);  //应收金额(在编辑的时候还是要去该订单表收款明细的应收金额,因为这个应收金额可能会变)
                            claimDetail.realAmount    = decimal.Parse(detail[3]);  //本次收款金额
                            claimDetail.mark          = detail[4];                 //备注

                            claimDetailManager.Add(claimDetail);
                        }
                    }
                }

                //更新收款信息明细表的收款状态和实际收款金额
                for (int i = 0; i < orderColectIDs.Count; i++)
                {
                    if (orderColectIDs[i] != "")
                    {
                        double hasAmount    = claimDetailManager.GetHasAmount(orderColectIDs[i]);                                            //得到该收款信息明细表关联的所有认领过的金额
                        double shouldAmount = To_OrderCollectDetialManager.getTo_OrderCollectDetialById(int.Parse(orderColectIDs[i])).Money; //得到应收金额
                        string getstatus    = "";
                        if (hasAmount == 0)
                        {
                            getstatus = "未收款";
                        }
                        else if (shouldAmount > hasAmount)
                        {
                            getstatus = "部分收款";
                        }
                        else
                        {
                            getstatus = "完成收款";
                        }
                        To_OrderCollectDetialManager.updateDetialStatusAndMoney(orderColectIDs[i], getstatus, hasAmount.ToString());
                    }
                }
            }
        }