using System; using System.Linq; using System.Web.Mvc; using DSWeb.MvcShipping.DAL.MsOpOtherDAL; using DSWeb.MvcShipping.Models.MsOpOther; using DSWeb.MvcShipping.Helper; using DSWeb.MvcShipping.Comm.Cookie; using HcUtility.Comm; using HcUtility.Core; using System.Collections.Generic; using DSWeb.MvcShipping.DAL.MsBaseInfoDAL; using DSWeb.EntityDA; using DSWeb.Models; using DSWeb.Attributes; using DSWeb.MvcShipping.Models.MsSysBillNoSet; using DSWeb.MvcShipping.DAL.MsSysBillNoSet; using DSWeb.MvcShipping.Models.MsCodeServiceFeeTemplate; using System.IO; using System.Data; using System.Data.OleDb; using DSWeb.MvcShipping.DAL.MsInfoClient; using DSWeb.MvcShipping.DAL.MsSysParamSet; using System.Web.Configuration; using DSWeb.SoftMng.DAL.SoftSysTable; using DSWeb.Areas.SysMng.DAL.SysUser; using DSWeb.MvcShipping.DAL.MsCodeOpTemplate; using DSWeb.MvcShipping.DAL.ChMonthCloseDAL; using DSWeb.MvcShipping.DAL.MsChFeeDAL; using DSWeb.Areas.Dispatch.DB; using javax.xml.crypto; using DSWeb.Common.DB; using System.Data.Entity.Migrations; using DSWeb.Areas.Dispatch.DB_Wx; using CommonDataContext = DSWeb.Common.DB.CommonDataContext; namespace DSWeb.MvcShipping.Controllers { [JsonRequestBehavior] public class MsOpOtherController : Controller { public ActionResult Index() { return View(); } public ActionResult HistryFeeIndex() { return View(); } public ActionResult Edit() { return View(); } public ActionResult EditView() { return View(); } public ActionResult FeeEdit() { return View(); } public ActionResult OtherFeeView() { return View(); } public ActionResult FeeAmendEdit() { return View(); } public ActionResult ReceiptEdit() { return View(); } public ActionResult PiLiangFeeEdit() { return View(); } public ActionResult PiLiangServiceFeeEdit() { return View(); } public ActionResult CangDanIndex() { return View(); } public ActionResult CangDanEdit() { return View(); } public ActionResult KuaiDiIndex() { return View(); } public ActionResult KuaiDiEdit() { return View(); } public ContentResult GetDataList(int start, int limit, string sort, string condition) { var dataList = MsOpOtherDAL.GetDataList(start, limit, condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort); int count = MsOpOtherDAL.getTotalCount(condition, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); //var cdc = new CommonDataContext(); //var xx = cdc.SSC.Queryable().Where("").ToList(); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetDataListStr(string sort, string condition) { var dataListStr = MsOpOtherDAL.GetDataListStr(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", data = dataListStr }); return new ContentResult() { Content = json }; } public ContentResult GetDataListSum(int start, int limit, string sort, string condition) { var dataList = MsOpOtherDAL.GetDataListSum(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort); var list = dataList.Skip(start).Take(limit); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetData(string handle, string condition) { MsOpOtherEntity head = null; if (handle == "edit") { head = MsOpOtherDAL.GetData(condition); } if (head == null) { head = new MsOpOtherEntity(); head.OP = Convert.ToString(Session["SHOWNAME"]); var SALEORDERDEPTBYOP = MsSysParamSetDAL.GetData("PARAMNAME='SALEORDERDEPTBYOP'"); if (SALEORDERDEPTBYOP.PARAMVALUE == "1") { head.SALEDEPT = Convert.ToString(Session["DEPTNAME"]); } //head.BSTYPE = "2"; } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult GetData_CangDan(string handle, string condition) { MsOpOtherEntity head = null; if (handle == "edit") { head = MsOpOtherDAL.GetData(condition); } if (head == null) { head = new MsOpOtherEntity(); head.OP = Convert.ToString(Session["SHOWNAME"]); var SALEORDERDEPTBYOP = MsSysParamSetDAL.GetData("PARAMNAME='SALEORDERDEPTBYOP'"); if (SALEORDERDEPTBYOP.PARAMVALUE == "1") { head.SALEDEPT = Convert.ToString(Session["DEPTNAME"]); } //head.BSTYPE = "2"; } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult GetCopyData(string handle, string condition, string copyfee = "false") { MsOpOtherEntity head = null; var oldhead = MsOpOtherDAL.GetData(condition); var copyfieldlist = MsCodeOpTemplateDAL.GetCodeOpTemplateDetail(" LINKGID in (select top 1 GID from CODE_OP_TEMPLATE where BSTYPE='报关业务' and (op='" + CookieConfig.GetCookie_UserId(Request) + "' or ISPUBLIC='是') order by ISPUBLIC)"); if (copyfieldlist.Count == 0) { head = oldhead; head.BSNO = "topother" + Guid.NewGuid().ToString(); head.CUSTNO = ""; head.OP = Convert.ToString(Session["SHOWNAME"]); var period = ChMonthCloseDAL.GetData("", Convert.ToString(Session["COMPANYID"])); if (Convert.ToDateTime(period.FDAY) > DateTime.Now) { head.ACCDATE = period.PERIOD; } else { head.ACCDATE = DateTime.Now.ToString("yyyy-MM"); } head.BSSTATUS = false; head.FEESTATUS = false; head.BSSTATUSREF = "未锁定"; head.FEESTATUSREF = "未锁定"; var SALEORDERDEPTBYOP = MsSysParamSetDAL.GetData("PARAMNAME='SALEORDERDEPTBYOP'"); if (SALEORDERDEPTBYOP.PARAMVALUE == "1") { head.SALEDEPT = Convert.ToString(Session["DEPTNAME"]); } if (copyfee == "true") { var feelist = MsChFeeDAL.GetAllDataList(condition); if (feelist != null) { for (int _i = 0; _i < feelist.Count; _i++) { feelist[_i].BsNo = "*"; } MsChFeeDAL.SaveFee(feelist, head.BSNO, CookieConfig.GetCookie_UserId(Request)); } } } else { if (head == null) { head = new MsOpOtherEntity(); head.BSNO = "topother" + Guid.NewGuid().ToString(); head.OP = Convert.ToString(Session["SHOWNAME"]); var period = ChMonthCloseDAL.GetData("", Convert.ToString(Session["COMPANYID"])); if (Convert.ToDateTime(period.FDAY) > DateTime.Now) { head.ACCDATE = period.PERIOD; } else { head.ACCDATE = DateTime.Now.ToString("yyyy-MM"); } var SALEORDERDEPTBYOP = MsSysParamSetDAL.GetData("PARAMNAME='SALEORDERDEPTBYOP'"); if (SALEORDERDEPTBYOP.PARAMVALUE == "1") { head.SALEDEPT = Convert.ToString(Session["DEPTNAME"]); } var propArr = head.GetType().GetProperties(); foreach (var enumValue in copyfieldlist) { var prop = propArr.FirstOrDefault(p => p.Name.ToLower() == enumValue.FIELDNAME.ToLower()); if (prop != null) { prop.SetValue(head, oldhead.GetPropertyValue(enumValue.FIELDNAME)); } } if (copyfee == "true") { var feelist = MsChFeeDAL.GetAllDataList(condition); if (feelist != null) { for (int _i = 0; _i < feelist.Count; _i++) { feelist[_i].BsNo = "*"; } MsChFeeDAL.SaveFee(feelist, head.BSNO, CookieConfig.GetCookie_UserId(Request)); } } } } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult Save(string opstatus, string data, string data2) { var jsonRespose = Save_Base(opstatus, data, data2); return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } private JsonResponse Save_Base(string opstatus, string data, string data2) { if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "") { var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" }; //return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; return jsonRespose2; } // T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA(); var dataall = data.Replace("}", ",") + data2.Replace("{", ""); var headData = JsonConvert.Deserialize(dataall); var isPost = true; var errorstr = ""; var iscreatecustno = false; //分公司代码 if (headData.CORPID == "" || headData.CORPID == null) { headData.CORPID = Convert.ToString(Session["COMPANYID"]); } //分公司代码 if (headData.BSNO == "" || headData.BSNO == null) { headData.BSNO = "topother" + Guid.NewGuid().ToString().Replace("-",""); } #region 委托编号规则 var isuse = false; var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='综合业务'", Convert.ToString(Session["COMPANYID"])); if (billnoset.BILLTYPE != "") isuse = true; else isuse = MsBaseInfoDAL.GetRuleUse("委托编号", "6"); if (headData.CUSTNO == "") { if (isuse) { if (billnoset.BILLTYPE != "") { var CUSTOMHEAD = ""; if (billnoset.CUSTOMHEAD != "") { var HBLCUSTOMHEAD = billnoset.CUSTOMHEAD; if ((HBLCUSTOMHEAD.IndexOf("[SALE]") >= 0) && !string.IsNullOrEmpty(headData.SALE)) { var user = SysUserDAL.GetData("u.SHOWNAME='" + headData.SALE + "'"); if (!string.IsNullOrEmpty(user.NOCODE)) HBLCUSTOMHEAD = HBLCUSTOMHEAD.Replace("[SALE]", user.NOCODE); } if ((HBLCUSTOMHEAD.IndexOf("[OP]") >= 0) && !string.IsNullOrEmpty(headData.OP)) { var user = SysUserDAL.GetData("u.SHOWNAME='" + headData.OP + "'"); if (!string.IsNullOrEmpty(user.NOCODE)) HBLCUSTOMHEAD = HBLCUSTOMHEAD.Replace("[OP]", user.NOCODE); } CUSTOMHEAD = HBLCUSTOMHEAD; var CUST = MsInfoClientDAL.GetData("SHORTNAME='" + headData.CUSTOMERNAME + "'"); CUSTOMHEAD = CUSTOMHEAD.Replace("[CUSTCODE]", CUST.CODENAME); } headData.CUSTNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.ETD.ToString().Trim(), headData.ACCDATE.ToString().Trim(), "", headData.OP, headData.SALECORPID, CUSTOMHEAD); iscreatecustno = true; } else headData.CUSTNO = MsOpOtherDAL.getCodeRule("委托编号", 6, "CUSTNO", headData.BSDATE.ToString().Trim(), headData.ACCDATE.ToString().Trim(), Convert.ToString(Session["USERID"]), Convert.ToString(Session["COMPANYID"])); } } else { //if (!isuse) { var ct = MsOpOtherDAL.GetRdCount("BSNO<>'" + headData.BSNO + "' AND CUSTNO='" + headData.CUSTNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "'"); if (ct != 0) { isPost = false; errorstr = "委托编号"; } //} } #endregion #region 主提单号规则 if (headData.MBLNO != "" && headData.MBLNO != null) { var OpOtherMblrepeat = MsSysParamSetDAL.GetData("PARAMNAME='OpOtherMblrepeat'"); if (OpOtherMblrepeat.PARAMVALUE == "1") { var ct = MsOpOtherDAL.GetRdCount("BSNO<>'" + headData.BSNO + "' AND MBLNO='" + headData.MBLNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "'"); if (ct != 0) { isPost = false; errorstr = "主提单号重复,不允许保存!"; } } } ////先获取分公司默认主提单号是否允许重复 //AttributeCompanyEntity attributeCompanyEntity = (AttributeCompanyEntity)attributeManager.FindAttributeByName("refSubCompanyOtherMBLNO", AttributeType.COMPANYATTRIBUTE, Convert.ToString(Session["COMPANYID"])) as AttributeCompanyEntity; //if (attributeCompanyEntity != null) //{ // if (attributeCompanyEntity.GID != null) // { // if (attributeCompanyEntity.AttributeValue.ToString().Trim() == "false") // { // var ct = MsOpOtherDAL.GetRdCount("BSNO<>'" + headData.BSNO + "' AND MBLNO='" + headData.MBLNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "'"); // if (ct != 0) // { // isPost = false; // errorstr = "主提单号重复,不允许保存!"; // } // } // } // else // { // var ct = MsOpOtherDAL.GetRdCount("BSNO<>'" + headData.BSNO + "' AND MBLNO='" + headData.MBLNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "'"); // if (ct != 0) // { // isPost = false; // errorstr = "主提单号编码规则未设置,请联系管理员!"; // } // } // } // else // { // isPost = false; // errorstr = "主提单号编码规则未设置,请联系管理员!"; // } //} //else //{ // isPost = false; // errorstr = "主提单号不允许为空!"; //} #endregion #region 分提单号规则 //if (headData.HBLNO != "" && headData.HBLNO != null) //{ // //先获取分公司默认分提单号是否允许重复 // AttributeCompanyEntity attributeCompanyEntity_2 = (AttributeCompanyEntity)attributeManager.FindAttributeByName("refSubCompanyOtherHBLNO", AttributeType.COMPANYATTRIBUTE, Convert.ToString(Session["COMPANYID"])) as AttributeCompanyEntity; // if (attributeCompanyEntity_2 != null) // { // if (attributeCompanyEntity_2.GID != null) // { // if (attributeCompanyEntity_2.AttributeValue.ToString().Trim() == "false") // { // var ct = MsOpOtherDAL.GetRdCount("BSNO<>'" + headData.BSNO + "' AND HBLNO='" + headData.HBLNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "'"); // if (ct != 0) // { // isPost = false; // errorstr = "分提单号重复,不允许保存!"; // } // } // } // else // { // var ct = MsOpOtherDAL.GetRdCount("BSNO<>'" + headData.BSNO + "' AND HBLNO='" + headData.HBLNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "'"); // if (ct != 0) // { // isPost = false; // errorstr = "分提单号编码规则未设置,请联系管理员!"; // } // } // } // else // { // var ct = MsOpOtherDAL.GetRdCount("BSNO<>'" + headData.BSNO + "' AND HBLNO='" + headData.HBLNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "'"); // if (ct != 0) // { // isPost = false; // errorstr = "分提单号编码规则未设置,请联系管理员!"; // } // } //} //else //{ // isuse = MsBaseInfoDAL.GetRuleUse("分提单号", "6"); // if (isuse) // { // headData.HBLNO = MsOpOtherDAL.getCodeRule("分提单号", 6, "HBLNO", headData.BSDATE.ToString().Trim(), headData.ACCDATE.ToString().Trim(), Convert.ToString(Session["USERID"]), Convert.ToString(Session["COMPANYID"])); // } //} #endregion // if (headData.ETD == "") headData.ETD = null; if (headData.CLOSINGDATE == "") headData.CLOSINGDATE = null; if (headData.CLOSEDOCDATE == "") headData.CLOSEDOCDATE = null; if (headData.ETD != "" && headData.CUSTOMERNAME != "")// headData.STLDATE == "" && { //根据客户、开船日计算账期 var _dmb = MsInfoClientDAL.GetSTLDATE(headData.CUSTOMERNAME, "海运出口", headData.ETD, headData.SALE); headData.STLNAME = _dmb.STLNAME; headData.STLDATE = _dmb.STLDATE; if (_dmb.STLNAME == "") { headData.STLNAME = "现结买单"; headData.STLDATE = headData.ETD; } if (_dmb.BSSOURCE != "") headData.BSSOURCE = _dmb.BSSOURCE; } string rq = T_ALL_DA.GetStrSQL("rq", "select getdate() as rq"); // if (opstatus == "add") { headData.DbOperationType = DbOperationType.DbotIns; // headData.OPLB="op_other";//业务类型 if(string.IsNullOrWhiteSpace(headData.OPLBNAME)) headData.OPLBNAME = "散杂运输";//业务类型名称 headData.BSSTATUS = false;//业务状态 headData.FEESTATUS = false;//费用状态 headData.ISVOU = false;//是否生成凭证 headData.VOUNO="";//凭证号 headData.CREATEUSER = Convert.ToString(Session["USERID"]);//创建人 headData.CREATETIME = DateTime.Parse(rq);//创建时间 headData.MODIFIEDUSER = Convert.ToString(Session["USERID"]);//最后一次操作人 headData.MODIFIEDTIME = DateTime.Parse(rq);//最后一次操作时间 } else if (opstatus == "edit") { headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; // headData.MODIFIEDUSER = Convert.ToString(Session["USERID"]);//最后一次操作人 headData.MODIFIEDTIME = DateTime.Parse(rq);//最后一次操作时间 } else { headData.DbOperationType = DbOperationType.DbotDel; } //if (headData.CTNNUM == null) { headData.CTNNUM = 0; } #region 判断字段长度 if (isPost) { var seaefield = MsSoftSysTableDAL.GetDefTableDetailList("OP_OTHER"); foreach (var enumValue in seaefield) { if (enumValue.FIELDNAME == "MBLNO" && headData.MBLNO != null && headData.MBLNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "主提单号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "HBLNO" && headData.HBLNO != null && headData.HBLNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "分提单号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "CUSTNO" && headData.CUSTNO != null && headData.CUSTNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "委托编号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "ORDERNO" && headData.ORDERNO != null && headData.ORDERNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "订舱编号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "VESSEL" && headData.VESSEL != null && headData.VESSEL.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "船名超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "VOYNO" && headData.VOYNO != null && headData.VOYNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "航次超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "PORTLOAD" && headData.PORTLOAD != null && headData.PORTLOAD.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "装货港超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "PORTDISCHARGE" && headData.PORTDISCHARGE != null && headData.PORTDISCHARGE.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "卸货港超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "GOODSNAME" && headData.GOODSNAME != null && headData.GOODSNAME.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "品名超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "KINDPKGS" && headData.KINDPKGS != null && headData.KINDPKGS.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "包装超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "CONTRACTNO" && headData.CONTRACTNO != null && headData.CONTRACTNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "运费协议号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "REMARK" && headData.REMARK != null && headData.REMARK.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "备注超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "STLNAME" && headData.STLNAME != null && headData.STLNAME.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "结算方式超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "ENTERP" && headData.ENTERP != null && headData.ENTERP.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "经营单位超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "BSSOURCE" && headData.BSSOURCE!=null && headData.BSSOURCE.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "业务来源超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "BSSOURCEDETAIL" && headData.BSSOURCEDETAIL != null && headData.BSSOURCEDETAIL.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "来源明细超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "BOOKNO" && headData.BOOKNO != null && headData.BOOKNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "手册号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "WAREHOUSE" && headData.WAREHOUSE != null && headData.WAREHOUSE.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "仓库超长,字段长度限制" + enumValue.FIELDLEN; } } } #endregion if (isPost) { var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); var BSNO = headData.BSNO; if (result.Success == true) { //--result = MsOpOtherDAL.SaveDetail(headData, bodyList, Convert.ToString(Session["USERID"])); } else { MsSysBillNoSetDAL.DeleteBsNo(headData.CUSTNO); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsOpOtherDAL.GetData("BSNO='" + BSNO + "'") }; return jsonRespose; //return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { if (iscreatecustno == true) MsSysBillNoSetDAL.DeleteBsNo(headData.CUSTNO); var jsonRespose = new JsonResponse { Success = false, Message =errorstr }; return jsonRespose; //return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } public ContentResult PiliangServiceFee(string bill, string fee) { if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "") { var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } // var billList = JsonConvert.Deserialize>(bill); var feeList = JsonConvert.Deserialize>(fee); DBResult result = MsOpOtherDAL.PiliangServiceFee(billList, feeList, Convert.ToString(Session["USERID"])); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult GetENTERPLIST() { var dataList = MsOpOtherDAL.GetENTERPLIST(); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult Delete(string data) { if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "") { var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } // var head = JsonConvert.Deserialize(data); var isfee = MsOpOtherDAL.GetFeeCount(head.BSNO); if (isfee) { var jsonRespose = new JsonResponse { Success = false, Message ="此票业务存在费用,请先删除费用才能删除此票业务!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { var BSNO = head.BSNO; var modb = new ModelObjectDB(); DBResult result = modb.Delete(head); if (result.Success == true) { MsSysBillNoSetDAL.DeleteBsNo(head.CUSTNO); } if (result.Success == true) { //MsOpOtherDAL.DeleteDetail(head); DBResult result2 = MsOpOtherDAL.setLog(head, Convert.ToString(Session["USERID"])); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } // #region EXCEL导入 [HttpPost] public ContentResult ImportBl() { var jsonRespose = new JsonResponse { Success = false, Message = "" }; if (Request.Files.Count != 1) { jsonRespose.Success = false; jsonRespose.Message = "请选择上传的文件"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var file = Request.Files["LoadExcel"]; if (file == null) { jsonRespose.Success = false; jsonRespose.Message = "上传文件发生未知错误,请重新上传"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var path = Server.MapPath("../../UploadFiles/OpOther"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var size = file.ContentLength; var name = Path.GetFileName(file.FileName); var usercode = CookieConfig.GetCookie_UserCode(Request); string filename = path + "\\" + usercode + DateTime.Now.ToString("yyyyMMddHHmmssfff") + name; if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename); } file.SaveAs(filename); if (!System.IO.File.Exists(filename)) { jsonRespose.Success = false; jsonRespose.Message = "上传的Excel不包含数据01"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var ExcelExt = ""; try { ExcelExt = WebConfigurationManager.AppSettings["ExcelExt"].ToString(); } catch { } if (ExcelExt == "" || ExcelExt == null) ExcelExt = "Excel 8.0;HDR=Yes;IMEX=1"; List sheets = ExcelSheetName(filename, ExcelExt); if (sheets.Count == 0) { jsonRespose.Success = false; jsonRespose.Message = "上传的Excel不包含数据02"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } try { var sheetname = sheets[0]; string excelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";Extended Properties="+ ExcelExt; if (filename.ToLower().IndexOf(".xlsx") > 0) { excelConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + ";Extended Properties=\"Excel 12.0 Xml;HDR=Yes\""; } OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "]", excelConn); DataSet ds = new DataSet(); oada.Fill(ds); if (ds.Tables.Count == 0) { jsonRespose.Success = false; jsonRespose.Message = "上传的Excel不包含数据03"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var table = ds.Tables[0]; if (table.Rows.Count == 0 || table.Rows.Count == 1) { jsonRespose.Success = false; jsonRespose.Message = "上传的Excel不包含数据04"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var message = string.Empty; bool isSucess = false; isSucess = MsOpOtherDAL.ImportBldata(Request, table, CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_CompanyId(Request), out message, CookieConfig.GetCookie_UserName(Request)); if (!isSucess) { jsonRespose.Success = false; jsonRespose.Message = message; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var json = JsonConvert.Serialize(new { success = true, Message = "上传成功" }); return new ContentResult() { Content = json }; } catch (Exception) { jsonRespose.Success = false; jsonRespose.Message = "读取Excel文件出错,请确认文件正确性"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } [HttpPost] public ContentResult ImportBlZh() { var jsonRespose = new JsonResponse { Success = false, Message = "" }; if (Request.Files.Count != 1) { jsonRespose.Success = false; jsonRespose.Message = "请选择上传的文件"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var file = Request.Files["LoadExcel"]; if (file == null) { jsonRespose.Success = false; jsonRespose.Message = "上传文件发生未知错误,请重新上传"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var path = Server.MapPath("../../UploadFiles/OpOther"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var size = file.ContentLength; var name = Path.GetFileName(file.FileName); var usercode = CookieConfig.GetCookie_UserCode(Request); string filename = path + "\\" + usercode + DateTime.Now.ToString("yyyyMMddHHmmssfff") + name; if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename); } file.SaveAs(filename); if (!System.IO.File.Exists(filename)) { jsonRespose.Success = false; jsonRespose.Message = "上传的Excel不包含数据01"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } try { string ext = Path.GetExtension(file.FileName).ToLower(); if (ext != ".xls" && ext != ".xlsx") { jsonRespose.Success = false; jsonRespose.Message = "上传的文件不是Excel文件"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var strMsg = ""; DataTable table = ExcelHelper.ExcelToDatatable(file.InputStream, ext, out strMsg); if (!string.IsNullOrEmpty(strMsg)) { jsonRespose.Success = false; jsonRespose.Message = strMsg; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } if (table.Rows.Count > 0) { } else { jsonRespose.Success = false; jsonRespose.Message = "excel无数据!"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var message = string.Empty; bool isSucess = false; isSucess = MsOpOtherDAL.ImportBlZhdata(Request, table, CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_CompanyId(Request), out message, CookieConfig.GetCookie_UserName(Request)); if (!isSucess) { jsonRespose.Success = false; jsonRespose.Message = message; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var json = JsonConvert.Serialize(new { success = true, Message = "上传成功" }); return new ContentResult() { Content = json }; } catch (Exception) { jsonRespose.Success = false; jsonRespose.Message = "读取Excel文件出错,请确认文件正确性"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } public List ExcelSheetName(string filepath,string ExcelExt) { var al = new List(); try { string strConn; strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties="+ ExcelExt; if (filepath.ToLower().IndexOf(".xlsx") > 0 || filepath.ToLower().IndexOf(".xlsm") > 0) { strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties=\"Excel 12.0 Xml;HDR=Yes\""; } OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); System.Data.DataTable sheetNames = conn.GetOleDbSchemaTable (System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); conn.Close(); foreach (DataRow dr in sheetNames.Rows) { al.Add(dr[2].ToString()); } } catch (Exception) { return new List(); } return al; } #endregion } }