using HH.AutoBom.Core;
|
using HH.AutoBom.Entity.Func;
|
using HH.WMS.Common;
|
using HH.WMS.Entitys.Check;
|
using HH.WMS.WebUI.Controllers;
|
using Newtonsoft.Json;
|
using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Web;
|
using System.Web.Mvc;
|
|
namespace HH.WMS.WebUI.Areas.Check.Controllers
|
{
|
/// <summary>
|
/// 盘点(南通桑德)
|
/// </summary>
|
public class CheckWxysController : BaseController
|
{
|
/// <summary>
|
/// 盘点首页
|
/// </summary>
|
/// <returns></returns>
|
public ActionResult Index()
|
{
|
return View();
|
}
|
|
public ActionResult Add()
|
{
|
return View();
|
}
|
|
public ActionResult Audit()
|
{
|
return View();
|
}
|
|
#region GET
|
|
/// <summary>
|
/// 获取盘点主表数据
|
/// </summary>
|
/// <param name="CN_S_OP_NO">盘点单号</param>
|
/// <param name="CN_S_STOCK_CODE">仓库编码</param>
|
/// <param name="CN_S_STOCK_AREA">库区</param>
|
/// <param name="CN_S_ITEM_CODE">物料编码</param>
|
/// <param name="CN_T_OPERATE">盘点日期</param>
|
/// <param name="CN_S_TYPE">类型</param>
|
/// <returns></returns>
|
/// <history>[HanHe(LT)] CREATED 2018/7/4</history>
|
public string GetCheckMst(int pageIndex, int pageSize, string CN_S_OP_NO, string CN_S_TYPE, string CN_S_STOCK_CODE, string CHECKTIME, string CN_S_STATE, string valueDate)
|
{
|
string sqlWhere = "WHERE 1=1";
|
|
//仓库编码
|
if (!string.IsNullOrEmpty(CN_S_OP_NO))
|
{
|
sqlWhere += " AND CN_S_OP_NO like '%" + CN_S_OP_NO.Trim() + "%'";
|
}
|
//仓库编码
|
if (!string.IsNullOrEmpty(CN_S_STOCK_CODE))
|
{
|
sqlWhere += " AND CN_S_STOCK_CODE = '" + CN_S_STOCK_CODE + "'";
|
}
|
//类型
|
if (!string.IsNullOrEmpty(CN_S_TYPE))
|
{
|
sqlWhere += " AND CN_S_TYPE = '" + CN_S_TYPE + "' ";
|
}
|
|
string[] date = new string[2];
|
if (!string.IsNullOrEmpty(valueDate))
|
{
|
date = JsonConvert.DeserializeObject<string[]>(valueDate);
|
|
////开始时间
|
if (!string.IsNullOrEmpty(date[0]))
|
{
|
sqlWhere += " AND CN_T_CREATE >= '" + date[0] + "' ";
|
}
|
//结束时间
|
if (!string.IsNullOrEmpty(date[1]))
|
{
|
sqlWhere += " AND CN_T_CREATE <= DateAdd(dd, 1, '" + date[1] + "')";
|
}
|
}
|
////开始时间
|
//if (!string.IsNullOrEmpty(STARTTIME))
|
//{
|
// sqlWhere += " AND CN_T_CREATE >= '" + STARTTIME + "' ";
|
//}
|
////结束时间
|
//if (!string.IsNullOrEmpty(ENDTIME))
|
//{
|
// sqlWhere += " AND CN_T_CREATE <= DateAdd(dd, 1, '" + ENDTIME + "')";
|
//}
|
|
//状态
|
if (!string.IsNullOrEmpty(CN_S_STATE))
|
{
|
sqlWhere += " AND CN_S_STATE = '" + CN_S_STATE + "'";
|
}
|
string OrdeBy = " order by CN_T_CREATE DESC";
|
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
var checkAuditOrgDto = GetCheckAuditOrgDto();
|
var entity = new
|
{
|
tokenId = loginer.Extend1,
|
OrdeBy = OrdeBy,
|
sqlWhere = sqlWhere,
|
pageSize = pageSize,
|
pageIndex = pageIndex,
|
isFirstLevelOrg = checkAuditOrgDto.isFirstLevelOrg,
|
currentOrgCode = checkAuditOrgDto.currentOrgCode
|
};
|
string stringjson = JsonConvert.SerializeObject(entity);
|
string list = HttpWMS_Post("Api/CheckWxys/GetCheckMst", stringjson);
|
return list;
|
}
|
|
/// <summary>
|
/// 获取盘点明细数据
|
/// </summary>
|
/// <param name="CN_S_OP_NO">仓库编码</param>
|
/// <returns></returns>
|
/// <history>[HanHe(LT)] CREATED 2018/7/4</history>
|
/// <history>[HanHe(dbs)] CREATED 2019/3/18</history>
|
public string GetCheckDtl(string opNo)
|
{
|
string list = HttpWMS_Get("Api/CheckWxys/GetCheckDtl?opNo=" + opNo);
|
return list;
|
}
|
|
public string GetCheckList(int pageIndex, int pageSize,string CN_S_STOCK_CODE, string stockArea, string locationCode, string opNo = "")
|
{
|
string sqlWhere = "WHERE 1=1";
|
|
////仓库编码
|
//if (!string.IsNullOrEmpty(CN_S_OP_NO))
|
//{
|
// sqlWhere += " AND CN_S_OP_NO like '%" + CN_S_OP_NO.Trim() + "%'";
|
//}
|
////仓库编码
|
//if (!string.IsNullOrEmpty(CN_S_STOCK_CODE))
|
//{
|
// sqlWhere += " AND CN_S_STOCK_CODE = '" + CN_S_STOCK_CODE + "'";
|
//}
|
////类型
|
//if (!string.IsNullOrEmpty(CN_S_TYPE))
|
//{
|
// sqlWhere += " AND CN_S_TYPE = '" + CN_S_TYPE + "' ";
|
//}
|
|
//string[] date = new string[2];
|
//if (!string.IsNullOrEmpty(valueDate))
|
//{
|
// date = JsonConvert.DeserializeObject<string[]>(valueDate);
|
|
// ////开始时间
|
// if (!string.IsNullOrEmpty(date[0]))
|
// {
|
// sqlWhere += " AND CN_T_CREATE >= '" + date[0] + "' ";
|
// }
|
// //结束时间
|
// if (!string.IsNullOrEmpty(date[1]))
|
// {
|
// sqlWhere += " AND CN_T_CREATE <= DateAdd(dd, 1, '" + date[1] + "')";
|
// }
|
//}
|
////开始时间
|
//if (!string.IsNullOrEmpty(STARTTIME))
|
//{
|
// sqlWhere += " AND CN_T_CREATE >= '" + STARTTIME + "' ";
|
//}
|
////结束时间
|
//if (!string.IsNullOrEmpty(ENDTIME))
|
//{
|
// sqlWhere += " AND CN_T_CREATE <= DateAdd(dd, 1, '" + ENDTIME + "')";
|
//}
|
|
//状态
|
//if (!string.IsNullOrEmpty(CN_S_STATE))
|
//{
|
// sqlWhere += " AND CN_S_STATE = '" + CN_S_STATE + "'";
|
//}
|
string OrdeBy = " order by CN_T_CREATE DESC";
|
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
var entity = new
|
{
|
tokenId = loginer.Extend1,
|
OrdeBy = OrdeBy,
|
sqlWhere = sqlWhere,
|
pageSize = pageSize,
|
pageIndex = pageIndex,
|
opNo,
|
locationCode,
|
stockArea
|
};
|
string stringjson = JsonConvert.SerializeObject(entity);
|
string list = HttpWMS_Post("Api/CheckWxys/GetCheckList", stringjson);
|
return list;
|
}
|
|
public string GetCheckListByOpNo(string opNo)
|
{
|
var result = HttpWMS_Get("Api/CheckWxys/GetCheckListByOpNo?opNo=" + opNo);
|
return result;
|
}
|
|
public string GetMstAndDtl(string opNo)
|
{
|
var result = HttpWMS_Get("Api/CheckWxys/GetMstAndDtl?opNo=" + opNo);
|
return result;
|
}
|
|
public string GetLoginOrg()
|
{
|
var checkAuditOrgDto = GetCheckAuditOrgDto();
|
return JsonConvert.SerializeObject(checkAuditOrgDto);
|
}
|
|
public CheckAuditOrgDto GetCheckAuditOrgDto()
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
string postData = "{\"login\":\"" + loginer.UserCode + "\",\"NoOrgType\":\"\",\"isShowAll\":\"Y\" }";
|
var data = HttpAutobom_Post("api/Account/GetLoginOrg", postData);
|
var orgUserPower = JsonConvert.DeserializeObject<OrgUserPowerEntity>(data);
|
var currentOrg = loginer.DepartCode;
|
var orgTop = orgUserPower.childrenList.Find(e => e.pId.Equals("-1"));
|
if (orgTop.id.Equals(loginer.DepartCode))
|
{
|
return new CheckAuditOrgDto
|
{
|
currentOrgCode = orgTop.id,
|
currentOrgName = orgTop.name,
|
isFirstLevelOrg = false,
|
isTopLevelOrg = true,
|
nextOrgCode = "",
|
nextOrgName = ""
|
};
|
}
|
|
var orgCurrent = orgUserPower.childrenList.Find(e => e.id.Equals(currentOrg));
|
|
var checkAuditOrgDto = new CheckAuditOrgDto();
|
checkAuditOrgDto.currentOrgCode = orgCurrent.id;
|
checkAuditOrgDto.currentOrgName = orgCurrent.name;
|
checkAuditOrgDto.isTopLevelOrg = false;
|
checkAuditOrgDto.isFirstLevelOrg = orgUserPower.childrenList.Find(e => e.pId.Equals(currentOrg)) == null ? true : false;
|
foreach (var org in orgUserPower.childrenList)
|
{
|
if (org.id.Equals(orgCurrent.pId))
|
{
|
checkAuditOrgDto.nextOrgCode = org.id;
|
checkAuditOrgDto.nextOrgName = org.name;
|
}
|
}
|
return checkAuditOrgDto;
|
}
|
|
#endregion
|
|
#region ADD
|
|
/// <summary>
|
/// 添加盘点单
|
/// </summary>
|
/// <param name="obj"></param>
|
/// <returns></returns>
|
public string AddCheck(JObject obj)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
var checkList = JsonConvert.DeserializeObject<List<TN_WM_CHECK_LISTEntity>>(obj["rows"].ToString());
|
|
var data = new CheckAddDto{
|
tokenId = loginer.Token,
|
checkList = checkList,
|
};
|
string jsonentity = JsonConvert.SerializeObject(data);
|
var str = HttpWMS_Post("Api/CheckWxys/Add", jsonentity);
|
return str;
|
}
|
|
public string UpdateCheck(JObject obj)
|
{
|
var loginer = FormsAuth.GetUserData<LoginerBase>();
|
var checkList = JsonConvert.DeserializeObject<List<TN_WM_CHECK_LISTEntity>>(obj["rows"].ToString());
|
|
var data = new CheckAddDto
|
{
|
tokenId = loginer.Token,
|
checkList = checkList,
|
opNo = obj["opNo"].ToString()
|
};
|
string jsonentity = JsonConvert.SerializeObject(data);
|
var str = HttpWMS_Post("Api/CheckWxys/Update", jsonentity);
|
return str;
|
}
|
|
#endregion
|
|
#region UPDATE
|
|
public string SubmitCheck(string opNo, string note)
|
{
|
return HttpWMS_Post("Api/CheckWxys/Submit", JsonConvert.SerializeObject(new CheckAuditDto
|
{
|
opNo = opNo,
|
note = note,
|
checkAuditOrgDto = GetCheckAuditOrgDto()
|
}));
|
}
|
|
public string AuditCheck(string opNo)
|
{
|
return HttpWMS_Post("Api/CheckWxys/Audit", JsonConvert.SerializeObject(new CheckAuditDto
|
{
|
opNo = opNo,
|
checkAuditOrgDto = GetCheckAuditOrgDto()
|
}));
|
}
|
|
public string ReAuditCheck(string opNo, string auditContent)
|
{
|
return HttpWMS_Post("Api/CheckWxys/ReAudit", JsonConvert.SerializeObject(new CheckAuditDto
|
{
|
opNo = opNo,
|
auditContent = auditContent,
|
checkAuditOrgDto = GetCheckAuditOrgDto()
|
}));
|
}
|
|
#endregion
|
|
#region DELETE
|
|
/// <summary>
|
/// 删除盘点单
|
/// </summary>
|
/// <param name="opNo"></param>
|
/// <returns></returns>
|
public string DeleteCheck(string opNo)
|
{
|
return HttpWMS_Get("Api/CheckWxys/Delete?opNo=" + opNo);
|
}
|
|
#endregion
|
|
}
|
}
|