maochaoying 2 years ago
parent
commit
41d0d0ddfe
  1. 7
      src/controller/die.controller.js
  2. 10
      src/router/die.route.js
  3. 40
      src/service/die.service.js

7
src/controller/die.controller.js

@ -3,6 +3,7 @@ const {
getDieInfoById,
getAllDieInfo,
getDieDetail,
getDefaultDieInfoByCoopId,
} = require("../service/die.service");
const Response = require("../utils/response");
@ -37,6 +38,12 @@ class DieController {
const res = await getDieDetail(house_id, coop_id);
ctx.body = Response(0, "查询死淘详情成功", res);
}
async defaultInfo(ctx, next) {
const { coop_id, house_id } = ctx.request.body;
const res = await getDefaultDieInfoByCoopId(coop_id, house_id);
ctx.body = Response(0, "查询默认死淘信息成功", res);
}
}
module.exports = new DieController();

10
src/router/die.route.js

@ -3,7 +3,13 @@ const Router = require("koa-router");
const router = new Router({ prefix: "/die" });
const { auth, hasAdminPermission } = require("../middleware/auth.middleware");
const { add, info, all, detail } = require("../controller/die.controller");
const {
add,
info,
all,
detail,
defaultInfo,
} = require("../controller/die.controller");
router.post("/add", auth, add);
@ -16,4 +22,6 @@ router.post("/all", auth, all);
// 获取死淘详情数据
router.post("/detail", auth, detail);
router.post("/default", auth, defaultInfo);
module.exports = router;

40
src/service/die.service.js

@ -1,7 +1,11 @@
const Die = require("../model/die.model");
const Chicken = require("../model/chicken.model");
const { Op } = require("sequelize");
const { getChickenByCoopIdAndHouseId } = require("./chicken.service");
const { getCoopById } = require("./coop.service");
const { getFactoryById } = require("./factory.service");
const { getDayLife } = require("../utils/common");
const { getAccountInfo } = require("./account.service");
class DieService {
async addDieLog(house_id, coop_id, reason_id, die_number, put_time) {
const res = await Die.create({
@ -95,6 +99,42 @@ class DieService {
const arr = res?.map((item) => item.dataValues);
return arr;
}
async getDefaultDieInfoByCoopId(coop_id, house_id) {
// 根据coop ID查询 新建死淘记录时的默认回显信息
const res = await Chicken.findOne({
where: {
house_id,
coop_id: {
[Op.like]: `%${coop_id}%`,
},
},
});
if (res) {
// 死淘数量不大于进鸡数量-之前录入的该舍死淘数量
const dieInfos = await Die.findAll({
coop_id,
house_id,
});
const dieArr = dieInfos.map((item) => item.dataValues);
let dieTotal = 0;
dieArr.map((item) => {
dieTotal += item.die_number;
});
res.dataValues.max_die_number = res.dataValues.chicken_number - dieTotal;
// 默认鸡苗日龄为录入时间-进鸡时间
res.dataValues.day_life = getDayLife(new Date(), res.dataValues.put_time);
// 鸡苗厂家/记录人
const factoryInfo = await getFactoryById(res.dataValues.factory_id);
res.dataValues.factoryInfo = factoryInfo;
const accountInfo = await getAccountInfo({
id: res.dataValues.log_user_id,
});
res.dataValues.log_user = accountInfo.name;
return res.dataValues;
}
return null;
}
}
module.exports = new DieService();
Loading…
Cancel
Save