后端接口笔记
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 )
{
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)
}
})
},