|
|
@ -11,6 +11,8 @@ using CK.SCP.Utils; |
|
|
|
using System.Data.Entity.Core; |
|
|
|
using System.Web; |
|
|
|
using CK.SCP.Models.AppBoxEntity; |
|
|
|
using System.Data.SqlClient; |
|
|
|
using System.Collections; |
|
|
|
|
|
|
|
namespace CK.SCP.Controller |
|
|
|
{ |
|
|
@ -93,7 +95,7 @@ namespace CK.SCP.Controller |
|
|
|
} |
|
|
|
if (!string.IsNullOrEmpty(p_entity.CreateUser)) |
|
|
|
{ |
|
|
|
q = q.Where(p => p.CreateUser==p_entity.CreateUser); |
|
|
|
q = q.Where(p => p.CreateUser == p_entity.CreateUser); |
|
|
|
} |
|
|
|
|
|
|
|
if (p_entity.UserInVendIds != null && p_entity.UserInVendIds.Count > 0) |
|
|
@ -151,7 +153,8 @@ namespace CK.SCP.Controller |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
if (ex.InnerException != null) { |
|
|
|
if (ex.InnerException != null) |
|
|
|
{ |
|
|
|
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Get_V_TB_ASK_List", ex.InnerException.Message); |
|
|
|
throw ex.InnerException; |
|
|
|
} |
|
|
@ -172,7 +175,7 @@ namespace CK.SCP.Controller |
|
|
|
{ |
|
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
|
{ |
|
|
|
var site=db.TB_ASK.FirstOrDefault(p=>p.AskBillNum==ASK); |
|
|
|
var site = db.TB_ASK.FirstOrDefault(p => p.AskBillNum == ASK); |
|
|
|
return site; |
|
|
|
} |
|
|
|
} |
|
|
@ -191,19 +194,19 @@ namespace CK.SCP.Controller |
|
|
|
foreach (var itm in p_entitys) |
|
|
|
{ |
|
|
|
var _entity = db.TB_ASK_DETAIL.Where(p => p.UID == itm.UID).FirstOrDefault(); |
|
|
|
_entity.ReduceQty= itm.ReduceQty; |
|
|
|
_entity.ReduceQty = itm.ReduceQty; |
|
|
|
_entity.Remark = itm.Remark; |
|
|
|
var asn = db.V_TB_ASN_DETAIL.Where(p => p.PoBillNum == itm.PoBillNum &&p.AskBillNum==itm.AskBillNum && p.IsDeleted == false ) |
|
|
|
.GroupBy(p => new { p.PoBillNum,p.AskBillNum, p.PoLine, p.PartCode }) |
|
|
|
.Select(p => new { AsSum = p.Sum(item => item.Qty), PoLine = p.Key.PoLine, PoBillNum = p.Key.PoBillNum, PartCode = p.Key.PartCode,AskBillNum=p.Key.AskBillNum }); |
|
|
|
var asn = db.V_TB_ASN_DETAIL.Where(p => p.PoBillNum == itm.PoBillNum && p.AskBillNum == itm.AskBillNum && p.IsDeleted == false) |
|
|
|
.GroupBy(p => new { p.PoBillNum, p.AskBillNum, p.PoLine, p.PartCode }) |
|
|
|
.Select(p => new { AsSum = p.Sum(item => item.Qty), PoLine = p.Key.PoLine, PoBillNum = p.Key.PoBillNum, PartCode = p.Key.PartCode, AskBillNum = p.Key.AskBillNum }); |
|
|
|
|
|
|
|
asn.ToList().ForEach(itm1 => |
|
|
|
{ |
|
|
|
if (itm.PoBillNum == itm1.PoBillNum && itm.PoLine == itm1.PoLine && itm.PartCode == itm1.PartCode && itm.AskBillNum==itm1.AskBillNum) |
|
|
|
if (itm.PoBillNum == itm1.PoBillNum && itm.PoLine == itm1.PoLine && itm.PartCode == itm1.PartCode && itm.AskBillNum == itm1.AskBillNum) |
|
|
|
{ |
|
|
|
if (itm.ReduceQty > itm.AskQty - itm1.AsSum ) |
|
|
|
if (itm.ReduceQty > itm.AskQty - itm1.AsSum) |
|
|
|
{ |
|
|
|
_ret.MessageList.Add(string.Format("零件编号{0}零件名称{1}减产数量>要货数量-发货数量",itm.PartCode,itm.PartDesc1+itm.PartDesc2)); |
|
|
|
_ret.MessageList.Add(string.Format("零件编号{0}零件名称{1}减产数量>要货数量-发货数量", itm.PartCode, itm.PartDesc1 + itm.PartDesc2)); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
@ -294,7 +297,7 @@ namespace CK.SCP.Controller |
|
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
|
{ |
|
|
|
|
|
|
|
var _list=p_list.Select(itm => itm.UID).ToList(); |
|
|
|
var _list = p_list.Select(itm => itm.UID).ToList(); |
|
|
|
|
|
|
|
var _ls = db.TB_ASK_DETAIL.Where(p => _list.Contains(p.UID)).ToList(); |
|
|
|
db.TB_ASK_DETAIL.RemoveRange(_ls); |
|
|
@ -410,7 +413,7 @@ namespace CK.SCP.Controller |
|
|
|
} |
|
|
|
if (p_entity.Buyer != null) |
|
|
|
{ |
|
|
|
q = q.Where(p => p.Buyer== p_entity.Buyer); |
|
|
|
q = q.Where(p => p.Buyer == p_entity.Buyer); |
|
|
|
} |
|
|
|
if (p_entity.CreateUser != null) |
|
|
|
{ |
|
|
@ -456,7 +459,7 @@ namespace CK.SCP.Controller |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)//捕获实体验证异常
|
|
|
|
{ |
|
|
|
var sb = new StringBuilder(); |
|
|
@ -628,12 +631,12 @@ namespace CK.SCP.Controller |
|
|
|
foreach (V_TB_INCOMPLETE_ASK _detail in p_list) |
|
|
|
{ |
|
|
|
|
|
|
|
var reject = db.TB_ARRIVE_DETAIL.Where(p => p.Remark == _detail.AskBillNum && p.IsDeleted == false && p.State == (int)ArriveState.OK&&p.BillType==3).GroupBy(p => new { p.Remark, p.PoLine, p.PartCode }).Select(p => new { RejectSum = p.Sum(itm => itm.Qty), PoLine = p.Key.PoLine, Remark = p.Key.Remark, PartCode = p.Key.PartCode }); |
|
|
|
var reject = db.TB_ARRIVE_DETAIL.Where(p => p.Remark == _detail.AskBillNum && p.IsDeleted == false && p.State == (int)ArriveState.OK && p.BillType == 3).GroupBy(p => new { p.Remark, p.PoLine, p.PartCode }).Select(p => new { RejectSum = p.Sum(itm => itm.Qty), PoLine = p.Key.PoLine, Remark = p.Key.Remark, PartCode = p.Key.PartCode }); |
|
|
|
reject.ToList().ForEach(itm => |
|
|
|
{ |
|
|
|
if (_detail.AskBillNum == itm.Remark && _detail.PoLine == itm.PoLine && _detail.PartCode == itm.PartCode) |
|
|
|
{ |
|
|
|
_detail.Number = _detail.Number+Math.Abs( itm.RejectSum); |
|
|
|
_detail.Number = _detail.Number + Math.Abs(itm.RejectSum); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
@ -727,19 +730,19 @@ namespace CK.SCP.Controller |
|
|
|
var rec = db.TB_RECEIVE_DETAIL.Where(p => p.Remark == _detail.AskBillNum && p.IsDeleted == false && p.State == (int)ReceiveState.Check && p.BillType == 0) |
|
|
|
.GroupBy(p => new { p.Remark, p.PoLine, p.PartCode }).Select(p => new { ReceiveSum = p.Sum(itm => itm.Qty), PoLine = p.Key.PoLine, Remark = p.Key.Remark, PartCode = p.Key.PartCode }); |
|
|
|
|
|
|
|
// var reject = db.TB_RECEIVE_DETAIL.Where(p => p.Remark == _detail.AskBillNum && p.IsDeleted == false && p.State == (int)RejectState.Check && p.BillType == 1).GroupBy(p => new { p.Remark, p.PoLine, p.PartCode }).Select(p => new { RejectSum = p.Sum(itm => itm.Qty), PoLine = p.Key.PoLine, Remark = p.Key.Remark , PartCode = p.Key.PartCode });
|
|
|
|
//发货
|
|
|
|
// var reject = db.TB_RECEIVE_DETAIL.Where(p => p.Remark == _detail.AskBillNum && p.IsDeleted == false && p.State == (int)RejectState.Check && p.BillType == 1).GroupBy(p => new { p.Remark, p.PoLine, p.PartCode }).Select(p => new { RejectSum = p.Sum(itm => itm.Qty), PoLine = p.Key.PoLine, Remark = p.Key.Remark , PartCode = p.Key.PartCode });
|
|
|
|
//发货
|
|
|
|
var asn = db.V_TB_ASN_DETAIL.Where(p => p.AskBillNum == _detail.AskBillNum && p.IsDeleted == false && p.State == (int)AsnState.Ship) |
|
|
|
.GroupBy(p => new { p.AskBillNum, p.PoLine, p.PartCode }) |
|
|
|
.Select(p => new { AsSum = p.Sum(itm => itm.Qty), PoLine = p.Key.PoLine, AskBillNum = p.Key.AskBillNum, PartCode = p.Key.PartCode }); |
|
|
|
|
|
|
|
//var arrive = db.TB_ARRIVE_DETAIL.Where(p => p.Remark == _detail.AskBillNum && p.IsDeleted == false && p.State == (int)ArriveState.OK && p.BillType == (int)ArriveBillType.Receive).GroupBy(p => new { p.Remark, p.PoLine, p.PartCode }).Select(p => new { ArriveSum = p.Sum(itm => itm.Qty), PoLine = p.Key.PoLine, Remark = p.Key.Remark, PartCode = p.Key.PartCode });
|
|
|
|
//到货
|
|
|
|
var arrive = db.TB_ARRIVE_DETAIL.Where(p => p.Remark == _detail.AskBillNum && p.IsDeleted == false && p.State == (int)ArriveState.OK &&p.Qty>0 ).GroupBy(p => new { p.Remark, p.PoLine, p.PartCode }).Select(p => new { ArriveSum = p.Sum(itm => itm.Qty), PoLine = p.Key.PoLine, Remark = p.Key.Remark, PartCode = p.Key.PartCode }); |
|
|
|
var arrive = db.TB_ARRIVE_DETAIL.Where(p => p.Remark == _detail.AskBillNum && p.IsDeleted == false && p.State == (int)ArriveState.OK && p.Qty > 0).GroupBy(p => new { p.Remark, p.PoLine, p.PartCode }).Select(p => new { ArriveSum = p.Sum(itm => itm.Qty), PoLine = p.Key.PoLine, Remark = p.Key.Remark, PartCode = p.Key.PartCode }); |
|
|
|
//退货
|
|
|
|
var reject = db.TB_ARRIVE_DETAIL.Where(p => p.Remark == _detail.AskBillNum && p.IsDeleted == false && p.State == (int)ArriveState.OK && p.Qty < 0).GroupBy(p => new { p.Remark, p.PoLine, p.PartCode }).Select(p => new { ArriveSum = p.Sum(itm => itm.Qty), PoLine = p.Key.PoLine, Remark = p.Key.Remark, PartCode = p.Key.PartCode }); |
|
|
|
|
|
|
|
var invoice = db.V_TB_INVOICE_ASK.Where(p => p.Remark == _detail.AskBillNum && p.State == (int)ReceiveState.Check && p.BillType == 0) |
|
|
|
var invoice = db.V_TB_INVOICE_ASK.Where(p => p.Remark == _detail.AskBillNum && p.State == (int)ReceiveState.Check && p.BillType == 0) |
|
|
|
.GroupBy(p => new { p.Remark, p.PoLine, p.PartCode }).Select(p => new { InvoiceQty = p.Sum(itm => itm.InvoiceQty), PoLine = p.Key.PoLine, Remark = p.Key.Remark, PartCode = p.Key.PartCode }); |
|
|
|
|
|
|
|
_detail.PartDesc1 = _detail.PartDesc1 + _detail.PartDesc2; |
|
|
@ -791,7 +794,7 @@ namespace CK.SCP.Controller |
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
_detail.OnRoadQty = Convert.ToDecimal( _detail.ShippedQty) - _detail.ArriveQty; |
|
|
|
_detail.OnRoadQty = Convert.ToDecimal(_detail.ShippedQty) - _detail.ArriveQty; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -809,7 +812,7 @@ namespace CK.SCP.Controller |
|
|
|
foreach (V_TB_ASK _detail in p_list) |
|
|
|
{ |
|
|
|
_detail.Month = Convert.ToDateTime(_detail.EndTime).Month.ToString() + "月订单"; |
|
|
|
if (_detail.State==0|| _detail.State==1|| _detail.State == 2) |
|
|
|
if (_detail.State == 0 || _detail.State == 1 || _detail.State == 2) |
|
|
|
{ |
|
|
|
|
|
|
|
continue; |
|
|
@ -819,7 +822,7 @@ namespace CK.SCP.Controller |
|
|
|
continue; |
|
|
|
} |
|
|
|
var _ask = db.V_TB_ASK_DETAIL.Where(p => p.AskBillNum == _detail.AskBillNum && p.IsDeleted == false).ToList(); |
|
|
|
var _ask_can= Get_CAN_SHIPQTY(_ask.ToList()).Where(p=>p.CanQty>0).ToList(); |
|
|
|
var _ask_can = Get_CAN_SHIPQTY(_ask.ToList()).Where(p => p.CanQty > 0).ToList(); |
|
|
|
|
|
|
|
if (_ask_can.Count != 0) |
|
|
|
{ |
|
|
@ -850,8 +853,8 @@ namespace CK.SCP.Controller |
|
|
|
foreach (var itm in p_entitys) |
|
|
|
{ |
|
|
|
var _entity = db.TB_ASK_DETAIL.Where(p => p.UID == itm.UID).FirstOrDefault(); |
|
|
|
askBill=_entity.AskBillNum; |
|
|
|
_entity.BeginTime =(DateTime) itm.BeginTime; |
|
|
|
askBill = _entity.AskBillNum; |
|
|
|
_entity.BeginTime = (DateTime)itm.BeginTime; |
|
|
|
beginTime = (DateTime)itm.BeginTime; |
|
|
|
_entity.EndTime = (DateTime)itm.EndTime; |
|
|
|
endTime = (DateTime)itm.EndTime; |
|
|
@ -941,7 +944,7 @@ namespace CK.SCP.Controller |
|
|
|
} |
|
|
|
return _ret; |
|
|
|
} |
|
|
|
public static ResultObject<bool> Save_TB_ASK_DETAIL(List<TB_ASK_DETAIL> p_entitys,AskState p_state) |
|
|
|
public static ResultObject<bool> Save_TB_ASK_DETAIL(List<TB_ASK_DETAIL> p_entitys, AskState p_state) |
|
|
|
{ |
|
|
|
ResultObject<bool> _ret = new ResultObject<bool>(); |
|
|
|
try |
|
|
@ -973,7 +976,8 @@ namespace CK.SCP.Controller |
|
|
|
if (_item.AskBillNum.Contains("U")) |
|
|
|
{ |
|
|
|
var _planList = db1.TB_PO_PLAN_EXTEND.Where(p => p.Domain == _item.Site && p.EndTime == _item.EndTime && p.PoBillNum == _item.PoBillNum).ToList(); |
|
|
|
_planList.ForEach(p => { |
|
|
|
_planList.ForEach(p => |
|
|
|
{ |
|
|
|
var _first = _entityList.Where(itm => itm.PoBillNum == p.PoBillNum && itm.PartCode == p.PartCode && itm.EndTime == p.EndTime).FirstOrDefault(); |
|
|
|
if (_first != null) |
|
|
|
{ |
|
|
@ -1141,8 +1145,8 @@ namespace CK.SCP.Controller |
|
|
|
{ |
|
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
|
{ |
|
|
|
var _list=db.V_TB_ASK_DETAIL.Where(p => p.AskBillNum == p_askBillNum && p.IsDeleted==false).ToList(); |
|
|
|
var _lst=Get_CAN_SHIPQTY(_list); |
|
|
|
var _list = db.V_TB_ASK_DETAIL.Where(p => p.AskBillNum == p_askBillNum && p.IsDeleted == false).ToList(); |
|
|
|
var _lst = Get_CAN_SHIPQTY(_list); |
|
|
|
if (_lst.Select(p => p.CanQty).Sum() <= 0) |
|
|
|
{ |
|
|
|
|
|
|
@ -1159,8 +1163,8 @@ namespace CK.SCP.Controller |
|
|
|
{ |
|
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
|
{ |
|
|
|
var _ask= db.TB_ASK.Where(p => p.AskBillNum == p_ask.AskBillNum).FirstOrDefault(); |
|
|
|
_ask=ConvertHelper.GetObjectClone(_ask); |
|
|
|
var _ask = db.TB_ASK.Where(p => p.AskBillNum == p_ask.AskBillNum).FirstOrDefault(); |
|
|
|
_ask = ConvertHelper.GetObjectClone(_ask); |
|
|
|
_ask.AskBillNum = SCP_BILLCODE_CONTROLLER.MakeASKCode(); |
|
|
|
_ask.GUID = Guid.NewGuid(); |
|
|
|
|
|
|
@ -1180,7 +1184,7 @@ namespace CK.SCP.Controller |
|
|
|
int state = db.SaveChanges(); |
|
|
|
if (state != -1) |
|
|
|
{ |
|
|
|
_ret.MessageList.Add("复制要货单号"+_ask.AskBillNum+",请去要货明细修改要货单订货日期和要货日期"); |
|
|
|
_ret.MessageList.Add("复制要货单号" + _ask.AskBillNum + ",请去要货明细修改要货单订货日期和要货日期"); |
|
|
|
_ret.State = ReturnStatus.Succeed; |
|
|
|
_ret.Result = true; |
|
|
|
} |
|
|
@ -1254,7 +1258,7 @@ namespace CK.SCP.Controller |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static ResultObject<bool> Save_ASK_TO_ASN(V_TB_ASK p_ask, List<V_TB_ASK_DETAIL> p_order_list,string p_PlateNumber |
|
|
|
public static ResultObject<bool> Save_ASK_TO_ASN(V_TB_ASK p_ask, List<V_TB_ASK_DETAIL> p_order_list, string p_PlateNumber |
|
|
|
, string p_buyer, string p_buyerPhone) |
|
|
|
{ |
|
|
|
ResultObject<bool> _ret = new ResultObject<bool>(); |
|
|
@ -1275,7 +1279,7 @@ namespace CK.SCP.Controller |
|
|
|
_t.ReceiveUser = p_ask.Buyer; |
|
|
|
_t.ReceiveTime = p_ask.BeginTime; |
|
|
|
_t.VendId = p_ask.VendId; |
|
|
|
_t.IsDeleted= false;//操作员
|
|
|
|
_t.IsDeleted = false;//操作员
|
|
|
|
_t.CreateTime = DateTime.Now; |
|
|
|
_t.CreateUser = p_buyer; |
|
|
|
_t.Site = p_ask.Site; |
|
|
@ -1321,18 +1325,18 @@ namespace CK.SCP.Controller |
|
|
|
_tDetail.LocUnit = itm.LocUnit; |
|
|
|
_tDetail.UnConv = itm.UnConv; |
|
|
|
_tDetail.State = _t.State; |
|
|
|
_tDetail.Site= p_ask.Site; |
|
|
|
_tDetail.Site = p_ask.Site; |
|
|
|
_tDetail.ReceivedPort = itm.ReceivedPort; |
|
|
|
_tDetail.SubSite = p_ask.SubSite; |
|
|
|
_tDetail.Remark = itm.Remark; |
|
|
|
_tDetail.GUID = Guid.NewGuid(); |
|
|
|
String str = itm.PartCode.Substring(0,3); |
|
|
|
if((str== "EXP"||str== "SPA")&& (_t.SubSite== "ZZ01"|| _t.SubSite == "CQ01")) |
|
|
|
String str = itm.PartCode.Substring(0, 3); |
|
|
|
if ((str == "EXP" || str == "SPA") && (_t.SubSite == "ZZ01" || _t.SubSite == "CQ01")) |
|
|
|
{ |
|
|
|
_tDetail.Batch = "000000"; |
|
|
|
} |
|
|
|
String str2 = itm.PartCode.Substring(0, 5); |
|
|
|
if(str2== "SPABJ"&&_t.Site== "BJBMPT") |
|
|
|
if (str2 == "SPABJ" && _t.Site == "BJBMPT") |
|
|
|
{ |
|
|
|
_tDetail.Batch = "000000"; |
|
|
|
} |
|
|
@ -1370,11 +1374,11 @@ namespace CK.SCP.Controller |
|
|
|
int state = db.SaveChanges(); |
|
|
|
if (state != -1) |
|
|
|
{ |
|
|
|
var _askDetailList= db.V_TB_ASK_DETAIL.Where(p => p.AskBillNum == p_ask.AskBillNum && p.IsDeleted == false).ToList();//查询要货单明细
|
|
|
|
var _askDetailList = db.V_TB_ASK_DETAIL.Where(p => p.AskBillNum == p_ask.AskBillNum && p.IsDeleted == false).ToList();//查询要货单明细
|
|
|
|
var _lst = Get_CAN_SHIPQTY(_askDetailList);//算出可发数量
|
|
|
|
if (_lst.Select(p => p.CanQty).Sum() <= 0)//可发数量为零时,修改状态
|
|
|
|
{ |
|
|
|
var _ary=db.TB_ASK.Where(p => p.AskBillNum == p_ask.AskBillNum && p.IsDeleted == false).ToList(); |
|
|
|
var _ary = db.TB_ASK.Where(p => p.AskBillNum == p_ask.AskBillNum && p.IsDeleted == false).ToList(); |
|
|
|
_ary.ForEach(p => p.State = (int)AskState.Ship); |
|
|
|
if (_ary.Count() > 0) |
|
|
|
{ |
|
|
@ -1446,6 +1450,52 @@ namespace CK.SCP.Controller |
|
|
|
return _ret; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 要货看板零件号零件名称模糊查询
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="p_list"></param>
|
|
|
|
/// <param name="PartCode"></param>
|
|
|
|
/// <param name="PartCodeDesc"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public static List<V_TB_ASK> GET_Likesearch(List<V_TB_ASK> p_list, string PartCode, string PartCodeDesc) |
|
|
|
{ |
|
|
|
if (string.IsNullOrEmpty(PartCode) && string.IsNullOrEmpty(PartCodeDesc)) |
|
|
|
{ |
|
|
|
return p_list; |
|
|
|
} |
|
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
|
{ |
|
|
|
var _ls = p_list.Select(p => p.AskBillNum).ToArray(); |
|
|
|
StringBuilder _buffer = new StringBuilder(); |
|
|
|
_buffer.Append(" SELECT Distinct(A.UID),A.* from V_TB_ASK A LEFT JOIN "); |
|
|
|
_buffer.Append(" dbo.TB_ASK_DETAIL B on A.AskBillNum = B.AskBillNum and A.Site = B.Site LEFT JOIN "); |
|
|
|
_buffer.Append(" dbo.TA_PART TP on TP.PartCode = B.PartCode and TP.Site = A.Site "); |
|
|
|
_buffer.Append(" WHERE A.AskBillNum in ({0}) "); |
|
|
|
|
|
|
|
string _str = string.Format(_buffer.ToString(), $"'{string.Join("','", _ls)}'"); |
|
|
|
if (!string.IsNullOrEmpty(PartCode)) |
|
|
|
{ |
|
|
|
//_buffer.Append(" and B.PartCode LIKE ('%{1}%')");
|
|
|
|
|
|
|
|
_str += " and B.PartCode LIKE '%" + PartCode + "%'"; |
|
|
|
} |
|
|
|
if (!string.IsNullOrEmpty(PartCodeDesc)) |
|
|
|
{ |
|
|
|
_str += " and (TP.PartDesc1+ TP.PartDesc2 ) LIKE '%" + PartCodeDesc + "%'"; |
|
|
|
} |
|
|
|
var _list = db.Database.SqlQuery<V_TB_ASK>(_str).ToList(); |
|
|
|
|
|
|
|
if (_list != null) |
|
|
|
{ |
|
|
|
var S = _list.OrderBy(A => A.AskBillNum).ToList().Distinct(); |
|
|
|
return _list; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
return p_list; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public static List<V_TB_ASK> GET_IS_COMPLETED_SEND(List<V_TB_ASK> p_list) |
|
|
|
{ |
|
|
@ -1459,17 +1509,18 @@ namespace CK.SCP.Controller |
|
|
|
_buffer.Append(" group by a.PoLine, a.AskBillNum, a.PartCode) AS D "); |
|
|
|
_buffer.Append(" ON C.AskBillNum = D.AskBillNum AND C.PoLine = D.PoLine AND C.PartCode = D.PartCode "); |
|
|
|
_buffer.Append(" WHERE C.AskQty>isnull(D.Qty,0)"); |
|
|
|
_buffer.Append(" and c.AskBillNum in ('{0}')"); |
|
|
|
_buffer.Append(" and c.AskBillNum in ('{0}')"); |
|
|
|
var _str = string.Format(_buffer.ToString(), string.Join("','", _ls.ToArray())); |
|
|
|
var _list= db.Database.SqlQuery<string>(_str).ToList(); |
|
|
|
var _list = db.Database.SqlQuery<string>(_str).ToList(); |
|
|
|
|
|
|
|
p_list.ForEach(p => { |
|
|
|
p.IsComplete = true; |
|
|
|
if (_list.Contains(p.AskBillNum)) |
|
|
|
{ |
|
|
|
p.IsComplete = false; |
|
|
|
} |
|
|
|
}); |
|
|
|
p_list.ForEach(p => |
|
|
|
{ |
|
|
|
p.IsComplete = true; |
|
|
|
if (_list.Contains(p.AskBillNum)) |
|
|
|
{ |
|
|
|
p.IsComplete = false; |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
return p_list; |
|
|
@ -1513,7 +1564,7 @@ namespace CK.SCP.Controller |
|
|
|
if (p.PoBillNum == itm.PoBillNum && p.PoLine == itm.PoLine && p.PartCode == itm.PartCode) |
|
|
|
{ |
|
|
|
itm.RejectQty = Math.Abs(p.BackSum);//寄售退货数
|
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
decimal a = itm.AskQty - (itm.ShippedQty == null ? 0 : (decimal)itm.ShippedQty) + itm.RejectQty - (itm.ReduceQty == null ? 0 : (decimal)itm.ReduceQty); |
|
|
|
itm.CanQty = a; |
|
|
@ -1522,7 +1573,7 @@ namespace CK.SCP.Controller |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if(p_list.Count>0) |
|
|
|
if (p_list.Count > 0) |
|
|
|
{ |
|
|
|
return p_list; |
|
|
|
} |
|
|
@ -1569,9 +1620,9 @@ namespace CK.SCP.Controller |
|
|
|
q = q.Where(p => p.PoUnit.Contains(p_entity.PoUnit)); |
|
|
|
} |
|
|
|
|
|
|
|
if (p_entity.EndTime!=null) |
|
|
|
if (p_entity.EndTime != null) |
|
|
|
{ |
|
|
|
q = q.Where(p =>p_entity.EndTime< p.EndTime); |
|
|
|
q = q.Where(p => p_entity.EndTime < p.EndTime); |
|
|
|
} |
|
|
|
if (!string.IsNullOrEmpty(p_entity.LocUnit)) |
|
|
|
{ |
|
|
@ -1620,7 +1671,7 @@ namespace CK.SCP.Controller |
|
|
|
} |
|
|
|
if (!string.IsNullOrEmpty(p_entity.VendId)) |
|
|
|
{ |
|
|
|
q = q.Where(p => p.VendId==p_entity.VendId); |
|
|
|
q = q.Where(p => p.VendId == p_entity.VendId); |
|
|
|
} |
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(p_entity.AskBillNum)) |
|
|
@ -1631,6 +1682,10 @@ namespace CK.SCP.Controller |
|
|
|
{ |
|
|
|
q = q.Where(p => p_entity.UserInAddress.Contains(p.Site)); |
|
|
|
} |
|
|
|
if (!string.IsNullOrEmpty(p_entity.PartDesc1)) |
|
|
|
{ |
|
|
|
q = q.Where(p => p.PartDesc1.Contains(p_entity.PartDesc1)); |
|
|
|
} |
|
|
|
|
|
|
|
_ret.State = ReturnStatus.Succeed; |
|
|
|
_ret.Result = q; |
|
|
@ -1699,7 +1754,7 @@ namespace CK.SCP.Controller |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static void Get_V_TB_ASK_DETAIL_Sum(V_TB_ASK_DETAIL p_entity,Action<ResultObject<IQueryable<V_TB_ASK_DETAIL>>> p_action) |
|
|
|
public static void Get_V_TB_ASK_DETAIL_Sum(V_TB_ASK_DETAIL p_entity, Action<ResultObject<IQueryable<V_TB_ASK_DETAIL>>> p_action) |
|
|
|
{ |
|
|
|
|
|
|
|
ResultObject<IQueryable<V_TB_ASK_DETAIL>> _ret = new ResultObject<IQueryable<V_TB_ASK_DETAIL>>(); |
|
|
@ -1725,7 +1780,7 @@ namespace CK.SCP.Controller |
|
|
|
{ |
|
|
|
q = q.Where(p => p.PartCode.Contains(p_entity.PartCode)); |
|
|
|
} |
|
|
|
if (p_entity.ShippedQty!=null && p_entity.ShippedQty != 0) |
|
|
|
if (p_entity.ShippedQty != null && p_entity.ShippedQty != 0) |
|
|
|
{ |
|
|
|
q = q.Where(p => p.ShippedQty == p_entity.ShippedQty); |
|
|
|
} |
|
|
@ -1858,51 +1913,53 @@ namespace CK.SCP.Controller |
|
|
|
{ |
|
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
|
{ |
|
|
|
if (p_state == AskState.Confirm) |
|
|
|
if (p_state == AskState.Confirm) |
|
|
|
{ |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum) && p_list1.Contains(p.Site)).ToList(); |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.Release); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
{ |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum)&& p_list1.Contains(p.Site)).ToList(); |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.Release); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
{ |
|
|
|
_ls.ForEach(p => { |
|
|
|
p.State = (int)AskState.Confirm; |
|
|
|
var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum && itm.Site == p.Site).ToList(); |
|
|
|
_list.ForEach(itm => itm.State = (int)AskState.Confirm); |
|
|
|
db.TB_ASK_DETAIL.AddOrUpdate(itm => itm.UID, _list.ToArray()); |
|
|
|
#region 供应商确认要货状态完成
|
|
|
|
//var _pendingList = db.TB_PENING_ITEMS.Where(itm => itm.ITEM_NO == p.AskBillNum).ToList();
|
|
|
|
//_pendingList.ForEach(itm => {
|
|
|
|
// itm.ITEM_STATE = (int)PENDING_STATE.COMPLETED;
|
|
|
|
// itm.ITEM_CONTENT = "要货看板已完成!";
|
|
|
|
//}
|
|
|
|
//);
|
|
|
|
//db.TB_PENING_ITEMS.AddOrUpdate(itm => itm.GUID, _pendingList.ToArray());
|
|
|
|
#endregion
|
|
|
|
} |
|
|
|
); |
|
|
|
db.TB_ASK.AddOrUpdate(p => p.UID, _ls.ToArray()); |
|
|
|
} |
|
|
|
else |
|
|
|
_ls.ForEach(p => |
|
|
|
{ |
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
|
_ret.Result = false; |
|
|
|
_ret.Message = "选择的记录,有不是发布状态记录!"; |
|
|
|
p.State = (int)AskState.Confirm; |
|
|
|
var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum && itm.Site == p.Site).ToList(); |
|
|
|
_list.ForEach(itm => itm.State = (int)AskState.Confirm); |
|
|
|
db.TB_ASK_DETAIL.AddOrUpdate(itm => itm.UID, _list.ToArray()); |
|
|
|
#region 供应商确认要货状态完成
|
|
|
|
//var _pendingList = db.TB_PENING_ITEMS.Where(itm => itm.ITEM_NO == p.AskBillNum).ToList();
|
|
|
|
//_pendingList.ForEach(itm => {
|
|
|
|
// itm.ITEM_STATE = (int)PENDING_STATE.COMPLETED;
|
|
|
|
// itm.ITEM_CONTENT = "要货看板已完成!";
|
|
|
|
//}
|
|
|
|
//);
|
|
|
|
//db.TB_PENING_ITEMS.AddOrUpdate(itm => itm.GUID, _pendingList.ToArray());
|
|
|
|
#endregion
|
|
|
|
} |
|
|
|
); |
|
|
|
db.TB_ASK.AddOrUpdate(p => p.UID, _ls.ToArray()); |
|
|
|
} |
|
|
|
if (p_state == AskState.New) |
|
|
|
else |
|
|
|
{ |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum)).ToList(); |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.Release); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
|
_ret.Result = false; |
|
|
|
_ret.Message = "选择的记录,有不是发布状态记录!"; |
|
|
|
} |
|
|
|
} |
|
|
|
if (p_state == AskState.New) |
|
|
|
{ |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum)).ToList(); |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.Release); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
{ |
|
|
|
_ls.ForEach(p => |
|
|
|
{ |
|
|
|
_ls.ForEach(p => { |
|
|
|
p.State = (int)AskState.New; |
|
|
|
var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum).ToList(); |
|
|
|
_list.ForEach(itm => itm.State = (int)AskState.New); |
|
|
|
db.TB_ASK_DETAIL.AddOrUpdate(itm => itm.UID, _list.ToArray()); |
|
|
|
p.State = (int)AskState.New; |
|
|
|
var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum).ToList(); |
|
|
|
_list.ForEach(itm => itm.State = (int)AskState.New); |
|
|
|
db.TB_ASK_DETAIL.AddOrUpdate(itm => itm.UID, _list.ToArray()); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
// #region 供应商要货代办取消
|
|
|
|
// var _pendingList = db.TB_PENING_ITEMS.Where(itm => itm.ITEM_NO == p.AskBillNum).ToList();
|
|
|
|
//if (_pendingList.Count > 0)
|
|
|
@ -1911,107 +1968,107 @@ namespace CK.SCP.Controller |
|
|
|
//}
|
|
|
|
// #endregion
|
|
|
|
|
|
|
|
); |
|
|
|
db.TB_ASK.AddOrUpdate(p => p.AskBillNum, _ls.ToArray()); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
|
_ret.Result = false; |
|
|
|
_ret.Message = "选择的记录,有不是发布状态记录!"; |
|
|
|
} |
|
|
|
); |
|
|
|
db.TB_ASK.AddOrUpdate(p => p.AskBillNum, _ls.ToArray()); |
|
|
|
} |
|
|
|
if (p_state == AskState.Release) |
|
|
|
else |
|
|
|
{ |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum)).ToList(); |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.New); |
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
|
_ret.Result = false; |
|
|
|
_ret.Message = "选择的记录,有不是发布状态记录!"; |
|
|
|
} |
|
|
|
} |
|
|
|
if (p_state == AskState.Release) |
|
|
|
{ |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum)).ToList(); |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.New); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
{ |
|
|
|
_ls.ForEach(p => |
|
|
|
_ls.ForEach(p => |
|
|
|
{ |
|
|
|
p.State = (int)AskState.Release; |
|
|
|
var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum).ToList(); |
|
|
|
_list.ForEach(itm => |
|
|
|
{ |
|
|
|
p.State = (int)AskState.Release; |
|
|
|
var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum).ToList(); |
|
|
|
_list.ForEach(itm => |
|
|
|
{ |
|
|
|
itm.State = (int)AskState.Release; |
|
|
|
} |
|
|
|
); |
|
|
|
db.TB_ASK_DETAIL.AddOrUpdate(itm => itm.UID, _list.ToArray()); |
|
|
|
itm.State = (int)AskState.Release; |
|
|
|
} |
|
|
|
); |
|
|
|
db.TB_ASK_DETAIL.AddOrUpdate(itm => itm.UID, _list.ToArray()); |
|
|
|
#region 供应商代办任务新
|
|
|
|
TB_PENING_ITEMS _item = new TB_PENING_ITEMS(); |
|
|
|
_item.ROLE_NAME = "供应商"; |
|
|
|
_item.ITEM_NO = p.AskBillNum; |
|
|
|
_item.ITEM_CONTENT = "要货看盘有信息"; |
|
|
|
_item.ITEM_TYPE = (int)PENDING_MESSAGE_TYPE.NEW_ASK; |
|
|
|
_item.ITEM_STATE = (int)PENDING_STATE.WAITING; |
|
|
|
_item.SENDER = p.CreateUser; |
|
|
|
_item.VEND_ID = p.VendId; |
|
|
|
_item.SENDING_TIME = DateTime.Now; |
|
|
|
_item.ITEM_ADDRESS = p.Site; |
|
|
|
_item.GUID = Guid.NewGuid(); |
|
|
|
db.TB_PENING_ITEMS.Add(_item); |
|
|
|
_item.ROLE_NAME = "供应商"; |
|
|
|
_item.ITEM_NO = p.AskBillNum; |
|
|
|
_item.ITEM_CONTENT = "要货看盘有信息"; |
|
|
|
_item.ITEM_TYPE = (int)PENDING_MESSAGE_TYPE.NEW_ASK; |
|
|
|
_item.ITEM_STATE = (int)PENDING_STATE.WAITING; |
|
|
|
_item.SENDER = p.CreateUser; |
|
|
|
_item.VEND_ID = p.VendId; |
|
|
|
_item.SENDING_TIME = DateTime.Now; |
|
|
|
_item.ITEM_ADDRESS = p.Site; |
|
|
|
_item.GUID = Guid.NewGuid(); |
|
|
|
db.TB_PENING_ITEMS.Add(_item); |
|
|
|
#endregion
|
|
|
|
|
|
|
|
} |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
db.TB_ASK.AddOrUpdate(p => p.AskBillNum, _ls.ToArray()); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
|
_ret.Result = false; |
|
|
|
_ret.Message = "选择的记录,有不是发布状态记录!"; |
|
|
|
} |
|
|
|
db.TB_ASK.AddOrUpdate(p => p.AskBillNum, _ls.ToArray()); |
|
|
|
} |
|
|
|
if (p_state == AskState.Reject) |
|
|
|
else |
|
|
|
{ |
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
|
_ret.Result = false; |
|
|
|
_ret.Message = "选择的记录,有不是发布状态记录!"; |
|
|
|
} |
|
|
|
} |
|
|
|
if (p_state == AskState.Reject) |
|
|
|
{ |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum)).ToList(); |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.New || p.State == (int)AskState.Release); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
{ |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum)).ToList(); |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.New || p.State == (int)AskState.Release); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
_ls.ForEach(p => |
|
|
|
{ |
|
|
|
_ls.ForEach(p => |
|
|
|
p.State = (int)AskState.Reject; |
|
|
|
p.IsDeleted = true; |
|
|
|
var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum).ToList(); |
|
|
|
_list.ForEach(itm => |
|
|
|
{ |
|
|
|
p.State = (int)AskState.Reject; |
|
|
|
p.IsDeleted = true; |
|
|
|
var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum).ToList(); |
|
|
|
_list.ForEach(itm => |
|
|
|
{ |
|
|
|
itm.State = (int)AskState.Reject; |
|
|
|
itm.IsDeleted = true; |
|
|
|
} |
|
|
|
); |
|
|
|
db.TB_ASK_DETAIL.AddOrUpdate(itm => itm.UID, _list.ToArray()); |
|
|
|
itm.State = (int)AskState.Reject; |
|
|
|
itm.IsDeleted = true; |
|
|
|
} |
|
|
|
); |
|
|
|
db.TB_ASK_DETAIL.AddOrUpdate(itm => itm.UID, _list.ToArray()); |
|
|
|
//#region 供应商要货代办作废
|
|
|
|
//var _pendingList = db.TB_PENING_ITEMS.Where(itm => itm.ITEM_NO == p.AskBillNum).ToList();
|
|
|
|
//db.TB_PENING_ITEMS.RemoveRange(_pendingList);
|
|
|
|
//#endregion
|
|
|
|
} |
|
|
|
); |
|
|
|
db.TB_ASK.AddOrUpdate(p => p.AskBillNum, _ls.ToArray()); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
|
_ret.Result = false; |
|
|
|
_ret.Message = "选择的记录,有不是发布状态记录!"; |
|
|
|
} |
|
|
|
|
|
|
|
); |
|
|
|
db.TB_ASK.AddOrUpdate(p => p.AskBillNum, _ls.ToArray()); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
_ret.State = ReturnStatus.Failed; |
|
|
|
_ret.Result = false; |
|
|
|
_ret.Message = "选择的记录,有不是发布状态记录!"; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if (p_state == AskState.CompleteForce) |
|
|
|
{ |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum) && p.IsDeleted == false).ToList(); |
|
|
|
int count = _ls.Count(p =>p.State == (int)AskState.Confirm || p.State == (int)AskState.Ship); |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.Confirm || p.State == (int)AskState.Ship); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
{ |
|
|
|
_ls.ForEach(p => |
|
|
|
{ |
|
|
|
if(p.State==(int)AskState.Complete) |
|
|
|
if (p.State == (int)AskState.Complete) |
|
|
|
{ |
|
|
|
p.State = (int)AskState.Reject; |
|
|
|
p.IsDeleted = true; |
|
|
|
} |
|
|
|
// p.State = (int)AskState.CompleteForce;
|
|
|
|
// p.State = (int)AskState.CompleteForce;
|
|
|
|
#region 修改发货单
|
|
|
|
var _asnList = db.TB_ASN.Where(itm => itm.IsDeleted == false && itm.AskBillNum == p.AskBillNum && itm.State == 0).ToList(); |
|
|
|
_asnList.ForEach(itm => |
|
|
@ -2089,9 +2146,9 @@ namespace CK.SCP.Controller |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if(p_state == AskState.NoConfirm) |
|
|
|
if (p_state == AskState.NoConfirm) |
|
|
|
{ |
|
|
|
var _ls = db.TB_ASN.Where(p => p_list.Contains(p.AskBillNum) && p.IsDeleted==false ).ToList(); |
|
|
|
var _ls = db.TB_ASN.Where(p => p_list.Contains(p.AskBillNum) && p.IsDeleted == false).ToList(); |
|
|
|
if (_ls.Count == 0) |
|
|
|
{ |
|
|
|
var _askList = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum) && p.IsDeleted == false).ToList(); |
|
|
@ -2259,7 +2316,8 @@ namespace CK.SCP.Controller |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.Release); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
{ |
|
|
|
_ls.ForEach(p => { |
|
|
|
_ls.ForEach(p => |
|
|
|
{ |
|
|
|
p.State = (int)AskState.Confirm; |
|
|
|
var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum).ToList(); |
|
|
|
_list.ForEach(itm => itm.State = (int)AskState.Confirm); |
|
|
@ -2290,7 +2348,8 @@ namespace CK.SCP.Controller |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.Release); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
{ |
|
|
|
_ls.ForEach(p => { |
|
|
|
_ls.ForEach(p => |
|
|
|
{ |
|
|
|
p.State = (int)AskState.New; |
|
|
|
var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum).ToList(); |
|
|
|
_list.ForEach(itm => itm.State = (int)AskState.New); |
|
|
@ -2642,7 +2701,7 @@ namespace CK.SCP.Controller |
|
|
|
return _ret; |
|
|
|
} |
|
|
|
|
|
|
|
public static ResultObject<bool> Save_TB_ASK_STATE_BMPT(List<string> p_list, AskState p_state,string site) |
|
|
|
public static ResultObject<bool> Save_TB_ASK_STATE_BMPT(List<string> p_list, AskState p_state, string site) |
|
|
|
{ |
|
|
|
ResultObject<bool> _ret = new ResultObject<bool>(); |
|
|
|
try |
|
|
@ -2655,7 +2714,8 @@ namespace CK.SCP.Controller |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.Release); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
{ |
|
|
|
_ls.ForEach(p => { |
|
|
|
_ls.ForEach(p => |
|
|
|
{ |
|
|
|
p.State = (int)AskState.Confirm; |
|
|
|
var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum).ToList(); |
|
|
|
_list.ForEach(itm => itm.State = (int)AskState.Confirm); |
|
|
@ -2686,7 +2746,8 @@ namespace CK.SCP.Controller |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.Release); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
{ |
|
|
|
_ls.ForEach(p => { |
|
|
|
_ls.ForEach(p => |
|
|
|
{ |
|
|
|
p.State = (int)AskState.New; |
|
|
|
var _list = db.TB_ASK_DETAIL.Where(itm => itm.AskBillNum == p.AskBillNum).ToList(); |
|
|
|
_list.ForEach(itm => itm.State = (int)AskState.New); |
|
|
@ -2791,7 +2852,7 @@ namespace CK.SCP.Controller |
|
|
|
} |
|
|
|
if (p_state == AskState.CompleteForce) |
|
|
|
{ |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum) && p.IsDeleted == false&&p.Site==site).ToList(); |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum) && p.IsDeleted == false && p.Site == site).ToList(); |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.Confirm || p.State == (int)AskState.Ship); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
{ |
|
|
@ -2825,8 +2886,8 @@ namespace CK.SCP.Controller |
|
|
|
{ |
|
|
|
itm.AskQty = 0; |
|
|
|
var asn = db.V_TB_ASN_DETAIL.Where(ask => ask.AskBillNum == itm.AskBillNum && ask.IsDeleted == false && ask.Site == site && (ask.State == (int)AsnState.Ship || ask.State == (int)AsnState.Receive)) |
|
|
|
.GroupBy(ask => new { ask.AskBillNum, ask.PoLine, ask.PartCode,ask.Site }) |
|
|
|
.Select(ask => new { AsSum = ask.Sum(itm1 => itm1.Qty), PoLine = ask.Key.PoLine, AskBillNum = ask.Key.AskBillNum, PartCode = ask.Key.PartCode, Site=ask.Key.Site}).ToList(); |
|
|
|
.GroupBy(ask => new { ask.AskBillNum, ask.PoLine, ask.PartCode, ask.Site }) |
|
|
|
.Select(ask => new { AsSum = ask.Sum(itm1 => itm1.Qty), PoLine = ask.Key.PoLine, AskBillNum = ask.Key.AskBillNum, PartCode = ask.Key.PartCode, Site = ask.Key.Site }).ToList(); |
|
|
|
|
|
|
|
asn.ForEach(itm1 => |
|
|
|
{ |
|
|
@ -3038,7 +3099,7 @@ namespace CK.SCP.Controller |
|
|
|
return _ret; |
|
|
|
} |
|
|
|
|
|
|
|
public static ResultObject<bool> Save_TB_ASK_STATE_BJBBMPT(List<string> p_list, AskState p_state,User p_user) |
|
|
|
public static ResultObject<bool> Save_TB_ASK_STATE_BJBBMPT(List<string> p_list, AskState p_state, User p_user) |
|
|
|
{ |
|
|
|
ResultObject<bool> _ret = new ResultObject<bool>(); |
|
|
|
try |
|
|
@ -3051,7 +3112,8 @@ namespace CK.SCP.Controller |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.Release); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
{ |
|
|
|
_ls.ForEach(p => { |
|
|
|
_ls.ForEach(p => |
|
|
|
{ |
|
|
|
p.UpdateUser = p_user.ChineseName; |
|
|
|
p.UpdateTime = DateTime.Now; |
|
|
|
|
|
|
@ -3085,7 +3147,8 @@ namespace CK.SCP.Controller |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.Release); |
|
|
|
if (count == _ls.Count && _ls.Count > 0) |
|
|
|
{ |
|
|
|
_ls.ForEach(p => { |
|
|
|
_ls.ForEach(p => |
|
|
|
{ |
|
|
|
p.UpdateUser = p_user.ChineseName; |
|
|
|
p.UpdateTime = DateTime.Now; |
|
|
|
p.State = (int)AskState.New; |
|
|
@ -3115,7 +3178,7 @@ namespace CK.SCP.Controller |
|
|
|
} |
|
|
|
if (p_state == AskState.Release) |
|
|
|
{ |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum)&&p.State== (int)AskState.New).ToList(); |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum) && p.State == (int)AskState.New).ToList(); |
|
|
|
int count = _ls.Count(p => p.State == (int)AskState.New); |
|
|
|
if (count > 0) |
|
|
|
{ |
|
|
@ -3424,16 +3487,17 @@ namespace CK.SCP.Controller |
|
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
|
{ |
|
|
|
|
|
|
|
var _list= db.V_TB_ASK_DETAIL.Where(p => p.AskBillNum == p_ask.AskBillNum && p.IsDeleted==false).ToList(); |
|
|
|
var _ls = Get_CAN_SHIPQTY(_list); |
|
|
|
_ls.ForEach(p => { |
|
|
|
var _list = db.V_TB_ASK_DETAIL.Where(p => p.AskBillNum == p_ask.AskBillNum && p.IsDeleted == false).ToList(); |
|
|
|
var _ls = Get_CAN_SHIPQTY(_list); |
|
|
|
_ls.ForEach(p => |
|
|
|
{ |
|
|
|
var _entity = p_list.Where(itm => itm.AskBillNum == p.AskBillNum && itm.PoLine == p.PoLine && itm.PartCode == p.PartCode && itm.PoBillNum == p.PoBillNum).FirstOrDefault(); |
|
|
|
if (_entity != null) |
|
|
|
{ |
|
|
|
p.AskQty = _entity.AskQty; |
|
|
|
if(_entity.AskQty<p.ShippedQty) |
|
|
|
if (_entity.AskQty < p.ShippedQty) |
|
|
|
{ |
|
|
|
_ret.MessageList.Add(string.Format("零件编号{0}行号{1},【要货数量】必须大于等于【已发数量】",p.PartCode,p.PoLine.ToString())); |
|
|
|
_ret.MessageList.Add(string.Format("零件编号{0}行号{1},【要货数量】必须大于等于【已发数量】", p.PartCode, p.PoLine.ToString())); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -3520,8 +3584,48 @@ namespace CK.SCP.Controller |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 报表
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="p_entity"></param>
|
|
|
|
/// <param name="p_action"></param>
|
|
|
|
public static List<V_TB_ASK_DETAIL_PO> Get_V_TB_ASK_DETAIL_PO_List(V_TB_ASK_DETAIL_PO p_entity) |
|
|
|
{ |
|
|
|
List<V_TB_ASK_DETAIL_PO> list = new List<V_TB_ASK_DETAIL_PO>(); |
|
|
|
try |
|
|
|
{ |
|
|
|
using (ScpEntities db = EntitiesFactory.CreateScpInstance()) |
|
|
|
{ |
|
|
|
SqlParameter[] prams = new SqlParameter[7]; |
|
|
|
string TimeBegin = !p_entity.TimeBegin.HasValue ? "" : DateTime.Parse(p_entity.TimeBegin.ToString()).ToString("yyyy-MM-dd"); |
|
|
|
string TimeEnd = !p_entity.TimeEnd.HasValue ? "" : DateTime.Parse(p_entity.TimeEnd.ToString()).ToString("yyyy-MM-dd"); |
|
|
|
string PoBillNum = string.IsNullOrEmpty(p_entity.PoBillNum) ? "" : p_entity.PoBillNum; |
|
|
|
string AskBillNum = string.IsNullOrEmpty(p_entity.AskBillNum) ? "" : p_entity.AskBillNum; |
|
|
|
string PartCode = string.IsNullOrEmpty(p_entity.PartCode) ? "" : p_entity.PartCode; |
|
|
|
string Buyer= string.IsNullOrEmpty(p_entity.Buyer) ? "" : p_entity.Buyer; |
|
|
|
|
|
|
|
string VendId = string.IsNullOrEmpty(p_entity.VendId) ? "" : p_entity.VendId; |
|
|
|
string UserInAddress_where = ""; |
|
|
|
string UserName = p_entity.UserName; |
|
|
|
if (p_entity.UserInAddress != null) |
|
|
|
{ |
|
|
|
UserInAddress_where = string.Join(", ", p_entity.UserInAddress); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
string str = "exec PROC_test " + " @PONum_where = '" + PoBillNum + "' ,@AskBillNum_where = '" + AskBillNum + "' ,@PartCode_where = '" + PartCode + "' ,@Buyer_where = '" + Buyer + "' ,@BeginDate_where = '" + TimeBegin + "' ,@EndDate_where = '" + TimeEnd + "', @VenderID_where = '" + VendId + "'" + ", @UserInAddress_where = " + UserInAddress_where + " ,@UserName = " + UserName; |
|
|
|
list = db.Database.SqlQuery<V_TB_ASK_DETAIL_PO>(str).ToList(); |
|
|
|
} |
|
|
|
} |
|
|
|
catch (Exception e) |
|
|
|
{ |
|
|
|
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Get_V_TB_ASK_DETAIL_PO_List", e.Message); |
|
|
|
if (e.InnerException != null) |
|
|
|
LogHelper.Writlog(LogHelper.LogType.Error, typeof(SCP_ASK_CONTROLLER), "Get_V_TB_ASK_DETAIL_PO_List(Exception)", LogHelper.GetExceptionMessage(e).Message); |
|
|
|
throw e; |
|
|
|
} |
|
|
|
return list; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|