You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DS7/DSWeb/Areas/MvcShipping/Controllers/WMSNewController.cs

1025 lines
45 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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;
using DSWeb.Areas.MvcShipping.Helper;
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<List<WMSNewList>>(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<WMSNewList> serializeParams ( List<WMSNewList> list )
{
return list;
}
public ContentResult Save ( string opstatus, string data, string WMSINBody, string WMSINBodyDel)
{
var head = JsonConvert.Deserialize<WMSNew>(data);
var WMSINBodyList = JsonConvert.Deserialize<List<WMSNewIN>>(WMSINBody);
var WMSINBodyDelList = JsonConvert.Deserialize<List<WMSNewIN>>(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<WMSNewIN>();
}
result = modb.Save(head,
ModelObjectConvert<WMSNewIN>.ToModelObjectList(WMSINBodyList),
ModelObjectConvert<WMSNewIN>.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<WMSNew>(data);
var WMSINBodyList = JsonConvert.Deserialize<List<WMSNewIN>>(WMSINBody);
var WMSINBodyDelList = JsonConvert.Deserialize<List<WMSNewIN>>(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<WMSNewIN>();
}
result = modb.Save(head,
ModelObjectConvert<WMSNewIN>.ToModelObjectList(WMSINBodyList),
ModelObjectConvert<WMSNewIN>.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 };
}
/// <summary>
/// 根据提单号和报关单号获取入库数据
/// </summary>
/// <param name="BLNO"></param>
/// <param name="CUSTOMNO"></param>
/// <returns></returns>
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 };
}
/// <summary>
/// 根据品牌名称和品名id查询件数
/// </summary>
/// <param name="goodsDetailsName"></param>
/// <param name="codeGoodsId"></param>
/// <returns></returns>
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 };
}
/// <summary>
/// 根据提单号和报关单号,获取报关单号列表
/// </summary>
/// <param name="BLNO"></param>
/// <param name="CUSTOMNO"></param>
/// <returns></returns>
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 };
}
/// <summary>
/// 发送报文
/// </summary>
/// <param name="WMSBSNO"></param>
/// <param name="type"></param>
/// <returns></returns>
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 };
}
/// <summary>
/// 费用入账
/// 库存确认。费用入账的库存不能再做修改,可以出库或货转
///
/// </summary>
/// <param name="wmsno"></param>
/// <param name="EIP"></param>
/// <param name="type"></param>
/// <returns></returns>
public ContentResult LockWMS (string wmsno,bool EIP,int type) {
string message = "";
var USERID = CookieConfig.GetCookie_UserId(Request);
bool rst = WMSNewDAL.LockWMS(wmsno, EIP, type, out message, USERID);
var json = JsonConvert.Serialize(new { Success = rst, Message = message, totalCount = 1 });
return new ContentResult() { Content = json };
}
/// <summary>
/// 库存锁定
/// 锁定的库存除非解锁,否则不能做出库和货转
/// </summary>
/// <param name="wmsno"></param>
/// <param name="type"></param>
/// <returns></returns>
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 };
}
/// <summary>
/// 根据提单号,箱号 获取封号
/// </summary>
/// <param name="bsno"></param>
/// <param name="cntrno"></param>
/// <returns></returns>
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<Stevedores> zxglist = WMSNewDAL.GetZhuangXieGongList();
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = 999, data = zxglist });
return new ContentResult() { Content = json };
}
public ContentResult GetCheDuiList ( )
{
List<CheDui> 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<List<WMSRATEmb>>(WMSRATEBody);
var WMSRATEDelBodyList = JsonConvert.Deserialize<List<WMSRATEmb>>(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<WMSRATEmb>.ToModelObjectList(WMSRATEBodyList),
ModelObjectConvert<WMSRATEmb>.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<List<WMSRATEmb>>(WMSRATEBody);
var WMSRATEDelBodyList = JsonConvert.Deserialize<List<WMSRATEmb>>(WMSRATEBodyDel);
var modb = new ModelObjectRepository();
DBResult result = modb.SaveComm(BSNONAME, BSNO,
null,
ModelObjectConvert<WMSRATEmb>.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 modify(string data, string modifydata)
{
var bodyList = JsonConvert.Deserialize<List<WMSNewList>>(data);
var amodifydata = JsonConvert.Deserialize<WMSNewList>(modifydata);
var result = new DBResult();
if (bodyList != null)
{
result = WMSNewDAL.Modify(bodyList, amodifydata, Convert.ToString(Session["COMPANYID"]));
}
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
/// <summary>
/// 导入
/// </summary>
/// <returns></returns>
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 };
}
}
public ContentResult FileUpload2()
{
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);
string ext = Path.GetExtension(file.FileName).ToLower();
var strMsg = "";
DataTable dt = BasicDataRefDAL.ExcelToDatatable(file.InputStream, ext, out strMsg);
if (dt!=null)
{
//DataTable dt = ds.Tables[0];
//修改导入的列名为字段名
string[] arr =
{
"GOODSMODEL","BLNO","CNTRNO","PICIHAO","件数","净重","毛重", "KINDPKGS", "REMARK"
};
for (int i = 0; i < arr.Length; i++)
dt.Columns[i].ColumnName = arr[i];
//增加显示品名
dt.Columns.Add(new DataColumn() { ColumnName = "GOODSNAMEID" });
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["GOODSMODEL"]), "").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 };
}
}
/// <summary>
/// 获取DataSet
/// </summary>
/// <param name="filepath"></param>
/// <returns></returns>
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();
}
}
/// <summary>
/// DataTable 对象 转换为Json 字符串
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
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<string, object> dictionary = new Dictionary<string, object>();//实例化一个参数集合
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字符串
}
/// <summary>
/// 盘点校对
/// </summary>
/// <returns></returns>
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);
}
/// <summary>
/// 获取商品名称
/// </summary>
/// <returns></returns>
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 });
}
/// <summary>
/// 从v_op_wmsbs当中取出现过的optype
/// </summary>
/// <param name="condition"></param>
/// <returns></returns>
/// 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();
}
}
}