Beispiel #1
0
        void 业务费用处理车辆承担Dao_EntityOperating(object sender, OperateArgs <业务费用> e)
        {
            if (e.OperateType == OperateType.Save || e.OperateType == OperateType.Update)
            {
                业务费用 entity = e.Entity as 业务费用;

                // 车辆承担
                if (string.IsNullOrEmpty(entity.费用项编号))
                {
                    entity.车辆承担 = false;
                }
                else
                {
                    车队费用项 cdfyx = EntityBufferCollection.Instance.Get <车队费用项>(entity.费用项编号);

                    e.Repository.Initialize(entity.车辆产值, entity);
                    // 费用项.车辆承担 = true AND 费用归属 = 车主 AND 相关人 = 新概念(即自有车) 设置车辆承担 = true
                    if (cdfyx.车辆承担 && entity.费用归属 != 费用归属.车主 && entity.车辆产值.承运人编号 == "900001")
                    {
                        entity.车辆承担 = true;
                    }
                    else
                    {
                        entity.车辆承担 = false;
                    }

                    // 吊机费
                    if (entity.费用项编号 == "111" && entity.费用归属 == 费用归属.委托人)
                    {
                        entity.车辆承担 = false;
                    }
                }
            }
        }
Beispiel #2
0
        void 业务费用处理费用类别Dao_EntityOperating(object sender, OperateArgs <业务费用> e)
        {
            if (e.OperateType == OperateType.Save || e.OperateType == OperateType.Update)
            {
                业务费用 entity = e.Entity as 业务费用;

                // 费用类别
                if (string.IsNullOrEmpty(entity.费用项编号))
                {
                    entity.费用类别编号 = null;
                }
                else
                {
                    // 当费用项变换时,要重新设置费用信息
                    车队费用项 cdfyx = EntityBufferCollection.Instance.Get <车队费用项>(entity.费用项编号);
                    switch (entity.费用归属)
                    {
                    case 费用归属.委托人:
                        entity.费用类别编号 = cdfyx.委托人;
                        break;

                    case 费用归属.车主:
                        //如果是车主的,付给车主的  费用类别:拆、装、回 这种的
                        //问车主收的话,费用类别:业务支出
                        entity.费用类别编号 = cdfyx.车主;
                        if (entity.费用项编号 == "111" && entity.收付标志 == 收付标志.付)
                        {
                            entity.费用类别编号 = 321;
                        }
                        break;

                    case 费用归属.驾驶员:
                        entity.费用类别编号 = cdfyx.驾驶员;
                        break;

                    case 费用归属.对外:
                        entity.费用类别编号 = cdfyx.对外;
                        break;

                    default:
                        entity.费用类别编号 = null;
                        break;
                    }

                    if (entity.费用类别编号.HasValue && entity.费用类别编号.Value == 321)    // 运费,税
                    {
                        if (entity.任务 == null)
                        {
                            throw new InvalidUserOperationException("任务为空,无法保存");
                        }
                        e.Repository.Initialize(entity.任务, entity);
                        entity.费用类别编号 = (int?)entity.任务.任务类别;
                    }

                    if (!entity.费用类别编号.HasValue)
                    {
                        throw new InvalidUserOperationException("您选择的费用项和费用归属有误,请重新选择!费用项为" + entity.费用项编号);
                    }
                }
            }
        }