/// <summary>
///描述:保存其它收支信息
///作者:许珈宁
///时间:2018-04-28
/// </summary>
///
[Log("保存")]
private string SaveOtherInout()
{
int int_otherInoutNo = int.Parse(pi.PPV("str_otherInoutNo", "0"));
string str_remark = pi.PPV("str_remark");/*备注*/
string str_no = pi.PPV("VC_NO");/*单号*/
DateTime Dt_indate = Convert.ToDateTime(pi.PPV("DT_MONEY"));/*日期*/
// string str_nvcname = pi.PPV("NVC_NAME");
string str_supply = pi.PPV("I_ID_SUPPLY");
string array_GoodsData = pi.PPV("array_GoodsData", "0");
string str_delgoodsIds = pi.PPV("str_delgoodsIds");
var list_goodsdetail = Json.ToObject<List<T_CW_OTHERINOUTDETAIL>>(array_GoodsData);
if (str_supply == null || str_supply == "undefined" || str_supply == "") {
JsonValue.msg = "供应商为空";
JsonValue.success = false;
return Value = JsonValue.ToJson();
}
BLL_T_CW_OTHERINOUT bll_goodsout = new BLL_T_CW_OTHERINOUT(this.ol);
BLL_T_CW_OTHERINOUTDETAIL bll_goodsdetail = new BLL_T_CW_OTHERINOUTDETAIL(this.ol);
T_CW_OTHERINOUT t_goodsout ;
List<T_CW_OTHERINOUTDETAIL> list_detail = new List<T_CW_OTHERINOUTDETAIL>();
string str_actiontype = int_otherInoutNo == -1 ? "add" : "edit";
var trans = bll_goodsout.BeginTrans();
try
{
if (str_actiontype == "add")
{
t_goodsout = new T_CW_OTHERINOUT();
int ID= bll_goodsout.GetNextId();
t_goodsout.ID = ID;
t_goodsout.I_STATE = 0;
t_goodsout.I_ID_SUPPLY = decimal.Parse(str_supply);
t_goodsout.VC_NO = str_no;
t_goodsout.VC_REMARK = str_remark;
t_goodsout.DT_MONEY = Dt_indate;
t_goodsout.N_MONEY = 0;
foreach (var item in list_goodsdetail)
{
T_CW_OTHERINOUTDETAIL tDetail = new T_CW_OTHERINOUTDETAIL();
int idNew = bll_goodsdetail.GetNextId();
tDetail.ID = idNew;
tDetail.I_ID_SUPPLY = item.I_ID_SUPPLY;
tDetail.I_ID_MAIN = ID;
tDetail.I_TYPE = item.I_TYPE;
tDetail.N_MONEY = item.N_MONEY;
tDetail.VC_MONEY = item.VC_MONEY;
tDetail.VC_REMARK = item.VC_REMARK;
if (item.I_TYPE < 0)
{
t_goodsout.N_MONEY -= item.N_MONEY;
}
else
{
t_goodsout.N_MONEY += item.N_MONEY;
}
list_detail.Add(tDetail);
}
JsonValue.success = bll_goodsdetail.InsertMore(list_detail) && bll_goodsout.Insert(t_goodsout);
}
else
{
if (!string.IsNullOrWhiteSpace(str_delgoodsIds)&& str_delgoodsIds!="0")
{
var list_delDetailIds = str_delgoodsIds.Split(',').Select(e => int.Parse(e)).ToList();
foreach (var item in list_delDetailIds)
{
bll_goodsdetail.Delete(item);
}
}
t_goodsout = bll_goodsout.FindByKey(int_otherInoutNo);
t_goodsout.I_STATE = 0;
t_goodsout.I_ID_SUPPLY = decimal.Parse(str_supply);
t_goodsout.VC_NO = str_no;
t_goodsout.VC_REMARK = str_remark;
t_goodsout.DT_MONEY = Dt_indate;
t_goodsout.N_MONEY = 0;
var listOld = bll_goodsdetail.Find(e => e.I_ID_MAIN == t_goodsout.ID).ToList();
List<T_CW_OTHERINOUTDETAIL> list_goodsDetail = new List<T_CW_OTHERINOUTDETAIL>();
foreach (var item in list_goodsdetail)
{
if (item.I_TYPE < 0)
{
t_goodsout.N_MONEY -= item.N_MONEY;
}
else
{
t_goodsout.N_MONEY += item.N_MONEY;
}
var tDetail = listOld.Where(e => e.ID == item.ID).FirstOrDefault();
if (tDetail == null)
{
item.ID = bll_goodsdetail.GetNextId();
item.I_ID_MAIN = t_goodsout.ID;
bll_goodsdetail.Insert(item);
}
else
{
tDetail.I_ID_MAIN = t_goodsout.ID;
tDetail.I_ID_SUPPLY = item.I_ID_SUPPLY;
tDetail.I_TYPE = item.I_TYPE;
tDetail.N_MONEY = item.N_MONEY;
tDetail.VC_MONEY = item.VC_MONEY;
tDetail.VC_REMARK = item.VC_REMARK;
bll_goodsdetail.Update(tDetail);
}
}
JsonValue.success = bll_goodsout.Update(t_goodsout);
}
trans.Commit(); /*事务完成*/
JsonValue.msg = "操作成功";
}
catch (Exception ex)
{
trans.Rollback();
var aa = ex.Message;
JsonValue.msg = "操作失败,原因:"+ aa;
JsonValue.success = false;
}
finally
{
trans.Dispose(); /*释放事务*/
}
return Value = JsonValue.ToJson();
}
///描述:保存其它收支信息
///作者:许珈宁
///时间:2018-04-28
/// </summary>
///
[Log("保存")]
private string SaveOtherInout()
{
int int_otherInoutNo = int.Parse(pi.PPV("str_otherInoutNo", "0"));
string str_remark = pi.PPV("str_remark");/*备注*/
string str_no = pi.PPV("VC_NO");/*单号*/
DateTime Dt_indate = Convert.ToDateTime(pi.PPV("DT_MONEY"));/*日期*/
// string str_nvcname = pi.PPV("NVC_NAME");
string str_supply = pi.PPV("I_ID_SUPPLY");
string array_GoodsData = pi.PPV("array_GoodsData", "0");
string str_delgoodsIds = pi.PPV("str_delgoodsIds");
var list_goodsdetail = Json.ToObject<List<T_CW_OTHERINOUTDETAIL>>(array_GoodsData);
if (str_supply == null || str_supply == "undefined" || str_supply == "") {
JsonValue.msg = "供应商为空";
JsonValue.success = false;
return Value = JsonValue.ToJson();
}
BLL_T_CW_OTHERINOUT bll_goodsout = new BLL_T_CW_OTHERINOUT(this.ol);
BLL_T_CW_OTHERINOUTDETAIL bll_goodsdetail = new BLL_T_CW_OTHERINOUTDETAIL(this.ol);
T_CW_OTHERINOUT t_goodsout ;
List<T_CW_OTHERINOUTDETAIL> list_detail = new List<T_CW_OTHERINOUTDETAIL>();
string str_actiontype = int_otherInoutNo == -1 ? "add" : "edit";
var trans = bll_goodsout.BeginTrans();
try
{
if (str_actiontype == "add")
{
t_goodsout = new T_CW_OTHERINOUT();
int ID= bll_goodsout.GetNextId();
t_goodsout.ID = ID;
t_goodsout.I_STATE = 0;
t_goodsout.I_ID_SUPPLY = decimal.Parse(str_supply);
t_goodsout.VC_NO = str_no;
t_goodsout.VC_REMARK = str_remark;
t_goodsout.DT_MONEY = Dt_indate;
t_goodsout.N_MONEY = 0;
foreach (var item in list_goodsdetail)
{
T_CW_OTHERINOUTDETAIL tDetail = new T_CW_OTHERINOUTDETAIL();
int idNew = bll_goodsdetail.GetNextId();
tDetail.ID = idNew;
tDetail.I_ID_SUPPLY = item.I_ID_SUPPLY;
tDetail.I_ID_MAIN = ID;
tDetail.I_TYPE = item.I_TYPE;
tDetail.N_MONEY = item.N_MONEY;
tDetail.VC_MONEY = item.VC_MONEY;
tDetail.VC_REMARK = item.VC_REMARK;
if (item.I_TYPE < 0)
{
t_goodsout.N_MONEY -= item.N_MONEY;
}
else
{
t_goodsout.N_MONEY += item.N_MONEY;
}
list_detail.Add(tDetail);
}
JsonValue.success = bll_goodsdetail.InsertMore(list_detail) && bll_goodsout.Insert(t_goodsout);
}
else
{
if (!string.IsNullOrWhiteSpace(str_delgoodsIds)&& str_delgoodsIds!="0")
{
var list_delDetailIds = str_delgoodsIds.Split(',').Select(e => int.Parse(e)).ToList();
foreach (var item in list_delDetailIds)
{
bll_goodsdetail.Delete(item);
}
}
t_goodsout = bll_goodsout.FindByKey(int_otherInoutNo);
t_goodsout.I_STATE = 0;
t_goodsout.I_ID_SUPPLY = decimal.Parse(str_supply);
t_goodsout.VC_NO = str_no;
t_goodsout.VC_REMARK = str_remark;
t_goodsout.DT_MONEY = Dt_indate;
t_goodsout.N_MONEY = 0;
var listOld = bll_goodsdetail.Find(e => e.I_ID_MAIN == t_goodsout.ID).ToList();
List<T_CW_OTHERINOUTDETAIL> list_goodsDetail = new List<T_CW_OTHERINOUTDETAIL>();
foreach (var item in list_goodsdetail)
{
if (item.I_TYPE < 0)
{
t_goodsout.N_MONEY -= item.N_MONEY;
}
else
{
t_goodsout.N_MONEY += item.N_MONEY;
}
var tDetail = listOld.Where(e => e.ID == item.ID).FirstOrDefault();
if (tDetail == null)
{
item.ID = bll_goodsdetail.GetNextId();
item.I_ID_MAIN = t_goodsout.ID;
bll_goodsdetail.Insert(item);
}
else
{
tDetail.I_ID_MAIN = t_goodsout.ID;
tDetail.I_ID_SUPPLY = item.I_ID_SUPPLY;
tDetail.I_TYPE = item.I_TYPE;
tDetail.N_MONEY = item.N_MONEY;
tDetail.VC_MONEY = item.VC_MONEY;
tDetail.VC_REMARK = item.VC_REMARK;
bll_goodsdetail.Update(tDetail);
}
}
JsonValue.success = bll_goodsout.Update(t_goodsout);
}
trans.Commit(); /*事务完成*/
JsonValue.msg = "操作成功";
}
catch (Exception ex)
{
trans.Rollback();
var aa = ex.Message;
JsonValue.msg = "操作失败,原因:"+ aa;
JsonValue.success = false;
}
finally
{
trans.Dispose(); /*释放事务*/
}
return Value = JsonValue.ToJson();
}