后端接口笔记之常用的一些写法

后端接口笔记

1.判断是否存下某个字段
在services里
 public bool IsExistsByParentCode(string parentCode)
        {
            return _BWorkOrderRepository.Any(w => w.ParentOrder == parentCode);
        }

在Iservices里
  public interface IBWorkOrderService : IBaseService<BWorkOrder>
  {
        bool IsExistsByParentCode(string parentCode);

    }
在controller里
 if (_BWorkOrderService.IsExistsByParentCode(input.Code))
                {
                    return new ReturnResult<bool>()
                    {
                        Code = 500,
                        Msg = "该工单已有子工单,不能拆分!",
                        Data = false
                    };
                }
2.判断某个字段是否为空
 if (input == null || string.IsNullOrEmpty(input.Code))
            {
                return new ReturnResult<bool>()
                {
                    Code = 500,
                    Msg = "工单编号不能为空",
                    Data = false
                };
            }
3.得到对象的某个值
controller里
   BWorkOrder order = _BWorkOrderService.GetEntity(input.Code);
Iservice里
  public interface IBWorkOrderService : IBaseService<BWorkOrder>
  {
        BWorkOrder GetEntity(string orderNo);
    }
service里
  public BWorkOrder GetEntity(string orderNo)
        {
            return _BWorkOrderRepository.GetFirst(w => w.OrderNo == orderNo);
        }
4.得到集合对象
 List<BBom> bBoms = _bBomService.GetList(w => w.BomId == bFlowInfo.BomId);
                if (bBoms.Count <= 0)
                {
                    return new ReturnResult<bool>()
                    {
                        Code = 500,
                        Msg = "!",
                        Data = false
                    };
                }
5.得到某个字段的全部集合
  List<string> bom_codes = bBoms.Select(m => m.BomCode).ToList();
6.新建实体类对象
 List<BWorkOrder> list = new List<BWorkOrder>();
7.两个数组循环添加
      public int AddCCalendar(CCalendarDto parm )
        {
           // string str = string.Join(",", parm.LineCode);
            var response = 1;
            List<CCalendar> list = new List<CCalendar>();
            for (int i = 0; i < parm.FlightNo.Length; i++)
            {
              
                for (int j = 0; j < parm.AttendanceDate.Length; j++)
                {

                    list.Add(new CCalendar()
                    {
                        FlightNo = parm.FlightNo[i],
                        AttendanceDate = parm.AttendanceDate[j],

                        LineCode = string.Join(",", parm.LineCode),
                        CreateBy = parm.CreateBy,
                        CreateTime = parm.CreateTime,

                    }); ;
                }
            }
            _CCalendarRepository.Insert(list);  
            return response;
        }
8.拼表并添加逻辑
 [Log(Title = "配套料管理", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)]
        [HttpGet("export")]
        [ActionPermissionFilter(Permission = "plan:bnestmatmanage:export")]
        public IActionResult Export([FromQuery] BNestmatManageQueryDto parm  )
        {
            parm.PageSize = 10000;

            var list = _BNestmatManageService.GetList(parm).Result;
            var matCodes = list.Select(w => w.MatCode).Distinct().ToList();

            var map = _iBMaterialService.GetList(matCodes); 

            List<ExportDto> export = new List<ExportDto>();

            foreach (var item in list)
            {
                List<BPlanBatch> batchPlans = null;

                var bMaterial = map.Where(w => w.MatCode == item.MatCode).FirstOrDefault();
                if (bMaterial != null)
                {
                    batchPlans = _BPlanBatchService.GetListByMaterialId(bMaterial.MatId.GetValueOrDefault());
                }

                if (batchPlans != null && batchPlans.Count > 0)
                {
                    int sum = 0;
                    for (int i = (batchPlans.Count) - 1; i >= 0; i--)
                    {
                        sum = (int)(sum + batchPlans[i].Count);
                        export.Add(new ExportDto()
                        {
                            MatCode = item.MatCode,
                            MatName = item.MatName,
                            MatType = item.MatType,
                            Ismain = item.Ismain,
                            BasicunitQty = item.BasicunitQty,
                            TheoryQty = item.TheoryQty,
                            MatQty = item.MatQty,
                            MatTime = item.MatTime,
                            Hint = item.Hint,
                            MaterialName = batchPlans[i].MaterialName,
                            WarehouseId = batchPlans[i].WarehouseId,
                            CellId = batchPlans[i].CellId,
                            BOXCODE = batchPlans[i].BOXCODE,
                            BatchNo = batchPlans[i].BatchNo,
                            Count = batchPlans[i].Count
                        });
                        if (sum >= item.MatQty)
                        {
                            break;
                        }
                    }
                }
                else
                {
                    export.Add(new ExportDto()
                    {
                        MatCode = item.MatCode,
                        MatName = item.MatName,
                        MatType = item.MatType,
                        Ismain = item.Ismain,
                        BasicunitQty = item.BasicunitQty,
                        TheoryQty = item.TheoryQty,
                        MatQty = item.MatQty,
                        MatTime = item.MatTime,
                        Hint = item.Hint
                    });
                }
            }



            string sFileName = ExportExcel(export, "BNestmatManage", "配套料管理");
            return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName });
        }

     
    }
}
9.拆分工单前端判断
  // 拆单
    spiltWorkOrder() {
      if (this.selectedRow === null || this.selectedRow === undefined) {
        alert('没有选择订单')
        return
      }

      spiltWorkOrder({ Code: this.selectedRow.orderNo }).then((res) => {
        if (res.code === 200) {
          alert('拆单成功')
          this.getList()
        } else {
          alert(res.msg)
        }
      })
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是貔貅喔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值