public async Task <ActionResult> SaveFormJson(OrderTerIssueEntity entity)
        {
            OperatorInfo user = await Operator.Instance.Current();

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

            return(Json(obj));
        }
Esempio n. 2
0
        public async Task SaveForm(OrderTerIssueEntity entity)
        {
            if (entity.Id.IsNullOrZero())
            {
                await entity.Create();

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

                await this.BaseRepository().Update(entity);
            }
        }
Esempio n. 3
0
        public async Task <TData <OrderTerIssueEntity> > GetEntity(long id)
        {
            TData <OrderTerIssueEntity> obj    = new TData <OrderTerIssueEntity>();
            OrderTerIssueEntity         entity = await orderTerIssueService.GetEntity(id);

            if (entity != null)
            {
                int index = CoomHelper.GetCharIndex(entity.ReciveAddress, "-", 3);
                if (index > 0)
                {
                    entity.ReciveAddre = entity.ReciveAddress.Substring(0, index);
                    entity.ReciveZone  = entity.ReciveAddress.Substring(index);
                }
                obj.Data = entity;
                obj.Tag  = 1;
            }
            return(obj);
        }
Esempio n. 4
0
        public async Task <TData <string> > SaveForm(OrderTerIssueEntity entity, OperatorInfo opuser)
        {
            TData <string> obj    = new TData <string>();
            var            result = CheckWorkFLow(entity, opuser);

            if (result.IsSucess)
            {
                await orderTerIssueService.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. 5
0
        /// <summary>
        /// 流程结束logic
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        private async Task <ResultMsg> FinishWorkFLow(OrderTerIssueEntity entity)
        {
            ResultMsg result = new ResultMsg();

            //通过审批且流程结束
            if (entity.Step == OutPutStepEnum.Finish.ParseToInt() &&
                entity.ShenHeStatus == ShenHeStatusEnum.Past.ParseToInt())
            {
                //修改物料库存和明细了
                long?id = entity.MaterielId;

                TData <string> td_result = await orderMaterielBLL.ModifyMaterielTotal(long.Parse(id + ""), true, 0 - entity.SaleNum,
                                                                                      "物料销售出库",
                                                                                      entity.Id, "order_ter_issue");

                if (td_result.Tag == 1)
                {
                    result.IsSucess = true;
                }
            }
            return(result);
        }
Esempio n. 6
0
        /// <summary>
        /// 检测流程
        /// </summary>
        /// <param name="entity">数据实体</param>
        /// <returns></returns>
        private ResultMsg CheckWorkFLow(OrderTerIssueEntity entity, OperatorInfo user)
        {
            ResultMsg result = new ResultMsg();

            //新增
            if (entity.Id.IsNullOrZero())
            {
                entity.ShenHeStatus = 0;
                entity.Step         = OutPutStepEnum.Validate.ParseToInt();
                result.IsSucess     = true;
            }
            else
            {
                if (entity.Step == OutPutStepEnum.Create.ParseToInt())
                {
                    if (entity.BaseCreatorId == user.UserId)
                    {
                        if (entity.ShenHeStatus == ShenHeStatusEnum.Create.ParseToInt())
                        {
                            entity.Step = OutPutStepEnum.Validate.ParseToInt();
                            //表示创建者修改
                            result.IsSucess = true;
                        }
                        else
                        {
                            result.Msg = "已经审批不可修改";
                        }
                    }
                }
                //01 到了财务审批步骤
                else if (entity.Step == OutPutStepEnum.Validate.ParseToInt())
                {
                    if (user.UserId == entity.ShenHeManId)
                    {
                        if (entity.ShenHeStatus == ShenHeStatusEnum.Refuse.ParseToInt())
                        {
                            entity.Step = OutPutStepEnum.Finish.ParseToInt();
                        }
                        else if (entity.ShenHeStatus == ShenHeStatusEnum.Past.ParseToInt())
                        {
                            entity.Step = OutPutStepEnum.Sent.ParseToInt();
                        }
                        result.IsSucess = true;
                    }
                    else
                    {
                        result.Msg = "请先财务审核才能下一步操作";
                    }
                }
                //发货阶段
                else if (entity.Step == OutPutStepEnum.Sent.ParseToInt())
                {
                    if (user.UserId == entity.SentManId)
                    {
                        entity.Step     = OutPutStepEnum.Finish.ParseToInt();
                        entity.IsSent   = SentStatusEnum.Yes.ParseToInt();
                        result.IsSucess = true;
                    }
                    else
                    {
                        result.Msg = "请售后进行操作";
                    }
                }
                //发货阶段
                else if (entity.Step == OutPutStepEnum.Finish.ParseToInt())
                {
                    result.Msg = "流程已经结束,禁止操作";
                }
            }
            return(result);
        }
Esempio n. 7
0
        public async Task <TData <string> > SaveForm(OrderTerIssueParam modelParam, OperatorInfo opuser)
        {
            TData <string> obj = new TData <string>();

            obj.SetDefault();
            try
            {
                OrderTerIssueEntity entity = new OrderTerIssueEntity();

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

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

                    entity = tdata.Data;
                }

                ClassValueCopierHelper.Copy(entity, modelParam);

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

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


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


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

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

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


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

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

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

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

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

                if (entity.Id.IsNullOrZero())
                {
                    entity.BaseCreatorId  = long.Parse(opuser.UserIdStr);
                    entity.BaseCreateTime = DateTime.Now;
                }
                entity.ReciveAddress  = modelParam.ReciveZone + modelParam.ReciveAddre;
                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);
        }