Exemplo n.º 1
0
        public String UpdateEXPStatusById(FormCollection form)
        {
            //取得費用單編號
            logger.Info("form:" + form.Count);
            logger.Info("EXP form Id:" + form["formnumber"]);
            string           msg = "";
            FIN_EXPENSE_FORM ef  = new FIN_EXPENSE_FORM();

            ef.OCCURRED_YEAR  = int.Parse(form.Get("year").Trim());
            ef.OCCURRED_MONTH = int.Parse(form.Get("month").Trim());
            ef.REMARK         = form.Get("remark").Trim();
            ef.CREATE_ID      = form.Get("createid").Trim();
            ef.PAYMENT_DATE   = Convert.ToDateTime(form.Get("paymentdate"));
            ef.CREATE_DATE    = Convert.ToDateTime(form.Get("createdate"));
            ef.STATUS         = int.Parse(form.Get("status").Trim());
            ef.MODIFY_DATE    = DateTime.Now;
            ef.EXP_FORM_ID    = form.Get("formnumber").Trim();
            ef.PROJECT_ID     = form.Get("projectid").Trim();
            ef.PAYEE          = form.Get("supplier").Substring(0, 7);
            string[] lstSubject = form.Get("subject").Split(',');
            string[] lstRemark  = form.Get("item_remark").Split(',');
            string[] lstUnit    = form.Get("unit").Split(',');
            string[] lstQty     = form.Get("item_quantity").Split(',');
            //可處理千分位符號!!
            string[] lstAmount              = (string[])form.GetValue("amount").RawValue;
            string[] lstPrice               = (string[])form.GetValue("unit_price").RawValue;
            string[] lstExpItemId           = form.Get("exp_item_id").Split(',');
            string   formid                 = form.Get("formnumber").Trim();
            List <FIN_EXPENSE_ITEM> lstItem = new List <FIN_EXPENSE_ITEM>();

            for (int j = 0; j < lstSubject.Count(); j++)
            {
                FIN_EXPENSE_ITEM item = new FIN_EXPENSE_ITEM();
                item.FIN_SUBJECT_ID = lstSubject[j];
                item.EXP_ITEM_ID    = int.Parse(lstExpItemId[j]);
                if (lstRemark[j].ToString() == "")
                {
                    item.ITEM_REMARK = null;
                }
                else
                {
                    item.ITEM_REMARK = lstRemark[j];
                }
                if (lstAmount[j].ToString() == "")
                {
                    item.AMOUNT = null;
                }
                else
                {
                    item.AMOUNT = decimal.Parse(lstAmount[j]);
                }
                if (lstPrice[j].ToString() == "")
                {
                    item.ITEM_UNIT_PRICE = null;
                }
                else
                {
                    item.ITEM_UNIT_PRICE = decimal.Parse(lstPrice[j]);
                }
                if (lstQty[j].ToString() == "")
                {
                    item.ITEM_QUANTITY = null;
                }
                else
                {
                    item.ITEM_QUANTITY = decimal.Parse(lstQty[j]);
                }
                if (lstUnit[j].ToString() == "")
                {
                    item.ITEM_UNIT = null;
                }
                else
                {
                    item.ITEM_UNIT = lstUnit[j];
                }
                logger.Debug("Expense Item Id =" + item.EXP_ITEM_ID + ", Subject Id =" + item.FIN_SUBJECT_ID + ", Amount =" + item.AMOUNT);
                lstItem.Add(item);
            }
            int i = service.refreshEXPForm(formid, ef, lstItem);

            //更新費用單狀態
            logger.Info("Update Expense Form Status");
            //費用單(已送審) STATUS = 20
            int k = service.RefreshEXPStatusById(formid);

            if (k == 0)
            {
                msg = service.message;
            }
            else if (form["projectid"] != null && form["projectid"] != "")
            {
                msg = "工地費用單已送審";
            }
            else
            {
                msg = "公司營業費用單已送審";
            }
            return(msg);
        }
Exemplo n.º 2
0
        public ActionResult AddExpense(FIN_EXPENSE_FORM ef, FormCollection form)
        {
            //新增公司費用申請單
            logger.Info("form:" + form.Count);
            string[] lstSubject = form.Get("subjectid").Split(',');
            //可處理千分位符號!!
            string[] lstAmount   = (string[])form.GetValue("input_amount").RawValue;
            string[] lstPrice    = (string[])form.GetValue("unit_price").RawValue;
            string[] lstRemark   = form.Get("item_remark").Split(',');
            string[] lstUnit     = form.Get("unit").Split(',');
            string[] lstQty      = form.Get("item_quantity").Split(',');
            string[] SubjectList = form.Get("subjectlist").Split(',');
            logger.Debug("SubjectList = " + SubjectList);
            //建立公司/工地費用單號
            logger.Info("create new Operating Expense Form");
            if (null != form["projectid"] || form["projectid"] != "")
            {
                ef.PROJECT_ID = form["projectid"];
            }
            SYS_USER uInfo = (SYS_USER)Session["user"];

            if (null != Request["paymentdate"] && "" != Request["paymentdate"])
            {
                ef.PAYMENT_DATE = Convert.ToDateTime(Request["paymentdate"]);
            }
            ef.OCCURRED_YEAR  = int.Parse(Request["paymentdate"].Substring(0, 4));
            ef.OCCURRED_MONTH = int.Parse(Request["paymentdate"].Substring(5, 2));
            ef.CREATE_DATE    = DateTime.Now;
            ef.CREATE_ID      = uInfo.USER_ID;
            ef.REMARK         = Request["remark"];
            ef.PAYEE          = Request["supplier"];
            ef.STATUS         = 10;
            string fid = service.newExpenseForm(ef);
            //建立公司/工費用單明細
            List <FIN_EXPENSE_ITEM> lstItem = new List <FIN_EXPENSE_ITEM>();

            for (int j = 0; j < lstSubject.Count(); j++)
            {
                FIN_EXPENSE_ITEM item = new FIN_EXPENSE_ITEM();
                item.FIN_SUBJECT_ID = SubjectList[int.Parse(lstSubject[j])];
                item.ITEM_REMARK    = lstRemark[j];
                item.ITEM_UNIT      = lstUnit[j];
                if (lstAmount[j].ToString() == "")
                {
                    item.AMOUNT = null;
                }
                else
                {
                    item.AMOUNT = decimal.Parse(lstAmount[j]);
                }
                if (lstPrice[j].ToString() == "")
                {
                    item.ITEM_UNIT_PRICE = null;
                }
                else
                {
                    item.ITEM_UNIT_PRICE = decimal.Parse(lstPrice[j]);
                }
                if (lstQty[j].ToString() == "")
                {
                    item.ITEM_QUANTITY = null;
                }
                else
                {
                    item.ITEM_QUANTITY = decimal.Parse(lstQty[j]);
                }
                logger.Info("Operating Expense Subject =" + item.FIN_SUBJECT_ID + ", and Amount = " + item.AMOUNT);
                item.EXP_FORM_ID = fid;
                logger.Debug("Item EX form id =" + item.EXP_FORM_ID);
                lstItem.Add(item);
            }
            int i = service.AddExpenseItems(lstItem);

            //建立公司費用申請參考流程
            if (null == form["projectid"] || form["projectid"] == "")
            {
                Flow4CompanyExpense flowService = new Flow4CompanyExpense();
                logger.Debug("Item Count =" + i);
                flowService.iniRequest(uInfo, fid);
            }
            else
            {
                //建立工地費用申請參考流程
                Flow4SiteExpense flowService = new Flow4SiteExpense();
                logger.Debug("Item Count =" + i);
                flowService.iniRequest(uInfo, fid);
            }
            return(Redirect("SingleEXPForm?id=" + fid));
        }