You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
209 lines
7.9 KiB
209 lines
7.9 KiB
using NFine.Application.ProductManage;
|
|
using NFine.Application.SystemManage;
|
|
using NFine.Code;
|
|
using NFine.Domain.Entity.ProductManage;
|
|
using NFine.Domain.Entity.SystemManage;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Web.Mvc;
|
|
|
|
namespace NFine.Web.Areas.ProductManage.Controllers
|
|
{
|
|
public class PreSellController : ControllerBase
|
|
{
|
|
private MaintainApp maintainApp = new MaintainApp();
|
|
private PreSellApp presellApp = new PreSellApp();
|
|
private CustomerApp cusapp = new CustomerApp();
|
|
[HttpGet]
|
|
[HandlerAjaxOnly]
|
|
public ActionResult GetGridJson(Pagination pagination, string queryJson)
|
|
{
|
|
//var data = maintainAppApp.GetList(keyword);
|
|
var data = new
|
|
{
|
|
rows = maintainApp.GetListPS(pagination, queryJson),
|
|
total = pagination.total,
|
|
page = pagination.page,
|
|
records = pagination.records
|
|
};
|
|
return Content(data.ToJson());
|
|
}
|
|
|
|
public ActionResult GetGridJsonPS(string keyword)
|
|
{
|
|
var data = presellApp.GetList(keyword);
|
|
return Content(data.ToJson());
|
|
}
|
|
|
|
public ActionResult GetOrderNo()
|
|
{
|
|
string userCode = OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string date = DateTime.Now.ToString("yyyyMMdd");
|
|
string year = DateTime.Now.ToString("yyyy");
|
|
string orderno = userCode + "-" + date + "-";
|
|
string no = presellApp.GetOrderNo(orderno);
|
|
int newNo = string.IsNullOrEmpty(no) ? 1 : Convert.ToInt32(no.Substring(no.Length - 3, 3)) + 1;
|
|
orderno = userCode + "-" + date + "-" + newNo.ToString().PadLeft(3, '0');
|
|
return Content(orderno);
|
|
}
|
|
|
|
[HttpGet]
|
|
[HandlerAjaxOnly]
|
|
public ActionResult GetFormJson(string keyValue)
|
|
{
|
|
var data = maintainApp.GetForm(keyValue);
|
|
return Content(data.ToJson());
|
|
}
|
|
|
|
[HttpGet]
|
|
[HandlerAjaxOnly]
|
|
public ActionResult GetFormJsonPS(string keyValue)
|
|
{
|
|
var data = maintainApp.GetForm(keyValue);
|
|
return Content(data.ToJson());
|
|
}
|
|
|
|
[HttpPost]
|
|
public void Export(string keyValue)
|
|
{
|
|
string ids = "";
|
|
var str = keyValue.Split(',');
|
|
for (int i = 0; i < str.Length; i++)
|
|
{
|
|
if (i == 0)
|
|
ids = "'" + str[i].ToString() + "'";
|
|
else
|
|
ids += ",'" + str[i].ToString() + "'";
|
|
}
|
|
//var data = maintainApp.GetList2(ids); //preselldetailApp.GetList2(keyValue, keyword);
|
|
var data = maintainApp.GetList2All();
|
|
DataTable dt = (DataTable)data;
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
{
|
|
//string PreSellNo = presellApp.GetPreSellNo(dt.Rows[0]["F_Id"].ToString());
|
|
dt.Columns.Remove("F_Id");
|
|
//dt.Columns.Remove("Product_Id");
|
|
GridViewExportUtil.Export2(dt);
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
[HandlerAjaxOnly]
|
|
[HandlerAuthorize]
|
|
[ValidateAntiForgeryToken]
|
|
public ActionResult SubmitForm(string newPreSellNo, string oldPreSell, string IsUse, string keyValue, string cusID, string cusName)
|
|
{
|
|
string salesmanID = NFine.Code.OperatorProvider.Provider.GetCurrent().UserId;
|
|
CustomerEntity cus = cusapp.GetForm(cusID);
|
|
//获取选中的产品的ID数组
|
|
string[] array = keyValue.Split(',');
|
|
ICSProductPreSellEntity ppsEntity = null;
|
|
List<ICSProductPreSellDetailEntity> entityList = new List<ICSProductPreSellDetailEntity>();
|
|
if (IsUse.ToLower() == "false")
|
|
{
|
|
//创建新的订单项目
|
|
//string GUID = Guid.NewGuid().ToString();
|
|
ppsEntity = new ICSProductPreSellEntity();
|
|
ppsEntity.F_Id = Common.GuId();
|
|
ppsEntity.PreSellNo = newPreSellNo;
|
|
ppsEntity.CustomerId = cus.F_Id;
|
|
ppsEntity.CustomerName = cus.F_CusName;
|
|
ppsEntity.IsConfirm = false;
|
|
ppsEntity.F_CreatorUserId = salesmanID;
|
|
ppsEntity.F_CreatorTime = DateTime.Now;
|
|
ppsEntity.F_Location = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
//根据旧的订单编号插入子表数据
|
|
foreach (string productID in array)
|
|
{
|
|
if (!string.IsNullOrEmpty(productID))
|
|
{
|
|
ICSProductPreSellDetailEntity entity = new ICSProductPreSellDetailEntity();
|
|
//entity.F_Id = Guid.NewGuid().ToString();
|
|
entity.PreSell_Id = ppsEntity.F_Id;
|
|
entity.Product_Id = productID;
|
|
entity.Product_SN = maintainApp.GetForm(productID).ProductSN;
|
|
entity.PreSellTime = DateTime.Now;
|
|
entity.F_CreatorUserId = salesmanID;
|
|
entity.F_CreatorTime = DateTime.Now;
|
|
entityList.Add(entity);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
foreach (string productID in array)
|
|
{
|
|
ICSProductPreSellDetailEntity entity = new ICSProductPreSellDetailEntity();
|
|
//entity.F_Id = Guid.NewGuid().ToString();
|
|
entity.PreSell_Id = oldPreSell;
|
|
entity.Product_Id = productID;
|
|
entity.Product_SN = maintainApp.GetForm(productID).ProductSN;
|
|
entity.PreSellTime = DateTime.Now;
|
|
entity.Status = 2;
|
|
entity.F_CreatorUserId = salesmanID;
|
|
entity.F_CreatorTime = DateTime.Now;
|
|
entityList.Add(entity);
|
|
}
|
|
}
|
|
|
|
List<ICSProductEntity> list = new List<ICSProductEntity>();
|
|
foreach (string id in array)
|
|
{
|
|
ICSProductEntity model = new ICSProductEntity();
|
|
model = maintainApp.GetForm(id);
|
|
model.F_Id = id;
|
|
//model.IsLock = true;
|
|
list.Add(model);
|
|
}
|
|
presellApp.SubmitForm(list, ppsEntity, entityList);
|
|
string ExpiredDays = presellApp.GetExpiredDays("ExpiredDays");
|
|
return Success("Scheduled success.<br/>Your order will expire in " + ExpiredDays + " days. Please confirm the order as soon as possible.");
|
|
}
|
|
|
|
[HttpPost]
|
|
[HandlerAjaxOnly]
|
|
[HandlerAuthorize]
|
|
[ValidateAntiForgeryToken]
|
|
public ActionResult DeleteForm(string keyValue)
|
|
{
|
|
maintainApp.DeleteForm(keyValue);
|
|
return Success("Delete success.");
|
|
}
|
|
|
|
[HttpPost]
|
|
[HandlerAjaxOnly]
|
|
[HandlerAuthorize]
|
|
[ValidateAntiForgeryToken]
|
|
public ActionResult PreSll(string keyValue)
|
|
{
|
|
string[] array = keyValue.Split(',');
|
|
//for (int i = 0; i < array.Length; i++)
|
|
//{
|
|
// ids.Add(array[i]);
|
|
//}
|
|
List<ICSProductEntity> list = new List<ICSProductEntity>();
|
|
foreach (string id in array)
|
|
{
|
|
ICSProductEntity model = new ICSProductEntity();
|
|
model.F_Id = id;
|
|
model.IsLock = true;
|
|
list.Add(model);
|
|
}
|
|
maintainApp.PrsSell(list);
|
|
//model.F_Id =
|
|
//UserEntity userEntity = new UserEntity();
|
|
//userEntity.F_Id = keyValue
|
|
|
|
return Success("Scheduled success.");
|
|
}
|
|
|
|
[HttpGet]
|
|
public ActionResult Orders()
|
|
{
|
|
return View();
|
|
}
|
|
}
|
|
}
|