| | |
| | | else |
| | | sqlwhere += $" and FHSeOrderBillNo='{FSalOrder}'"; |
| | | |
| | | string sql = $"/*dialect*/update t1 set t1.FHLockedSub=1 from Sc_WorkBillSortBillSub t1 join Sc_WorkBillSortBillMain t2 on t1.FID = t2.FID where FHMASTERDATE between DATEADD(day,-1,getdate()) and DATEADD(day,{day - 1},getdate()) " + sqlwhere; |
| | | //获取单据体信息 |
| | | Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity"); |
| | | //单据体信息转换为列表集合 |
| | | DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity); |
| | | List<string> sqlList = new List<string>(); |
| | | string sql; |
| | | foreach (var item in entityDataObjoct) |
| | | { |
| | | |
| | | int result = DBUtils.Execute(Context, sql); |
| | | sql = $"/*dialect*/update Sc_WorkBillSortBillSub set FHLockedSub=1 where FEntryID in (select TOP({day}) FEntryID from Sc_WorkBillSortBillSub where FHLOCKEDSUB = 0 AND FID = { Convert.ToString(item["FDayPlanWorkID"])} AND DATEDIFF(DAY, GETDATE(), FHMASTERDATE) >= 0 ORDER BY FEntryID) "; |
| | | sqlList.Add(sql); |
| | | |
| | | } |
| | | |
| | | int result = DBServiceHelper.ExecuteBatch(Context, sqlList); |
| | | if (result > 0) |
| | | { |
| | | SearchList222(); |
| | |
| | | } |
| | | else |
| | | this.View.ShowMessage("操作失败,联系管理员!"); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 保存功能 |
| | |
| | | //单据体信息转换为列表集合 |
| | | DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity); |
| | | DateTime date = DateTime.Now; |
| | | |
| | | foreach (DynamicObject current in entityDataObjoct) |
| | | { |
| | | DateTime FBzDate = Convert.ToDateTime(Convert.ToDateTime(current["FBzDate"])); |
| | | DateTime end = Convert.ToDateTime(Convert.ToDateTime(current["FBzDate"]).AddDays(60).ToShortDateString());//最大日期 |
| | | for (int i = 0; i <= 60; i++) |
| | | { |
| | | DateTime start = Convert.ToDateTime(date.AddDays(i).ToShortDateString()); |
| | | TimeSpan getDay = end.Subtract(start); |
| | | //编制日期+61天>date.AddDays(i).ToShortDateString() continue |
| | | if (getDay.Days < 0) |
| | | break; |
| | | sql = $"/*dialect*/update t1 set FHQTY='{Convert.ToString(current["FT" + "" + i + ""])}' from Sc_WorkBillSortBillSub t1 join " + |
| | | $" Sc_WorkBillSortBillMain t2 on t1.FID = t2.FID where FHMASTERDATE='{date.AddDays(i).ToShortDateString()}' and t2.FID='{Convert.ToString(current["FDayPlanWorkID"])}'"; |
| | | sqlList.Add(sql); |
| | |
| | | else |
| | | sqlwhere += $" and FHSeOrderBillNo='{FSalOrder}'"; |
| | | |
| | | |
| | | //生产订单号 |
| | | string FScOrderMainNo = Convert.ToString((this.Model.GetValue("FScOrderMainNo"))); |
| | | if (string.IsNullOrEmpty(FScOrderMainNo)) |
| | | { |
| | | |
| | | } |
| | | else |
| | | sqlwhere += $" and FSCORDERNO='{FScOrderMainNo}'"; |
| | | |
| | | //物料 |
| | | if ((this.Model.GetValue("FMatralId") as DynamicObject) != null) |
| | | { |
| | |
| | | this.Model.SetValue("FHMainSourceInterID", dt.Rows[i]["FPRDMOMAINID"].ToString(), i);//源单主内码FHMainSourceInterID |
| | | this.Model.SetValue("FHMainSourceEntryID", dt.Rows[i]["FPRDMOENTYID"].ToString(), i);//源单子内码FHMainSourceEntryID |
| | | this.Model.SetValue("FDayPlanWorkID", dt.Rows[i]["FID"].ToString(), i);//日计划工单FID |
| | | |
| | | this.Model.SetValue("FProductWorkShopId", dt.Rows[i]["FHSourceID"].ToString(), i);//生产车间 |
| | | this.Model.SetValue("FResourcesId", dt.Rows[i]["FHWorkShopID"].ToString(), i);//生产资源 |
| | | |
| | | |
| | | sql = @"/*dialect*/SELECT * FROM Sc_WorkBillSortBillSub WHERE DATEDIFF(D,GETDATE(),FHMASTERDATE)>=0 and FID=" + dt.Rows[i]["FID"].ToString(); |
| | | DataTable _dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; |
| | |
| | | |
| | | DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql); |
| | | List<DayPlanPpbom> DayPlanPpbom = ds.ToModelList<DayPlanPpbom>(); |
| | | |
| | | sql = @"select T1.FID,FPLANCOUNT,FCOMPLETECOUNT,t2.FHQTY from SC_WORKBILLSORTBILLMAIN T1 |
| | | JOIN SC_WORKBILLSORTBILLSUB T2 ON T1.FID=T2.FID WHERE DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0 AND FPLANCOUNT>FCOMPLETECOUNT AND T1.FID in (" + FDayPlanWorkID + ")"; |
| | | DataSet Complete = DBServiceHelper.ExecuteDataSet(Context, sql); |
| | | List<DayPlanPpbom> CompleteList = ds.ToModelList<DayPlanPpbom>(); |
| | | //FID集合 |
| | | var FIDList = CompleteList.Select(x => x.FID).Distinct().ToList(); |
| | | foreach (var item in FIDList) |
| | | { |
| | | var _CompleteList = CompleteList.Where(p => p.FID == item).ToList(); |
| | | decimal FComplete = _CompleteList.FirstOrDefault().FCOMPLETECOUNT; |
| | | if (FComplete == 0) |
| | | continue; |
| | | foreach (var _item in _CompleteList) |
| | | { |
| | | FComplete = FComplete - _item.FHQTY; |
| | | if (FComplete >= 0) |
| | | { |
| | | DayPlanPpbom.RemoveAll(p => p.FENTRYID == _item.FENTRYID); |
| | | |
| | | } |
| | | else |
| | | { |
| | | DayPlanPpbom.FindAll(p => p.FENTRYID == _item.FENTRYID).ForEach(x => |
| | | { |
| | | x.NeedQty = -(x.FNeedQty * FComplete); |
| | | }); |
| | | break; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | //物料集合 由物料去分组 |
| | | List<string> MaterialIDList = DayPlanPpbom.Select(x => x.FMATERIALID).Distinct().ToList(); |
| | | //提料计划数据集临时存储集合 |
| | |
| | | { |
| | | if (Purchase.FQTY >= NeedQty) |
| | | { |
| | | |
| | | List<int> mmm = new List<int>(); |
| | | foreach (int id in FEntryIdList) |
| | | { |
| | |
| | | { |
| | | FEntryIdList.Remove(mm); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | NeedQty = 0; |