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
{
///
/// 盘点(南通桑德)
///
public class CheckWxysController : BaseController
{
///
/// 盘点首页
///
///
public ActionResult Index()
{
return View();
}
public ActionResult Add()
{
return View();
}
public ActionResult Audit()
{
return View();
}
#region GET
///
/// 获取盘点主表数据
///
/// 盘点单号
/// 仓库编码
/// 库区
/// 物料编码
/// 盘点日期
/// 类型
///
/// [HanHe(LT)] CREATED 2018/7/4
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(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();
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;
}
///
/// 获取盘点明细数据
///
/// 仓库编码
///
/// [HanHe(LT)] CREATED 2018/7/4
/// [HanHe(dbs)] CREATED 2019/3/18
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(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();
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();
string postData = "{\"login\":\"" + loginer.UserCode + "\",\"NoOrgType\":\"\",\"isShowAll\":\"Y\" }";
var data = HttpAutobom_Post("api/Account/GetLoginOrg", postData);
var orgUserPower = JsonConvert.DeserializeObject(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
///
/// 添加盘点单
///
///
///
public string AddCheck(JObject obj)
{
var loginer = FormsAuth.GetUserData();
var checkList = JsonConvert.DeserializeObject>(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();
var checkList = JsonConvert.DeserializeObject>(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
///
/// 删除盘点单
///
///
///
public string DeleteCheck(string opNo)
{
return HttpWMS_Get("Api/CheckWxys/Delete?opNo=" + opNo);
}
#endregion
}
}