You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

257 lines
8.5 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System.Collections;
using Estsh.Core.Util;
using Estsh.Core.Repository.IRepositories;
using Estsh.Core.Services.IServices;
using Estsh.Core.Models;
using Estsh.Core.Model.Result;
using Estsh.Core.IRepositories;
using Estsh.Core.Dapper;
namespace Estsh.Core.Services
{
public class KanBanService : BaseService<WmsCarArrive>, IKanBanService
{
private readonly IKanBanRepository repository;
public KanBanService(IKanBanRepository _repository) : base(_repository)
{
repository = _repository;
}
public Hashtable getCarManagerListByPage(string supplierName, string txtStartTime, string txtEndTime, string enabled, int factoryId, Pager pager, String direction, String sort)
{
Hashtable result = new Hashtable();
String strWhere = " 1=1 ";
if (supplierName != null && !supplierName.Trim().Equals(""))
{
strWhere += "and supplier_name like '%" + supplierName.Trim() + "%'";
}
//if (warehouseDesc != null && !warehouseDesc.Trim().Equals(""))
//{
// strWhere += "and warehouse_desc like '%" + warehouseDesc.Trim() + "%'";
//}
if (!String.IsNullOrEmpty(txtStartTime) && !String.IsNullOrEmpty(txtEndTime))
{
strWhere += " and create_time BETWEEN '" + txtStartTime.Trim() + "' AND '" + txtEndTime.Trim() + "'";
}
if (!String.IsNullOrEmpty(txtStartTime) && String.IsNullOrEmpty(txtEndTime))
{
strWhere += " and create_time > '" + txtStartTime.Trim() + "'";
}
if (String.IsNullOrEmpty(txtStartTime) && !String.IsNullOrEmpty(txtEndTime))
{
strWhere += " and create_time < '" + txtEndTime.Trim() + "'";
}
if (enabled != null && !enabled.Trim().Equals(""))
{
strWhere += " and enabled like '%" + enabled.Trim() + "%'";
}
//strWhere += " and a.factory_id = " + factoryId + " ";
String orderBy = "";
if (sort != null && !"".Equals(sort.Trim()))
{
orderBy += typeof(WmsCarArrive).GetEntityColumnName(sort.Trim()) + " " + direction;
}
else
{
orderBy += typeof(WmsCarArrive).GetEntityColumnName("planArriveTime") + " " + direction;
}
result = repository.getListByPage(pager.pageSize, pager.pageNo, strWhere, orderBy);
return result;
}
/// <summary>
/// 启用
/// </summary>
/// <param name="ids"></param>
/// <r
public Hashtable getCarManagerDetail(String orderNo)
{
orderNo = " order_no = '" + orderNo + "'";
List<WmsCarArrive> dt = repository.getList(orderNo, "");
Hashtable result = new Hashtable();
result.Add("orderNo", dt[0].OrderNo);
result.Add("carNo", dt[0].CarNo);
result.Add("carDesc", dt[0].CarDesc);
result.Add("supplierCode", dt[0].SupplierCode);
result.Add("supplierName", dt[0].SupplierName);
result.Add("planArriveTime", dt[0].PlanArriveTime);
result.Add("carDriver", dt[0].CarDriver);
result.Add("passageway", dt[0].Passageway);
result.Add("enabled", dt[0].Enabled);
return result;
}
/// <summary>
/// 保存菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int saveCarArrive(WmsCarArrive htParams)
{
return repository.saveCarArrive(htParams);
}
/// <summary>
/// 更新菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int updateCarArrive(WmsCarArrive htParams)
{
return repository.updateCarArrive(htParams);
}
/// <summary>
/// 获取供应商
/// </summary>
/// <returns></returns>
public List<KeyValueResult> getSelectSupplier()
{
return repository.getSelectSupplier();
}
/// <summary>
/// 准入状态 时间添加
/// </summary>
/// <param name="ids"></param>
/// <param name="loginId"></param>
/// <returns></returns>
public int ChangeInPlantStatus(String ids, int loginId)
{
String[] idArray = ids.Split(',');
int count = 0;
foreach (String id in idArray)
{
if (!"".Equals(id))
{
count += this.repository.ChangeInPlantStatus(id, loginId);
}
}
return count;
}
/// <summary>
/// 离厂状态,时间添加
/// </summary>
/// <param name="ids"></param>
/// <param name="loginId"></param>
/// <returns></returns>
public int ChangeOutPlantStatus(String ids, int loginId)
{
String[] idArray = ids.Split(',');
int count = 0;
foreach (String id in idArray)
{
if (!"".Equals(id))
{
count += this.repository.ChangeOutPlantStatus(id, loginId);
}
}
return count;
}
/// <summary>
/// 装卸工作中
/// </summary>
/// <param name="ids"></param>
/// <param name="loginId"></param>
/// <returns></returns>
public int ChangeWorkingStatus(String ids, int loginId)
{
String[] idArray = ids.Split(',');
int count = 0;
foreach (String id in idArray)
{
if (!"".Equals(id))
{
count += this.repository.ChangeWorkingStatus(id, loginId);
}
}
return count;
}
public List<KeyValueResult> GetSupplier()
{
return repository.getSelectSupplier();
}
public List<WmsCarArrive> GetCarArriveList(string enabled, Pager pager, String direction, String sort)
{
String strWhere = "";
String orderBy = "";
return repository.GetCarArriveList(pager.pageSize, pager.pageNo, strWhere, orderBy);
}
public List<WmsCarArrive> GetCarArriveList(string docks, string enabled, Pager pager, String direction, String sort)
{
String strWhere = "";
String orderBy = "";
return repository.GetCarArriveList(docks, pager.pageSize, pager.pageNo, strWhere, orderBy);
}
public List<WmsCarArrive> GetCarArriveTotal(string docks)
{
return repository.GetCarArriveTotal(docks);
}
public List<WmsCarArrive> GetCarInDoor(string s_date)
{
return repository.GetCarInDoor(s_date);
}
public List<SysVendor> Getdock()
{
return repository.Getdock();
}
public List<WmsMoveHeader> GetPreparation()
{
return repository.GetPreparation();
}
public Hashtable MaterialgetListByPage(string enabled, Pager pager, String direction, String sort)
{
Hashtable result = new Hashtable();
String strWhere = " a.order_status NOT IN('40', '50', '60') and a.enabled = 'Y' and a.ref_order_no = '成品下线大件拉动' ";
String orderBy = " a.create_time ";
result = repository.MaterialgetListByPage(pager.pageSize, pager.pageNo, strWhere, orderBy);
return result;
}
public string Getarea(int area)
{
string[] strings = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z" };
string result = "";
if (area > 26)
{
int num = area / 26;
int yu = area % 26;
for (int i = 0; i < num; i++)
{
result += "A";
}
result += strings[yu - 1];
}
else
{
result = strings[area - 1];
}
return result;
}
public int UpdateReceipt40(String dockName)
{
return repository.UpdateReceipt40(dockName);
}
}
}