using System; using System.Linq; using System.Text; using System.Web.Mvc; using DSWeb.MvcShipping.Helper; using DSWeb.MvcShipping.Comm.Cookie; using HcUtility.Comm; using HcUtility.Core; using System.Collections.Generic; using System.IO; using System.Data; using DSWeb.Areas.CommMng.DAL; using DSWeb.TruckMng.Helper.Repository; using DSWeb.Areas.MvcShipping.DAL.MsOp_YAXIANG; using DSWeb.MvcShipping.Models.MsOp_YAXIANG; using DSWeb.Areas.OA.Models.WorkFlow; using DSWeb.EntityDA; using DSWeb.MvcShipping.DAL.MsSysParamSet; using Microsoft.Practices.EnterpriseLibrary.Data; using DSWeb.MvcShipping.DAL.MsSysBillNoSet;//编码规则 using DSWeb.Areas.SysMng.DAL.SysTask; using DSWeb.MvcShipping.DAL.MsOpSeaiDAL; using DSWeb.MvcShipping.Models.MsOpSeai;//海运进口业务 using DSWeb.Areas.Import.Models.Comm;//用于生成费用 using DSWeb.Areas.CommMng.Models; using DSWeb.MvcShipping.DAL.MsBaseInfoDAL;//查询OP权限 using DSWeb.MvcShipping.DAL.MsCodeOpDef; namespace DSWeb.MvcShipping.Controllers { /// /// 押箱业务管理 邓羽 20190918 /// 需求编号 SR2019091100002 /// [JsonRequestBehavior] public class MsOp_YAXIANGController : Controller { // // GET: /RptMng/MsRptPcHeadQry public ActionResult Index() { return View(); } public ActionResult Edit() { return View(); } /// /// 由海运进口模块调用,参数是由逗号隔开的海运进口业务的BSNO /// 如不可生成则返回错误 /// /// /// public ContentResult MakeYX(string SeaiGIDListStr) { var result = new JsonResponse { Success = false, Message = "", Data = null//fieldlist }; var SeaiList = MsOpSeaiDAL.GetDataList(" BSNO in ("+ SeaiGIDListStr + ")",Session["USERID"].ToString(),Session["SHOWNAME"].ToString(),Session["COMPANYID"].ToString()); //1.查询这些业务是否已生成押箱业务 var ExistYX = BasicDataRefDAL.GeneralSelect("MsOp_YAXIANG_Detail","BSNO","YXNO", "BSNO in("+ SeaiGIDListStr + ")"); Database db = DatabaseFactory.CreateDatabase(); var newMessage = ""; var existMessage = ""; var NewYXNO = ""; var YXDetailList = new List(); if (ExistYX.Count > 0) { foreach (var YX in ExistYX) { foreach (var Opseai in SeaiList) { if (Opseai.BSNO == YX.GID) { Opseai.SetValue("YXNO", YX.GVALUE); } } } } var basebody = new YX_DETAILmb(); basebody.GetTableField(db); foreach (var Opseai in SeaiList) { if (Opseai.GetValue("YXNO") == "") { if (newMessage == "") { NewYXNO = MsSysBillNoSetDAL.GetNewNo("押箱业务","委托编号", Session["COMPANYID"].ToString(), System.DateTime.Now.ToString("yyyy-MM-dd")); if (string.IsNullOrWhiteSpace(NewYXNO)) { result.Success = false; result.Message = "本公司缺少【押箱业务-委托编号】的命名规则"; return new ContentResult() { Content = JsonConvert.Serialize(result) }; } newMessage = " 生成新的押箱单" + NewYXNO; } var yxdetail = new YX_DETAILmb(); basebody.Copy(yxdetail); yxdetail.SetValue("BSNO", Opseai.BSNO); yxdetail.setDefault(); YXDetailList.Add(yxdetail); } else { if (existMessage == "") { existMessage = " 以下已经生成押箱单的业务未作处理:" ; } existMessage += " " + Opseai.CUSTNO+";"; } } //2.对未生成押箱业务的,生成押箱业务 if (newMessage != "") { var head = new YXmb(); head.GetTableField(db); head.SetValue("GID", System.Guid.NewGuid().ToString()); head.SetValue("YXNO", NewYXNO); head.SetValue("COMPANYID", Session["COMPANYID"].ToString()); head.SetValue("DEPTID", Session["DEPTGID"].ToString()); head.SetValue("CREATEUSER", Session["USERID"].ToString()); head.SetValue("CREATETIME", System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); head.SetValue("YXSTATE", "3001");//初始状态 head.SetValue("YXMONEY", "0");// head.SetValue("RETURNMONEY", "0");// head.SetValue("SPENDMONEY", "0");// //20191223 根据设定的默认值设定字段默认值 var FieldList = MsCodeOpDefDAL.GetDataList(" BSTYPE='押箱业务' ", Convert.ToString(Session["COMPANYID"])); if (FieldList.Count > 0) { foreach (var field in FieldList) { //SetPropertyValue head.SetValue(field.FIELDNAME, field.DEFVALUE); } } head.DbOperationType = DbOperationType.DbotIns; head.ModelUIStatus = "I"; var modb = new ModelObjectRepository(); DBResult _r = modb.Save(head, ModelObjectConvert.ToModelObjectList(YXDetailList), ModelObjectConvert.ToModelObjectList(null) ); result.Success = true; result.Message = newMessage + existMessage; } else { result.Success = false; result.Message = existMessage; } return new ContentResult() { Content = JsonConvert.Serialize(result) }; } /// /// 生成费用 目前产生录入状态的费用 /// /// /// /// public ContentResult MakeFee(string Head, string Body) { Database db = DatabaseFactory.CreateDatabase(); var basebody = new YX_DETAILmb(); basebody.GetTableField(db); var BodyList = new List(); //var DelBodyList = new List(); var head = new YXmb(); head.SetValue(db, Head); var USERID = Convert.ToString(Session["USERID"]); var enterdate = DateTime.Now; if (Body != "") { var savedl = JsonConvert.Deserialize>>(Body); foreach (var sdl in savedl) { var body = new YX_DETAILmb(); basebody.Copy(body); body.SetValue(sdl); BodyList.Add(body); } } var ChfeeList = new List(); var existFeeList = new List(); existFeeList = BasicDataRefDAL.GeneralSelect(string.Format("select bsno gid,feename gvalue from ch_fee where feename in('修箱费','洗箱费','修洗箱费','超期箱使费','滞纳金') and feetype=2 and bxgid='{0}'", head.GetValue("YXNO"))); foreach (var YXDetail in BodyList) { //修箱费 if (Convert.ToDecimal(YXDetail.GetValue("FIXFEE")) > 0 && !FeeExist(existFeeList, YXDetail.GetValue("BSNO"), "修箱费")) { var fee = getFee(head.GetValue("YXNO"), YXDetail.GetValue("BSNO"), "修箱费", Convert.ToDecimal(YXDetail.GetValue("FIXFEE"))); ChfeeList.Add(fee); } //洗箱费 if (Convert.ToDecimal(YXDetail.GetValue("WASHFEE")) > 0 && !FeeExist(existFeeList, YXDetail.GetValue("BSNO"), "洗箱费")) { var fee = getFee(head.GetValue("YXNO"), YXDetail.GetValue("BSNO"), "洗箱费", Convert.ToDecimal(YXDetail.GetValue("WASHFEE"))); ChfeeList.Add(fee); } //修洗箱费 if (Convert.ToDecimal(YXDetail.GetValue("FWFEE")) > 0 && !FeeExist(existFeeList, YXDetail.GetValue("BSNO"), "修洗箱费")) { var fee = getFee(head.GetValue("YXNO"), YXDetail.GetValue("BSNO"), "修洗箱费", Convert.ToDecimal(YXDetail.GetValue("FWFEE"))); ChfeeList.Add(fee); } //超期箱使费 if (Convert.ToDecimal(YXDetail.GetValue("OVERFEE")) > 0 && !FeeExist(existFeeList, YXDetail.GetValue("BSNO"), "超期箱使费")) { var fee = getFee(head.GetValue("YXNO"), YXDetail.GetValue("BSNO"), "超期箱使费", Convert.ToDecimal(YXDetail.GetValue("OVERFEE"))); ChfeeList.Add(fee); } //滞纳金 if (Convert.ToDecimal(YXDetail.GetValue("LATEFEE")) > 0 && !FeeExist(existFeeList, YXDetail.GetValue("BSNO"), "滞纳金")) { var fee = getFee(head.GetValue("YXNO"), YXDetail.GetValue("BSNO"), "滞纳金", Convert.ToDecimal(YXDetail.GetValue("LATEFEE"))); ChfeeList.Add(fee); } } if (ChfeeList.Count > 0) { foreach (var _d in ChfeeList) { _d.FeeStatus = 1;//生成录入状态的费用 _d.DbOperationType = DbOperationType.DbotIns; _d.CustomerName = head.GetValue("CUSTOMERNAME"); } } var modb = new ModelObjectRepository(); var result = new DBResult(); if (ChfeeList.Count > 0) { result = modb.SaveHead( ModelObjectConvert.ToModelObjectList(ChfeeList) ); } else { result.Success = false; result.Message = "所有费用目前均已生成"; } return new ContentResult() { Content = JsonConvert.Serialize(result) }; } private MsChFee getFee(string YXNO, string BSNO, string FEENAME, decimal AMOUNT) { var data = new MsChFee(); data.GId = Guid.NewGuid().ToString(); data.BsNo = BSNO; data.UnitPrice = Convert.ToDecimal(AMOUNT); data.Quantity = 1; data.Amount = Convert.ToDecimal(AMOUNT); //data.NoTaxAmount = Convert.ToDecimal(_C.prepayments); data.FeeName = FEENAME; //var CURRList = BasicDataRefDAL.GetcurrRefList("gid='" + _C.currid + "'"); var CURR = "RMB"; data.Currency = CURR; data.ExChangerate = 1; data.CARGO_GID = YXNO;//用CARGO_GID盛放YXNO data.Remark = "押箱单号" + YXNO;//; data.FeeType = 2;//应付 data.EnteroPerator = Session["USERID"].ToString(); data.EnterDate = DateTime.Now; data.FeeStatus = 0; return data; } private bool FeeExist(List existFeeList,string BSNO,string FEENAME) { foreach (var fee in existFeeList) { if (fee.GID == BSNO && fee.GVALUE == FEENAME) { return true; } } return false; } #region 押箱业务 头表/明细表 //public ContentResult GetSqlStr(string YXNOList) { // string sql = MsOp_YAXIANGDAL.gethea; //} public ContentResult GetDataList(int start, int limit, string condition, string sort="") { var dataList = MsOp_YAXIANGDAL.GetDataList(condition,Session["USERID"].ToString(), sort); var _list = dataList.Skip(start).Take(limit); //var list = new List>(); //if (_list.Count() > 0) { // foreach (var data in _list) { // list.Add(data.ExtendDic); // } //} var list_2 = ModelObjectBill.getDicList(ModelObjectConvert.ToModelObjectList(dataList)); var list_3 = list_2.Skip(start).Take(limit); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count(), data = list_3.ToList() //totalCount = dataList.Count, //data = list.ToList() //,fieldlist = fieldlist.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetData( string condition) { var data = MsOp_YAXIANGDAL.GetData(condition, Session["USERID"].ToString()); var result = new YXmb(); if (data.GetValue("CREATEUSER")!="") {//代表不是新增的,存在现存数据 result = data; } else { //新增数据 需设定默认值 var createtimeStr = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); result.SetValue("CREATETIME", createtimeStr); result.SetValue("CREATEUSER", Session["USERID"].ToString()); result.SetValue("COMPANYID", Session["COMPANYID"].ToString()); result.SetValue("DEPTID", Session["DEPTGID"].ToString()); //YXMONEY SPENDMONEY RETURNMONEY result.SetValue("YXMONEY", "0.00"); result.SetValue("SPENDMONEY", "0.00"); result.SetValue("RETURNMONEY", "0.00"); } var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", //totalCount = 1, data = result.ExtendDic //,fieldlist = fieldlist.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetBodyList( string condition ) { var dataList = MsOp_YAXIANGDAL.GetBodyList(condition); var list = new List>(); if (dataList.Count() > 0) { foreach (var data in dataList) { list.Add(data.ExtendDic); } } var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list.ToList() }); return new ContentResult() { Content = json }; } #endregion public ContentResult Save(string opstatus, string data, string Body, string DelBody)// { var modb = new ModelObjectRepository(); Database db = DatabaseFactory.CreateDatabase(); var head = new YXmb(); head.SetValue(db, data); if (opstatus == "edit") { var _head = MsOp_YAXIANGDAL.GetData("GID='"+head.GetValue("GID")+"'", Session["USERID"].ToString()); var canbeedit = SysTaskDAL.TaskGetWord(_head.GetValue("YXSTATE"), "canedit"); if (!canbeedit) { var jsonRespose1 = new JsonResponse { Success = false, Message = "此状态下的押箱业务不能进行修改", Data = MsOp_YAXIANGDAL.GetData(head.GetBillNoFieldName() + " = '" + head.GetBillNoValue() + "'", Session["USERID"].ToString()).ExtendDic//fieldlist }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose1) }; } } var basebody = new YX_DETAILmb(); basebody.GetTableField(db); var BodyList = new List(); var DelBodyList = new List(); if (Body != "") { var savedl = JsonConvert.Deserialize>>(Body); foreach (var sdl in savedl) { var body = new YX_DETAILmb(); basebody.Copy(body); body.SetValue(sdl); BodyList.Add(body); } } if (opstatus == "add") { head.DbOperationType = DbOperationType.DbotIns; head.ModelUIStatus = "I"; head.SetValue("GID", System.Guid.NewGuid().ToString()); var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='押箱业务' AND RULEBLNO='押箱编号' ", Convert.ToString(Session["COMPANYID"])); var _date = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); var YXNO = MsSysBillNoSetDAL.GetBillNo(billnoset, _date, _date, "", Session["USERID"].ToString(), Session["COMPANYID"].ToString()); } else if (opstatus == "edit") { head.DbOperationType = DbOperationType.DbotUpd; head.ModelUIStatus = "E"; } else { head.DbOperationType = DbOperationType.DbotDel; } DBResult result = modb.Save(head, ModelObjectConvert.ToModelObjectList(BodyList), ModelObjectConvert.ToModelObjectList(DelBodyList) ); //保存完成后重新计算头表的实际扣款。 MsOp_YAXIANGDAL.ReCount(head); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsOp_YAXIANGDAL.GetData(head.GetBillNoFieldName() + " = '" + head.GetBillNoValue() + "'",Session["USERID"].ToString()).ExtendDic//fieldlist }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } private static void updateMoney(string YXNO) { var strSql = " update MsOp_YAXIANG set SPENDMONEY= "; } public ContentResult Delete(string data) { Database db = DatabaseFactory.CreateDatabase(); var head = new YXmb(); head.SetValue(db, data); var canbedel = SysTaskDAL.TaskGetWord(head.GetValue("YXSTATE"),"candelete"); var HeadList = getCanOPList("["+data+"]"); //var canbedel = true; if (canbedel == false && HeadList.Count>0) { var jsonRespose = new JsonResponse { Success = false, Message = "此状态下的押箱业务不能进行删除!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { var modb = new ModelObjectDBBill(); DBResult result = modb.Delete(head, "delete from MsOp_YAXIANG_DETAIL where YXNO='" + head.GetValue("YXNO") + "'"); //MsSysBillNoSetDAL.DeleteBsNo(head.BillNo); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } public ContentResult DelDetail(string data,string GID) { Database db = DatabaseFactory.CreateDatabase(); var head = new YXmb(); head.SetValue(db, data); var canbedel = SysTaskDAL.TaskGetWord(head.GetValue("YXSTATE"), "candelete"); //canbedel = true; if (canbedel == false) { var jsonRespose = new JsonResponse { Success = false, Message = "此状态下的押箱业务不能进行删除!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { var strSql = new StringBuilder(); var jsonRespose = new JsonResponse { Success = false, Message = "" }; strSql.Append(" delete from MsOp_YAXIANG_DETAIL where GID in (" + GID + ")"); try { var _r = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); MsOp_YAXIANGDAL.ReCount(head); } catch (Exception ee) { jsonRespose.Success = false; jsonRespose.Message = ee.Message; } jsonRespose.Success = true; jsonRespose.Message = "明细删除成功"; jsonRespose.Data = MsOp_YAXIANGDAL.GetData(head.GetBillNoFieldName() + " = '" + head.GetBillNoValue() + "'",Session["USERID"].ToString()).ExtendDic; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } #region 状态变更 public ContentResult PushState(string data,string Execution) { Database db = DatabaseFactory.CreateDatabase(); var head = new YXmb(); head.SetValue(db, data); return doPushState(head, Execution); } private ContentResult doPushState(YXmb head, string Execution) { var modb = new ModelObjectRepository(); JsonResponse result = new JsonResponse(); var STATE = head.GetValue("YXSTATE"); var newState = SysTaskDAL.DoExecution(STATE, Execution); if (newState.STATEKEY == "0000") { result.Success = false; result.Message = head.GetValue("YXSTATEREF") + "状态下的业务不能进行此操作"; } else { head.SetValue("YXSTATE", newState.STATEKEY); head.DbOperationType = DbOperationType.DbotUpd; head.ModelUIStatus = "E"; var _r = modb.Save(head); result.Success = _r.Success; result.Message = _r.Message; MsOp_YAXIANGDAL.ReCount(head); } return new ContentResult() { Content = JsonConvert.Serialize(result) }; } public ContentResult PushState_List(string dataList, string Execution) { Database db = DatabaseFactory.CreateDatabase(); var baseHead = new YXmb(); baseHead.GetTableField(db); var HeadList = new List(); if (dataList != "") { var savedl = JsonConvert.Deserialize>>(dataList); foreach (var sdl in savedl) { var head = new YXmb(); baseHead.Copy(head); head.SetValue(sdl); HeadList.Add(head); } if (HeadList.Count > 0) { foreach (var head in HeadList) { doPushState(head, Execution); } } } JsonResponse result = new JsonResponse(); result.Success = true; return new ContentResult() { Content = JsonConvert.Serialize(result) }; } //public ContentResult SQQR ( string USERID, string data ) //申请签入 //{ // var _r1 = SaveList_P(data); // var _L = new List(); // var result = new DBResult(); // foreach (var _p in _r1) { // if (_p.BLSTATUS != "录入状态") // { // } // else { // _L.Add(_p); // } // } // var jsonRespose = new JsonResponse(); // //var USERID=Convert.ToString(Session["USERID"]); // if (_L.Count > 0) // { // result = MsOp_BLISSUEDAL.SQQR(_L, USERID); // jsonRespose = new JsonResponse // { // Success = result.Success, // Message = result.Message, // //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'") // }; // } // else { // result.Success = false; // result.Message = "没有可以提交的提单"; // jsonRespose = new JsonResponse // { // Success = result.Success, // Message = result.Message, // Data = null // }; // } // return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; //} //public ContentResult SQQR_back ( string USERID, string data ) //申请签入_撤回 //{ // var _r1 = SaveList_P(data); // var _L = new List(); // var result = new DBResult(); // foreach (var _p in _r1) // { // if (_p.BLSTATUS != "待签入") // { // } // else // { // _L.Add(_p); // } // } // var jsonRespose = new JsonResponse(); // //var USERID=Convert.ToString(Session["USERID"]); // if (_L.Count > 0) // { // result = MsOp_BLISSUEDAL.SQQR_back(_L, USERID); // jsonRespose = new JsonResponse // { // Success = result.Success, // Message = result.Message, // //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'") // }; // } // else // { // result.Success = false; // result.Message = "没有可以撤回的提单"; // jsonRespose = new JsonResponse // { // Success = result.Success, // Message = result.Message, // Data = null // }; // } // return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; //} //public ContentResult SQQR_Auditback ( string USERID, string data,string REASON ) //申请签入_撤回 //{ // var _r1 = SaveList_P(data); // var _L = new List(); // var result = new DBResult(); // foreach (var _p in _r1) // { // if (_p.BLSTATUS == "待签入" || _p.BLSTATUS == "已签入") // { // _L.Add(_p); // } // else // { // //_L.Add(_p); // } // } // var jsonRespose = new JsonResponse(); // //var USERID=Convert.ToString(Session["USERID"]); // if (_L.Count > 0) // { // result = MsOp_BLISSUEDAL.SQQR_Auditback(_L, USERID,REASON); // jsonRespose = new JsonResponse // { // Success = result.Success, // Message = result.Message, // //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'") // }; // } // else // { // result.Success = false; // result.Message = "没有可以撤回的提单"; // jsonRespose = new JsonResponse // { // Success = result.Success, // Message = result.Message, // Data = null // }; // } // return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; //} //public ContentResult SQQR_Audit ( string USERID, string data ) //申请签入_准许签入 //{ // var _r1 = SaveList_P(data); // var _L = new List(); // var result = new DBResult(); // foreach (var _p in _r1) // { // if (_p.BLSTATUS != "待签入") // { // //result.Success = false; // //result.Message = "只有录入状态的提单才能申请签入"; // //var jsonRespose = new JsonResponse // //{ // // Success = result.Success, // // Message = result.Message, // // Data = null // //}; // } // else // { // _L.Add(_p); // } // } // var jsonRespose = new JsonResponse(); // //var USERID=Convert.ToString(Session["USERID"]); // if (_L.Count > 0) // { // result = MsOp_BLISSUEDAL.SQQR_Audit(_L, USERID); // jsonRespose = new JsonResponse // { // Success = result.Success, // Message = result.Message, // //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'") // }; // } // else // { // result.Success = false; // result.Message = "没有可以提交的提单"; // jsonRespose = new JsonResponse // { // Success = result.Success, // Message = result.Message, // Data = null // }; // } // return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; //} #endregion #region 工作流控制 private List getCanOPList(string dataList) { Database db = DatabaseFactory.CreateDatabase(); var baseHead = new YXmb(); baseHead.GetTableField(db); var HeadList = new List(); var dicCanedit = new Dictionary(); var modname = "modYAXIANG"; var userid = Session["USERID"].ToString(); if (dataList != "") { var savedl = JsonConvert.Deserialize>>(dataList); if (savedl.Count > 0) foreach (var sdl in savedl) { var head = new YXmb(); baseHead.Copy(head); head.SetValue(sdl); //此处获取编辑权限 var canedit = "F"; if (!dicCanedit.TryGetValue(head.GetValue("CREATEUSER"), out canedit)) { if (MsBaseInfoDAL.GetCanOP(modname, userid, head.GetValue("CREATEUSER"))) { dicCanedit.Add(head.GetValue("CREATEUSER"), "T"); } else dicCanedit.Add(head.GetValue("CREATEUSER"), "F"); } else { } if (dicCanedit[head.GetValue("CREATEUSER")] == "T") { HeadList.Add(head); } } } return HeadList; } //提交 public ContentResult SubmitAudit(string dataList) { Database db = DatabaseFactory.CreateDatabase(); var baseHead = new YXmb(); baseHead.GetTableField(db); var HeadList = getCanOPList(dataList); if (HeadList.Count>0) foreach (var head in HeadList) { AuditInfomb AuditInfo = AuditInfomb.getExecutionAudit(head, "YAXIANGAudit", "3000", Session["USERID"].ToString()); if (AuditInfo.cando()) { var _r = WorkFlowDAL.SubmitAudit(AuditInfo); } } JsonResponse result = new JsonResponse(); result.Success = true; return new ContentResult() { Content = JsonConvert.Serialize(result) }; } //撤回 public ContentResult SubmitAuditBack(string dataList) { Database db = DatabaseFactory.CreateDatabase(); var baseHead = new YXmb(); baseHead.GetTableField(db); var HeadList = getCanOPList(dataList); if (HeadList.Count > 0) foreach (var head in HeadList) { AuditInfomb AuditInfo = new AuditInfomb(head, "YAXIANGAudit", "3001", Session["USERID"].ToString()); AuditInfo.FROMSTATE = "3002"; //从状态3002 提交审核出发 var _r = WorkFlowDAL.SubmitAuditBack(AuditInfo); } JsonResponse result = new JsonResponse(); result.Success = true; return new ContentResult() { Content = JsonConvert.Serialize(result) }; } //审核通过 public ContentResult Audit(string dataList) { Database db = DatabaseFactory.CreateDatabase(); var baseHead = new YXmb(); baseHead.GetTableField(db); var HeadList = new List(); if (dataList != "") { var savedl = JsonConvert.Deserialize>>(dataList); foreach (var sdl in savedl) { var head = new YXmb(); baseHead.Copy(head); head.SetValue(sdl); HeadList.Add(head); } } foreach (var head in HeadList) { AuditInfomb AuditInfo = new AuditInfomb(head, "YAXIANGAudit", "3003", Session["USERID"].ToString()); AuditInfo.FROMSTATE = "3002"; //从状态3002 提交审核出发 到3003审核通过 var _r = WorkFlowDAL.Audit(AuditInfo); } JsonResponse result = new JsonResponse(); result.Success = true; return new ContentResult() { Content = JsonConvert.Serialize(result) }; } //驳回提交 public ContentResult AuditBack(string dataList,string reason) { Database db = DatabaseFactory.CreateDatabase(); var baseHead = new YXmb(); baseHead.GetTableField(db); var HeadList = new List(); if (dataList != "") { var savedl = JsonConvert.Deserialize>>(dataList); foreach (var sdl in savedl) { var head = new YXmb(); baseHead.Copy(head); head.SetValue(sdl); HeadList.Add(head); } } foreach (var head in HeadList) { AuditInfomb AuditInfo = new AuditInfomb(head, "YAXIANGAudit", "3003", Session["USERID"].ToString()); AuditInfo.FROMSTATE = "3003"; //从状态3002 提交审核出发 到3003审核通过 //var reason = ""; var _r = WorkFlowDAL.AuditBack(AuditInfo,"PAYMENTREMARK='"+reason+"'", reason); } JsonResponse result = new JsonResponse(); result.Success = true; return new ContentResult() { Content = JsonConvert.Serialize(result) }; } #endregion #region 获取打印的sql文本 public ContentResult GetPrintSql(string printname,string YXNOList) { var jsonRespose = new JsonResponse { Success = false, Message = "" }; if (printname == "Print1") { var result = new PrintSql(); result.sql1 = MsOp_YAXIANGDAL.getHeadListStr(" and YXNO in("+ YXNOList + ")", Session["USERID"].ToString()); result.sql2 = MsOp_YAXIANGDAL.getBodyListStr(" and D.YXNO in(" + YXNOList + ")"); jsonRespose.Success = true; jsonRespose.Message = "查询成功"; jsonRespose.Data = result; } return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #endregion } }