maochaoying 2 years ago
parent
commit
5b75e7904c
  1. 14
      src/controller/chicken.controller.js
  2. 6
      src/controller/feedConversion.controller.js
  3. 6
      src/model/coop.model.js
  4. 38
      src/model/feedConversion.model.js
  5. 5
      src/router/chicken.route.js
  6. 8
      src/router/feedConversion.route.js
  7. 29
      src/service/chicken.service.js
  8. 4
      src/service/feedConversion.service.js

14
src/controller/chicken.controller.js

@ -3,7 +3,9 @@ const {
getChickenInfoById, getChickenInfoById,
getAllChickenInfo, getAllChickenInfo,
getChickenInfoByHouseId, getChickenInfoByHouseId,
getBatchNumbers,
getBatchNumbersByHouseId, getBatchNumbersByHouseId,
getNoRatioCoopsByBatchNumber,
getFeedConversionRatio, getFeedConversionRatio,
} = require("../service/chicken.service"); } = require("../service/chicken.service");
const Response = require("../utils/response"); const Response = require("../utils/response");
@ -65,12 +67,24 @@ class ChickenController {
ctx.body = Response(0, "查询批次号简易信息成功", res); ctx.body = Response(0, "查询批次号简易信息成功", res);
} }
async allbatch(ctx, next) {
const { house_id } = ctx.request.query;
const res = await getBatchNumbers(house_id);
ctx.body = Response(0, "查询所有未出栏批次号成功", res);
}
// 获取料肉比 // 获取料肉比
async ratio(ctx, next) { async ratio(ctx, next) {
const { house_id } = ctx.request.query; const { house_id } = ctx.request.query;
const res = await getFeedConversionRatio(house_id); const res = await getFeedConversionRatio(house_id);
ctx.body = Response(0, "查询料肉比成功", res); ctx.body = Response(0, "查询料肉比成功", res);
} }
async noratioCoops(ctx, next) {
const { batch_number } = ctx.request.body;
const res = await getNoRatioCoopsByBatchNumber(batch_number);
ctx.body = Response(0, "查询当前批次号下没有料肉比记录的鸡舍成功", res);
}
} }
module.exports = new ChickenController(); module.exports = new ChickenController();

6
src/controller/feedConversion.controller.js

@ -0,0 +1,6 @@
const {} = require("../service/feedConversion.service");
const Response = require("../utils/response");
class FeedConversionController {}
module.exports = new FeedConversionController();

6
src/model/coop.model.js

@ -30,6 +30,12 @@ const Coop = seq.define("chicken_coop", {
defaultValue: 1, defaultValue: 1,
comment: "是否为空舍,1为空,0为非空", comment: "是否为空舍,1为空,0为非空",
}, },
feed_conversion: {
type: DataTypes.DOUBLE,
allowNull: true,
defaultValue: null,
comment: "料肉比",
},
}); });
// 强制同步数据库(创建数据表) // 强制同步数据库(创建数据表)

38
src/model/feedConversion.model.js

@ -0,0 +1,38 @@
const { DataTypes } = require("sequelize");
const seq = require("../db/seq");
const FeedConversion = seq.define("chicken_feed_conversion", {
// id 会被sequelize自动创建, 管理
batch_id: {
type: DataTypes.STRING,
allowNull: false,
comment: "批次号",
},
coop_id: {
type: DataTypes.INTEGER,
allowNull: false,
unique: true,
comment: "鸡舍id",
},
fodder_total: {
type: DataTypes.INTEGER,
allowNull: false,
comment: "饲料总数",
},
weight_increment: {
type: DataTypes.INTEGER,
allowNull: false,
comment: "增重总量",
},
log_user_id: {
type: DataTypes.INTEGER,
allowNull: false,
comment: "记录人",
},
});
// 强制同步数据库(创建数据表)
// FeedConversion.sync({ force: true });
module.exports = FeedConversion;

5
src/router/chicken.route.js

@ -13,6 +13,8 @@ const {
batchs, batchs,
batchnum, batchnum,
ratio, ratio,
noratioCoops,
allbatch,
} = require("../controller/chicken.controller"); } = require("../controller/chicken.controller");
router.post("/add", auth, verifyChickenNumberRightful, add); router.post("/add", auth, verifyChickenNumberRightful, add);
@ -20,6 +22,7 @@ router.post("/add", auth, verifyChickenNumberRightful, add);
// 根据id获取新进鸡苗记录详情。 // 根据id获取新进鸡苗记录详情。
router.get("/info", auth, info); router.get("/info", auth, info);
router.get("/allbatch", auth, allbatch);
// 根据条件查询新进记录 // 根据条件查询新进记录
router.post("/all", auth, all); router.post("/all", auth, all);
@ -29,4 +32,6 @@ router.get("/batchnum", auth, batchnum);
router.get("/ratio", auth, ratio); router.get("/ratio", auth, ratio);
router.post("/coops/noratio", auth, noratioCoops);
module.exports = router; module.exports = router;

8
src/router/feedConversion.route.js

@ -0,0 +1,8 @@
const Router = require("koa-router");
const router = new Router({ prefix: "/ratio" });
const { auth, hasAdminPermission } = require("../middleware/auth.middleware");
const {} = require("../controller/feedConversion.controller");
module.exports = router;

29
src/service/chicken.service.js

@ -86,7 +86,6 @@ class ChickenService {
const res = await Chicken.findAll({ const res = await Chicken.findAll({
where: { where: {
house_id, house_id,
// is_marketed: 0,
}, },
}); });
const arr = res.map((item) => item.dataValues); const arr = res.map((item) => item.dataValues);
@ -237,6 +236,34 @@ class ChickenService {
return result; return result;
} }
async getBatchNumbers(house_id) {
try {
const res = await Chicken.findAll({
where: {
house_id,
is_marketed: 0, // 未出栏
},
});
const arr = res?.map((item) => item.dataValues);
return arr;
} catch (error) {
console.log(error);
}
}
async getNoRatioCoopsByBatchNumber(batch_number) {
const res = await Chicken.findOne({
where: {
batch_number,
},
});
const coop_id_str = res?.dataValues?.coop_id;
const coop_ids = coop_id_str.split(",");
const coopInfoList = await getBatchCoopByIds(coop_ids);
const arr = coopInfoList.filter((item) => !item.feed_conversion);
return arr;
}
async getFeedConversionRatio(house_id) { async getFeedConversionRatio(house_id) {
const res = await Chicken.findAll({ const res = await Chicken.findAll({
where: { where: {

4
src/service/feedConversion.service.js

@ -0,0 +1,4 @@
const FeedConversion = require("../model/feedConversion.model");
class FeedConversionService {}
module.exports = new FeedConversionService();
Loading…
Cancel
Save