public async Task<string> UptPlanEnergyResult_2015(UptPlanEnergyResult_2015Param param) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); var pass_state = StateCheck(param.CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { var item = await db.PlanEnergyResult_2015.FindAsync(param.CustId, param.YY, param.item); var md = param.md; if (item != null) { //item.item = md.item; item.save_src = md.save_src; item.eng_type = md.eng_type; item.save_code = md.save_code; item.act_exec = md.act_exec; item.act_area = md.act_area; item.act_target = md.act_target; item.act_text = md.act_text; item.chg_before = md.chg_before; item.chg_after = md.chg_after; item.y1 = md.y1; item.m1 = md.m1; item.y2 = md.y2; item.m2 = md.m2; item.fma_no1_text = md.fma_no1_text; item.fma_no21_1_B1 = md.fma_no21_1_B1; item.fma_no21_1_B2 = md.fma_no21_1_B2; item.fma_no21_1_B3 = md.fma_no21_1_B3; item.fma_no21_1_B4 = md.fma_no21_1_B4; item.fma_no21_2_B1 = md.fma_no21_2_B1; item.fma_no21_2_B2 = md.fma_no21_2_B2; item.fma_no21_2_B3 = md.fma_no21_2_B3; item.fma_no21_2_B4 = md.fma_no21_2_B4; item.fma_no22_C1 = md.fma_no22_C1; item.fma_no22_C2 = md.fma_no22_C2; item.fma_no22_C3 = md.fma_no22_C3; item.fma_no22_C4 = md.fma_no22_C4; item.fma_no22_C5 = md.fma_no22_C5; item.fma_no22_C6 = md.fma_no22_C6; item.fma_no22_D1 = md.fma_no22_D1; item.fma_no22_D2 = md.fma_no22_D2; item.fma_no22_D3 = md.fma_no22_D3; item.fma_no22_D4 = md.fma_no22_D4; item.fma_no22_D5 = md.fma_no22_D5; item.fma_no22_D6 = md.fma_no22_D6; item.fma_no22_C6_Frm = md.fma_no22_C6_Frm; item.fma_no22_D6_Frm = md.fma_no22_D6_Frm; item.fma_no22_E = md.fma_no22_E; item.fma_no23 = md.fma_no23; item.fma_no3_F = md.fma_no3_F; item.eff_no11_1_g1 = md.eff_no11_1_g1; item.eff_no11_1_g2 = md.eff_no11_1_g2; item.eff_no11_1_g3 = md.eff_no11_1_g3; item.eff_no11_2_g1 = md.eff_no11_2_g1; item.eff_no11_2_g2 = md.eff_no11_2_g2; item.eff_no11_2_g3 = md.eff_no11_2_g3; item.eff_other = md.eff_other; item.eff_save_money = md.eff_save_money; item.inves_no1_1_text = md.inves_no1_1_text; item.inves_no1_1_i1 = md.inves_no1_1_i1; item.inves_no1_1_i2 = md.inves_no1_1_i2; item.inves_no1_1_i3 = md.inves_no1_1_i3; item.inves_no1_1_i4 = md.inves_no1_1_i4; item.inves_no1_2_text = md.inves_no1_2_text; item.inves_no1_2_i1 = md.inves_no1_2_i1; item.inves_no1_2_i2 = md.inves_no1_2_i2; item.inves_no1_2_i3 = md.inves_no1_2_i3; item.inves_no1_2_i4 = md.inves_no1_2_i4; item.inves_no2_1_text = md.inves_no2_1_text; item.inves_no2_1_i5 = md.inves_no2_1_i5; item.inves_no2_2_text = md.inves_no2_2_text; item.inves_no2_2_i6 = md.inves_no2_2_i6; item.inves_total = md.inves_total; item.ECMCECID = md.ECMCECID; item.ECMCTypeCode = md.ECMCTypeCode; item.ECMMECID = md.ECMMECID; item.start_m = md.start_m; item.end_m = md.end_m; item.restrain_amt = md.restrain_amt; item.CalToOilKi = CalToOilKi(md.eng_type, (decimal)md.fma_no3_F); } else { r.result = false; r.message = "查無資料!"; return defJSON(r); } await db.SaveChangesAsync(); RItemPlanEnergyResult_2015(md.CustID, md.YY); RecordReportList(param.CustId, param.YY, "JB1"); r.result = true; } catch (DbEntityValidationException ex) { r.result = false; r.message = getDbEntityValidationException(ex); return defJSON(r); } catch (Exception ex) { r.result = false; r.message = ex.Message; return defJSON(r); } finally { db.Dispose(); } return defJSON(r); }
public string aj_FDownB(string CustId, string YY, string Kind, string Item, string fileName) { AjaxResult r = new AjaxResult(); string path = "~/Upload/" + YY + "/" + CustId + "/" + Kind + "/" + Item + "/" + fileName; string spath = Server.MapPath(path); try { if (System.IO.File.Exists(spath)) { byte[] bytes = System.IO.File.ReadAllBytes(spath); OutPutForIE8(bytes, fileName); } else { r.message = "找不到此檔" + path; r.result = false; } } catch (Exception ex) { r.result = false; r.message = ex.Message; } return defJSON(r); }
public async Task<string> UptFloorElecYear(UptUptFloorElecYearParm obj) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); var pass_state = StateCheck(obj.CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { var e = await db.FloorElecYear .AnyAsync(x => x.CustID == obj.CustId && x.YY == obj.YY); if (e) { var item = await db.FloorElecYear.FindAsync(obj.CustId, obj.YY); var md = obj.md; item.d_q_no1 = md.d_q_no1; item.d_q_no2 = md.d_q_no2; item.d_q_no3 = md.d_q_no3; item.d_q_no4 = md.d_q_no4; item.d_q_no5 = md.d_q_no5; item.d_q_no6 = md.d_q_no6; item.d_q_no7 = md.d_q_no7; item.d_q_no7_memo = md.d_q_no7_memo; item.i_q_no1 = md.i_q_no1; item.i_q_no2 = md.i_q_no2; item.i_q_no3 = md.i_q_no3; item.i_q_no4 = md.i_q_no4; item.i_q_no5 = md.i_q_no5; item.i_q_no6 = md.i_q_no6; item.i_q_no7 = md.i_q_no7; item.i_q_no7_memo = md.i_q_no7_memo; item.reason = md.reason; item.i_q_no8 = md.i_q_no8; item.i_q_no9 = md.i_q_no9; } else { //db.FloorElecQ.Add(obj.md); } await db.SaveChangesAsync(); r.result = true; return defJSON(r); } catch (Exception ex) { r.result = false; r.message = ex.Message; return defJSON(r); } finally { db.Dispose(); } }
public async Task<string> GetExamineReport_Accept(string CustId, int YY, string LoginId) { var db = new EnergyNetEntities(); var r = new AjaxResult(); //Log.Write(new string[] { "LoginID Count", Session.Count.ToString() }); //Log.Write(new string[] { "LoginID:", (string)Session["n_LoginID"] }); //Log.WriteToFile(); try { var examine_rport = await db.ExamineReport.FindAsync(new object[] { CustId, YY }); if (examine_rport != null) { db.ExamineReport.Remove(examine_rport); } var item = await db.ExamineReport_Master.FindAsync(new object[] { CustId, YY }); if (item != null) { item.IsReject = false; item.AtuCheckerId = LoginId; item.CheckDate = DateTime.Now; item.InitPassDate = DateTime.Now; } await db.SaveChangesAsync(); r.result = true; } catch (Exception ex) { r.result = false; r.message = ex.Message; } return defJSON(r); }
public async Task<string> PostMailScheduleIsSend(int id) { AjaxResult r = new AjaxResult(); var db = new EnergyNetEntities(); var item = await db.Mail_Schedule.FindAsync(id); if (item != null) { item.isSend = true; item.sendtime = DateTime.Now; await db.SaveChangesAsync(); r.result = true; } return defJSONNull(r); }
public async Task<string> GetGradData(string CustId, int YY, string pno, string checkerid) { var db = new EnergyNetEntities(); var r = new AjaxResult<IEnumerable<Graid_Detail>>(); try { #region Code var item1 = await db.ExamineReport_Master.FindAsync(new object[] { CustId, YY }); if (item1 == null) { r.message = "無申報完成項目記錄"; r.result = false; } var item2 = await db.ExamineReport_Record .Where(x => x.CustID == CustId && x.YY == YY).OrderByDescending(x => x.examine_report_record_id).FirstOrDefaultAsync(); if (item2 == null) { r.message = "無申報完成項明細目記錄"; r.result = false; } var examine_report_record_id = item2.examine_report_record_id; var item3 = await db.Grad.Where(x => x.examine_report_record_id == examine_report_record_id) .OrderByDescending(x => x.grad_id) .FirstOrDefaultAsync(); var master_id = item3.grad_id; #endregion var item4 = await db.Graid_Detail.Where(x => x.graid_id == master_id && x.repord_id == pno) .ToListAsync(); r.data = item4; r.result = true; } catch (Exception ex) { r.result = false; r.message = getException(ex); throw; } finally { db.Dispose(); } return defJSON(r); }
public async Task<string> GetGradItem(string CustId, int YY, string pno, int item, string checkerid) { var db = new EnergyNetEntities(); var r = new AjaxResult<IEnumerable<Graid_Item>>(); try { #region Code var item1 = await db.ExamineReport_Master.FindAsync(new object[] { CustId, YY }); if (item1 == null) { r.message = "無申報完成項目記錄"; r.result = false; } var item2 = await db.ExamineReport_Record .Where(x => x.CustID == CustId && x.YY == YY).OrderByDescending(x => x.examine_report_record_id).FirstOrDefaultAsync(); if (item2 == null) { r.message = "無申報完成項明細目記錄"; r.result = false; } var examine_report_record_id = item2.examine_report_record_id; var item3 = await db.Grad.Where(x => x.CustId == CustId && x.YY == YY && x.examine_report_record_id == examine_report_record_id) .OrderByDescending(x => x.grad_id) .FirstOrDefaultAsync(); var master_id = 0; if (item3 == null) { var item_prv = await db.Grad.Where(x => x.CustId == CustId && x.YY == YY) .OrderByDescending(x => x.grad_id) .FirstOrDefaultAsync(); var md = new Grad() { CustId = CustId, YY = YY, check_date = DateTime.Now, examine_report_record_id = examine_report_record_id, checker = checkerid }; db.Grad.Add(md); await db.SaveChangesAsync(); master_id = md.grad_id; if (item_prv != null) //copy 上次資料 { var details = db.Graid_Item.Where(x => x.graid_id == item_prv.grad_id); foreach (var detail in details) { var mds = new Graid_Item(); mds.graid_id = master_id; mds.repord_id = detail.repord_id; mds.opt_id = detail.opt_id; mds.mem = detail.mem; mds.item = detail.item; db.Graid_Item.Add(mds); } await db.SaveChangesAsync(); } } else { master_id = item3.grad_id; } #endregion var item4 = await db.Graid_Item.Where(x => x.graid_id == master_id && x.repord_id == pno && x.item == item) .ToListAsync(); r.data = item4; r.result = true; } catch (Exception ex) { r.result = false; r.message = getException(ex); throw; } finally { db.Dispose(); } return defJSON(r); }
public async Task<string> InsPlanNotGoal_No4(InsPlanNotGoal_No4Param param) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); var pass_state = StateCheck(param.CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { var md = param.md; md.item = (new Random()).Next(1000, 2000); db.PlanNotGoal_No4.Add(md); await db.SaveChangesAsync(); RItemPlanNotGoal_No4(md.CustID, md.YY); r.result = true; } catch (Exception ex) { r.result = false; r.message = ex.ToString(); Log.Write(ex.ToString()); Log.WriteToFile(); return defJSON(r); } finally { db.Dispose(); } return defJSON(r); }
public async Task<string> UptPlanNotGoal_No4(UptPlanNotGoal_No4Param param) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); var pass_state = StateCheck(param.CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { var md = param.md; var item = await db.PlanNotGoal_No4.FindAsync(new object[] { param.CustId, param.YY, param.item }); item.item = md.item; item.doing = md.doing; item.target = md.target; item.fam_text = md.fam_text; item.save_amt = md.save_amt; item.save_money = md.save_money; item.invest = md.invest; item.y1 = md.y1; item.y2 = md.y2; await db.SaveChangesAsync(); RItemPlanNotGoal_No4(md.CustID, md.YY); r.result = true; } catch (Exception ex) { r.result = false; r.message = ex.Message; return defJSON(r); } finally { db.Dispose(); } return defJSON(r); }
public async Task<string> UptPlanNotGoal(UptPlanNotGoalParam param) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); var pass_state = StateCheck(param.CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { var item = await db.PlanNotGoal.FindAsync(param.CustId, param.YY); var md = param.md; if (item != null) { item.no1_text = md.no1_text; item.no2_text = md.no2_text; item.no3_fam_text = md.no3_fam_text; item.no3_fam_select = md.no3_fam_select; item.no3_fam_select_5_memo = md.no3_fam_select_5_memo; item.no3_eff_100 = md.no3_eff_100; item.no3_eff_101 = md.no3_eff_101; item.no3_eff_102 = md.no3_eff_102; item.no3_eff_103 = md.no3_eff_103; item.no3_eff_104 = md.no3_eff_104; item.no3_eff_rate = md.no3_eff_rate; item.no3_save_text = md.no3_save_text; item.no3_save_amt_100 = md.no3_save_amt_100; item.no3_save_amt_101 = md.no3_save_amt_101; item.no3_save_amt_102 = md.no3_save_amt_102; item.no3_save_amt_103 = md.no3_save_amt_103; item.no3_save_amt_104 = md.no3_save_amt_104; item.no3_use_amt_100 = md.no3_use_amt_100; item.no3_use_amt_101 = md.no3_use_amt_101; item.no3_use_amt_102 = md.no3_use_amt_102; item.no3_use_amt_103 = md.no3_use_amt_103; item.no3_use_amt_104 = md.no3_use_amt_104; item.no5_text_1 = md.no5_text_1; item.no5_text_2 = md.no5_text_2; item.no5_text_3 = md.no5_text_3; item.no5_text_4 = md.no5_text_4; item.no7_text = md.no7_text; item.no6_text = md.no6_text; item.no3_save_rate = md.no3_save_rate; item.no_goal_havesave_option = md.no_goal_havesave_option; item.no0_text = md.no0_text; item.no0_year_amt = md.no0_year_amt; item.elec_use_100 = md.elec_use_100; item.elec_use_101 = md.elec_use_101; item.elec_use_102 = md.elec_use_102; item.elec_use_103 = md.elec_use_103; item.elec_use_104 = md.elec_use_104; item.sour_use_100 = md.sour_use_100; item.sour_use_101 = md.sour_use_101; item.sour_use_102 = md.sour_use_102; item.sour_use_103 = md.sour_use_103; item.sour_use_104 = md.sour_use_104; } else { db.PlanNotGoal.Add(md); } await db.SaveChangesAsync(); RecordReportList(param.CustId, param.YY, "JB4"); r.result = true; } catch (Exception ex) { r.result = false; r.message = ex.Message; return defJSON(r); } finally { db.Dispose(); } return defJSON(r); }
public async Task<string> UptEnergyPushState(UptEnergyPushStateParm obj) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); Log.Write("Check Put", obj.CustId, obj.YY.ToString()); Log.WriteToFile(); var pass_state = StateCheck(obj.CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { var item = await db.EnergyPushState.FindAsync(new object[] { obj.CustId, obj.YY }); var md = obj.md; item.push_no_1 = md.push_no_1; item.push_no_2 = md.push_no_2; item.push_no_3 = md.push_no_3; item.push_no_4 = md.push_no_4; item.push_no_5 = md.push_no_5; item.push_no_6 = md.push_no_6; item.push_no_7 = md.push_no_7; item.push_no_8 = md.push_no_8; item.push_no_9 = md.push_no_9; item.push_no_10 = md.push_no_10; item.push_no_10_memo = md.push_no_10_memo; item.push_no_11 = md.push_no_11; item.push_no_11_memo = md.push_no_11_memo; item.push_no_12 = md.push_no_12; item.push_no_12_memo = md.push_no_12_memo; item.push_no_13 = md.push_no_13; item.push_no_13_memo = md.push_no_13_memo; item.push_no_14 = md.push_no_14; item.push_no_14_memo = md.push_no_14_memo; item.push_no_15 = md.push_no_15; item.push_no_15_memo = md.push_no_15_memo; item.push_no_1_year = md.push_no_1_year; item.push_no_1_near_year = md.push_no_1_near_year; await db.SaveChangesAsync(); db.Dispose(); RecordReportList(md.CustID, md.YY, "J42"); r.result = true; return defJSON(r); } catch (Exception ex) { r.result = false; r.message = ex.Message; return defJSON(r); } finally { db.Dispose(); } }
public async Task<string> UptPlanEnergyAnalysis(UptPlanEnergyAnalysisParam param) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); var pass_state = StateCheck(param.CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { var item = await db.PlanEnergyAnalysis.FindAsync(param.CustId, param.YY); var md = param.md; var s = new decimal?[] { md.no1_amt, md.no2_amt }; if (item != null) { item.no_sum = s.Sum(); item.cale_type = md.cale_type; if (md.cale_type == "1") { md.use_rate = (md.ElecSave / (md.ElecSave + md.use_104_amt - md.no_sum)) * 100; } if (md.cale_type == "2") { md.use_rate = (md.ElecSave / (md.ElecSave + md.use_other_value)) * 100; } item.ElecSave = md.ElecSave; item.use_104_amt = md.use_104_amt; item.no1_amt = md.no1_amt; item.no2_amt = md.no2_amt; item.use_rate = md.use_rate; item.use_other_memo = md.use_other_memo; item.use_other_value = md.use_other_value; } else { md.no_sum = (decimal)s.Sum(); if (md.cale_type == "1") { md.use_rate = (md.ElecSave / (md.ElecSave + md.use_104_amt - md.no_sum)) * 100; } if (md.cale_type == "2") { md.use_rate = (md.ElecSave / (md.ElecSave + md.use_other_value - md.no_sum)) * 100; } db.PlanEnergyAnalysis.Add(md); } await db.SaveChangesAsync(); RecordReportList(param.CustId, param.YY, "JB3"); r.result = true; } catch (DbEntityValidationException ex) { r.result = false; r.message = getDbEntityValidationException(ex); return defJSON(r); } catch (Exception ex) { r.result = false; r.message = getException(ex); return defJSON(r); } finally { db.Dispose(); } return defJSON(r); }
public async Task<string> InsEnergyPushState(EnergyPushState md) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); var pass_state = StateCheck(md.CustID); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { db.EnergyPushState.Add(md); await db.SaveChangesAsync(); db.Dispose(); RecordReportList(md.CustID, md.YY, "J42"); r.result = true; return defJSON(r); } catch (Exception ex) { r.result = false; r.message = ex.Message; return defJSON(r); } finally { db.Dispose(); } }
public async Task<string> UptPlanEnergyResult_Grid_2015(UptPlanEnergyResult_2015Param param) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); var pass_state = StateCheck(param.CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { var item = await db.PlanEnergyResult_2015.FindAsync(param.CustId, param.YY, param.item); var md = param.md; if (item != null) { item.start_m = md.start_m; item.end_m = md.end_m; item.restrain_amt = md.restrain_amt; } else { r.result = false; r.message = "查無資料!"; return defJSON(r); } await db.SaveChangesAsync(); r.result = true; } catch (Exception ex) { r.result = false; r.message = ex.Message; return defJSON(r); } finally { db.Dispose(); } return defJSON(r); }
public async Task<string> UptExamineReport_Record(UptExamineReport_RecordParm param) { var db = new EnergyNetEntities(); var tran = db.Database.BeginTransaction(); AjaxResult r = new AjaxResult(); var pass_state = StateCheck(param.CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { #region Check Code var report_items = await db.ReportList_2015.Where(x => x.YY == param.YY && x.CustID == param.CustId).ToListAsync(); IList<string> messages = new List<string>(); var itmA = await db.SaveEnergyAnalysis.FindAsync(new object[] { param.CustId, param.YY }); var itmB = await db.PlanEnergyAnalysis.FindAsync(new object[] { param.CustId, param.YY }); var power = db.NotApplyCustID.Where(x => x.cust_id == param.CustId).FirstOrDefault(); decimal? itmC = 0; decimal? itmD = 0; if (itmA != null) { itmC = itmA.elec_save_rate; } if (itmB != null) { itmD = itmB.use_rate; } if (power == null) { if (!report_items.Any(x => x.ReportNO == "JA4") && itmC < 1) { messages.Add("10.4、104年執行計畫平均年節電率未達1%說明 尚未填寫"); } if (itmD == null && itmD < 1 && !report_items.Any(x => x.ReportNO == "JB4")) { messages.Add("11.4、105年執行計畫年度節電率未達1%說明 尚未填寫"); } } var ck_5_4 = await CheckFloorElecQY(param.CustId, param.YY); var ck_5_5 = await CheckFloorHeatQY(param.CustId, param.YY); Log.Write(ck_5_4); Log.Write(ck_5_5); var de_5_4 = JsonConvert.DeserializeObject<CheckFloorElec>(ck_5_4); var de_5_5 = JsonConvert.DeserializeObject<CheckFloorHeat>(ck_5_5); Log.Write(de_5_4.q.Count().ToString()); Log.Write((de_5_4.y == null).ToString()); Log.WriteToFile(); if (report_items != null) { if (!report_items.Any(x => x.ReportNO == "J42")) { messages.Add("4.2 能源管理政策推動情形 尚未填寫"); } if (!report_items.Any(x => x.ReportNO == "J54")) { if (power != null && power.cust_name.Contains("變電站")) { } else { messages.Add("5.4 電能績效自我評比表 尚未填寫"); if (de_5_4.q.Count() > 0 || de_5_4.y != null) { messages.Add("5.4 電能績效自我評比表 資料尚未填寫完整"); } } } if (!report_items.Any(x => x.ReportNO == "J55")) { if (power != null && power.cust_name.Contains("變電站")) { } else { messages.Add("5.5 熱能績效自我評比表 尚未填寫"); if (de_5_5.q.Count() > 0 || de_5_5.y != null) { messages.Add("5.5 熱能績效自我評比表 資料尚未填寫完整"); } } } if (!report_items.Any(x => x.ReportNO == "J95")) { messages.Add("9.5 重大使用能源設備登錄表 尚未填寫"); } if (!report_items.Any(x => x.ReportNO == "JA1")) { messages.Add("10.1 104年節約能源改善方案具體成效分析表 尚未填寫"); } if (!report_items.Any(x => x.ReportNO == "JA3")) { messages.Add("10.3 104年執行計畫之平均年節電率 尚未填寫"); } if (!report_items.Any(x => x.ReportNO == "JB1")) { messages.Add("11.1 105年節約能源措施執行計畫表 尚未填寫"); } if (!report_items.Any(x => x.ReportNO == "JB3")) { messages.Add("11.3 105年執行計畫之年度節電率 尚未填寫"); } } var ck_9_1 = await CheckAirConditioning_2015IsOk(param.CustId, param.YY, null); var ck_9_3 = await CheckOtherElecPlant_2015IsOk(param.CustId, param.YY, null); Log.Write(new string[] { "ck 91", ck_9_1 }); Log.Write(new string[] { "ck 93", ck_9_3 }); Log.WriteToFile(); var de_9_1 = JsonConvert.DeserializeObject<CKBuildAir>(ck_9_1); var de_9_3 = JsonConvert.DeserializeObject<CKBuildAir>(ck_9_3); if (de_9_1.Builds.Count() > 0) { messages.Add("9.1 空調系統 資料尚未填寫完整"); } if (de_9_3.Builds.Count() > 0) { messages.Add("9.3 其它系統 資料尚未填寫完整"); } if (messages.Count() > 0) { r.result = false; r.messages = messages.ToArray(); return defJSONNull(r); } #endregion var master = await db.ExamineReport_Master.FindAsync(new object[] { param.CustId, param.YY }); var state = "D"; if (master == null) //代表第一次提出 申報完成 { #region Add Code var checkerid = ""; var checkername = ""; var builebase = await db.BuileBase.FindAsync(new object[] { param.CustId, param.YY }); if (!string.IsNullOrEmpty(builebase.CheckerId)) { var user = await db.Tb_Login.FindAsync(builebase.CheckerId); checkerid = builebase.CheckerId; if (user != null && !string.IsNullOrEmpty(user.LoginName)) { checkername = user.LoginName; } } var md = new ExamineReport_Master(); md.YY = param.YY; md.CustID = param.CustId; md.GreenCheckState = "C"; //尚未審核 md.EconCheckState = "D"; md.DeliverDate = DateTime.Now; md.CheckerId = checkerid; md.CheckerName = checkername; md.CheckCount = 0; md.IsReject = false; md.AtuCheckerId = ""; md.State = "D"; db.ExamineReport_Master.Add(md); #endregion } else { if (master.GreenCheckState == "B") { state = master.State; master.FixDate = DateTime.Now; //補正日期 master.GreenCheckState = "D"; //補正尚未審核 master.IsReject = false; master.State = "D"; } } var detail = await db.ExamineReport_Record.Where(x => x.YY == param.YY && x.CustID == param.CustId) .OrderByDescending(x => x.examine_report_record_id) .FirstOrDefaultAsync(); if (detail != null && state == "D") { var diff = DateTime.Now - (DateTime)detail.DeliverDate; Log.Write(new string[] { "Check UptExamineReport diff", diff.Days.ToString() }); if (diff.Days == 0) { detail.DeliverDate = DateTime.Now; } else { //如果超過一天 要新增新的 var md = param.md; if (detail.CheckType == "B") { detail.DeliverDate = null; //這是上一筆 } md.DeliverDate = DateTime.Now; db.ExamineReport_Record.Add(md); } } else if (detail == null) { var md = param.md; md.DeliverDate = DateTime.Now; db.ExamineReport_Record.Add(md); } else if (detail != null && state == "F") { detail.FixDate = DateTime.Now; var md = param.md; md.DeliverDate = DateTime.Now; db.ExamineReport_Record.Add(md); } var item2 = await db.ExamineReport.FindAsync(new object[] { param.CustId, param.YY }); var frmDate = DateTime.Parse(DateTime.Now.ToString("yyyy/MM/dd 00:00:00")); if (item2 != null) { item2.Finish = "Y"; item2.MDate = frmDate; } else { var md = new ExamineReport() { CustID = param.CustId, YY = param.YY, Finish = "Y", MDate = frmDate }; db.ExamineReport.Add(md); } await db.SaveChangesAsync(); r.result = true; tran.Commit(); } catch (Exception ex) { tran.Rollback(); r.result = false; r.message = getException(ex) + ex.StackTrace; return defJSON(r); } finally { tran.Dispose(); db.Dispose(); } return defJSON(r); }
public async Task<string> DelPlanNotGoal_No4(string CustId, int YY, int item) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); var pass_state = StateCheck(CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { var itm = await db.PlanNotGoal_No4.FindAsync(new object[] { CustId, YY, item }); db.PlanNotGoal_No4.Remove(itm); await db.SaveChangesAsync(); RItemPlanNotGoal_No4(CustId, YY); r.result = true; return defJSON(r); } catch (Exception ex) { r.result = false; r.message = ex.Message; return defJSON(r); } finally { db.Dispose(); } }
public async Task<string> GetGradList(string CustId, int YY) { var db = new EnergyNetEntities(); var r = new AjaxResult<IList<IGrouping<string, Graid_Detail>>>(); try { #region Code 檢查是否有申報完成 var exam_record = await db.ExamineReport_Record .Where(x => x.CustID == CustId && x.YY == YY) .OrderByDescending(x => x.examine_report_record_id) .FirstOrDefaultAsync(); if (exam_record == null) { r.message = "無申報完成項明細目記錄"; r.result = false; } var examine_report_record_id = exam_record.examine_report_record_id; var grad = await db.Grad.Where(x => x.examine_report_record_id == examine_report_record_id) .OrderByDescending(x => x.grad_id) .FirstOrDefaultAsync(); var master_id = 0; if (grad == null) { #region Code var item_prv = await db.Grad.Where(x => x.CustId == CustId && x.YY == YY) .OrderByDescending(x => x.grad_id) .FirstOrDefaultAsync(); var checkerid = (await db.BuileBase.FindAsync(new object[] { CustId, YY })).CheckerId; var md = new Grad() { CustId = CustId, YY = YY, check_date = DateTime.Now, examine_report_record_id = examine_report_record_id, checker = checkerid }; db.Grad.Add(md); await db.SaveChangesAsync(); master_id = md.grad_id; if (item_prv != null) //copy 上次資料 { var details = db.Graid_Detail.Where(x => x.graid_id == item_prv.grad_id); foreach (var detail in details) { var mds = new Graid_Detail(); mds.graid_id = master_id; mds.repord_id = detail.repord_id; mds.opt_id = detail.opt_id; mds.mem = detail.mem; db.Graid_Detail.Add(mds); } await db.SaveChangesAsync(); } #endregion } #endregion var master = await db.Grad.Where(x => x.examine_report_record_id == examine_report_record_id) .OrderByDescending(x => x.grad_id) .Take(1) .FirstOrDefaultAsync(); if (master != null) { var items = await db.Graid_Detail .Where(x => x.graid_id == master.grad_id) .GroupBy(x => x.repord_id, (key, g) => new { repord_id = key, data = g }) .ToListAsync(); return defJSONNull(items); } else { r.result = false; return defJSONNull(null); } } catch (Exception ex) { r.result = false; r.message = getException(ex); return defJSONNull(null); } finally { db.Dispose(); } }
public async Task<string> UptPlanYearPlane_2015(UptPlanYearPlane_2015Param param) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); var pass_state = StateCheck(param.CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { var item = await db.PlanYearPlane_2015.FindAsync(param.CustId, param.YY); var md = param.md; if (item != null) { item.C_104 = md.C_104; item.S_104 = md.S_104; item.R_104 = md.R_104; item.I_104 = md.I_104; item.C_105 = md.C_105; item.S_105 = md.S_105; item.R_105 = md.R_105; item.I_105 = md.I_105; item.C_106 = md.C_106; item.S_106 = md.S_106; item.R_106 = md.R_106; item.I_106 = md.I_106; item.C_107 = md.C_107; item.S_107 = md.S_107; item.R_107 = md.R_107; item.I_107 = md.I_107; item.C_108 = md.C_108; item.S_108 = md.S_108; item.R_108 = md.R_108; item.I_108 = md.I_108; } else { db.PlanYearPlane_2015.Add(md); } await db.SaveChangesAsync(); r.result = true; } catch (Exception ex) { r.result = false; r.message = ex.Message; return defJSON(r); } finally { db.Dispose(); } return defJSON(r); }
public async Task<string> GetGradListRpt(string CustId, int YY, string pno) { var db = new EnergyNetEntities(); var r = new AjaxResult<IList<IGrouping<string, Graid_Detail>>>(); IList<GradListRpt> data = new List<GradListRpt>(); var masters = await db.Grad .Where(x => x.CustId == CustId && x.YY == YY) .OrderByDescending(x => x.grad_id) .ToListAsync(); foreach (var master in masters) { GradListRpt g = new GradListRpt(); g.grad = new Grad { grad_id = master.grad_id, checker = master.checker, check_date = master.check_date, CustId = master.CustId, YY = master.YY, examine_report_record_id = master.examine_report_record_id }; g.detail = master.Graid_Detail.Where(x => x.repord_id == pno).ToList(); data.Add(g); } return defJSONNull(data); }
public async Task<string> UptState(UptStateParam param) { var db = new EnergyNetEntities(); var r = new AjaxResult(); try { var checkerid = db.BuileBase.Where(x => x.CustID == param.CustId && x.YY == param.YY).Select(x => x.CheckerId).FirstOrDefault(); //var checkername = (await db.Tb_Login.FindAsync(checkerid)).LoginName; var item = await db.ExamineReport_Master.FindAsync(new object[] { param.CustId, param.YY }); if (item == null) { r.result = false; r.message = "評該尚未完成"; return defJSONNull(r); } var item_detail = await db.ExamineReport_Record .Where(x => x.CustID == param.CustId && x.YY == param.YY) .OrderByDescending(x => x.examine_report_record_id).FirstOrDefaultAsync(); if (item_detail == null) { r.result = false; r.message = "評該尚未完成"; return defJSONNull(r); } #region Code var gradMaster = db.Grad .Where(x => x.examine_report_record_id == item_detail.examine_report_record_id) .OrderByDescending(x => x.grad_id).FirstOrDefault(); if (gradMaster == null) { r.result = false; r.message = "評該尚未完成"; return defJSONNull(r); } var gradDetail = gradMaster.Graid_Detail; item.AtuCheckerId = checkerid; item.GreenCheckState = param.state; var i = item.CheckCount; i++; item.CheckCount = i; item.CheckDate = DateTime.Now; if (param.state == "A") //審核通過 { item.InitPassDate = DateTime.Now; if (gradDetail != null) { #region Check if (!gradDetail.Any(x => x.repord_id == "r01" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r02" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r03" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r41" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r42" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r51" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r52" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r53" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r54" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r55" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r06" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r07" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r08" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r91" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r92" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r93" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r94" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "r95" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "rA1" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "rA3" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "rA4" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "rB1" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "rB3" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } if (!gradDetail.Any(x => x.repord_id == "rB4" && x.opt_id == "p00")) { r.result = false; r.message = "評核尚未通過"; return defJSONNull(r); } #endregion } else { r.result = false; r.message = "評該尚未完成"; return defJSONNull(r); } item_detail.CheckState = "A"; item_detail.AtuCheckerId = checkerid; item_detail.CheckDate = DateTime.Now; item.State = "C"; var examineReport = await db.ExamineReport.FindAsync(new object[] { param.CustId, param.YY }); if (examineReport != null) { examineReport.Lock = "Y"; examineReport.Finish = "Y"; examineReport.ReportLevel = "B"; examineReport.CheckDate = DateTime.Now; } await db.SaveChangesAsync(); } if (param.state == "B") //審核未通過 { item.State = "F"; item_detail.CheckState = "B"; item_detail.AtuCheckerId = checkerid; item_detail.CheckDate = DateTime.Now; await db.SaveChangesAsync(); #region Mail var t1 = await db.BuileBase.FindAsync(new object[] { param.CustId, param.YY }); var t2 = await db.Tb_Login.FindAsync(param.CustId); var t3 = await db.評核對應表2015V1.FindAsync(param.CustId); var t4 = await GetGradList(param.CustId, param.YY); if (t1 != null && t2 != null && t3 != null && !string.IsNullOrEmpty(t1.ManagerMail)) { var file_path = Server.MapPath("~/MailTpl/StateB.html"); var txt = System.IO.File.ReadAllText(file_path); var mailtxt = txt; mailtxt = mailtxt.Replace("$user", t1.CustName); mailtxt = mailtxt.Replace("$checker", t3.checker); mailtxt = mailtxt.Replace("$Ext", t3.EXT); mailtxt = mailtxt.Replace("$CheckerEmail", t3.email); mailtxt = mailtxt.Replace("$account", t2.LoginID); mailtxt = mailtxt.Replace("$password", t2.LoginPW); if (t3.checker == "浦念理") { mailtxt = mailtxt.Replace("$contact2", ""); } else { mailtxt = mailtxt.Replace("$contact2", "浦念理 審查人員(分機734,Email:[email protected])<br />"); } if (t3.checker == "王秋霖") { mailtxt = mailtxt.Replace("$contact3", ""); } else { mailtxt = mailtxt.Replace("$contact3", "王秋霖 審查人員(分機741,Email:[email protected])<br />"); } var rpt_option = ReportList.GradOption(); var rpt_name = ReportList.GradRpt(); var t5 = JsonConvert.DeserializeObject<IList<RptGradHead>>(t4); string html = string.Empty; string tr = string.Empty; foreach (var get_rpt_item in t5) { var td_1 = string.Empty; var td_2 = string.Empty; var ul = string.Empty; var need_opt_item = get_rpt_item.data.Where(x => x.opt_id != "p00"); if (need_opt_item.Count() > 0) { var rptName = string.Empty; if (rpt_name.Any(x => x.Key == get_rpt_item.repord_id)) { rptName = rpt_name[get_rpt_item.repord_id]; td_1 += "<td style=\"vertical-align:top\">" + rptName + "</td>"; foreach (var opts in need_opt_item) { if (rpt_option.Any(x => x.Key == get_rpt_item.repord_id)) { var optobj = rpt_option[get_rpt_item.repord_id]; if (optobj.Any(x => x.Key == opts.opt_id)) { var opt_name = rpt_option[get_rpt_item.repord_id][opts.opt_id]; ul += "<li>" + opt_name + opts.mem + "</li>"; } } } td_2 = "<td><ul>" + ul + "</ul></td>"; tr += "<tr>" + td_1 + td_2 + "</tr>"; } } } html = "<table border=\"1\"><tr><td>申報表內容</td><td>審查說明</td></tr>" + tr + "</table>"; mailtxt = mailtxt.Replace("$list", html); var MailFrom = "*****@*****.**"; var MailTos = new string[] { t1.ManagerMail }; var MailBcc = new string[] { "*****@*****.**", "*****@*****.**", "*****@*****.**", t3.email }; //var MailTos = new string[] { "*****@*****.**" }; //var MailBcc = new string[] { }; var MailSub = "未達核備標準通知"; Task<bool> task = new Task<bool>(() => Mail_Send(MailFrom, MailTos, MailBcc, MailSub, mailtxt, true)); task.Start(); var r1 = task.Result; string filename = string.Empty; if (r1) { filename = "NoApply.Succ." + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + "." + param.CustId + ".html"; } else { filename = "NoApply.Fail." + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + "." + param.CustId + ".html"; } SaveLog(filename, mailtxt); } #endregion } r.result = true; #endregion } catch (Exception ex) { r.result = false; r.message = getException(ex); } return defJSONNull(r); }
public async Task<string> UptGradItem(UptGradItemParm param) { var db = new EnergyNetEntities(); var r = new AjaxResult<IEnumerable<Graid_Detail>>(); try { var item1 = await db.ExamineReport_Master.FindAsync(new object[] { param.CustId, param.YY }); if (item1 == null) { r.message = "無申報完成項目記錄"; r.result = false; } var item2 = await db.ExamineReport_Record .Where(x => x.CustID == param.CustId && x.YY == param.YY).OrderByDescending(x => x.examine_report_record_id).FirstOrDefaultAsync(); if (item2 == null) { r.message = "無申報完成項明細目記錄"; r.result = false; } var examine_report_record_id = item2.examine_report_record_id; var item3 = await db.Grad.Where(x => x.CustId == param.CustId && x.YY == param.YY && x.examine_report_record_id == examine_report_record_id) .OrderByDescending(x => x.grad_id) .FirstOrDefaultAsync(); if (item3 == null) { r.message = "無申評核主檔"; r.result = false; } item3.checker = param.checkerid; item3.check_date = DateTime.Now; await db.SaveChangesAsync(); var master_id = item3.grad_id; var item4 = await db.Graid_Item .Where(x => x.graid_id == master_id && x.repord_id == param.pno && x.item == param.item) .ToListAsync(); if (item4.Count() > 0) { db.Graid_Item.RemoveRange(item4); } foreach (var item in param.md) { var md = new Graid_Item(); md.graid_id = master_id; md.repord_id = param.pno; md.opt_id = item.opt_id; md.item = item.item; md.mem = item.mem; db.Graid_Item.Add(md); } await db.SaveChangesAsync(); r.result = true; } catch (Exception ex) { r.result = false; r.message = getException(ex); throw; } finally { db.Dispose(); } return defJSON(r); }
public async Task<string> DelForElec(string CustId, int YY) { var db = new EnergyNetEntities(); var r = new AjaxResult(); var pass_state = StateCheck(CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } var t1 = await db.FloorElec.Where(x => x.CustID == CustId && x.YY == YY).ToListAsync(); var t2 = await db.FloorElecQ.Where(x => x.CustID == CustId && x.YY == YY).ToListAsync(); var t3 = await db.FloorElecYear.FindAsync(new object[] { CustId, YY }); if (t1 != null) db.FloorElec.RemoveRange(t1); if (t2 != null) db.FloorElecQ.RemoveRange(t2); if (t3 != null) db.FloorElecYear.Remove(t3); await db.SaveChangesAsync(); r.result = true; return defJSONNull(r); }
public async Task<string> MailNoPass(IList<string> CustId, string LoginId) { Log.Write("CustId:" + (CustId == null).ToString()); Log.WriteToFile(); AjaxResult r = new AjaxResult(); r.result = true; var db = new EnergyNetEntities(); var i = 0; foreach (var id in CustId) { #region Mail var t1 = await db.BuileBase.FindAsync(new object[] { id, 2015 }); var t2 = await db.Tb_Login.FindAsync(id); var t3 = await db.評核對應表2015V1.FindAsync(id); var t4 = await GetGradList(id, 2015); Log.Write("t1:" + (t1 == null).ToString()); Log.Write("t2:" + (t2 == null).ToString()); Log.Write("t3:" + (t3 == null).ToString()); Log.WriteToFile(); if (t1 != null && t2 != null && t3 != null && !string.IsNullOrEmpty(t1.ManagerMail)) { var file_path = Server.MapPath("~/MailTpl/StateB.html"); var txt = System.IO.File.ReadAllText(file_path); var mailtxt = txt; mailtxt = mailtxt.Replace("$user", t1.CustName); mailtxt = mailtxt.Replace("$checker", t3.checker); mailtxt = mailtxt.Replace("$Ext", t3.EXT); mailtxt = mailtxt.Replace("$CheckerEmail", t3.email); mailtxt = mailtxt.Replace("$account", t2.LoginID); mailtxt = mailtxt.Replace("$password", t2.LoginPW); if (t3.checker == "浦念理") { mailtxt = mailtxt.Replace("$contact2", ""); } else { mailtxt = mailtxt.Replace("$contact2", "浦念理 審查人員(分機734,Email:[email protected])<br />"); } if (t3.checker == "王秋霖") { mailtxt = mailtxt.Replace("$contact3", ""); } else { mailtxt = mailtxt.Replace("$contact3", "王秋霖 審查人員(分機741,Email:[email protected])<br />"); } var rpt_option = ReportList.GradOption(); var rpt_name = ReportList.GradRpt(); var t5 = JsonConvert.DeserializeObject<IList<RptGradHead>>(t4); string html = string.Empty; string tr = string.Empty; foreach (var get_rpt_item in t5) { var td_1 = string.Empty; var td_2 = string.Empty; var ul = string.Empty; var need_opt_item = get_rpt_item.data.Where(x => x.opt_id != "p00"); if (need_opt_item.Count() > 0) { var rptName = string.Empty; if (rpt_name.Any(x => x.Key == get_rpt_item.repord_id)) { rptName = rpt_name[get_rpt_item.repord_id]; td_1 += "<td style=\"vertical-align:top\">" + rptName + "</td>"; foreach (var opts in need_opt_item) { if (rpt_option.Any(x => x.Key == get_rpt_item.repord_id)) { var optobj = rpt_option[get_rpt_item.repord_id]; if (optobj.Any(x => x.Key == opts.opt_id)) { var opt_name = rpt_option[get_rpt_item.repord_id][opts.opt_id]; ul += "<li>" + opt_name + opts.mem + "</li>"; } } } td_2 = "<td><ul>" + ul + "</ul></td>"; tr += "<tr>" + td_1 + td_2 + "</tr>"; } } } html = "<table border=\"1\"><tr><td>申報表內容</td><td>審查說明</td></tr>" + tr + "</table>"; mailtxt = mailtxt.Replace("$list", html); var MailFrom = "*****@*****.**"; var MailTos = new string[] { t1.ManagerMail }; var MailBcc = new string[] { "*****@*****.**", "*****@*****.**", "*****@*****.**", t3.email }; //var MailTos = new string[] { "*****@*****.**" }; //var MailBcc = new string[] { }; var MailSub = "未達核備標準通知"; var sch = new Mail_Schedule(); sch.make_login_id = LoginId; sch.make_time = DateTime.Now; sch.isSend = false; sch.tos = string.Join(";", MailTos); sch.bcc = string.Join(";", MailBcc); sch.froms = MailFrom; sch.body = mailtxt; sch.subject = MailSub; db.Mail_Schedule.Add(sch); i++; } #endregion } await db.SaveChangesAsync(); r.result = true; r.message = i.ToString(); return defJSON(r); }
public async Task<string> UptLock(UptLockParam param) { var db = new EnergyNetEntities(); var r = new AjaxResult(); try { #region Code var examineReport = await db.ExamineReport.FindAsync(new object[] { param.CustId, param.YY }); if (examineReport != null) { examineReport.Lock = param.locked; r.result = true; await db.SaveChangesAsync(); } else { r.result = false; r.message = "尚未提出申報完成!"; } #endregion } catch (Exception ex) { r.result = false; r.message = getException(ex); } return defJSONNull(r); }
public string aj_FDelete(string CustId, string YY, string Kind, string fileName) { AjaxResult r = new AjaxResult(); string path = "~/Upload/" + YY + "/" + CustId + "/" + Kind + "/" + fileName; string spath = Server.MapPath(path); try { if (System.IO.File.Exists(spath)) { System.IO.File.Delete(spath); r.result = true; } else { r.message = "找不到此檔" + path; r.result = false; } } catch (Exception ex) { r.result = false; r.message = ex.Message; } return defJSON(r); }
public async Task<string> GetExamineReport(string CustId, int YY) { var db = new EnergyNetEntities(); var r = new AjaxResult(); try { #region Code var examineReport = await db.ExamineReport.FindAsync(new object[] { CustId, YY }); return defJSONNull(examineReport); #endregion } catch (Exception ex) { r.result = false; r.message = getException(ex); } return defJSONNull(r); }
public async Task<string> UptFloorElecItem(IEnumerable<FloorElec> mds) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); try { string CustID = string.Empty; int YY = 0; foreach (var md in mds) { var item = await db.FloorElec.FindAsync(md.CustID, md.YY, md.month); item.p_floor = md.p_floor; item.n_floor = md.n_floor; item.p_eui = md.p_eui; item.n_eui = md.n_eui; if (CustID == string.Empty) { CustID = md.CustID; YY = md.YY; var pass_state = StateCheck(CustID); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } } } var g_item = mds.GroupBy(x => (x.month - 1) / 3).Select( y => new { qno = y.Key, sum_p_eui_amt = y.Sum(x => x.p_eui_amt), sum_n_eui_amt = y.Sum(x => x.n_eui_amt), avg_p_floor = y.Average(x => x.p_floor), avg_n_floor = y.Average(x => x.n_floor) }); var q_item_data = await db.FloorElecQ.Where(x => x.CustID == CustID && x.YY == YY).OrderBy(x => x.QNO).ToListAsync(); foreach (var item in g_item) { var q_p_value = item.avg_p_floor == 0 ? 0 : item.sum_p_eui_amt / item.avg_p_floor; var q_n_value = item.sum_n_eui_amt / item.avg_n_floor; var q_item = q_item_data.Where(x => x.QNO == (item.qno + 1)).FirstOrDefault(); if (q_p_value == 0) { q_item.diff_result = 0; } else { q_item.diff_result = ((q_n_value - q_p_value) / q_p_value) * 100; } } await db.SaveChangesAsync(); RecordReportList(CustID, YY, "J54"); r.result = true; return defJSON(r); } catch (Exception ex) { r.result = false; r.message = ex.Message; return defJSON(r); } finally { db.Dispose(); } }
public async Task<string> UptGrad_2015(UptGrad_2015Param param) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); var pass_state = StateCheck(param.CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { var mds = param.md; foreach (var md in mds) { var item = await db.Grad_2015.FindAsync(new object[] { param.CustId, param.YY, param.rpt_no, md.item }); if (item == null) { db.Grad_2015.Add(md); } else { item.opt = md.opt; item.mem = md.mem; } } await db.SaveChangesAsync(); r.result = true; } catch (DbEntityValidationException ex) { r.result = false; r.message = getDbEntityValidationException(ex); return defJSON(r); } catch (Exception ex) { r.result = false; r.message = ex.Message; return defJSON(r); } finally { db.Dispose(); } return defJSON(r); }
public async Task<string> GetFloorHeatMonth(string CustId, int YY) { var db = new EnergyNetEntities(); var r = new AjaxResult<IEnumerable<FloorHeat>>(); var floor_prv_p = await GetCalDefFloor(CustId, YY - 1); //前年 總樓地板面積”-“總室內停車場面積 var floor_now = await GetCalDefFloor(CustId, YY); // 總樓地板面積”-“總室內停車場面積 var floor_prv = floor_prv_p < 0 ? 0 : floor_prv_p; //if (floor_prv <= 0) //{ // RecordReportList(CustId, YY, "J55"); // r.result = false; // r.message = "無103年度資料不須填報!"; // return defJSONNull(r); //} //先檢查是否有負數 if (floor_now <= 0) { var t1 = await db.FloorHeat.Where(x => x.CustID == CustId && x.YY == YY).ToListAsync(); var t2 = await db.FloorHeatQ.Where(x => x.CustID == CustId && x.YY == YY).ToListAsync(); var t3 = await db.FloorHeatYear.FindAsync(new object[] { CustId, YY }); if (t1 != null) db.FloorHeat.RemoveRange(t1); if (t2 != null) db.FloorHeatQ.RemoveRange(t2); if (t3 != null) db.FloorHeatYear.Remove(t3); await db.SaveChangesAsync(); r.result = false; r.message = "能源用戶基本資料『總室內停車場面積』不可大於等於『總樓地板面積』,需先修正(104年)才可填報!"; return defJSONNull(r); } //以下為如果都沒有任何申報資料會預先新增12個月的預設空資料 及4季的空資料 if (!db.FloorHeat.Any(x => x.CustID == CustId && x.YY == YY)) { #region Code var heat_prv = await GetCalDefHeat(CustId, YY - 1); var heat_now = await GetCalDefHeat(CustId, YY); if (heat_now.Count() == 0) { r.result = false; r.message = "請先完成填報今年度熱能資料"; return defJSONNull(r); } var del_q_item = db.FloorHeatQ.Where(x => x.CustID == CustId && x.YY == YY); db.FloorHeatQ.RemoveRange(del_q_item); var del_y_item = await db.FloorHeatYear.FindAsync(new object[] { CustId, YY }); if (del_y_item != null) { db.FloorHeatYear.Remove(del_y_item); } await db.SaveChangesAsync(); #region 總年度處理 //先增加年度獨立資料 FloorHeatYear md_y = new FloorHeatYear(); md_y.YY = YY; md_y.CustID = CustId; md_y.p_floor = floor_prv; md_y.n_floor = floor_now; md_y.p_eui_amt = heat_prv.Select(x => x.Total).DefaultIfEmpty(0).Sum(); md_y.n_eui_amt = heat_now.Select(x => x.Total).DefaultIfEmpty(0).Sum(); md_y.p_eui = floor_prv == 0 ? 0 : (md_y.p_eui_amt / md_y.p_floor); //預防分母為0 md_y.n_eui = floor_now == 0 ? 0 : (md_y.n_eui_amt / md_y.n_floor); var n_value = md_y.n_eui_amt / md_y.n_floor; var p_value = md_y.p_floor == 0 ? 0 : md_y.p_eui_amt / md_y.p_floor; if (p_value == 0) { md_y.diff_result = 0; } else { md_y.diff_result = ((n_value - p_value) / p_value) * 100; //年度差異分析 } db.FloorHeatYear.Add(md_y); #endregion IList<FloorHeat> keep_FloorHeat = new List<FloorHeat>(); for (int i = 0; i < 12; i++) { #region code var e_p = heat_prv.Where(x => x.MM == (i + 1)).FirstOrDefault(); var f_e_p = e_p == null || e_p.Total == null || floor_prv == 0 ? 0 : e_p.Total / floor_prv; var e_n = heat_now.Where(x => x.MM == (i + 1)).FirstOrDefault(); var f_e_n = e_n.Total == null ? 0 : e_n.Total / floor_now; var md = new FloorHeat(); md.CustID = CustId; md.YY = YY; md.month = i + 1; md.p_eui_amt = e_p == null ? 0 : e_p.Total; md.n_eui_amt = e_n.Total; md.p_floor = floor_prv; md.n_floor = floor_now; md.p_eui = f_e_p; md.n_eui = f_e_n; db.FloorHeat.Add(md); keep_FloorHeat.Add(md); #endregion } for (int j = 0; j < 4; j++) { #region code var md = new FloorHeatQ(); md.CustID = CustId; md.YY = YY; md.QNO = (j + 1); var q_item = keep_FloorHeat.Where(x => (x.month - 1) / 3 == j); var handle_result = q_item.GroupBy(x => new { f = 1 }).Select( y => new { sum_p_eui_amt = y.Sum(x => x.p_eui_amt), sum_n_eui_amt = y.Sum(x => x.n_eui_amt), avg_p_floor = y.Average(x => x.p_floor), avg_n_floor = y.Average(x => x.n_floor) }).FirstOrDefault(); md.avg_n_floor = handle_result.avg_n_floor; md.avg_p_floor = handle_result.avg_p_floor; md.sum_n_eui_amt = handle_result.sum_n_eui_amt; md.sum_p_eui_amt = handle_result.sum_p_eui_amt; var q_p_value = md.avg_p_floor == 0 ? 0 : md.sum_p_eui_amt / md.avg_p_floor; var q_n_value = md.sum_n_eui_amt / md.avg_n_floor; if (q_p_value == 0) { md.diff_result = 0; } else { md.diff_result = ((q_n_value - q_p_value) / q_p_value) * 100; } db.FloorHeatQ.Add(md); #endregion } await db.SaveChangesAsync(); #endregion } else { var last_year_elec_months = await GetCalDefHeat(CustId, YY - 1); var now_year_elec_months = await GetCalDefHeat(CustId, YY); var mms = await db.FloorHeat.Where(x => x.CustID == CustId && x.YY == YY).OrderBy(x => x.month).ToListAsync(); var mmq = await db.FloorHeatQ.Where(x => x.CustID == CustId && x.YY == YY).OrderBy(x => x.QNO).ToListAsync(); var year_heat = await db.FloorHeatYear.FindAsync(new object[] { CustId, YY }); #region Code Month for (int i = 0; i < 12; i++) { var mm = mms.FirstOrDefault(x => x.month == (i + 1)); var last_year_elec_use_amt_month = last_year_elec_months.Where(x => x.MM == (i + 1)).FirstOrDefault(); if (mm != null && last_year_elec_use_amt_month != null) { mm.p_eui_amt = last_year_elec_use_amt_month.Total; mm.p_eui = mm.p_floor == 0 ? 0 : mm.p_eui_amt / mm.p_floor; //每月 用電量/樓地板面積 } var now_year_elec_use_amt_month = now_year_elec_months.Where(x => x.MM == (i + 1)).FirstOrDefault(); if (mm != null && now_year_elec_use_amt_month != null) { mm.n_eui_amt = now_year_elec_use_amt_month.Total; mm.n_eui = mm.n_eui_amt / mm.n_floor; //每月 用電量/樓地板面積 } } #endregion #region Code Q for (int j = 0; j < 4; j++) { var qno = j + 1; var q_data = mmq.FirstOrDefault(x => x.QNO == qno); if (q_data != null) { var q_data_by_mms = mms.Where(x => (x.month - 1) / 3 == j); var q_result = q_data_by_mms.GroupBy(x => new { f = 1 }).Select( y => new { sum_p_eui_amt = y.Sum(x => x.p_eui_amt), sum_n_eui_amt = y.Sum(x => x.n_eui_amt), avg_p_floor = y.Average(x => x.p_floor), avg_n_floor = y.Average(x => x.n_floor) }).FirstOrDefault(); q_data.avg_p_floor = q_result.avg_p_floor; q_data.avg_n_floor = q_result.avg_n_floor; q_data.sum_p_eui_amt = q_result.sum_p_eui_amt; q_data.sum_n_eui_amt = q_result.sum_n_eui_amt; var q_p_value = q_data.avg_p_floor == 0 ? 0 : q_data.sum_p_eui_amt / q_data.avg_p_floor; var q_n_value = q_data.sum_n_eui_amt / q_data.avg_n_floor; if (q_p_value == 0 || q_n_value == 0) { q_data.diff_result = 0; } else { q_data.diff_result = ((q_n_value - q_p_value) / q_p_value) * 100; } } } #endregion #region Year if (year_heat != null) { year_heat.n_floor = floor_now; year_heat.p_eui_amt = last_year_elec_months.Select(x => x.Total).DefaultIfEmpty(0).Sum(); year_heat.n_eui_amt = now_year_elec_months.Select(x => x.Total).DefaultIfEmpty(0).Sum(); year_heat.p_eui = floor_prv == 0 ? 0 : (year_heat.p_eui_amt / year_heat.p_floor); //預防分母為0 year_heat.n_eui = floor_now == 0 ? 0 : (year_heat.n_eui_amt / floor_now); if (year_heat.p_eui == 0) { year_heat.diff_result = 0; } else { year_heat.diff_result = ((year_heat.n_eui - year_heat.p_eui) / year_heat.p_eui) * 100; //年度差異分析 } } #endregion await db.SaveChangesAsync(); } var item = await db.FloorHeat .Where(x => x.CustID == CustId && x.YY == YY) .OrderBy(x => x.month) .ToListAsync(); r.data = item; r.result = true; return defJSONNull(r); }
public async Task<string> InsPlanEnergyResult_2015(InsPlanEnergyResult_2015Param param) { var db = new EnergyNetEntities(); AjaxResult r = new AjaxResult(); var pass_state = StateCheck(param.CustId); if (pass_state == 1) { r.result = false; r.message = "初審已通過不可更新!"; return defJSON(r); } try { var md = param.md; md.item = (new Random()).Next(1000, 2000); md.CalToOilKi = CalToOilKi(md.eng_type, (decimal)md.fma_no3_F); db.PlanEnergyResult_2015.Add(md); await db.SaveChangesAsync(); RItemPlanEnergyResult_2015(md.CustID, md.YY); RecordReportList(param.CustId, param.YY, "JB1"); r.result = true; } catch (DbEntityValidationException ex) { r.result = false; r.message = getDbEntityValidationException(ex); return defJSON(r); } catch (Exception ex) { r.result = false; r.message = getException(ex); return defJSON(r); } finally { db.Dispose(); } return defJSON(r); }