|
|
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;
|
|
|
|
|
|
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 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 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 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)
|
|
|
{
|
|
|
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) };
|
|
|
}
|
|
|
//
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
var dataall = data.Replace("}", ",") + data2.Replace("{", "");
|
|
|
var headData = JsonConvert.Deserialize<MsOpOtherEntity>(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";//业务类型
|
|
|
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 new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
else {
|
|
|
if (iscreatecustno == true)
|
|
|
MsSysBillNoSetDAL.DeleteBsNo(headData.CUSTNO);
|
|
|
var jsonRespose = new JsonResponse { Success = false, Message =errorstr };
|
|
|
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<List<MsOpOtherEntity>>(bill);
|
|
|
var feeList = JsonConvert.Deserialize<List<MsCodeServiceFeeTemplateDetail>>(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<MsOpOtherEntity>(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<string> 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<string> ExcelSheetName(string filepath,string ExcelExt)
|
|
|
{
|
|
|
var al = new List<string>();
|
|
|
|
|
|
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<string>();
|
|
|
}
|
|
|
|
|
|
return al;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|