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(data); var WMSINBodyList = JsonConvert.Deserialize>(WMSINBody); var WMSINBodyDelList = JsonConvert.Deserialize>(WMSINBodyDel); var WMSRATEBodyList = JsonConvert.Deserialize>(WMSRATEBody); var WMSRATEBodyDelList = JsonConvert.Deserialize>(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.ToModelObjectList(WMSINBodyList), ModelObjectConvert.ToModelObjectList(WMSINBodyDelList), ModelObjectConvert.ToModelObjectList(WMSRATEBodyList), ModelObjectConvert.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(data); var WMSINBodyList = JsonConvert.Deserialize>(WMSINBody); var WMSINBodyDelList = JsonConvert.Deserialize>(WMSINBodyDel); var WMSRATEBodyList = JsonConvert.Deserialize>(WMSRATEBody); var WMSRATEBodyDelList = JsonConvert.Deserialize>(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.ToModelObjectList(WMSINBodyList), ModelObjectConvert.ToModelObjectList(WMSINBodyDelList), ModelObjectConvert.ToModelObjectList(WMSRATEBodyList), ModelObjectConvert.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>(WMSRATEBody); var WMSRATEDelBodyList = JsonConvert.Deserialize>(WMSRATEBodyDel); if (WMSRATEBodyList !=null ) { foreach (var _WR in WMSRATEBodyList) { _WR.MODIFIEDUSER = CookieConfig.GetCookie_UserName(Request); _WR.MODIFIEDTIME = DateTime.Now.ToString(); } } var modb = new ModelObjectRepository(); DBResult result = modb.SaveComm(BSNONAME,BSNO, ModelObjectConvert.ToModelObjectList(WMSRATEBodyList), ModelObjectConvert.ToModelObjectList(WMSRATEDelBodyList) ); //刷新父窗口上的父节点 var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'") }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult DelRate ( string BSNONAME, string BSNO, string WMSRATEBodyDel ) { //var WMSRATEBodyList = JsonConvert.Deserialize>(WMSRATEBody); var WMSRATEDelBodyList = JsonConvert.Deserialize>(WMSRATEBodyDel); var modb = new ModelObjectRepository(); DBResult result = modb.SaveComm(BSNONAME, BSNO, null, ModelObjectConvert.ToModelObjectList(WMSRATEDelBodyList) ); //刷新父窗口上的父节点 var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'") }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SaveWMSOUT(string opstatus, string data, string WMSOUTDetailBody, string WMSOUTDetailBodyDel) { var head = JsonConvert.Deserialize(data); var WMSOUTDetailBodyList = JsonConvert.Deserialize>(WMSOUTDetailBody); var WMSOUTDetailBodyDelList = JsonConvert.Deserialize>(WMSOUTDetailBodyDel); return SaveWMSOUT_OWN(opstatus, head, WMSOUTDetailBodyList, WMSOUTDetailBodyDelList); } public ContentResult SaveWMSOUT_OWN ( string opstatus, WMSOUTmb head, List WMSOUTDetailBodyList, List 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.ToModelObjectList(WMSOUTDetailBodyList), ModelObjectConvert.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.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(); 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.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.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(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(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(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(); 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.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(); 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.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>(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>(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>(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(); var chfeedellist = new List(); 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.ToModelObjectList(chfeelist), ModelObjectConvert.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>(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>(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>(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>(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>(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>(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>(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>(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 } }