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); }
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)); }