/// <summary> /// 初始化分录 /// </summary> /// <param name="detail"></param> /// <param name="km"></param> private void IniDetail(VITDetail detail, ZWKMZD km) { detail.ZWKMZD = km; if (km.ZWKMZD_ZXHS == "1") { detail.IsAP = true; } if (km.ZWKMZD_BMHS == "1") { detail.IsAD = true; } detail.IsDebit = true; }
/// <summary> /// 删除分录 /// </summary> /// <param name="detail"></param> /// <returns></returns> public bool DeleteEntry(VITDetail detail) { if (detail == null || Entity == null) { return(false); } try { CtxEntity.VITDetail.Remove(detail); Entries.Refresh(); return(true); } catch (Exception ex) { return(DeleteFailed(ex)); } }
/// <summary> /// 新增分录 /// </summary> /// <param name="km"></param> /// <returns></returns> public bool AddEntry(ZWKMZD km) { if (Entity == null) { return(false); } try { VITDetail detail = new VITDetail(); Entity.VITDetails.Add(detail); IniDetail(detail, CtxEntity.ZWKMZD.Single(t => t.ZWKMZD_KMBH == km.ZWKMZD_KMBH)); Entries.Refresh(); return(true); } catch (Exception ex) { return(AddFailed(ex)); } }
/// <summary> /// 分录赋值 /// </summary> /// <param name="pzfl"></param> /// <param name="detail"></param> private void IniPZFL(ZWPZFL pzfl, VITDetail detail) { pzfl.ZWKMZD = base.CtxEntity.ZWKMZD.Single((ZWKMZD t) => t.ZWKMZD_KMBH == detail.AccountID); pzfl.ZWPZFL_JE = Math.Round(ImportBuffer.AsEnumerable().Sum((DataRow t) => ConvertValue(t.Field <string>($"Column{detail.Total}"))), 2); if (detail.IsDebit) { pzfl.ZWPZFL_JZFX = "1"; } else { pzfl.ZWPZFL_JZFX = "2"; } pzfl.ZWPZFL_YWRQ = Entity.ZWPZK_PZRQ; if (detail.IsAD || detail.IsAP) { DataRow[] array = ImportBuffer.Select($"Column{detail.Total} is not null and Column{detail.Total} <> ''"); foreach (DataRow row in array) { ZWFZYS ys = new ZWFZYS(); pzfl.ListZWFZYS.Add(ys); IniFZYS(ys, detail, row); ys.ZWFZYS_YWRQ = pzfl.ZWPZFL_YWRQ; } } pzfl.ZWPZFL_SL = pzfl.ListZWFZYS.Sum((ZWFZYS t) => t.ZWFZYS_SL); if (pzfl.ZWPZFL_SL != 0.0) { pzfl.ZWPZFL_DJ = Math.Round(pzfl.ZWPZFL_JE / pzfl.ZWPZFL_SL, 2); } pzfl.ZWPZFL_TZXM = string.Empty; pzfl.ZWPZFL_JSFS = string.Empty; pzfl.ZWPZFL_ZY = string.Empty; pzfl.ZWPZFL_WB = 0.0; pzfl.ZWPZFL_HL = 0.0; pzfl.ZWPZFL_JSH = string.Empty; pzfl.ZWPZFL_WBBH = string.Empty; pzfl.ZWPZFL_YHDZ = "0"; }
/// <summary> /// 更改借贷方向 /// </summary> /// <param name="detail"></param> public void ChangeIsDebit(VITDetail detail) { detail.IsDebit = !detail.IsDebit; Entries.Refresh(); }
/// <summary> /// 辅助赋值 /// </summary> /// <param name="fzys"></param> /// <param name="detail"></param> /// <param name="row"></param> private void IniFZYS(ZWFZYS fzys, VITDetail detail, DataRow row) { fzys.ZWKMZD = CtxEntity.ZWKMZD.Single((ZWKMZD t) => t.ZWKMZD_KMBH == detail.AccountID); if (detail.IsAD) { string bmbh = row[detail.ADIndex.Value - 1].ToString(); fzys.LSBMZD = CtxEntity.LSBMZD.Single((LSBMZD t) => t.LSBMZD_BMBH == bmbh); } if (detail.IsAP) { string xmbh = row[detail.APIndex.Value - 1].ToString(); string lbbh = row[detail.APCatIndex.Value - 1].ToString(); if (string.IsNullOrEmpty(lbbh)) { fzys.XM01 = CtxEntity.ZWHSXM.Single((ZWHSXM t) => t.ZWHSXM_XMBH == xmbh); } else { fzys.XM01 = CtxEntity.ZWHSXM.Single((ZWHSXM t) => t.ZWHSXM_XMBH == xmbh && t.ZWHSXM_LBBH == lbbh); } } if (detail.IsDebit) { fzys.ZWFZYS_JZFX = "1"; } else { fzys.ZWFZYS_JZFX = "2"; } if (detail.Quantity.HasValue) { try { fzys.ZWFZYS_SL = Math.Round(double.Parse(row[detail.Quantity.Value - 1].ToString()), 4); } catch { fzys.ZWFZYS_SL = 0.0; } } else { fzys.ZWFZYS_SL = 0.0; } if (detail.Price.HasValue) { try { fzys.ZWFZYS_DJ = Math.Round(double.Parse(row[detail.Price.Value - 1].ToString()), 2); } catch { fzys.ZWFZYS_DJ = 0.0; } } else { fzys.ZWFZYS_DJ = 0.0; } try { fzys.ZWFZYS_JE = Math.Round(double.Parse(row[detail.Total - 1].ToString()), 2); } catch { fzys.ZWFZYS_JE = 0.0; } fzys.ZWFZYS_DWBH = string.Empty; fzys.ZWFZYS_ZGBH = string.Empty; fzys.ZWFZYS_XM02 = string.Empty; fzys.ZWFZYS_XM03 = string.Empty; fzys.ZWFZYS_XM04 = string.Empty; fzys.ZWFZYS_XM05 = string.Empty; fzys.ZWFZYS_WBBH = string.Empty; fzys.ZWFZYS_WB = 0.0; fzys.ZWFZYS_HL = 0.0; fzys.ZWFZYS_YWH = string.Empty; fzys.ZWFZYS_ZRR = string.Empty; fzys.ZWFZYS_PJH = string.Empty; fzys.ZWFZYS_DWDZ = "0"; fzys.ZWFZYS_SJ01 = 0.0; fzys.ZWFZYS_SJ02 = 0.0; fzys.ZWFZYS_SJ03 = 0.0; fzys.ZWFZYS_SJ04 = 0.0; fzys.ZWFZYS_SJ05 = 0.0; fzys.ZWFZYS_SJ06 = 0.0; fzys.ZWFZYS_SJ07 = 0.0; fzys.ZWFZYS_SJ08 = 0.0; fzys.ZWFZYS_SJ09 = 0.0; fzys.ZWFZYS_SJ10 = 0.0; fzys.ZWFZYS_SJ11 = 0.0; fzys.ZWFZYS_SJ12 = 0.0; fzys.ZWFZYS_SJ13 = 0.0; fzys.ZWFZYS_SJ14 = 0.0; fzys.ZWFZYS_SJ15 = 0.0; fzys.ZWFZYS_SJ16 = 0.0; fzys.ZWFZYS_SJ17 = 0.0; fzys.ZWFZYS_SJ18 = 0.0; fzys.ZWFZYS_SJ19 = 0.0; fzys.ZWFZYS_SJ20 = 0.0; fzys.ZWFZYS_SM01 = string.Empty; fzys.ZWFZYS_SM02 = string.Empty; fzys.ZWFZYS_SM03 = string.Empty; fzys.ZWFZYS_SM04 = string.Empty; fzys.ZWFZYS_SM05 = string.Empty; fzys.ZWFZYS_SM06 = string.Empty; fzys.ZWFZYS_SM07 = string.Empty; fzys.ZWFZYS_SM08 = string.Empty; fzys.ZWFZYS_SM09 = string.Empty; fzys.ZWFZYS_SM10 = string.Empty; fzys.ZWFZYS_SM11 = string.Empty; fzys.ZWFZYS_SM12 = string.Empty; fzys.ZWFZYS_SM13 = string.Empty; fzys.ZWFZYS_SM14 = string.Empty; fzys.ZWFZYS_SM15 = string.Empty; fzys.ZWFZYS_SM16 = string.Empty; fzys.ZWFZYS_SM17 = string.Empty; fzys.ZWFZYS_SM18 = string.Empty; fzys.ZWFZYS_SM19 = string.Empty; fzys.ZWFZYS_SM20 = string.Empty; fzys.ZWFZYS_SM21 = string.Empty; fzys.ZWFZYS_SM22 = string.Empty; fzys.ZWFZYS_SM23 = string.Empty; fzys.ZWFZYS_SM24 = string.Empty; fzys.ZWFZYS_SM25 = string.Empty; fzys.ZWFZYS_SM26 = string.Empty; fzys.ZWFZYS_SM27 = string.Empty; fzys.ZWFZYS_SM28 = string.Empty; fzys.ZWFZYS_SM29 = string.Empty; fzys.ZWFZYS_SM30 = string.Empty; fzys.ZWFZYS_JSFS = string.Empty; fzys.ZWFZYS_JSH = string.Empty; fzys.ZWFZYS_YT = "1"; fzys.ZWFZYS_ZGDZ = "0"; fzys.ZWFZYS_YHDZ = "0"; }