|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Web.Mvc;
|
|
|
using DSWeb.Areas.Import.Models.Comm;
|
|
|
using DSWeb.Areas.CommMng.DAL;
|
|
|
using DSWeb.MvcShipping.DAL.WMS;
|
|
|
using DSWeb.MvcShipping.Models.WMS;
|
|
|
using DSWeb.TruckMng.Comm.Cookie;
|
|
|
using DSWeb.TruckMng.Helper;
|
|
|
using DSWeb.TruckMng.Helper.Repository;
|
|
|
using DSWeb.Areas.Import.DAL.Comm;
|
|
|
using HcUtility.Comm;
|
|
|
using HcUtility.Core;
|
|
|
using DSWeb.Areas.CommMng.Models;
|
|
|
using DSWeb.EntityDA;
|
|
|
|
|
|
using System.Data;
|
|
|
using DSWeb.DataAccess;
|
|
|
using System.Data.SqlClient;
|
|
|
|
|
|
using DSWeb.Areas.Import.DAL.ImportSales;
|
|
|
using DSWeb.MvcShipping.Models.MsChFee;
|
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
|
|
|
|
namespace DSWeb.MvcShipping.Controllers
|
|
|
{
|
|
|
[JsonRequestBehavior]
|
|
|
public class WMSController : Controller
|
|
|
{
|
|
|
public ActionResult Index()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
//
|
|
|
// GET: /MvcShipping/WareHouse/Edit
|
|
|
public ActionResult Edit()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
|
|
|
public ContentResult GetDataList(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = WMSDAL.GetDataList(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 GetDataList_Import ( int start, int limit, string sort, string condition )
|
|
|
{
|
|
|
var dataList = WMSDAL.GetDataList_Import(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 GetWMSOUTList(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = WMSDAL.GetWMSOUTList(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 GetWMSOUTList_Import ( int start, int limit, string sort, string condition )
|
|
|
{
|
|
|
var dataList = WMSDAL.GetWMSOUTList_Import(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 GetData(string handle, string condition)
|
|
|
{
|
|
|
WMSmb head = null;
|
|
|
|
|
|
if (handle == "edit")
|
|
|
{
|
|
|
var list = WMSDAL.GetDataList(condition, "");
|
|
|
if (list.Count > 0)
|
|
|
head = list[0];
|
|
|
}
|
|
|
|
|
|
if (head == null)
|
|
|
{
|
|
|
head = new WMSmb();
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult GetData_Import(string handle, string condition)
|
|
|
{
|
|
|
WMSmb_ImportTrade head = null;
|
|
|
|
|
|
if (handle == "edit")
|
|
|
{
|
|
|
var list = WMSDAL.GetDataList_Import(condition, "");
|
|
|
if (list.Count > 0)
|
|
|
head = list[0];
|
|
|
}
|
|
|
|
|
|
if (head == null)
|
|
|
{
|
|
|
head = new WMSmb_ImportTrade();
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult GetWMSOUTData(string handle, string condition)
|
|
|
{
|
|
|
WMSOUTmb head = null;
|
|
|
|
|
|
if (handle == "edit")
|
|
|
{
|
|
|
var list = WMSDAL.GetWMSOUTList(condition, "");
|
|
|
if (list.Count > 0)
|
|
|
head = list[0];
|
|
|
}
|
|
|
|
|
|
if (head == null)
|
|
|
{
|
|
|
head = new WMSOUTmb();
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = head });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult GetWMSINList(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = WMSDAL.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 WMSmb GetWMS(string condition)
|
|
|
{
|
|
|
WMSmb head = null;
|
|
|
|
|
|
|
|
|
var list = WMSDAL.GetDataList(condition, "");
|
|
|
if (list.Count > 0)
|
|
|
head = list[0];
|
|
|
|
|
|
if (head == null)
|
|
|
{
|
|
|
head = new WMSmb();
|
|
|
}
|
|
|
return head;
|
|
|
}
|
|
|
|
|
|
public ContentResult GetWMSOUTDetailList ( int start, int limit, string sort, string WMSOUTBSNO, string ASSOCIATEDNO, string condition, string ONLYINWMSOUT )
|
|
|
{
|
|
|
var USERID = Session["USERID"].ToString();
|
|
|
|
|
|
var _ONLYINWMSOUT = "";
|
|
|
if (!string.IsNullOrEmpty(ONLYINWMSOUT))
|
|
|
{
|
|
|
_ONLYINWMSOUT = ONLYINWMSOUT;
|
|
|
}
|
|
|
|
|
|
var dataList = WMSDAL.GetWMSOUTDetailList(USERID, WMSOUTBSNO.Trim(), ASSOCIATEDNO.Trim(), condition, sort.Trim(), _ONLYINWMSOUT);
|
|
|
|
|
|
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 GetWMSRATE(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = WMSDAL.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 };
|
|
|
}
|
|
|
|
|
|
public ContentResult GetWMSRATEDetailList(int start, int limit, string sort, string condition)
|
|
|
{
|
|
|
var dataList = WMSDAL.GetWMSRATEDetailList(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 Save(string opstatus, string data, string WMSINBody, string WMSINBodyDel
|
|
|
, string WMSRATEBody, string WMSRATEBodyDel)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<WMSmb>(data);
|
|
|
var WMSINBodyList = JsonConvert.Deserialize<List<WMSINmb>>(WMSINBody);
|
|
|
var WMSINBodyDelList = JsonConvert.Deserialize<List<WMSINmb>>(WMSINBodyDel);
|
|
|
var WMSRATEBodyList = JsonConvert.Deserialize<List<WMSRATEmb>>(WMSRATEBody);
|
|
|
var WMSRATEBodyDelList = JsonConvert.Deserialize<List<WMSRATEmb>>(WMSRATEBodyDel);
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
head.ModelUIStatus = "I";
|
|
|
|
|
|
head.GID = "Wms" + Guid.NewGuid().ToString().Replace("-", ""); ;//获取管理费单号
|
|
|
head.WMSOP = CookieConfig.GetCookie_UserName(Request);
|
|
|
//head.CORPID = CookieConfig.GetCookie_OrgName(Request);
|
|
|
|
|
|
head.WMSNO = getCodeRule("入库单号", "WMSNO", "WMS", head.WMSDATE);//调用编码规则
|
|
|
|
|
|
if (head.ASSOCIATEDNO == "") {
|
|
|
head.ASSOCIATEDNO = head.GID;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
head.ModelUIStatus = "E";
|
|
|
head.MODIFIEDTIME = DateTime.Now.ToString();
|
|
|
head.MODIFIEDUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotDel;
|
|
|
}
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
DBResult result = modb.Save(head,
|
|
|
ModelObjectConvert<WMSINmb>.ToModelObjectList(WMSINBodyList),
|
|
|
ModelObjectConvert<WMSINmb>.ToModelObjectList(WMSINBodyDelList),
|
|
|
ModelObjectConvert<WMSRATEmb>.ToModelObjectList(WMSRATEBodyList),
|
|
|
ModelObjectConvert<WMSRATEmb>.ToModelObjectList(WMSRATEBodyDelList)
|
|
|
);
|
|
|
|
|
|
//刷新父窗口上的父节点
|
|
|
/*
|
|
|
if (result.Success == true && feeUnUnionList != null)
|
|
|
{
|
|
|
var _count = BaoxiaoDAL.FeeUnUnion(feeUnUnionList);
|
|
|
}*/
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result.Success,
|
|
|
Message = result.Message,
|
|
|
Data = WMSDAL.GetData(" GID='" + head.GID + "'")
|
|
|
};
|
|
|
//p_op_gain(head.BXGID);
|
|
|
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
|
|
|
//暂时无用
|
|
|
public ContentResult Save_Import(string opstatus, string data, string WMSINBody, string WMSINBodyDel
|
|
|
, string WMSRATEBody, string WMSRATEBodyDel)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<WMSmb_ImportTrade>(data);
|
|
|
var WMSINBodyList = JsonConvert.Deserialize<List<WMSINmb>>(WMSINBody);
|
|
|
var WMSINBodyDelList = JsonConvert.Deserialize<List<WMSINmb>>(WMSINBodyDel);
|
|
|
var WMSRATEBodyList = JsonConvert.Deserialize<List<WMSRATEmb>>(WMSRATEBody);
|
|
|
var WMSRATEBodyDelList = JsonConvert.Deserialize<List<WMSRATEmb>>(WMSRATEBodyDel);
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
head.ModelUIStatus = "I";
|
|
|
|
|
|
head.GID = "Wms" + Guid.NewGuid().ToString().Replace("-", ""); ;//获取管理费单号
|
|
|
head.WMSOP = CookieConfig.GetCookie_UserName(Request);
|
|
|
//head.CORPID = CookieConfig.GetCookie_OrgName(Request);
|
|
|
|
|
|
head.WMSNO = getCodeRule("入库单号", "WMSNO", "WMS", head.WMSDATE);//调用编码规则
|
|
|
|
|
|
if (head.ASSOCIATEDNO == "")
|
|
|
{
|
|
|
head.ASSOCIATEDNO = head.GID;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
head.ModelUIStatus = "E";
|
|
|
head.MODIFIEDTIME = DateTime.Now.ToString();
|
|
|
head.MODIFIEDUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotDel;
|
|
|
}
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
DBResult result = modb.Save(head,
|
|
|
ModelObjectConvert<WMSINmb>.ToModelObjectList(WMSINBodyList),
|
|
|
ModelObjectConvert<WMSINmb>.ToModelObjectList(WMSINBodyDelList),
|
|
|
ModelObjectConvert<WMSRATEmb>.ToModelObjectList(WMSRATEBodyList),
|
|
|
ModelObjectConvert<WMSRATEmb>.ToModelObjectList(WMSRATEBodyDelList)
|
|
|
);
|
|
|
|
|
|
//更新跟单的 declarenumber
|
|
|
if (head.CUSTOMNO != "") {
|
|
|
BasicDataRefDAL.ExecSql(" update import_main set DeclareNumber='" + head.CUSTOMNO + "' where contractno='" + head.ASSOCIATEDNO + "' ");
|
|
|
}
|
|
|
|
|
|
if (head.CLIENTBSNO != "")
|
|
|
{
|
|
|
BasicDataRefDAL.ExecSql(" update WMS set CLIENTBSNO='" + head.CUSTOMNO + "' where BLNO='" + head.BLNO + "' ");
|
|
|
}
|
|
|
|
|
|
if (head.CREATETIME != "")
|
|
|
{
|
|
|
DateTime dt = new DateTime();
|
|
|
dt = Convert.ToDateTime(head.CREATETIME);
|
|
|
|
|
|
BasicDataRefDAL.ExecSql(" update WMS set CREATETIME='" + dt.ToString("d") + "' where BLNO='" + head.BLNO + "' ");
|
|
|
}
|
|
|
|
|
|
//刷新父窗口上的父节点
|
|
|
/*
|
|
|
if (result.Success == true && feeUnUnionList != null)
|
|
|
{
|
|
|
var _count = BaoxiaoDAL.FeeUnUnion(feeUnUnionList);
|
|
|
}*/
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result.Success,
|
|
|
Message = result.Message,
|
|
|
Data = WMSDAL.GetData(" GID='" + head.GID + "'")
|
|
|
};
|
|
|
//p_op_gain(head.BXGID);
|
|
|
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
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 SaveWMSOUT(string opstatus, string data, string WMSOUTDetailBody, string WMSOUTDetailBodyDel)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<WMSOUTmb>(data);
|
|
|
var WMSOUTDetailBodyList = JsonConvert.Deserialize<List<WMSOUTDetailmb>>(WMSOUTDetailBody);
|
|
|
|
|
|
var WMSOUTDetailBodyDelList = JsonConvert.Deserialize<List<WMSOUTDetailmb>>(WMSOUTDetailBodyDel);
|
|
|
|
|
|
return SaveWMSOUT_OWN(opstatus, head, WMSOUTDetailBodyList, WMSOUTDetailBodyDelList);
|
|
|
}
|
|
|
|
|
|
public ContentResult SaveWMSOUT_OWN ( string opstatus, WMSOUTmb head, List<WMSOUTDetailmb> WMSOUTDetailBodyList, List<WMSOUTDetailmb> WMSOUTDetailBodyDelList )
|
|
|
{
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = false,
|
|
|
Message = ""//,
|
|
|
//Data = WMSDAL.GetWMSOUTData(" GID='" + head.GID + "'")
|
|
|
};
|
|
|
|
|
|
var result = new DBResult();
|
|
|
var result2 = new DBResult();
|
|
|
var result3 = new DBResult();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
//var tran = conn.BeginTransaction();//tran
|
|
|
SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction);
|
|
|
try
|
|
|
{
|
|
|
|
|
|
if (head.INGIDNEW != "")//如果没有下属货转入库信息(=="") 则直接进行入库信息添加
|
|
|
//否则先处理现有的入库信息
|
|
|
{
|
|
|
//判断现有货转入库信息是否已费用入账
|
|
|
//var HZWMSCount = WMSDAL.GetHZWMSCount(head.BSNO);
|
|
|
var HZWMSLockCount = WMSDAL.GetHZWMSLockCount(head.INGIDNEW);
|
|
|
if (HZWMSLockCount > 0)
|
|
|
{
|
|
|
//返回错误
|
|
|
var jsonRespose_0 = new JsonResponse { Success = false, Message = "下属的货转入库已经入账,不能修改" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose_0) };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//删除该WMS
|
|
|
WMSDAL.DelHZWMS(head.INGIDNEW);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
head.ModelUIStatus = "I";
|
|
|
|
|
|
head.GID = "WO" + Guid.NewGuid().ToString().Replace("-", "");
|
|
|
//head.WMSDATE = DateTime.Now.ToShortTimeString();
|
|
|
head.WMSOP = CookieConfig.GetCookie_UserName(Request);
|
|
|
//head.CORPID = CookieConfig.GetCookie_OrgCode(Request);
|
|
|
//head.WMSNO = getCodeRule("入库单号", "WMSNO", "WMS", head);//调用编码规则
|
|
|
if (head.BSNO == "" || head.BSNO == "*")
|
|
|
{
|
|
|
head.BSNO = getCodeRule("出库单号", "BSNO", "WMS_OUT", head.DODATE);//调用编码规则
|
|
|
}
|
|
|
if (head.ASSOCIATEDNO == "")
|
|
|
{
|
|
|
head.ASSOCIATEDNO = head.GID;
|
|
|
}
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
head.ModelUIStatus = "E";
|
|
|
head.MODIFIEDTIME = DateTime.Now.ToString();
|
|
|
head.MODIFIEDUSER = CookieConfig.GetCookie_UserId(Request);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotDel;
|
|
|
}
|
|
|
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
result = modb.Save(head,
|
|
|
ModelObjectConvert<WMSOUTDetailmb>.ToModelObjectList(WMSOUTDetailBodyList),
|
|
|
ModelObjectConvert<WMSOUTDetailmb>.ToModelObjectList(WMSOUTDetailBodyDelList)
|
|
|
);
|
|
|
if (result.Success == false) {
|
|
|
|
|
|
}
|
|
|
|
|
|
var WODList = WMSDAL.GetWMSOUTDetailList_0(" OUTBSNO='" + head.BSNO + "' ", "");
|
|
|
var GOODSOUTFEE = 0M;
|
|
|
var GOODSOUTFEEAP = 0M;
|
|
|
foreach (var WOD in WODList)
|
|
|
{
|
|
|
//using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
//{
|
|
|
try
|
|
|
{
|
|
|
var _r = WMSDAL.SetFee(sqlTran, WOD.STARTBILLINGDATE, WOD.ENDBILLINGDATE, WOD.INBSNO
|
|
|
, WOD.CUSTOMERNAME, decimal.Parse(WOD.GOODSPFSL), WOD.GID, 1
|
|
|
, CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserName(Request), WOD.OUTBSNO, true, false);
|
|
|
WOD.FEEDAYS = _r.feedays;
|
|
|
WOD.GOODSOUTFEE = _r.sumfee;
|
|
|
GOODSOUTFEE += Convert.ToDecimal(_r.sumfee);
|
|
|
sqlTran.Commit();
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
SqlHelper.CloseConnection();
|
|
|
}
|
|
|
// }
|
|
|
};
|
|
|
|
|
|
WODList.ForEach(delegate( WMSOUTDetailmb WOD )
|
|
|
{
|
|
|
//using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
//{
|
|
|
try
|
|
|
{
|
|
|
var _r = WMSDAL.SetFee(sqlTran, WOD.STARTBILLINGDATE, WOD.ENDBILLINGDATEAP, WOD.INBSNO
|
|
|
, WOD.CUSTOMERNAME, decimal.Parse(WOD.GOODSPFSL), WOD.GID, 2
|
|
|
, CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserName(Request), WOD.OUTBSNO, true, false);
|
|
|
WOD.FEEDAYSAP = _r.feedays;
|
|
|
WOD.GOODSOUTFEEAP = _r.sumfee;
|
|
|
GOODSOUTFEEAP += Convert.ToDecimal(_r.sumfee);
|
|
|
sqlTran.Commit();
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
SqlHelper.CloseConnection();
|
|
|
}
|
|
|
//}
|
|
|
});
|
|
|
|
|
|
head.GOODSOUTFEE = GOODSOUTFEE.ToString();
|
|
|
head.GOODSOUTFEEAP = GOODSOUTFEEAP.ToString();
|
|
|
/*foreach (var _s in WODList) {
|
|
|
_s.OUTBSNO = head.BSNO;
|
|
|
}*/
|
|
|
|
|
|
var modb2 = new ModelObjectRepository();
|
|
|
result2 = modb2.SaveComm("OUTBSNO", head.BSNO,
|
|
|
ModelObjectConvert<WMSOUTDetailmb>.ToModelObjectList(WODList),
|
|
|
null
|
|
|
);
|
|
|
|
|
|
//计算完成 把WMS里的剩余数量 减掉现在的
|
|
|
|
|
|
var WODList_0 = WMSDAL.GetWMSOUTDetailList_0(" inbsno in(select inbsno from wms_out_detail where OUTBSNO='" + head.BSNO + "' ) ", "");
|
|
|
|
|
|
var WMSGIDList = "";
|
|
|
|
|
|
var WMSList = new List<WMSmb>();
|
|
|
if (head.ASSOCIATEDNO != "")
|
|
|
{//在业务内 明确业务编号
|
|
|
WMSList = WMSDAL.GetDataList(" gid in(select inbsno from wms_out_detail where OUTBSNO='" + head.BSNO + "' )", "");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//独立出入库业务,应该选择即将保存的和现存的
|
|
|
if (WMSGIDList != "")
|
|
|
{
|
|
|
WMSList = WMSDAL.GetDataList(" GID in(" + WMSGIDList + ")", "");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
foreach (var _WMS in WMSList)
|
|
|
{
|
|
|
|
|
|
//var GOODSSTOCK = Convert.ToDecimal(_WMS.GOODSSTOCK);
|
|
|
//var GOODSPACKSTOCK = Convert.ToDecimal(_WMS.GOODSPACKSTOCK);
|
|
|
foreach (var _WO in WODList_0)
|
|
|
{
|
|
|
if (_WO.INBSNO == _WMS.GID) //将已经存在的出库记录内的出库件数和重量 全部加回剩余量
|
|
|
{
|
|
|
//改为使用入库信息
|
|
|
_WMS.GOODSSTOCK = _WMS.GOODSRKSL;
|
|
|
_WMS.GOODSPACKSTOCK = _WMS.GOODSPACK;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
foreach (var _WMS in WMSList)
|
|
|
{
|
|
|
var GOODSSTOCK = Convert.ToDecimal(_WMS.GOODSSTOCK);
|
|
|
var GOODSPACKSTOCK = Convert.ToDecimal(_WMS.GOODSPACKSTOCK);
|
|
|
foreach (var _WO in WODList_0)
|
|
|
{
|
|
|
if (_WO.INBSNO == _WMS.GID) //从剩余量中减去提取量
|
|
|
{
|
|
|
GOODSSTOCK -= Convert.ToDecimal(_WO.GOODSPFSL);
|
|
|
GOODSPACKSTOCK -= Convert.ToDecimal(_WO.GOODSPACKPFSL);
|
|
|
}
|
|
|
}
|
|
|
_WMS.GOODSSTOCK = GOODSSTOCK.ToString();
|
|
|
_WMS.GOODSPACKSTOCK = GOODSPACKSTOCK.ToString();
|
|
|
}
|
|
|
|
|
|
|
|
|
var modb3 = new ModelObjectRepository();
|
|
|
result3 = modb3.Save(
|
|
|
ModelObjectConvert<WMSmb>.ToModelObjectList(WMSList)
|
|
|
);
|
|
|
}
|
|
|
|
|
|
catch (Exception ee)
|
|
|
{
|
|
|
jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = false,
|
|
|
Message = ee.Message//,
|
|
|
//Data = WMSDAL.GetWMSOUTData(" GID='" + head.GID + "'")
|
|
|
};
|
|
|
sqlTran.Rollback();
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
if (result.Success == true && result2.Success==true && result3.Success==true)
|
|
|
{
|
|
|
|
|
|
//sqlTran.Commit();
|
|
|
}
|
|
|
else {
|
|
|
//sqlTran.Rollback();
|
|
|
}*/
|
|
|
|
|
|
jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result.Success == true && result2.Success == true && result3.Success == true,
|
|
|
Message = "",
|
|
|
Data = WMSDAL.GetWMSOUTData(" GID='" + head.GID + "'")
|
|
|
};
|
|
|
}
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
|
|
|
#region 修改入库/开始计费时间。即使已经费用入账。用于修改既往的单据内的入库时间
|
|
|
public ContentResult SetNewWMSBillingDate(string WMSGID, string WMSDATE, string STARTBILLINGDATE, string STARTBILLINGDATEAP)
|
|
|
{
|
|
|
var _count = WMSDAL.SetNewWMSBillingDate(WMSGID, WMSDATE, STARTBILLINGDATE, STARTBILLINGDATEAP
|
|
|
, CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserName(Request));
|
|
|
|
|
|
var _result = SetNewWMSFee(WMSGID);
|
|
|
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = false,
|
|
|
Message = _count.ToString()
|
|
|
};
|
|
|
if (_count == 0 ) {
|
|
|
jsonRespose.Success = true;
|
|
|
}
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 将一个入库单下属的出库单全部重新计算仓储费用明细
|
|
|
public ContentResult SetNewWMSFee(string WMSGID) {
|
|
|
var WODList = WMSDAL.GetWMSOUTDetailList_0(" INBSNO='" + WMSGID + "'", "");
|
|
|
|
|
|
foreach (var WOD in WODList)
|
|
|
{
|
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var _r = WMSDAL.SetFee(sqlTran, WOD.STARTBILLINGDATE, WOD.ENDBILLINGDATE, WOD.INBSNO
|
|
|
, WOD.CUSTOMERNAME, decimal.Parse(WOD.GOODSPFSL), WOD.GID, 1
|
|
|
, CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserName(Request), WOD.OUTBSNO, true, false);
|
|
|
WOD.FEEDAYS = _r.feedays;
|
|
|
WOD.GOODSOUTFEE = _r.sumfee;
|
|
|
//GOODSOUTFEE += float.Parse(_r.sumfee);
|
|
|
sqlTran.Commit();
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
SqlHelper.CloseConnection();
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
|
|
|
WODList.ForEach(delegate(WMSOUTDetailmb WOD)
|
|
|
{
|
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var _r = WMSDAL.SetFee(sqlTran, WOD.STARTBILLINGDATE, WOD.ENDBILLINGDATEAP, WOD.INBSNO
|
|
|
, WOD.CUSTOMERNAME, decimal.Parse(WOD.GOODSPFSL), WOD.GID, 2
|
|
|
, CookieConfig.GetCookie_UserId(Request), CookieConfig.GetCookie_UserName(Request), WOD.OUTBSNO, true, false);
|
|
|
WOD.FEEDAYSAP = _r.feedays;
|
|
|
WOD.GOODSOUTFEEAP = _r.sumfee;
|
|
|
//GOODSOUTFEEAP += float.Parse(_r.sumfee);
|
|
|
sqlTran.Commit();
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
SqlHelper.CloseConnection();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
|
|
|
/*foreach (var _s in WODList) {
|
|
|
_s.OUTBSNO = head.BSNO;
|
|
|
}*/
|
|
|
|
|
|
var modb2 = new ModelObjectRepository();
|
|
|
DBResult result2 = modb2.SaveComm("INBSNO", WMSGID,
|
|
|
ModelObjectConvert<WMSOUTDetailmb>.ToModelObjectList(WODList),
|
|
|
null
|
|
|
);
|
|
|
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result2.Success,
|
|
|
Message = result2.Message/*,
|
|
|
Data = WMSDAL.GetWMSOUTData(" GID='" + head.GID + "'")*/
|
|
|
};
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 获取 锁定的 货转出库 下属的 货转入库 数量
|
|
|
public int GetHZWMSLockCount(string INGIDNEW) {
|
|
|
var _count = WMSDAL.GetHZWMSLockCount(INGIDNEW);
|
|
|
return _count;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
public ContentResult SetHZWMS(string OpStatus, string data)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<WMSOUTmb>(data);
|
|
|
|
|
|
if (head.INGIDNEW != "")//如果没有下属货转入库信息(=="") 则直接进行入库信息添加
|
|
|
//否则先处理现有的入库信息
|
|
|
{
|
|
|
//判断现有货转入库信息是否已费用入账
|
|
|
//var HZWMSCount = WMSDAL.GetHZWMSCount(head.BSNO);
|
|
|
var HZWMSLockCount = WMSDAL.GetHZWMSLockCount(head.INGIDNEW);
|
|
|
if (HZWMSLockCount > 0)
|
|
|
{
|
|
|
//返回错误
|
|
|
var jsonRespose_0 = new JsonResponse { Success = false, Message = "下属的货转入库已经入账,不能修改" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose_0) };
|
|
|
}
|
|
|
else {
|
|
|
//删除该WMS
|
|
|
WMSDAL.DelHZWMS(head.INGIDNEW);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//新增入库信息
|
|
|
//getCodeRule("入库单号", "WMSNO", "WMS", head.WMSDATE);
|
|
|
//if (OpStatus != "add") { WMSDAL.DelHZWMS(head.BSNO); }
|
|
|
var WMSGID = "Wms" + Guid.NewGuid().ToString().Replace("-", "");
|
|
|
|
|
|
var WMSNO=getCodeRule("入库单号", "WMSNO", "WMS", head.DODATE);
|
|
|
Resultmb result = WMSDAL.InsertHZWMS(head,WMSGID,WMSNO,CookieConfig.GetCookie_UserId(Request));
|
|
|
//var GID = head.GID;
|
|
|
var jsonRespose = new JsonResponse {
|
|
|
Success = result.Success, Message = result.Message,
|
|
|
Data = WMSDAL.GetWMSOUTData(" GID='" + head.GID + "'")
|
|
|
,
|
|
|
DataBody = GetWMS(" WMSNO='" + WMSNO + "'")
|
|
|
};
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
|
|
|
public ContentResult Delete(string data, string USERID)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<WMSmb>(data);
|
|
|
//判断该入库单下是否有出库数据
|
|
|
string checkSql = @"select count(*) from wms_out_detail where INBSNO = '"+head.GID+"' ";
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
int cnt = Convert.ToInt32(db.ExecuteScalar(CommandType.Text,checkSql));
|
|
|
if (cnt<=0)
|
|
|
{
|
|
|
var modb = new ModelObjectDB();
|
|
|
DBResult result = modb.Delete(head, USERID, true);
|
|
|
//var GID = head.GID;
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var jsonRespose = new JsonResponse { Success = false, Message = "无法删除已存在出库数据的入库单!"};
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
}
|
|
|
public ContentResult DeleteOUT(string data, string USERID)
|
|
|
{
|
|
|
var head = JsonConvert.Deserialize<WMSOUTmb>(data);
|
|
|
|
|
|
if (head.ISCHANGE == "True")
|
|
|
{
|
|
|
var HZWMSLockCount = WMSDAL.GetHZWMSLockCount(head.INGIDNEW);
|
|
|
if (HZWMSLockCount > 0)
|
|
|
{
|
|
|
//返回错误
|
|
|
var jsonRespose_0 = new JsonResponse { Success = false, Message = "下属的货转入库已经入账,不能修改" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose_0) };
|
|
|
}
|
|
|
else {
|
|
|
WMSDAL.DelHZWMS(head.INGIDNEW);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//首先记录 WMS_out_detail的 INBSNO,即WMS的GID,将保存前的 剩余件数和剩余量储存
|
|
|
var WMSGIDList = "";
|
|
|
|
|
|
var WODList_0 = WMSDAL.GetWMSOUTDetailList_0(" OUTBSNO='" + head.BSNO + "'", "");
|
|
|
foreach (var _WO in WODList_0)
|
|
|
{
|
|
|
if (WMSGIDList == "")
|
|
|
WMSGIDList = "'" + _WO.INBSNO + "'";
|
|
|
else WMSGIDList = WMSGIDList + ",'" + _WO.INBSNO + "'";
|
|
|
}
|
|
|
var WMSList = new List<WMSmb>();
|
|
|
WMSList = WMSDAL.GetDataList(" GID in (" + WMSGIDList + ")", "");
|
|
|
|
|
|
foreach (var _WMS in WMSList)
|
|
|
{
|
|
|
var GOODSSTOCK = Convert.ToDecimal(_WMS.GOODSSTOCK);
|
|
|
var GOODSPACKSTOCK = Convert.ToDecimal(_WMS.GOODSPACKSTOCK);
|
|
|
foreach (var _WO in WODList_0)
|
|
|
{
|
|
|
if (_WO.INBSNO == _WMS.GID) //将现有数字全部加回剩余量
|
|
|
{
|
|
|
GOODSSTOCK += Convert.ToDecimal(_WO.GOODSPFSL);
|
|
|
GOODSPACKSTOCK += Convert.ToDecimal(_WO.GOODSPACKPFSL);
|
|
|
}
|
|
|
}
|
|
|
_WMS.GOODSSTOCK = GOODSSTOCK.ToString();
|
|
|
_WMS.GOODSPACKSTOCK = GOODSPACKSTOCK.ToString();
|
|
|
}
|
|
|
var modb3 = new ModelObjectRepository();
|
|
|
DBResult result3 = modb3.Save(
|
|
|
ModelObjectConvert<WMSmb>.ToModelObjectList(WMSList)
|
|
|
);
|
|
|
|
|
|
|
|
|
var modb = new ModelObjectDB();
|
|
|
DBResult result = modb.Delete(head, USERID, true);
|
|
|
var _count = WMSDAL.DeleteOut(head.BSNO);
|
|
|
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
public ContentResult DeleteOUTByBSNO(string BSNO)
|
|
|
{
|
|
|
var dataList = WMSDAL.GetWMSOUTList(" BSNO='" + BSNO + "'", "");
|
|
|
var _r = new ContentResult();
|
|
|
foreach (var head in dataList)
|
|
|
{
|
|
|
if (head.ISCHANGE == "True")
|
|
|
{
|
|
|
var HZWMSLockCount = WMSDAL.GetHZWMSLockCount(head.INGIDNEW);
|
|
|
if (HZWMSLockCount > 0)
|
|
|
{
|
|
|
//返回错误
|
|
|
var jsonRespose_0 = new JsonResponse { Success = false, Message = "下属的货转入库已经入账,不能修改" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose_0) };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
WMSDAL.DelHZWMS(head.INGIDNEW);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//首先记录 WMS_out_detail的 INBSNO,即WMS的GID,将保存前的 剩余件数和剩余量储存
|
|
|
var WMSGIDList = "";
|
|
|
|
|
|
var WODList_0 = WMSDAL.GetWMSOUTDetailList_0(" OUTBSNO='" + head.BSNO + "'", "");
|
|
|
foreach (var _WO in WODList_0)
|
|
|
{
|
|
|
if (WMSGIDList == "")
|
|
|
WMSGIDList = "'" + _WO.INBSNO + "'";
|
|
|
else WMSGIDList = WMSGIDList + ",'" + _WO.INBSNO + "'";
|
|
|
}
|
|
|
var WMSList = new List<WMSmb>();
|
|
|
WMSList = WMSDAL.GetDataList(" ASSOCIATEDNO ='" + head.ASSOCIATEDNO + "'", "");
|
|
|
|
|
|
foreach (var _WMS in WMSList)
|
|
|
{
|
|
|
var GOODSSTOCK = Convert.ToDecimal(_WMS.GOODSSTOCK);
|
|
|
var GOODSPACKSTOCK = Convert.ToDecimal(_WMS.GOODSPACKSTOCK);
|
|
|
foreach (var _WO in WODList_0)
|
|
|
{
|
|
|
if (_WO.INBSNO == _WMS.GID) //将现有数字全部加回剩余量
|
|
|
{
|
|
|
GOODSSTOCK += Convert.ToDecimal(_WO.GOODSPFSL);
|
|
|
GOODSPACKSTOCK += Convert.ToDecimal(_WO.GOODSPACKPFSL);
|
|
|
}
|
|
|
}
|
|
|
_WMS.GOODSSTOCK = GOODSSTOCK.ToString();
|
|
|
_WMS.GOODSPACKSTOCK = GOODSPACKSTOCK.ToString();
|
|
|
}
|
|
|
var modb3 = new ModelObjectRepository();
|
|
|
DBResult result3 = modb3.Save(
|
|
|
ModelObjectConvert<WMSmb>.ToModelObjectList(WMSList)
|
|
|
);
|
|
|
|
|
|
|
|
|
var modb = new ModelObjectDB();
|
|
|
DBResult result = modb.Delete(head, Session["USERID"].ToString(), true);
|
|
|
var _count = WMSDAL.DeleteOut(head.BSNO);
|
|
|
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
|
|
|
_r = new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
return _r;
|
|
|
}
|
|
|
public ContentResult Lock(string data, string LOCK)
|
|
|
{//费用入账
|
|
|
var WMSList = JsonConvert.Deserialize<List<WMSmb>>(data);
|
|
|
var WMSGID = "";
|
|
|
for (int i = 0; i <= WMSList.Count() - 1; i++)
|
|
|
{
|
|
|
if (WMSGID == "") { WMSGID = "" + WMSList[i].GID.ToString() + ""; }
|
|
|
else { WMSGID = WMSGID + "," + WMSList[i].GID.ToString() + ""; }
|
|
|
}
|
|
|
var USERID = CookieConfig.GetCookie_UserId(Request);
|
|
|
return LockWMS(WMSGID,USERID, LOCK);
|
|
|
}
|
|
|
public ContentResult LockWMSList ( string WMSGIDList, string LOCK )
|
|
|
{//费用入账
|
|
|
var USERID = CookieConfig.GetCookie_UserId(Request);
|
|
|
return LockWMS(WMSGIDList, USERID, LOCK);
|
|
|
}
|
|
|
|
|
|
public ContentResult LockWMS(string WMSGID,string USERID, string LOCK)
|
|
|
{
|
|
|
WmsDA _wda = new WmsDA();
|
|
|
var _r = 0;
|
|
|
Resultmb result = new Resultmb();
|
|
|
|
|
|
if (LOCK == "1")
|
|
|
_r = _wda.setislock(WMSGID, USERID);
|
|
|
|
|
|
else if (LOCK == "0") {
|
|
|
//入库解锁时先看有没有下属出库 有则返回false
|
|
|
var _WODList=WMSDAL.GetWMSOUTDetailList_0("INBSNO in('"+WMSGID+"')","");
|
|
|
if (_WODList.Count > 0) {
|
|
|
result.Success = false;
|
|
|
result.Message = "已有出库操作,不能取消入账";
|
|
|
var jsonRespose2 = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
|
|
|
}else
|
|
|
_r = _wda.setnotlock(WMSGID, USERID);
|
|
|
}
|
|
|
|
|
|
|
|
|
/*
|
|
|
iResult = 1;//状态为1表示插入成功
|
|
|
iResult = -1;//有异常,插入失败
|
|
|
iResult = -2;//插入异常,事务已回滚成功*/
|
|
|
if (_r == 1)
|
|
|
{
|
|
|
result.Success = true;
|
|
|
if (LOCK == "0")
|
|
|
result.Message = "已经取消费用入账";
|
|
|
else
|
|
|
result.Message = "已经费用入账";
|
|
|
}
|
|
|
else if (_r == -1 || _r == -2)
|
|
|
{
|
|
|
result.Success = true;
|
|
|
result.Message = "操作失败";
|
|
|
}
|
|
|
//WMSDAL.Lock(WMSGID, LOCK,);
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
public ContentResult LockOut(string data, string LOCK)
|
|
|
{//出库费用入账
|
|
|
var _WMSOUTList = JsonConvert.Deserialize<List<WMSOUTmb>>(data);
|
|
|
var WMSOUTGID = "";
|
|
|
for (int i = 0; i <= _WMSOUTList.Count() - 1; i++)
|
|
|
{
|
|
|
if (WMSOUTGID == "") { WMSOUTGID = "'" + _WMSOUTList[i].GID.ToString() + "'"; }
|
|
|
else { WMSOUTGID = WMSOUTGID + ",'" + _WMSOUTList[i].GID.ToString() + "'"; }
|
|
|
}
|
|
|
|
|
|
var condition = " GID in(" + WMSOUTGID + ") ";
|
|
|
if (LOCK == "1") {
|
|
|
condition += " and isnull(ISLOCK,0)=0";
|
|
|
}
|
|
|
if (LOCK == "0")
|
|
|
{
|
|
|
condition += " and isnull(ISLOCK,1)=1";
|
|
|
}
|
|
|
|
|
|
var dataList = WMSDAL.GetWMSOUTList(condition, "");
|
|
|
|
|
|
WMSOUTGID = "";
|
|
|
for (int i = 0; i <= dataList.Count() - 1; i++)
|
|
|
{
|
|
|
WMSOUTGID = "'" + _WMSOUTList[i].GID.ToString() + "'";
|
|
|
}
|
|
|
|
|
|
WmsOutDA _wda = new WmsOutDA();
|
|
|
var _r = 0;
|
|
|
if (LOCK == "1")
|
|
|
_r = _wda.setislock2(WMSOUTGID, CookieConfig.GetCookie_UserId(Request));
|
|
|
|
|
|
else if (LOCK == "0")
|
|
|
_r = _wda.setnotlock2(WMSOUTGID, CookieConfig.GetCookie_UserId(Request));
|
|
|
|
|
|
Resultmb result = new Resultmb();
|
|
|
/*
|
|
|
iResult = 1;//状态为1表示插入成功
|
|
|
iResult = -1;//有异常,插入失败
|
|
|
iResult = -2;//插入异常,事务已回滚成功*/
|
|
|
if (_r == 1)
|
|
|
{
|
|
|
result.Success = true;
|
|
|
if (LOCK == "0")
|
|
|
result.Message = "已经取消费用入账";
|
|
|
else
|
|
|
result.Message = "已经费用入账";
|
|
|
}
|
|
|
else if (_r == -1 || _r == -2)
|
|
|
{
|
|
|
result.Success = true;
|
|
|
result.Message = "操作失败";
|
|
|
}
|
|
|
//WMSDAL.Lock(WMSGID, LOCK,);
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
public ContentResult LockOut_Import ( string data, string LOCK )
|
|
|
{//出库费用入账
|
|
|
var _WMSOUTList = JsonConvert.Deserialize<List<WMSOUTmb>>(data);
|
|
|
var WMSOUTGID = "";
|
|
|
for (int i = 0; i <= _WMSOUTList.Count() - 1; i++)
|
|
|
{
|
|
|
if (WMSOUTGID == "") { WMSOUTGID = "'" + _WMSOUTList[i].GID.ToString() + "'"; }
|
|
|
else { WMSOUTGID = WMSOUTGID + ",'" + _WMSOUTList[i].GID.ToString() + "'"; }
|
|
|
}
|
|
|
|
|
|
var condition = " wo.GID in(" + WMSOUTGID + ") ";
|
|
|
if (LOCK == "1")
|
|
|
{
|
|
|
condition += " and isnull(wo.ISLOCK,0)=0";
|
|
|
}
|
|
|
if (LOCK == "0")
|
|
|
{
|
|
|
condition += " and isnull(wo.ISLOCK,1)=1";
|
|
|
}
|
|
|
|
|
|
var dataList = WMSDAL.GetWMSOUTList_Import(condition, "");
|
|
|
|
|
|
WMSOUTGID = "";
|
|
|
for (int i = 0; i <= dataList.Count() - 1; i++)
|
|
|
{
|
|
|
if ((LOCK == "1" && dataList[i].BSSTATUS == "2")||(LOCK == "0"))
|
|
|
{
|
|
|
if (WMSOUTGID == "")
|
|
|
{
|
|
|
WMSOUTGID += dataList[i].GID.ToString();
|
|
|
}
|
|
|
else {
|
|
|
WMSOUTGID += ","+dataList[i].GID.ToString();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
WmsOutDA _wda = new WmsOutDA();
|
|
|
var _r = 0;
|
|
|
if (LOCK == "1")
|
|
|
_r = _wda.setislock2(WMSOUTGID, CookieConfig.GetCookie_UserId(Request));
|
|
|
|
|
|
else if (LOCK == "0")
|
|
|
_r = _wda.setnotlock3(WMSOUTGID, CookieConfig.GetCookie_UserId(Request));
|
|
|
|
|
|
Resultmb result = new Resultmb();
|
|
|
/*
|
|
|
iResult = 1;//状态为1表示插入成功
|
|
|
iResult = -1;//有异常,插入失败
|
|
|
iResult = -2;//插入异常,事务已回滚成功*/
|
|
|
var _count = 0;
|
|
|
if (_r == 1)
|
|
|
{
|
|
|
result.Success = true;
|
|
|
if (LOCK == "0")
|
|
|
result.Message = "已经取消费用入账";
|
|
|
else
|
|
|
result.Message = "已经费用入账";
|
|
|
|
|
|
if (LOCK == "1")
|
|
|
{
|
|
|
foreach (var _W in _WMSOUTList)
|
|
|
{
|
|
|
_count += ImportSalesDAL.LockDelivery_2(_W.BSNO);
|
|
|
//产生费用
|
|
|
//MakeFee_ImportDelivery(_W.GID,_W.BSNO);
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
foreach (var _W in _WMSOUTList)
|
|
|
{
|
|
|
_count += ImportSalesDAL.UnLockDelivery_2(_W.BSNO);
|
|
|
//删除费用
|
|
|
//DelFee_ImportDelivery(_W.BSNO);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else if (_r == -1 || _r == -2)
|
|
|
{
|
|
|
result.Success = true;
|
|
|
result.Message = "操作失败";
|
|
|
}
|
|
|
//WMSDAL.Lock(WMSGID, LOCK,);
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
/*
|
|
|
private ContentResult MakeFee_ImportDelivery (string WmsOutBsNo, string DELIVERYNO ) {
|
|
|
var condition = " D.DELIVERYNO='" + DELIVERYNO + "'";
|
|
|
|
|
|
var deliverydetail= ImportSalesDAL.GetDeliveryDetailList(condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), Convert.ToString(Session["COMPANYID"]), "");
|
|
|
|
|
|
var headdata=ImportSalesDAL.GetDeliveryData("DELIVERYNO='"+DELIVERYNO+"'");
|
|
|
|
|
|
var chfeelist = new List<MsChFeeImportWMS>();
|
|
|
|
|
|
var chfeedellist = new List<MsChFeeImportWMS>();
|
|
|
|
|
|
var BSNO="";
|
|
|
foreach (var _dd in deliverydetail) {
|
|
|
var _fee = new MsChFeeImportWMS();
|
|
|
|
|
|
var salesdetaillist = ImportSalesDAL.GetDetailList(" s.GID='" + _dd.SALEDETAIL_GID + "'");
|
|
|
var salesdetail = salesdetaillist[0];
|
|
|
BSNO=salesdetail.BSNO;
|
|
|
_fee.GId = System.Guid.NewGuid().ToString();
|
|
|
_fee.BsNo = "";
|
|
|
_fee.FeeName = "尾款";
|
|
|
_fee.FeeType = 1;
|
|
|
_fee.FeeStatus = 0;
|
|
|
_fee.CustomerName = headdata.CUSTOMERNAME;
|
|
|
_fee.UnitPrice = Convert.ToDecimal( salesdetail.PRICERMB);
|
|
|
_fee.TaxUnitPrice = Convert.ToDecimal(salesdetail.PRICERMB);
|
|
|
_fee.Quantity = Convert.ToDecimal(_dd.WEIGHT);
|
|
|
_fee.Amount = _fee.UnitPrice * _fee.Quantity;
|
|
|
_fee.NoTaxAmount = _fee.Amount;
|
|
|
_fee.Currency = "RMB";
|
|
|
_fee.ExChangerate = 1;
|
|
|
if (salesdetail.CURRENCY!="RMB"){
|
|
|
_fee.Remark = salesdetail.CURRENCY + " 汇率" + salesdetail.EXCHANGERATE;
|
|
|
}
|
|
|
_fee.EnteroPerator = Session["USERID"].ToString();
|
|
|
_fee.EnterDate = System.DateTime.Now;
|
|
|
_fee.DebitNo="";
|
|
|
_fee.IsDebit="0";
|
|
|
_fee.IsOpen="0";
|
|
|
_fee.IsAdvancedpay="0";
|
|
|
_fee.IsInvoice="0";
|
|
|
_fee.FeeFrt="PP";
|
|
|
_fee.IsCrmOrderFee="0";
|
|
|
_fee.AuditStatus=0;
|
|
|
_fee.SALESNO=salesdetail.SALESNO;
|
|
|
_fee.DELIVERYNO = _dd.DELIVERYNO;
|
|
|
_fee.WmsOutBsNo = WmsOutBsNo;
|
|
|
|
|
|
chfeelist.Add(_fee);
|
|
|
}
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
var _r = modb.SaveComm("BsNo", BSNO,
|
|
|
ModelObjectConvert<MsChFeeImportWMS>.ToModelObjectList(chfeelist),
|
|
|
ModelObjectConvert<MsChFeeImportWMS>.ToModelObjectList(chfeedellist)
|
|
|
);
|
|
|
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = _r.Success,
|
|
|
Message = _r.Message,
|
|
|
Data = null
|
|
|
};
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
|
|
|
}
|
|
|
|
|
|
private ContentResult DelFee_ImportDelivery ( string DELIVERYNO )
|
|
|
{
|
|
|
var _count = WMSDAL.DelFee_ImportDelivery(DELIVERYNO);
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
var _r = new DBResult();
|
|
|
if (_count > 0) {
|
|
|
_r.Success = true;
|
|
|
}
|
|
|
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = _r.Success,
|
|
|
Message = _r.Message,
|
|
|
Data = null
|
|
|
};
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
|
|
|
}
|
|
|
*/
|
|
|
public ContentResult SetWMSFee(string strSTARTBILLINGDATE, string strOLDCUSTFEEDATE, string strINBSNO
|
|
|
, string strCUSTOMERNAME, Decimal outnums, string strASSOCIATEDNO, int strFEETYPE
|
|
|
, string strUserID, string strShowName, string sBillno, bool ck_jsfee, bool isKuCun)
|
|
|
{
|
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var _r = WMSDAL.SetFee(sqlTran, strSTARTBILLINGDATE, strOLDCUSTFEEDATE, strINBSNO
|
|
|
, strCUSTOMERNAME, outnums, strASSOCIATEDNO, strFEETYPE
|
|
|
, strUserID, strShowName, sBillno, ck_jsfee, isKuCun);
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "设置成功", data = _r });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
catch (Exception execError)
|
|
|
{
|
|
|
//result = -10;//有异常,插入失败
|
|
|
sqlTran.Rollback();
|
|
|
//result = -11;//插入异常,事务已回滚成功
|
|
|
throw execError;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
SqlHelper.CloseConnection();
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#region 查询库存,看是否有取用记录
|
|
|
public ContentResult GetCargoOut(string WMSGID)
|
|
|
{
|
|
|
|
|
|
var _count = WMSDAL.GetCargoOut(WMSGID);
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = _count });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 入库财务审核
|
|
|
|
|
|
public ContentResult SubmitAudit ( string WMSList, string optype )
|
|
|
{
|
|
|
var billData = JsonConvert.Deserialize<List<WMSmb>>(WMSList);
|
|
|
DBResult result = WMSDAL.SubmitAudit(optype, Convert.ToString(Session["USERID"]), billData);
|
|
|
|
|
|
var json = JsonConvert.Serialize(result);
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult CancelAudit ( string WMSList, string optype )
|
|
|
{
|
|
|
var billData = JsonConvert.Deserialize<List<WMSmb>>(WMSList);
|
|
|
//DBResult result = Chfee_AuditDAL.CancelAudit(optype, Convert.ToString(Session["DEPTGID"]), Convert.ToString(Session["USERID"]), GidStr);
|
|
|
DBResult result = WMSDAL.CancelAudit(optype, Convert.ToString(Session["USERID"]), billData);
|
|
|
|
|
|
var json = JsonConvert.Serialize(result);
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
public ContentResult Audit ( String WMSList, String bill )
|
|
|
{
|
|
|
var billData = JsonConvert.Deserialize<List<WMSmb>>(WMSList);
|
|
|
DBResult result = WMSDAL.Audit( Convert.ToString(Session["USERID"]), billData);
|
|
|
|
|
|
var json = JsonConvert.Serialize(result);
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult AuditBack ( String WMSList, String bill, string reasean )
|
|
|
{
|
|
|
var billData = JsonConvert.Deserialize<List<WMSmb>>(WMSList);
|
|
|
DBResult result = WMSDAL.AuditBack( Convert.ToString(Session["USERID"]), billData, reasean);
|
|
|
|
|
|
var json = JsonConvert.Serialize(result);
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 出库财务审核
|
|
|
|
|
|
public ContentResult SubmitAudit_OUT ( string WMSList, string optype )
|
|
|
{
|
|
|
var billData = JsonConvert.Deserialize<List<WMSOUTmb>>(WMSList);
|
|
|
DBResult result = WMSDAL.SubmitAudit_OUT(optype, Convert.ToString(Session["USERID"]), billData);
|
|
|
|
|
|
var json = JsonConvert.Serialize(result);
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult CancelAudit_OUT ( string WMSList, string optype )
|
|
|
{
|
|
|
var billData = JsonConvert.Deserialize<List<WMSOUTmb>>(WMSList);
|
|
|
//DBResult result = Chfee_AuditDAL.CancelAudit(optype, Convert.ToString(Session["DEPTGID"]), Convert.ToString(Session["USERID"]), GidStr);
|
|
|
DBResult result = WMSDAL.CancelAudit_OUT(optype, Convert.ToString(Session["USERID"]), billData);
|
|
|
|
|
|
var json = JsonConvert.Serialize(result);
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
public ContentResult Audit_OUT ( String WMSList, String bill )
|
|
|
{
|
|
|
var billData = JsonConvert.Deserialize<List<WMSOUTmb>>(WMSList);
|
|
|
DBResult result = WMSDAL.Audit_OUT(Convert.ToString(Session["USERID"]), billData);
|
|
|
|
|
|
var json = JsonConvert.Serialize(result);
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult AuditBack_OUT ( String WMSList, String bill, string reasean )
|
|
|
{
|
|
|
var billData = JsonConvert.Deserialize<List<WMSOUTmb>>(WMSList);
|
|
|
DBResult result = WMSDAL.AuditBack_OUT(Convert.ToString(Session["USERID"]), billData, reasean);
|
|
|
|
|
|
var json = JsonConvert.Serialize(result);
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 获取编码规则的编码
|
|
|
//WmsEntity.WMSNO = getCodeRule("入库单号", "WMSNO", "WMS");//调用编码规则
|
|
|
public String getCodeRule(string strRULENAME, string strfield, string tablename, string DODATE)
|
|
|
{
|
|
|
//调用编码规则
|
|
|
string strRULEYEAR = "";
|
|
|
string strRULECONTENT = "";
|
|
|
string strCODENAME = "";
|
|
|
string strDEPTNO = "";
|
|
|
string strRULENOLENGTH = "";
|
|
|
int iRULENOLENGTH = 0;
|
|
|
int inum = 0;
|
|
|
string strCONTENT = "";
|
|
|
string USERID = CookieConfig.GetCookie_UserId(Request);
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select * from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=3");
|
|
|
if (ds != null)
|
|
|
{
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
//getCodeRuleEnabled(strRULENAME, strfield);
|
|
|
//
|
|
|
if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
|
{
|
|
|
if (DODATE == "")
|
|
|
{
|
|
|
return "";
|
|
|
}
|
|
|
DateTime dETD = System.Convert.ToDateTime(DODATE);
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM");
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = dETD.ToString("yyyy");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = dETD.ToString("yy");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
|
{
|
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = fwqdate.ToString("yy");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + USERID + "')");
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + CookieConfig.GetCookie_UserId(Request) + "')");
|
|
|
}
|
|
|
strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME);
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO);
|
|
|
//
|
|
|
if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "")
|
|
|
{
|
|
|
iRULENOLENGTH = 0;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
|
}
|
|
|
strCONTENT = strRULECONTENT + strRULEYEAR;
|
|
|
//获取分公司的票号头字符
|
|
|
string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE codename='" + CookieConfig.GetCookie_OrgCode(Request) + "'");
|
|
|
strCONTENT = tempBANKSHEAD + strCONTENT;
|
|
|
//
|
|
|
strRULENOLENGTH = T_ALL_DA.GetStrSQL(strfield, "select top 1 " + strfield + " from [" + tablename + "] where " + strfield + " like '" + strCONTENT.Trim() + "%' and ISDELETE=0 order by " + strfield + " DESC");
|
|
|
if (strRULENOLENGTH == "")
|
|
|
{
|
|
|
strRULENOLENGTH = "1";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), "");
|
|
|
inum = int.Parse(strRULENOLENGTH.Trim());
|
|
|
inum = inum + 1;
|
|
|
strRULENOLENGTH = inum.ToString();
|
|
|
}
|
|
|
int j = iRULENOLENGTH - strRULENOLENGTH.Length;
|
|
|
for (int i = 1; i <= j; i++)
|
|
|
{
|
|
|
strRULENOLENGTH = "0" + strRULENOLENGTH;
|
|
|
}
|
|
|
//
|
|
|
strCONTENT = strCONTENT + strRULENOLENGTH;
|
|
|
return strCONTENT;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
public String getCodeRule(string _USERID,string ORGCODE, string strRULENAME, string strfield, string tablename, string DODATE )
|
|
|
{
|
|
|
//调用编码规则
|
|
|
string strRULEYEAR = "";
|
|
|
string strRULECONTENT = "";
|
|
|
string strCODENAME = "";
|
|
|
string strDEPTNO = "";
|
|
|
string strRULENOLENGTH = "";
|
|
|
int iRULENOLENGTH = 0;
|
|
|
int inum = 0;
|
|
|
string strCONTENT = "";
|
|
|
string USERID = _USERID;
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select * from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=3");
|
|
|
if (ds != null)
|
|
|
{
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
//getCodeRuleEnabled(strRULENAME, strfield);
|
|
|
//
|
|
|
if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
|
{
|
|
|
if (DODATE == "")
|
|
|
{
|
|
|
return "";
|
|
|
}
|
|
|
DateTime dETD = System.Convert.ToDateTime(DODATE);
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM");
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = dETD.ToString("yyyy");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = dETD.ToString("yy");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
|
{
|
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
|
{
|
|
|
strRULEYEAR = fwqdate.ToString("yyyy");
|
|
|
}
|
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
|
{
|
|
|
strRULEYEAR = fwqdate.ToString("yy");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + USERID + "')");
|
|
|
}
|
|
|
if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + USERID + "')");
|
|
|
}
|
|
|
strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME);
|
|
|
strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO);
|
|
|
//
|
|
|
if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "")
|
|
|
{
|
|
|
iRULENOLENGTH = 0;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
|
}
|
|
|
strCONTENT = strRULECONTENT + strRULEYEAR;
|
|
|
//获取分公司的票号头字符
|
|
|
string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE codename='" + ORGCODE + "'");
|
|
|
strCONTENT = tempBANKSHEAD + strCONTENT;
|
|
|
//
|
|
|
strRULENOLENGTH = T_ALL_DA.GetStrSQL(strfield, "select top 1 " + strfield + " from [" + tablename + "] where " + strfield + " like '" + strCONTENT.Trim() + "%' and ISDELETE=0 order by " + strfield + " DESC");
|
|
|
if (strRULENOLENGTH == "")
|
|
|
{
|
|
|
strRULENOLENGTH = "1";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), "");
|
|
|
inum = int.Parse(strRULENOLENGTH.Trim());
|
|
|
inum = inum + 1;
|
|
|
strRULENOLENGTH = inum.ToString();
|
|
|
}
|
|
|
int j = iRULENOLENGTH - strRULENOLENGTH.Length;
|
|
|
for (int i = 1; i <= j; i++)
|
|
|
{
|
|
|
strRULENOLENGTH = "0" + strRULENOLENGTH;
|
|
|
}
|
|
|
//
|
|
|
strCONTENT = strCONTENT + strRULENOLENGTH;
|
|
|
return strCONTENT;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
protected void getCodeRuleEnabled(string strRULENAME, string strfield)
|
|
|
{
|
|
|
//是否生成之后允许编辑
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select * from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=3");
|
|
|
if (ds != null)
|
|
|
{
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
if (strfield == "BSNO")
|
|
|
{
|
|
|
if (ds.Tables[0].Rows[0]["ISALLOWEDITS"].ToString().Trim().Equals("True"))
|
|
|
{
|
|
|
//txt_outbsno.Disabled = false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//txt_outbsno.Disabled = true;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public DataSet GetAllSQL(string strSQL)
|
|
|
{
|
|
|
DataSet DS = SqlHelper.OpenSqlDataSet(SqlHelper.ConnectionStringLocalTransaction, strSQL);
|
|
|
try
|
|
|
{
|
|
|
if (DS.Tables[0].Rows.Count <= 0)
|
|
|
{
|
|
|
DS = null;
|
|
|
}
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
DS = null;
|
|
|
}
|
|
|
return DS;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
}
|