Esempio n. 1
0
        /// <summary>
        /// 流程结束logic
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        private async Task <ResultMsg> FinishWorkFLow(OrderTerInputEntity entity)
        {
            ResultMsg result = new ResultMsg();

            //通过审批且流程结束
            if (entity.Step == InPutStepEnum.Finish.ParseToInt() &&
                entity.ShenHeStatus == ShenHeStatusEnum.Past.ParseToInt())
            {
                //修改物料库存和明细了
                long?id     = entity.MaterielId;
                int  buyNum = 0;
                int.TryParse(entity.BuyNum.ToString(), out buyNum);
                //
                if (buyNum > 0)
                {
                    TData <string> td_result = await orderMaterielBLL.ModifyMaterielTotal(long.Parse(id + ""), true, buyNum,
                                                                                          "物料进货",
                                                                                          entity.Id, "order_ter_input");

                    if (td_result.Tag == 1)
                    {
                        result.IsSucess = true;
                    }
                }
            }
            return(result);
        }
Esempio n. 2
0
        public async Task <ActionResult> SaveFormJson(OrderTerInputEntity entity)
        {
            OperatorInfo user = await Operator.Instance.Current();

            TData <string> obj = await orderTerInputBLL.SaveForm(entity, user);

            return(Json(obj));
        }
Esempio n. 3
0
        /// <summary>
        /// 检测流程
        /// </summary>
        /// <param name="entity">数据实体</param>
        /// <returns></returns>
        private ResultMsg CheckWorkFLow(OrderTerInputEntity entity, OperatorInfo user)
        {
            ResultMsg result = new ResultMsg();

            //新增
            if (entity.Id.IsNullOrZero())
            {
                entity.ShenHeStatus = 0;
                entity.Step         = InPutStepEnum.Validate.ParseToInt();
                result.IsSucess     = true;
            }
            else
            {
                if (entity.Step == InPutStepEnum.Create.ParseToInt())
                {
                    if (entity.BaseCreatorId == user.UserId)
                    {
                        if (entity.ShenHeStatus == ShenHeStatusEnum.Create.ParseToInt())
                        {
                            entity.Step = InPutStepEnum.Validate.ParseToInt();
                            //表示创建者修改
                            result.IsSucess = true;
                        }
                        else
                        {
                            result.Msg = "已经审批不可修改";
                        }
                    }
                }
                //01 到了财务审批步骤
                else if (entity.Step == InPutStepEnum.Validate.ParseToInt())
                {
                    if (user.UserId == entity.ShenHeManId)
                    {
                        entity.Step     = InPutStepEnum.Finish.ParseToInt();
                        result.IsSucess = true;
                    }
                    else
                    {
                        result.Msg = "请财务审核才能下一步操作";
                    }
                }
                //发货阶段
                else
                {
                    result.Msg = "流程已经结束,禁止操作";
                }
            }
            return(result);
        }
Esempio n. 4
0
        public async Task SaveForm(OrderTerInputEntity entity)
        {
            if (entity.Id.IsNullOrZero())
            {
                await entity.Create();

                await this.BaseRepository().Insert(entity);
            }
            else
            {
                await entity.Modify();

                await this.BaseRepository().Update(entity);
            }
        }
Esempio n. 5
0
        public async Task <TData <string> > SaveForm(OrderTerInputEntity entity, OperatorInfo opuser)
        {
            TData <string> obj    = new TData <string>();
            var            result = CheckWorkFLow(entity, opuser);

            if (result.IsSucess)
            {
                await orderTerInputService.SaveForm(entity);
                await FinishWorkFLow(entity);

                obj.Data = entity.Id.ParseToString();
                obj.Tag  = 1;
            }
            else
            {
                obj.Message = result.Msg;
                obj.Tag     = 0;
            }
            return(obj);
        }
Esempio n. 6
0
        public async Task <TData <string> > SaveForm(OrderTerInputParam modelParam, OperatorInfo opuser)
        {
            TData <string> obj = new TData <string>();

            obj.SetDefault();
            try
            {
                OrderTerInputEntity entity = new OrderTerInputEntity();
                ClassValueCopierHelper.Copy(entity, modelParam);


                long num = 0;
                long.TryParse(modelParam.Id, out num);
                entity.Id = num;

                if (!entity.Id.IsNullOrZero())
                {
                    TData <OrderTerInputEntity> tdata = await GetEntity(num);

                    entity = tdata.Data;
                }

                #region 补充数据
                num = 0;
                long.TryParse(modelParam.MaterielId, out num);
                entity.MaterielId = num;


                num = 0;
                long.TryParse(modelParam.BuyId, out num);
                entity.BuyId = num;

                long.TryParse(modelParam.SupplierId, out num);
                entity.SupplierId = num;

                int saleNum = 0;
                int.TryParse(modelParam.BuyNum, out saleNum);
                entity.BuyNum = saleNum;

                decimal money = 0;
                decimal.TryParse(modelParam.BuyPrice, out money);
                entity.BuyPrice = money;


                num = 0;
                long.TryParse(modelParam.ShenHeManId, out num);
                entity.ShenHeManId = num;

                saleNum = 0;
                int.TryParse(modelParam.ShenHeStatus, out saleNum);
                entity.ShenHeStatus = saleNum;

                if (entity.Id.IsNullOrZero())
                {
                    entity.BaseCreatorId  = long.Parse(opuser.UserIdStr);
                    entity.BaseCreateTime = DateTime.Now;
                }
                entity.BaseModifyTime = DateTime.Now;
                entity.BaseModifierId = long.Parse(opuser.UserIdStr);
                #endregion

                LogHelper.Info("【SaveForm】entity:" + JsonHelper.SerializeObject(entity));
                obj = await SaveForm(entity, opuser);
            }
            catch (Exception ex)
            {
                LogHelper.Info("【SaveForm】ex:" + ex.ToString());
            }
            return(obj);
        }