|
|
@ -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) |
|
|
|
{ |
|
|
@ -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); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
@ -735,7 +738,7 @@ namespace CK.SCP.Controller |
|
|
|
|
|
|
|
//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 }); |
|
|
|
|
|
|
@ -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) |
|
|
|
{ |
|
|
@ -1461,9 +1511,10 @@ namespace CK.SCP.Controller |
|
|
|
_buffer.Append(" WHERE C.AskQty>isnull(D.Qty,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_list.ForEach(p => |
|
|
|
{ |
|
|
|
p.IsComplete = true; |
|
|
|
if (_list.Contains(p.AskBillNum)) |
|
|
|
{ |
|
|
@ -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); |
|
|
|
} |
|
|
@ -1860,11 +1915,12 @@ namespace CK.SCP.Controller |
|
|
|
{ |
|
|
|
if (p_state == AskState.Confirm) |
|
|
|
{ |
|
|
|
var _ls = db.TB_ASK.Where(p => p_list.Contains(p.AskBillNum)&& p_list1.Contains(p.Site)).ToList(); |
|
|
|
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 => { |
|
|
|
_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); |
|
|
@ -1895,7 +1951,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); |
|
|
@ -2001,12 +2058,12 @@ namespace CK.SCP.Controller |
|
|
|
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; |
|
|
@ -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 _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 => { |
|
|
|
_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; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|