maochaoying 2 years ago
parent
commit
52a3f57c99
  1. 24
      src/constant/constant.js
  2. 12
      src/controller/chicken.controller.js
  3. 5
      src/router/chicken.route.js
  4. 24
      src/service/chicken.service.js

24
src/constant/constant.js

@ -0,0 +1,24 @@
const { Op } = require("sequelize");
const DATE_FILTER = {
0: null,
1: {
[Op.lt]: new Date(),
[Op.gt]: new Date(new Date() - 3 * 24 * 60 * 60 * 1000),
},
2: {
[Op.lt]: new Date(),
[Op.gt]: new Date(new Date() - 7 * 24 * 60 * 60 * 1000),
},
3: {
[Op.lt]: new Date(),
[Op.gt]: new Date(new Date() - 30 * 24 * 60 * 60 * 1000),
},
4: {
[Op.lt]: new Date(),
[Op.gt]: new Date(new Date() - 60 * 24 * 60 * 60 * 1000),
},
};
module.exports = {
DATE_FILTER,
};

12
src/controller/chicken.controller.js

@ -1,6 +1,7 @@
const { const {
addChicken, addChicken,
getChickenInfoById, getChickenInfoById,
getAllChickenInfo,
} = require("../service/chicken.service"); } = require("../service/chicken.service");
const Response = require("../utils/response"); const Response = require("../utils/response");
@ -37,6 +38,17 @@ class ChickenController {
const res = await getChickenInfoById(id, log_name); const res = await getChickenInfoById(id, log_name);
ctx.body = Response(0, "查询单个新进记录成功", res); ctx.body = Response(0, "查询单个新进记录成功", res);
} }
async all(ctx, next) {
const { batch_number, coop_ids, put_time, house_id } = ctx.request.body;
const res = await getAllChickenInfo(
batch_number,
coop_ids,
put_time,
house_id
);
ctx.body = Response(0, "查询新进记录成功", res);
}
} }
module.exports = new ChickenController(); module.exports = new ChickenController();

5
src/router/chicken.route.js

@ -3,11 +3,14 @@ const Router = require("koa-router");
const router = new Router({ prefix: "/chicken" }); const router = new Router({ prefix: "/chicken" });
const { auth, hasAdminPermission } = require("../middleware/auth.middleware"); const { auth, hasAdminPermission } = require("../middleware/auth.middleware");
const { add, info } = require("../controller/chicken.controller");
const { add, info, all } = require("../controller/chicken.controller");
router.post("/add", auth, add); router.post("/add", auth, add);
// 根据id获取新进鸡苗记录详情。 // 根据id获取新进鸡苗记录详情。
router.get("/info", auth, info); router.get("/info", auth, info);
// 根据条件查询新进记录
router.post("/all", auth, all);
module.exports = router; module.exports = router;

24
src/service/chicken.service.js

@ -4,6 +4,8 @@ const { getHouseById } = require("./house.service");
const { getFactoryById } = require("./factory.service"); const { getFactoryById } = require("./factory.service");
const { getVarietyById } = require("./variety.service"); const { getVarietyById } = require("./variety.service");
const { getBatchCoopByIds } = require("./coop.service"); const { getBatchCoopByIds } = require("./coop.service");
const { Op } = require("sequelize");
const { DATE_FILTER } = require("../constant/constant");
class ChickenService { class ChickenService {
async addChicken( async addChicken(
house_id, house_id,
@ -54,6 +56,28 @@ class ChickenService {
} }
return null; return null;
} }
async getAllChickenInfo(
batch_number = "",
coop_ids,
put_time = "0",
house_id
) {
let selectObj = {
batch_number: {
[Op.like]: `%${batch_number}%`,
},
};
house_id && Object.assign(selectObj, { house_id });
DATE_FILTER[put_time] &&
Object.assign(selectObj, { put_time: DATE_FILTER[put_time] });
const res = await Chicken.findAll({
where: selectObj,
});
// 根据coop_ids进行筛选一次
return res;
}
} }
module.exports = new ChickenService(); module.exports = new ChickenService();
Loading…
Cancel
Save