using System; using System.Linq; using System.Web.Mvc; using DSWeb.MvcShipping.Models.WMSNew; using DSWeb.MvcShipping.Models.MsStevedores; using DSWeb.MvcShipping.DAL.WMSNewDAL; using System.Collections.Generic; using System.Data; using System.IO; using HcUtility.Comm; using DSWeb.Areas.MvcShipping.DAL.Message; using DSWeb.MvcShipping.DAL.MsSysBillNoSet; using DSWeb.MvcShipping.DAL.MsCodeFtpSet; using DSWeb.TruckMng.Comm.Cookie; using DSWeb.TruckMng.Helper; using DSWeb.TruckMng.Helper.Repository; using System.Web.Script.Serialization; using System.Collections; using System.Data.OleDb; using DSWeb.Areas.CommMng.DAL; using DSWeb.MvcShipping.DAL.WMSDeliver; using DSWeb.MvcShipping.DAL.MsSysParamSet; namespace DSWeb.MvcShipping.Controllers { public class WMSNewController : Controller { // // GET: public ActionResult Index ( ) { return View(); } // // GET: / public ActionResult Edit ( ) { return View(); } public ActionResult InEdit ( ) { return View(); } public ContentResult GetDataList ( int start, int limit, string sort, string condition ) { int count = 0; var dataList = WMSNewDAL.GetDataList(condition, start, limit, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), out count, sort); var timeStamp = DateTime.Now.ToShortDateString(); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList(), timeStamp = timeStamp }); return new ContentResult() { Content = json }; } public ContentResult GetDataList_LTJY(int start, int limit, string sort, string condition) { int count = 0; var dataList = WMSNewDAL.GetDataList_LTJY(condition, start, limit, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), out count, sort); var timeStamp = DateTime.Now.ToShortDateString(); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList(), timeStamp = timeStamp }); return new ContentResult() { Content = json }; } public ContentResult GetData ( string handle, string condition ) { WMSNewList head = null; var timeStamp = DateTime.Now.ToShortDateString(); var wmsnoManual = "0"; if (handle == "edit") { head = WMSNewDAL.GetData(condition, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); } if (head == null) { head = new WMSNewList(); head.ARFEE = "0"; head.APFEE = "0"; head.CHARGEUNIT = "吨"; head.GOODSKGS = "0"; } wmsnoManual = WMSNewDAL.GetWMSNOManualConfig(); var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head, timeStamp = timeStamp,WMSNOManual=wmsnoManual }); return new ContentResult() { Content = json }; } public ContentResult GetData_LTJY(string handle, string condition) { WMSNewList head = null; var timeStamp = DateTime.Now.ToShortDateString(); var wmsnoManual = "0"; if (handle == "edit") { head = WMSNewDAL.GetData_LTJY(condition, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); } if (head == null) { head = new WMSNewList(); head.ARFEE = "0"; head.APFEE = "0"; head.CHARGEUNIT = "箱"; } wmsnoManual = WMSNewDAL.GetWMSNOManualConfig(); var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head, timeStamp = timeStamp, WMSNOManual = wmsnoManual }); return new ContentResult() { Content = json }; } public ContentResult Delete ( string data, string USERID ) { var WMSNewList = JsonConvert.Deserialize>(data); string msg = ""; bool success = WMSNewDAL.Delete(WMSNewList,out msg); var jsonRespose = new JsonResponse { Success = success, Message = msg }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } private List serializeParams ( List list ) { return list; } public ContentResult Save ( string opstatus, string data, string WMSINBody, string WMSINBodyDel) { var head = JsonConvert.Deserialize(data); var WMSINBodyList = JsonConvert.Deserialize>(WMSINBody); var WMSINBodyDelList = JsonConvert.Deserialize>(WMSINBodyDel); if (WMSINBodyList!=null) { foreach (var item in WMSINBodyList) { item.STORAGENAME = head.STORAGENAME; } } if (head.WMSDATE == "") { head.WMSDATE = DateTime.Now.ToString("yyyy-MM-dd"); } var CustomsNo = head.CUSTOMNO; var BSNO = head.ASSOCIATEDNO; var BLNO = head.BLNO; var CONTRACTNO = head.CONTRACTNO; var jsonRespose = new JsonResponse(); //检查是否报关 bool ISCustomsClearance = WMSNewDAL.CheckISCustomsClearance(CustomsNo,BLNO); if (!ISCustomsClearance) { jsonRespose.Success = false; jsonRespose.Message = "未进行报关,不允许入库!"; } else { if (opstatus == "add") { /*if (WMSINBodyList!=null && WMSINBodyList.Count > 0) { head.GOODSNAMEID = WMSINBodyList[0].GOODSNAMEID; head.GOODSNAME = WMSINBodyList[0].GOODSNAME; } */ head.DbOperationType = DbOperationType.DbotIns; head.ModelUIStatus = "I"; head.CORPID = Convert.ToString(Session["COMPANYID"]).Trim();//CORPID head.GID = "Wms" + Guid.NewGuid().ToString().Replace("-", ""); ;//获取管理费单号 head.WMSOP = CookieConfig.GetCookie_UserName(Request); head.CREATEUSER = CookieConfig.GetCookie_UserId(Request); head.MODIFIEDTIME = head.CREATETIME; head.MODIFIEDUSER = head.CREATEUSER; //head.WMSNO = getCodeRule("入库单号", "WMSNO", "WMS", head.WMSDATE);//调用编码规则 if (head.WMSNO==""||head.WMSNO==null) { var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='仓储入库'", Convert.ToString(Session["COMPANYID"])); head.WMSNO = MsSysBillNoSetDAL.GetBillNo(billnoset, head.WMSDATE.ToString().Trim(), head.ACCDATE.ToString().Trim()); if (head.WMSNO == null || head.WMSNO == string.Empty) { jsonRespose.Success = false; jsonRespose.Message = "入库单号生成失败!"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } if (head.ASSOCIATEDNO == "") { //不是海运进口和进口贸易,关联号设置和GID相等。见v_op_bs,2019-05-24 head.ASSOCIATEDNO = head.GID; } } else if (opstatus == "edit") { if (WMSINBodyList!=null) { /*if (WMSINBodyList.Count > 0) { head.GOODSNAMEID = WMSINBodyList[0].GOODSNAMEID; head.GOODSNAME = WMSINBodyList[0].GOODSNAME; }*/ if (head.EIP) { foreach (var wmsin in WMSINBodyList) { if ((wmsin.TRAYNO == null) || (wmsin.TRAYNO == "")) { //wmsin.TRAYNO = MsSysBillNoSetDAL.GetTrayNo(); WMSEIPSDeliverDAL.UpdateTrayNo(wmsin.GID, wmsin.TRAYNO, head.STORAGENAME); } } } } if (head.ISCHANGE == "货权转移") { head.ISCHANGE = "True"; head.FREESTORAGEPERIODAP = "0"; } else { head.ISCHANGE = "False"; } head.CREATEUSER = head.CREATEUSER; head.DbOperationType = DbOperationType.DbotUpd; head.ModelUIStatus = "E"; head.MODIFIEDTIME = DateTime.Now.ToString(); head.MODIFIEDUSER = CookieConfig.GetCookie_UserId(Request); head.CORPID = Convert.ToString(Session["COMPANYID"]).Trim();//CORPID } else { head.DbOperationType = DbOperationType.DbotDel; } if (WMSINBodyList!=null) { foreach (var wmsin in WMSINBodyList) { wmsin.BSNO = BSNO; wmsin.CONTRACTNO = CONTRACTNO; wmsin.BLNO = BLNO; } } if (head.TiDanJianShu == "") head.TiDanJianShu = "0"; if (head.TiDanZhongLiang == "") head.TiDanZhongLiang = "0"; var modb = new ModelObjectRepository(); DBResult result; if (WMSINBodyList==null) { WMSINBodyList = new List(); } result = modb.Save(head, ModelObjectConvert.ToModelObjectList(WMSINBodyList), ModelObjectConvert.ToModelObjectList(WMSINBodyDelList) ); jsonRespose.Success = result.Success; jsonRespose.Message = result.Message; jsonRespose.Data = WMSNewDAL.GetData(" GID='" + head.GID + "'", CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); } //p_op_gain(head.BXGID); return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult Save_LTJY(string opstatus, string data, string WMSINBody, string WMSINBodyDel) { var head = JsonConvert.Deserialize(data); var WMSINBodyList = JsonConvert.Deserialize>(WMSINBody); var WMSINBodyDelList = JsonConvert.Deserialize>(WMSINBodyDel); if (WMSINBodyList != null) { foreach (var item in WMSINBodyList) { item.STORAGENAME = head.STORAGENAME; } } if (head.WMSDATE == "") { head.WMSDATE = DateTime.Now.ToString("yyyy-MM-dd"); } var CustomsNo = head.CUSTOMNO; var BSNO = head.ASSOCIATEDNO; var BLNO = head.BLNO; var CONTRACTNO = head.CONTRACTNO; var jsonRespose = new JsonResponse(); //检查是否报关 bool ISCustomsClearance = WMSNewDAL.CheckISCustomsClearance(CustomsNo, BLNO); if (!ISCustomsClearance) { jsonRespose.Success = false; jsonRespose.Message = "未进行报关,不允许入库!"; } else { if (opstatus == "add") { if (WMSINBodyList != null && WMSINBodyList.Count > 0) { head.GOODSNAMEID = WMSINBodyList[0].GOODSNAMEID; head.GOODSNAME = WMSINBodyList[0].GOODSNAME; } head.DbOperationType = DbOperationType.DbotIns; head.ModelUIStatus = "I"; head.CORPID = Convert.ToString(Session["COMPANYID"]).Trim();//CORPID head.GID = "Wms" + Guid.NewGuid().ToString().Replace("-", ""); ;//获取管理费单号 head.WMSOP = CookieConfig.GetCookie_UserName(Request); head.CREATEUSER = CookieConfig.GetCookie_UserId(Request); //head.WMSNO = getCodeRule("入库单号", "WMSNO", "WMS", head.WMSDATE);//调用编码规则 if (head.WMSNO == "" || head.WMSNO == null) { var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='仓储入库'", Convert.ToString(Session["COMPANYID"])); head.WMSNO = MsSysBillNoSetDAL.GetBillNo(billnoset, head.WMSDATE.ToString().Trim(), head.ACCDATE.ToString().Trim()); if (head.WMSNO == null || head.WMSNO == string.Empty) { jsonRespose.Success = false; jsonRespose.Message = "入库单号生成失败!"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } if (head.ASSOCIATEDNO == "") { head.ASSOCIATEDNO = head.GID; } } else if (opstatus == "edit") { if (WMSINBodyList != null) { if (WMSINBodyList.Count > 0) { head.GOODSNAMEID = WMSINBodyList[0].GOODSNAMEID; head.GOODSNAME = WMSINBodyList[0].GOODSNAME; } } if (head.ISCHANGE == "货权转移") { head.ISCHANGE = "True"; } else { head.ISCHANGE = "False"; } head.CREATEUSER = head.CREATEUSER; head.DbOperationType = DbOperationType.DbotUpd; head.ModelUIStatus = "E"; head.MODIFIEDTIME = DateTime.Now.ToString(); head.MODIFIEDUSER = CookieConfig.GetCookie_UserId(Request); head.CORPID = Convert.ToString(Session["COMPANYID"]).Trim();//CORPID } else { head.DbOperationType = DbOperationType.DbotDel; } if (WMSINBodyList != null) { foreach (var wmsin in WMSINBodyList) { wmsin.BSNO = BSNO; wmsin.CONTRACTNO = CONTRACTNO; wmsin.BLNO = BLNO; } } var modb = new ModelObjectRepository(); DBResult result; if (WMSINBodyList == null) { WMSINBodyList = new List(); } result = modb.Save(head, ModelObjectConvert.ToModelObjectList(WMSINBodyList), ModelObjectConvert.ToModelObjectList(WMSINBodyDelList) ); jsonRespose.Success = result.Success; jsonRespose.Message = result.Message; jsonRespose.Data = WMSNewDAL.GetData_LTJY(" GID='" + head.GID + "'", CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); } //p_op_gain(head.BXGID); return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult GetWMSINList ( int start, int limit, string sort, string condition ) { var dataList = WMSNewDAL.GetWMSINList(condition, 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 GetDataWithBLNOAndWMSNO ( string BLNO, string CUSTOMNO,string OPLBNAME ) { bool hasExist = false; var MutiBLNO = MsSysParamSetDAL.GetData("PARAMNAME='MutiBLNO'"); if (MutiBLNO.PARAMVALUE == "0") hasExist = WMSNewDAL.CheckHasExistWMSInWBLNO(BLNO); if (hasExist) { var json = JsonConvert.Serialize(new { Success = false, Message = "提单号" + BLNO + "下已存在入库单,无法再次新建入库单!" }); return new ContentResult() { Content = json }; } else { int count = 1; string sMBLNO = "";//提单号 string sMCUSTOMNO = "";//报关单号、备案清单号 string sCONTRACTNO = "";//合同号 string sCUSTNO = "";//委托编号 string sCUSTOMERNAME = "";//客户名称 string sBSNO = ""; //海运进口业务gid string sCTNALL = "";//箱型 string sCNTRNO = "";//箱号 string sSEALNO = "";//封号 string sISBONDED = "";//是否保税业务 string sOPLBNAME = "";//是否保税业务 string sCompanyID = "";//货属分部(进口贸易) int sPKGS = 0; decimal sKGS = 0; int sBAOGUANJIANSHU = 0; var timeStamp = DateTime.Now.ToShortDateString(); string sStorageName = ""; WMSNewDAL.GetDataWithBLNOAndWMSNO(BLNO, CUSTOMNO,OPLBNAME, out sMBLNO, out sMCUSTOMNO, out sCONTRACTNO, out sCUSTNO, out sCUSTOMERNAME, out sBSNO, out sCTNALL, out sCNTRNO, out sBAOGUANJIANSHU, out sPKGS, out sKGS, out sSEALNO,out sISBONDED,out sOPLBNAME,out sCompanyID,out sStorageName); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, CONTRACTNO = sCONTRACTNO, CUSTNO = sCUSTNO, CUSTOMERNAME = sCUSTOMERNAME, timeStamp = timeStamp, MBLNO = sMBLNO, MCUSTOMNO = sMCUSTOMNO, BSNO = sBSNO, CTNALL = sCTNALL, CNTRNO = sCNTRNO, BAOGUANJIANSHU = sBAOGUANJIANSHU, PKGS = sPKGS, KGS = sKGS, SEALNO = sSEALNO,ISBONDED = sISBONDED, OPLBNAME= sOPLBNAME,COMPANYID = sCompanyID,STORAGENAME = sStorageName }); return new ContentResult() { Content = json }; } } public ContentResult GetDetailsForGoodsName ( string codegoodsid ) { var dataList = WMSNewDAL.GetGoodsDetailsWithGid(codegoodsid); var list = dataList.Skip(0).Take(1000); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() }); return new ContentResult() { Content = json }; } /// /// 根据品牌名称和品名id查询件数 /// /// /// /// public ContentResult GetPKGWithGoodsDetailsNameAndCodeGoodsId ( string goodsDetailsName, string codeGoodsId ) { string pkg = WMSNewDAL.GetPKGWithGoodsDetailsNameAndCodeGoodsId(goodsDetailsName,codeGoodsId); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = 1, data = pkg }); return new ContentResult() { Content = json }; } /// /// 根据提单号和报关单号,获取报关单号列表 /// /// /// /// public ContentResult GetCustomsNoListWithBLNOAndCustomNo (string BLNO, string CUSTOMNO ) { var dataList = WMSNewDAL.GetCustomsNoListWithBLNOAndCustomNo(BLNO,CUSTOMNO); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetXMLMessageWithWMSNO (string WMSNO) { string USERID = CookieConfig.GetCookie_UserId(Request); string message = ""; var ftpset = MsCodeFtpSetDAL.GetData("EDINAME='QCKCBW'", Convert.ToString(Session["COMPANYID"])); string trade_code = ftpset.SENDCOMPANYCODE; string unit = ftpset.SENDSUBCOMPANYCODE; string ip = ftpset.SERVERIP; string xml = MSGDAL_HCHX_DATA.GetXMLMessageWithWMSNO(WMSNO, USERID, trade_code, unit,ip, out message); var json = JsonConvert.Serialize(new { Success = message == "", Message = message ==""? "发送成功" : "发送失败,下列字段为空:"+message, totalCount = 1, data = xml }); return new ContentResult() { Content = json }; } /// /// 发送报文 /// /// /// /// public ContentResult GetXMLMessage4001WithWMSBSNO ( string WMSBSNO,int type ) { string USERID = CookieConfig.GetCookie_UserId(Request); string message = ""; var ftpset= MsCodeFtpSetDAL.GetData("EDINAME='CKRKBW'", Convert.ToString(Session["COMPANYID"])); string trade_code = ftpset.SENDCOMPANYCODE; string unit = ftpset.SENDSUBCOMPANYCODE; string ip = ftpset.SERVERIP; string xml = MSGDAL_HCHX_DATA2.GetXMLMessageWithWMSBSNO(WMSBSNO,USERID,out message,trade_code,unit,ip,type); var json = JsonConvert.Serialize(new { Success = message=="", Message = message == "" ? "发送成功" : "发送失败,下列字段为空:" + message, totalCount = 1, data = xml }); return new ContentResult() { Content = json }; } public ContentResult LockWMS (string wmsno,bool EIP,int type) { string message = ""; bool rst = WMSNewDAL.LockWMS(wmsno,EIP, type, out message); var json = JsonConvert.Serialize(new { Success = rst, Message = message, totalCount = 1 }); return new ContentResult() { Content = json }; } public ContentResult LockWMS2 ( string wmsno, int type ) { bool rst = WMSNewDAL.LockWMS2(wmsno, type); var json = JsonConvert.Serialize(new { Success = rst, Message = rst ? "操作成功" : "操作失败", totalCount = 1 }); return new ContentResult() { Content = json }; } public ContentResult GetCodeCtnList ( string mblno ) { int count = 0; var dataList = WMSNewDAL.GetCodeCtnList(mblno); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetCNTRNOList ( string mblno, string ctnall ) { int count = 0; var dataList = WMSNewDAL.GetCNTRNOList(mblno,ctnall); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } /// /// 根据提单号,箱号 获取封号 /// /// /// /// public ContentResult GetSEALNOWithBLNOAndCNTRNO ( string bsno, string cntrno ) { int pkgs = 0; float cbm = 0.00f; string SEALNO = WMSNewDAL.GetSEALNOWithBLNOAndCNTRNO(bsno, cntrno,out pkgs,out cbm); bool flag = true; if (SEALNO == "" && pkgs == 0 && cbm == 0.00f) flag = false; var json = JsonConvert.Serialize(new { Success = flag, Message = "查询成功", totalCount = 1, data = SEALNO,pkgs=pkgs,cbm=cbm }); return new ContentResult() { Content = json }; } public ContentResult GetGoodsInfoWithName ( string goodsname,string CodeAndName) { string codeAndname = ""; string gid = WMSNewDAL.GetGoodsInfoWithName(goodsname, out codeAndname); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = 1, data=gid,CodeAndName=codeAndname }); return new ContentResult() { Content = json }; } public ContentResult GetZhuangXieGongList () { List zxglist = WMSNewDAL.GetZhuangXieGongList(); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = 999, data = zxglist }); return new ContentResult() { Content = json }; } public ContentResult GetCheDuiList ( ) { List zxglist = WMSNewDAL.GetCheDuiList(); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = 999, data = zxglist }); return new ContentResult() { Content = json }; } public ContentResult CreateCost(string wmsno) { string msg = ""; string userid = Session["USERID"]==null?"":Session["USERID"].ToString(); bool rst= WMSNewDAL.CreateCost(wmsno,userid, out msg); var json = JsonConvert.Serialize(new { Success = rst, Message =msg, totalCount = 1 }); return new ContentResult() { Content = json }; } #region 仓储费费率相关 public ContentResult SaveRate ( string BSNONAME, string BSNO, string WMSRATEBody, string WMSRATEBodyDel ) { var WMSRATEBodyList = JsonConvert.Deserialize>(WMSRATEBody); var WMSRATEDelBodyList = JsonConvert.Deserialize>(WMSRATEBodyDel); if (WMSRATEBodyList != null) { foreach (var _WR in WMSRATEBodyList) { _WR.MODIFIEDUSER = CookieConfig.GetCookie_UserName(Request); _WR.MODIFIEDTIME = DateTime.Now.ToString(); } } var modb = new ModelObjectRepository(); DBResult result = modb.SaveComm(BSNONAME, BSNO, ModelObjectConvert.ToModelObjectList(WMSRATEBodyList), ModelObjectConvert.ToModelObjectList(WMSRATEDelBodyList) ); //刷新父窗口上的父节点 var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'") }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult DelRate ( string BSNONAME, string BSNO, string WMSRATEBodyDel ) { //var WMSRATEBodyList = JsonConvert.Deserialize>(WMSRATEBody); var WMSRATEDelBodyList = JsonConvert.Deserialize>(WMSRATEBodyDel); var modb = new ModelObjectRepository(); DBResult result = modb.SaveComm(BSNONAME, BSNO, null, ModelObjectConvert.ToModelObjectList(WMSRATEDelBodyList) ); //刷新父窗口上的父节点 var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'") }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult GetWMSRATE ( int start, int limit, string sort, string condition ) { var dataList = WMSNewDAL.GetWMSRATE(condition, 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 }; } #endregion public ContentResult GetSysFeeConfig ( string userid ) { var value = WMSNewDAL.GetSysFeeConfig(""); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount =1, data = value.ToString() }); return new ContentResult() { Content = json }; } public ContentResult GetImportFeeModel ( string custname,string goodnameid,string wmsdate,string storagename) { var list = WMSNewDAL.GetImportFeeModel(custname, goodnameid,wmsdate,storagename); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list }); return new ContentResult() { Content = json }; } public ContentResult GetLoaderFeeModel(string custname, string goodnameid, string wmsdate,string feetype,string storagename) { var list = WMSNewDAL.GetLoaderFeeModel(custname, goodnameid, wmsdate,feetype,storagename); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list }); return new ContentResult() { Content = json }; } public ContentResult GetZhuangXieFeiWithZhuangXieGongID ( string gid) { int count = 0; float feejian = 0; float feeton = 0; WMSNewDAL.GetZhuangXieFeiWithZhuangXieGongID(gid,out feejian,out feeton); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data1 = feejian,data2 =feeton }); return new ContentResult() { Content = json }; } /// /// 导入 /// /// public ContentResult FileUpload() { var jsonRespose = JsonConvert.Serialize(new { success = false, message = "未上传文件" }); try { var file = Request.Files["file"];//获取文件 if (file == null)//未上传文件 return new ContentResult { Content = jsonRespose }; var path = Server.MapPath("../../UploadFiles/CtnTkDetail");//获取物理路径 if (!Directory.Exists(path)) Directory.CreateDirectory(path); var name = Path.GetFileName(file.FileName); var usercode = CookieConfig.GetCookie_UserCode(Request); string filepath = path + "\\" + usercode + DateTime.Now.ToString("yyyyMMddHHmmssfff") + name; if (System.IO.File.Exists(filepath)) System.IO.File.Delete(filepath); file.SaveAs(filepath); DataSet ds = GetExcelDs(filepath); if (ds.Tables.Count > 0) { DataTable dt = ds.Tables[0]; //修改导入的列名为字段名 string[] arr = { "GOODSNAMEID", "JIANSHU1", "PICIHAO", "TRUCKNO", "AREANAME" }; for (int i = 0; i < arr.Length; i++) dt.Columns[i].ColumnName = arr[i]; //增加显示品名 dt.Columns.Add(new DataColumn() { ColumnName = "GOODSNAMEDISPLAY" }); dt.Columns.Add(new DataColumn() { ColumnName = "GOODSNAME" }); dt.Columns.Add(new DataColumn() { ColumnName = "GID" }); dt.Columns.Add(new DataColumn() { ColumnName = "ZHONGLIANG2" }); foreach (DataRow item in dt.Rows) { item["GID"] = Guid.NewGuid().ToString(); item["ZHONGLIANG2"] = "0"; var model = BasicDataRefDAL.GetCodeGoodsList(string.Format("GOODCODE = '{0}' or GOODNAME like '%{0}%'", item["GOODSNAMEID"])).FirstOrDefault(); if (model != null) { item["GOODSNAMEID"] = model.GID; item["GOODSNAMEDISPLAY"] = model.CodeAndName; item["GOODSNAME"] = model.GOODNAME; } } var list = ToJson(dt); jsonRespose = JsonConvert.Serialize(new { success = true, data = list, totalCount = dt.Rows.Count, message = "导入成功" }); } return new ContentResult { Content = jsonRespose }; } catch (Exception se) { jsonRespose = JsonConvert.Serialize(new { success = false, message = se.Message }); return new ContentResult { Content = jsonRespose }; } } /// /// 获取DataSet /// /// /// public DataSet GetExcelDs(string filepath) { try { var strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=Excel 8.0;HDR=Yes;IMEX=1"; if (filepath.ToLower().IndexOf(".xlsx", StringComparison.Ordinal) > 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(); DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); conn.Close(); if (dt != null) { OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + dt.Rows[0][2] + "]", strConn); DataSet ds = new DataSet(); oada.Fill(ds); return ds; } return new DataSet(); } catch (Exception) { return new DataSet(); } } /// /// DataTable 对象 转换为Json 字符串 /// /// /// public static string ToJson(DataTable dt) { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值 ArrayList arrayList = new ArrayList(); foreach (DataRow dataRow in dt.Rows) { Dictionary dictionary = new Dictionary();//实例化一个参数集合 foreach (DataColumn dataColumn in dt.Columns) { if (dataColumn.ColumnName == "OPERTIME") dataRow[dataColumn.ColumnName] = DateTime.Now.ToString(); dictionary.Add(dataColumn.ColumnName, dataRow[dataColumn.ColumnName].ToString()); } arrayList.Add(dictionary); //ArrayList集合中添加键值 } return javaScriptSerializer.Serialize(arrayList);//返回一个json字符串 } /// /// 盘点校对 /// /// public JsonResult PanDian(string code,string num,string gid) { string sql1 = string.Format("select [JIANSHU2] from [wms_in] where ASSOCIATEDNO='{0}' and goodsnameid=(select GID FROM code_goods WHERE GOODNO = '{1}')", gid, code); var obj = SoftMng.DBUtility.DbHelperSQL.GetObject(sql1); if (!String.IsNullOrEmpty(obj.ToString())) num = (Convert.ToInt32(num) + Convert.ToInt32(obj)).ToString(); string sql =string.Format("UPDATE [wms_in] SET [JIANSHU2] ='{0}' where ASSOCIATEDNO='{1}' and goodsnameid=(select GID FROM code_goods WHERE GOODNO = '{2}')", num, gid,code); var result = SoftMng.DBUtility.DbHelperSQL.ExecuteSql(sql)>0; return Json(result); } /// /// 获取商品名称 /// /// public JsonResult beforePanDian(string code, string gid) { string sql = string.Format("select GOODSNAME,GOODSMODEL from [wms_in] where ASSOCIATEDNO='{0}' and goodsnameid=(select GID FROM code_goods WHERE GOODNO = '{1}')", gid, code); var ds = SoftMng.DBUtility.DbHelperSQL.Query(sql); if (ds.Tables.Count > 0) { if (ds.Tables[0].Rows.Count > 0) { var dataRow = ds.Tables[0].Rows[0]; return Json(new { res = true, name = dataRow["GOODSNAME"].ToString(), model = dataRow["GOODSMODEL"].ToString() }); } } return Json(new { res = false }); } /// /// 从v_op_wmsbs当中取出现过的optype /// /// /// /// ContentResult GetDataList ( int start, int limit, string sort, string condition ) public ContentResult GetWMSOPTYPE(int start, int limit, string sort, string condition) { //corpid var evList = BasicDataRefDAL.GeneralSelect(" select distinct oplbname GID,oplbname GVALUE from v_op_wmsbs "); jsonresponse _jr = new jsonresponse(); if (evList.Count == 0) { _jr .success = false ; } else { _jr.success = true; _jr.data = evList.ToList() ; } return _jr.getContentReult(); } } }