Ejemplo n.º 1
0
        public async Task <int> DeleteDailyAndDispBill([FromBody] string[] fids)
        {
            var count = 0;

            var orders = await JIT_ICMODaily.GetAll().Where(p => fids.Contains(p.FID)).ToListAsync();

            orders.ForEach(p =>
            {
                JIT_ICMODispBill.Delete(d => d.FSrcID == p.FID);


                JIT_ICMODaily.Delete(o => fids.Contains(o.FID));
                count += 2;
            });

            return(count);
        }
Ejemplo n.º 2
0
        public async Task <ICMODispBillListDto> Create(ICMODispBillCreateInput input)
        {
            try
            {
                // 循环生成修改派工单
                foreach (var itemDetail in input.Details)
                {
                    // 日计划单
                    ICMODaily mDaily = await JIT_ICMODaily.GetAll().SingleOrDefaultAsync(p => p.FID == itemDetail.FID);

                    // 判断是否存在
                    if (mDaily == null)
                    {
                        throw new UserFriendlyException("日计划单不存在");
                    }

                    // 查看是否已经存在
                    var entity =
                        JIT_ICMODispBill.GetAll().Where(p =>
                                                        p.FSrcID == itemDetail.FID && p.FID == itemDetail.ICMODispBillId)
                        .SingleOrDefault(p => true) ?? new ICMODispBill();
                    // 判断是增加还是修改
                    if (string.IsNullOrWhiteSpace(entity.FID))
                    {
                        /*
                         * 派工单不存在,插入新派工单
                         */
                        entity.FID       = Guid.NewGuid().ToString();
                        entity.FSrcID    = itemDetail.FID;
                        entity.FBiller   = AbpSession.UserId.ToString();
                        entity.FDate     = DateTime.Now.Date;
                        entity.FBillNo   = "DI" + DateTime.Now.ToString("yyyyMMddHHmmss") + entity.FID.Right(4);
                        entity.FBillTime = DateTime.Now;
                    }
                    else
                    {
                        /*
                         * 派工单已存在,更新派工单信息
                         */
                        mDaily.FCommitAuxQty -= entity.FCommitAuxQty;


                        entity.FDate = DateTime.Now;
                    }

                    // 修改派工
                    entity.FCommitAuxQty = itemDetail.FCommitAuxQty;
                    entity.FWorker       = itemDetail.FWorker;
                    entity.FShift        = itemDetail.FShift;
                    entity.FMachineID    = itemDetail.FMachineID;
                    entity.FMOBillNo     = itemDetail.FMOBillNo;
                    entity.FMOInterID    = itemDetail.FMOInterID;
                    entity.FWorkCenterID = mDaily.FWorkCenterID;

                    entity.FPackQty = itemDetail.FPackQty;
                    //
                    itemDetail.ICMODispBillId = string.IsNullOrWhiteSpace(itemDetail.ICMODispBillId)
                        ? "0"
                        : itemDetail.ICMODispBillId;
                    // 判断是增加还是修改
                    if (itemDetail.ICMODispBillId.Equals("0"))
                    {
                        await JIT_ICMODispBill.InsertAsync(entity);
                    }
                    else
                    {
                        await JIT_ICMODispBill.UpdateAsync(entity);
                    }

                    // 修改日计划
                    mDaily.FCommitAuxQty += entity.FCommitAuxQty;
                    mDaily.FWorker        = itemDetail.FWorker;
                    await JIT_ICMODaily.UpdateAsync(mDaily);
                }

                return(null);
            }
            catch (Exception e)
            {
                EX(-1, e.Message);
                throw;
            }
        }