Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="bill">单据体</param>
        /// <param name="auditType">操作</param>
        /// <returns></returns>
        public string AuditBILL(ICPOBILLMODEL bill, AuditEnums auditType)
        {
            ICPOBILLStatus billStatus;

            Enum.TryParse(bill.FSTATUS.ToString(), out billStatus);
            string msg = "";

            if (CheckOption(billStatus, auditType))
            {
                bill.FCHECKDATE = DateTime.Now;
                bill.FCHECKERID = this.UserID;
                bill.FSTATUS    = (int)AuditionTypeDictionary[auditType];


                repository.Update(bill, new { FID = bill.FID });

                msg = $"【{auditType}】操作成功\r\n";
            }
            else
            {
                msg = $"【{billStatus}】状态的单据【{bill.FBILLNO}】不能进行【{auditType}】操作\r\n";
            }

            return(msg);
        }
Esempio n. 2
0
        public ICPOBILLAuditor(string userId, AuditEnums auditType)
        {
            InitAuditionTypeDictionary();
            InitTypesAuditions();

            this.UserID = userId;
        }
        public string AuditionICPOBILL(string userId, List <string> billnos, AuditEnums auditType)
        {
            ICPOBILLAuditor auditor = new ICPOBILLAuditor(userId, auditType);

            var repository = new DefaultRepository <ICPOBILLMODEL>(DBTypeEnums.ORACLE);

            var compare = new Dictionary <string, CompareEnum>();

            compare.Add("FBILLNO", CompareEnum.In);

            var bills = repository.SelectWithWhere(new { FBILLNO = billnos }, compare);

            var result = new StringBuilder();

            foreach (var b in bills)
            {
                var msg = auditor.AuditBILL(b, auditType);
                result.Append(msg);
            }

            return(result.ToString());
        }
Esempio n. 4
0
        public string CheckOption(List <string> billNos, AuditEnums auditType)
        {
            var compare = new Dictionary <string, CompareEnum>();

            compare.Add("FBILLNO", CompareEnum.In);

            var    bills = repository.SelectWithWhere(new { FBILLNO = billNos }, compare);
            string msg   = "";

            if (bills != null && bills.Count > 0)
            {
                ICPOBILLStatus billStatus;
                bills.ForEach(p =>
                {
                    Enum.TryParse(p.FSTATUS.ToString(), out billStatus);
                    if (!CheckOption(billStatus, auditType))
                    {
                        msg += $"【{billStatus}】状态的单据【{p.FBILLNO}】不能进行【{auditType}】操作";
                    }
                });
            }

            return(msg);
        }
Esempio n. 5
0
        private void AuditBill(AuditEnums auditType)
        {
            var           userId  = Global.LoginUser.FID;
            var           indexs  = gridView采购订单列表.GetSelectedRows();
            List <string> billNos = new List <string>();

            foreach (var i in indexs)
            {
                var billno = gridView采购订单列表.GetRowCellValue(i, "FBILLNO");
                if (billno != null || !string.IsNullOrEmpty(billno.ToString()))
                {
                    billNos.Add(billno.ToString());
                }
            }

            if (billNos.Count > 0)
            {
                var msg = _service.AuditionICPOBILL(userId, billNos.ToArray(), auditType);

                onSearch();

                MsgHelper.ShowInformation(msg);
            }
        }
Esempio n. 6
0
        private bool CheckOption(ICPOBILLStatus billStatus, AuditEnums auditType)
        {
            var options = TypesAuditions[billStatus];

            return(options.Contains(auditType));
        }
 public string AuditionICPOBILL(string userId, List <string> billNos, AuditEnums auditType)
 {
     return(methods.AuditionICPOBILL(userId, billNos, auditType));
 }