王 垚
2021-04-13 5ce2275b22855f5034c5b14d24c1415a52fa4734
src/BLL/Demo.BillView/PRD/ProductScheduleButtonClick.cs
@@ -320,7 +320,7 @@
        {
            //查询出重复生产线对应的工作日历信息
            string _sql = @"
select FCalUserId,FCalUserType,FShiftId,FIsWorkTime,FDay,FDateStyle,c.FALLHOURS,b.FENTRYID from T_ENG_WORKCAL a
select FCalUserId,FCalUserType,FShiftId,FIsWorkTime,FDay,FDateStyle,c.FALLHOURS ,c.FALLHOURS FALLHOURSCONST,b.FENTRYID from T_ENG_WORKCAL a
left join  T_ENG_WORKCALFULLDATA b on a.FID=b.FID
left join T_ENG_SHIFT c on b.FShiftId =c.FID
where FDateStyle = 1 and FIsWorkTime = 1
@@ -344,26 +344,26 @@
                    decimal FCapacity = Convert.ToDecimal(order["FCapacity"]);//小时产能
                    decimal FSCOrderCount = Convert.ToDecimal(order["FSCOrderCount"]);//生产订单数
                    List<ENG_WORKCALFULLDATA> finalyResult = new List<ENG_WORKCALFULLDATA>();
                    decimal dayFCapacity = 0;//日产量
                    decimal dayFCapacity = 0;//当日剩余产量 = 小时产能 * 日剩余工作时长
                    List<ENG_WORKCALFULLDATA> _ENG_WORKCALFULLDATA = ENG_WORKCALFULLDATA.Where(x => x.FALLHOURS > 0 && x.FCalUserId == Convert.ToInt32(order["FSczy_Id"])).ToList();
                    foreach (var item in _ENG_WORKCALFULLDATA)
                    {
                        if (FSCOrderCount == 0)
                            break;
                        dayFCapacity = FCapacity * item.FALLHOURS;
                        dayFCapacity = FCapacity * item.FALLHOURS;
                        decimal fqty = dayFCapacity > FSCOrderCount ? FSCOrderCount : dayFCapacity;
                        finalyResult.Add(new Demo.Model.Model.ENG_WORKCALFULLDATA
                        {
                            FDay = item.FDay,
                            FQTY = fqty
                        }); ;
                        //当日产量大于剩余生产订单数量时 按小时产量去计算需要时间 list<>去扣除相应的工时
                        //当日剩余产量大于剩余生产订单数量时 按小时产量去计算需要时间 list<>去扣除相应的工时
                        if (dayFCapacity > FSCOrderCount)
                        {
                            //改变list中某个元素值
                            var model = ENG_WORKCALFULLDATA.Where(c => c.FENTRYID == item.FENTRYID).FirstOrDefault();
                            model.FALLHOURS -= Math.Ceiling(fqty / FCapacity);
                            //model.FALLHOURS -= Math.Ceiling(fqty / FCapacity);
                            model.FALLHOURS -= fqty / FCapacity ; // 生产数 / 小时产能 = 消耗的小时 (数值类型为decimal)
                        }
                        else
                        {
@@ -400,7 +400,7 @@
                    jsonRoot.Add("Creator", "");
                    jsonRoot.Add("NeedUpDateFields", new JArray());
                    jsonRoot.Add("NeedReturnFields", new JArray());
                    jsonRoot.Add("IsDeleteEntry", "false");//
                    jsonRoot.Add("IsDeleteEntry", "true");//
                    jsonRoot.Add("SubSystemId", "");
                    jsonRoot.Add("IsVerifyBaseDataField", "");