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/TruckMng/Controllers/MsWlPcController.cs

581 lines
25 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.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using DSWeb.Areas.CommMng.DAL;
using DSWeb.Areas.TruckMng.DAL.MsWlBs;
using DSWeb.Areas.TruckMng.Models.Comm;
using DSWeb.Areas.TruckMng.Models.MsWlBs;
using DSWeb.TruckMng.Comm.Cookie;
using DSWeb.TruckMng.Helper;
using DSWeb.TruckMng.Helper.Repository;
using HcUtility.Comm;
using DSWeb.MvcShipping.DAL.MsSysBillNoSet;
using System.Text;
using System.Data;
using Microsoft.Practices.EnterpriseLibrary.Data;
using DSWeb.Areas.RptMng.Comm;
namespace DSWeb.Areas.TruckMng.Controllers
{
using HcUtility.Core;
[JsonRequestBehavior]
public class MsWlPcController : Controller
{
//
// GET: /TruckMng/MsWlPc/Edit
public ActionResult Edit()
{
return View();
}
public ActionResult Edit_ADL()
{
return View();
}
//
// GET: /TruckMng/MsWlPc/
public ContentResult GetDataList(string refbillno)
{
var condition = " RefBillNo='" + refbillno + "' or BILLNO in(select PC_BILLNO from BS_PC_Status where BS_BILLNO='" + refbillno + "')";// or RefBillNoSe='" + refbillno + "'";
List<MsWlPcHead> list = MsWlPcDAL.GetDataList(condition,Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request));
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetDataList_ADL ( int start, int limit, string sort, string condition )
{
//var condition = " RefBillNo='" + refbillno + "'";// or RefBillNoSe='" + refbillno + "'";
//List<MsWlPcHead_ADL> datalist = MsWlPcDAL.GetDataList_ADL(condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request));
var dataList = MsWlPcDAL.GetDataList_ADL(condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request));
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 GetListSum(string condition)
{
var rangstr = MsWlPcDAL.GetRangDAStr("index", Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request));
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + rangstr;
}
else
{
condition = rangstr;
}
}
var strSql = new StringBuilder();
strSql.Append("SELECT sum(case when isnull(isend,0)=0 then 1 else 0 end) NCOUNT,sum(case when isnull(isend,0)=0 then 0 else 1 end) PCOUNT,SUM(KGS) KGS,SUM(CBM) CBM from tMsWlPcHead");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" where " + condition);
}
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(0, 1, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
//用于查找可以用来添加双背的路单
public ContentResult GetSBPC(string condition,string refbillno)
{
var _condition = " RefBillNo<>'" + refbillno + "' and BILLNO not in(select PC_BILLNO from BS_PC_Status where BS_BILLNO='" + refbillno + "') and expdate=(select NeedArriveDate from tmswlbshead where billno='" + refbillno + "')";// or RefBillNoSe='" + refbillno + "'";
if (!string.IsNullOrEmpty(condition))
{
_condition = _condition + " and " + condition;
}
List<MsWlPcHead> list = MsWlPcDAL.GetDataList(_condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request));
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}
//
// GET/TruckMng/MsWlPc/GetData
public ContentResult GetData(string handle, string condition, string refbillno)
{
MsWlPcHead pcHead = null;
if (handle == "edit")
{
var list = MsWlPcDAL.GetDataList(condition,Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request));
if (list.Count > 0)
pcHead = list[0];
}
MsWlBsHead bsHead = MsWlBsDAL.GetHeadDataByBillNo(refbillno, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request));
if (pcHead == null)
{
pcHead = new MsWlPcHead();
if (!string.IsNullOrEmpty(refbillno))
{
pcHead.MblNo = bsHead.MblNo;
pcHead.VoyVeg = bsHead.VoyVeg;
pcHead.EtDate = bsHead.EtDate;
pcHead.EndPortDate = bsHead.EndPortDate;
pcHead.YardCode = bsHead.SendYardCode;
pcHead.YardName = bsHead.SendYardName;
pcHead.DstArea = bsHead.DstArea;
pcHead.DetiNation = bsHead.DetiNation;
pcHead.LinkTel = bsHead.DetiLinkTel;
pcHead.LinkMan = bsHead.DetiLinkMan;
pcHead.DdCode = CookieConfig.GetCookie_UserCode(Request);
pcHead.DdCode_Ref = CookieConfig.GetCookie_UserName(Request);
pcHead.DdName = CookieConfig.GetCookie_UserName(Request);
pcHead.BsType = bsHead.BsType;
pcHead.BsType_Ref = bsHead.BsType_Ref;
pcHead.CustLikeManCode = bsHead.CustLikeManCode;
pcHead.CustLikeManName = bsHead.CustLikeManName;
pcHead.CustTel = bsHead.CustTel;
}
}
pcHead.RefCustomerName = bsHead.CustName;
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", data = pcHead });
return new ContentResult() { Content = json };
}
public ContentResult GetData_ADL ( string handle, string condition, string refbillno )
{
MsWlPcHead_ADL pcHead = null;
if (handle == "edit")
{
var list = MsWlPcDAL.GetDataList_ADL(condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request));
if (list.Count > 0)
pcHead = list[0];
}
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", data = pcHead });
return new ContentResult() { Content = json };
}
//
// GET/TruckMng/MsWlPc/Save
public ContentResult Save(string opstatus, string data, string ctnbody, string ctndelbody,
string fixbody, string fixdelbody, string chfeebody, string chfeedelbody)
{
var head = JsonConvert.Deserialize<MsWlPcHead>(data);
var fixBodyList = JsonConvert.Deserialize<List<MsWlPcFixed>>(fixbody);
var fixBodyDelList = JsonConvert.Deserialize<List<MsWlPcFixed>>(fixdelbody);
var chfeeBodyList = JsonConvert.Deserialize<List<MsChFee>>(chfeebody);
var chfeeBodyDelList = JsonConvert.Deserialize<List<MsChFee>>(chfeedelbody);
head.TotalMil = head.NoLoadMil + head.OverLoadMil;
if (string.IsNullOrEmpty(head.ContainerType))
{
head.ContainerQty = 0;
}
else
{
if (head.ContainerQty == 0)
{
head.ContainerQty = 1;
}
}
if (string.IsNullOrEmpty(head.ContainerTypeSe))
{
head.ContainerQtySe = 0;
}
else
{
if (head.ContainerQtySe == 0)
{
head.ContainerQtySe = 1;
}
}
if(head.IsDouble=="on")
{
head.IsDouble = "1";
}
if (opstatus == "add")
{
head.BillNo = PubSysDAL.GetBillNo("0111");
head.DbOperationType = DbOperationType.DbotIns;
head.ModelUIStatus = "I";
head.UserCode = CookieConfig.GetCookie_UserCode(Request);
head.UserName = CookieConfig.GetCookie_UserName(Request);
head.OrgCode = CookieConfig.GetCookie_OrgCode(Request);
head.OrgName = CookieConfig.GetCookie_OrgName(Request);
head.LrDate = DateTime.Now;
}
else if (opstatus == "edit")
{
head.DbOperationType = DbOperationType.DbotUpd;
head.ModelUIStatus = "E";
}
else
{
head.DbOperationType = DbOperationType.DbotDel;
}
var modb = new ModelObjectRepository();
DBResult result = modb.Save(head,
ModelObjectConvert<MsWlPcFixed>.ToModelObjectList(fixBodyList),
ModelObjectConvert<MsWlPcFixed>.ToModelObjectList(fixBodyDelList),
ModelObjectConvert<MsChFee>.ToModelObjectList(chfeeBodyList),
ModelObjectConvert<MsChFee>.ToModelObjectList(chfeeBodyDelList));
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = MsWlPcDAL.GetHeadDataByBillNo(head.BillNo,Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request))
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult Save_ADL ( string opstatus, string data, string ctnbody, string ctndelbody,
string fixbody, string fixdelbody, string chfeebody, string chfeedelbody )
{
var head = JsonConvert.Deserialize<MsWlPcHead_ADL>(data);
var fixBodyList = JsonConvert.Deserialize<List<MsWlPcFixed>>(fixbody);
var fixBodyDelList = JsonConvert.Deserialize<List<MsWlPcFixed>>(fixdelbody);
var chfeeBodyList = JsonConvert.Deserialize<List<MsChFee_ADL>>(chfeebody);
var chfeeBodyDelList = JsonConvert.Deserialize<List<MsChFee_ADL>>(chfeedelbody);
head.TotalMil = head.NoLoadMil + head.OverLoadMil;
if (string.IsNullOrEmpty(head.ContainerType))
{
head.ContainerQty = 0;
}
else
{
if (head.ContainerQty == 0)
{
head.ContainerQty = 1;
}
}
if (string.IsNullOrEmpty(head.ContainerTypeSe))
{
head.ContainerQtySe = 0;
}
else
{
if (head.ContainerQtySe == 0)
{
head.ContainerQtySe = 1;
}
}
if (head.IsDouble == "on")
{
head.IsDouble = "1";
}
if (opstatus == "add")
{
//head.BillNo = PubSysDAL.GetBillNo("0111");
head.DbOperationType = DbOperationType.DbotIns;
head.ModelUIStatus = "I";
head.UserCode = CookieConfig.GetCookie_UserCode(Request);
head.UserName = CookieConfig.GetCookie_UserName(Request);
head.OrgCode = CookieConfig.GetCookie_OrgCode(Request);
head.OrgName = CookieConfig.GetCookie_OrgName(Request);
head.LrDate = DateTime.Now;
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='陆运派车'", Convert.ToString(Session["COMPANYID"]));
if (billnoset.BILLTYPE=="")
billnoset.BILLTYPE = "0111";
if (billnoset.RULEDATETYPE == "")
billnoset.RULEDATETYPE = "业务日期";
var bsdate = head.ExpDate;
if (bsdate == "" || bsdate == null)
bsdate = DateTime.Now.ToString("yyyy-MM-dd");
head.BillNo = MsSysBillNoSetDAL.GetBillNo(billnoset, bsdate, DateTime.Now.ToString("yyyy-MM")); //获取合同号
}
else if (opstatus == "edit")
{
head.DbOperationType = DbOperationType.DbotUpd;
head.ModelUIStatus = "E";
}
else
{
head.DbOperationType = DbOperationType.DbotDel;
}
var modb = new ModelObjectRepository();
DBResult result = modb.Save(head,
ModelObjectConvert<MsWlPcFixed>.ToModelObjectList(fixBodyList),
ModelObjectConvert<MsWlPcFixed>.ToModelObjectList(fixBodyDelList),
ModelObjectConvert<MsChFee_ADL>.ToModelObjectList(chfeeBodyList),
ModelObjectConvert<MsChFee_ADL>.ToModelObjectList(chfeeBodyDelList));
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = MsWlPcDAL.GetHeadDataByBillNo_ADL(head.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request))
};
if (result.Success)
{
if (head.TruckNo != "")
MsWlPcDAL.SaveTRUCKSTATUS(head.RefBillNo, "已派车");
if (string.IsNullOrEmpty(head.TruckNo))
MsWlPcDAL.SaveTRUCKSTATUS(head.RefBillNo, "待派车");
}
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult Delete(string data)
{
var head = JsonConvert.Deserialize<MsWlPcHead>(data);
var isfee = MsWlPcDAL.GetFeeCount(head.GId);
if (isfee)
{
var jsonRespose = new JsonResponse { Success = false, Message = "此票业务存在费用,请先删除费用才能删除此票业务!" };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var modb = new ModelObjectDBBill();
DBResult result = modb.Delete(head,
"delete from tMsWlBsFixed where BillNo='" + head.BillNo + "'",
"delete from ch_fee where BsNo='" + head.GId + "'",
"delete from tcard_use where BillNo='" + head.BillNo + "'");
MsSysBillNoSetDAL.DeleteBsNo(head.BillNo);
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
}
/*
* RefBillNoSe,
* ContainerTypeSe
* ContainerQtySe,MblNoSe,VoyVegSe,");
strSql.Append(",EtDateSe,EndPortDateSe,YardCodeSe,");
strSql.Append("YardNameSe as YardCodeSe_Ref");
strSql.Append(",YardNameSe,DstAreaSe,FactoryAddrSe,DetiNationSe,LinkManSe,LinkTelSe,RtnYardCodeSe,");
strSql.Append("RtnYardNameSe as RtnYardCodeSe_Ref");
strSql.Append(",RtnYardNameSe,BillStatus,");*/
public ContentResult AddSB(string BS_BILLNO, string PC_BILLNO) {
var strSql = new StringBuilder();
strSql.Append(" delete from BS_PC_Status where PC_BILLNO='" + PC_BILLNO + "'");
strSql.Append(" insert into BS_PC_Status values(newid(), '" + BS_BILLNO + "' ,'" + PC_BILLNO + "')");
strSql.Append(" update tmswlpchead set isdouble=1 ");
strSql.Append(" ,RefBillNoSe='" + BS_BILLNO + "' ");
strSql.Append(" ,ContainerTypeSe=(select ctnid from code_ctn where ctn=( select top 1 containertype from tMsWlBsCtn where Billno=(select gid from tMsWlBsHead where BillNo='" + BS_BILLNO + "'))) ");
strSql.Append(" ,ContainerQtySe=( select top 1 ContainerQty from tMsWlBsCtn where Billno=(select gid from tMsWlBsHead where BillNo='" + BS_BILLNO + "')) ");
strSql.Append(" ,MblNoSe=(select mblno from tMsWlBsHead where BillNo='" + BS_BILLNO + "') ");
strSql.Append(" ,VoyVegSe=(select VoyVeg from tMsWlBsHead where BillNo='" + BS_BILLNO + "') ");
strSql.Append(" ,EtDateSe=(select EtDate from tMsWlBsHead where BillNo='" + BS_BILLNO + "') ");
strSql.Append(" ,EndPortDateSe=(select EndPortDate from tMsWlBsHead where BillNo='" + BS_BILLNO + "') ");
strSql.Append(" ,YardCodeSe=(select YardCode from tMsWlBsHead where BillNo='" + BS_BILLNO + "') ");
strSql.Append(" ,YardNameSe=(select YardName from tMsWlBsHead where BillNo='" + BS_BILLNO + "') ");
strSql.Append(" ,RtnYardCodeSe=(select RtnYardCode from tMsWlBsHead where BillNo='" + BS_BILLNO + "') ");
strSql.Append(" ,RtnYardNameSe=(select RtnYard from tMsWlBsHead where BillNo='" + BS_BILLNO + "') ");
strSql.Append(" ,DstAreaSe=(select DstArea from tMsWlBsHead where BillNo='" + BS_BILLNO + "') ");
strSql.Append(" ,FactoryAddrSe=(select FactoryAddr from tMsWlBsHead where BillNo='" + BS_BILLNO + "') ");
strSql.Append(" ,DetiNationSe=(select DetiNation from tMsWlBsHead where BillNo='" + BS_BILLNO + "') ");
strSql.Append(" ,LinkManSe=(select LinkMan from tMsWlBsHead where BillNo='" + BS_BILLNO + "') ");
strSql.Append(" ,LinkTelSe=(select LinkTel from tMsWlBsHead where BillNo='" + BS_BILLNO + "') ");
strSql.Append(" where billno='" + PC_BILLNO + "'");
var _count = 0;
Database db = DatabaseFactory.CreateDatabase();
_count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString());
var jsonRespose = new JsonResponse { Success = true, Message = "添加双背路单成功" };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult DeletePC(string BS_BILLNO, string data)
{
var head = JsonConvert.Deserialize<MsWlPcHead>(data);
if (BS_BILLNO == head.RefBillNo)
{
return Delete(data);
}
else {
var strSql = new StringBuilder();
strSql.Append("delete from BS_PC_Status where PC_BillNo='" + head.BillNo + "' and BS_BILLNO='" + BS_BILLNO + "'");
strSql.Append(" update tmswlpchead set isdouble=0 where billno='" + head.BillNo + "'");
var _count = 0;
Database db = DatabaseFactory.CreateDatabase();
_count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString());
var jsonRespose = new JsonResponse { Success = true, Message = "删除双背路单成功" };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
}
#region 设置主票
public ContentResult SetPGID(string GIDList, string PGID)
{
var _count = MsWlPcDAL.SetPGID(GIDList, PGID);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = 1, data = _count.ToString() });
return new ContentResult() { Content = json };
}
#endregion
#region 烟台爱德林项目 批量设置路单完成
public ContentResult SetEnd(string GIDList,string isEnd)
{
var _count = MsWlPcDAL.SetEnd(GIDList, isEnd);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = 1, data = _count.ToString() });
return new ContentResult() { Content = json };
}
#endregion
//
// GET/TruckMng/MsWlPc/GetFeeFixBodyList
public ContentResult GetFeeFixBodyList(string billno)
{
var condition = " BillNo='" + billno + "'";
List<MsWlPcFixed> list = MsWlPcDAL.GetBodyList(condition);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetTruckNoList(string condition,string query)
{
var list = MsWlPcDAL.GetTruckNoList( Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request),
CookieConfig.GetCookie_OrgCode(Request), condition);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetTruckNoListRm(string TruckNo)
{
var condition = "";
if (string.IsNullOrEmpty(TruckNo))
{
}
else
{
condition = " TruckNo LIKE '%" + TruckNo + "%' ";
}
var list = MsWlPcDAL.GetTruckNoList(Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request),
CookieConfig.GetCookie_OrgCode(Request), condition);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetTruckNoCanUse ( string condition, string query )
{
var list = MsWlPcDAL.GetTruckNoList(Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request),
CookieConfig.GetCookie_OrgCode(Request), " A.truckno not in (select DISTINCT truckno from tMsWlPcHead where isnull(isend,0)=0 ) " +condition);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetDrvNameList(string condition)
{
var list = MsWlPcDAL.GetDrvNameList( Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request));
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetTruckFuel(string truckNo,string loadType, decimal ton, decimal mil)
{
var fuel = MsWlPcDAL.GetTruckFuel(truckNo, loadType, ton, mil);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", data = fuel });
return new ContentResult() { Content = json };
}
public ContentResult GetContainerNoList(string pcbillNo, string bsBillNo)
{
var list = MsWlPcDAL.GetContainerNoList(pcbillNo, bsBillNo);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetSealNoList(string bsBillNo)
{
var list = MsWlPcDAL.GetSealNoList(bsBillNo);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}
/// <summary>
/// 获取收费付费权限
/// </summary>
/// <param name="userid"></param>
/// <returns></returns>
public ContentResult GetFFSFPower ( string userid )
{
int power = MsWlPcDAL.GetFFSFPower(userid);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = 1, power = power });
return new ContentResult() { Content = json };
}
}
}