maochaoying 2 years ago
parent
commit
7414688ab8
  1. 42
      src/controller/chicken.controller.js
  2. 11
      src/controller/factory.controller.js
  3. 11
      src/controller/variety.controller.js
  4. 6
      src/model/chicken.model.js
  5. 13
      src/router/chicken.route.js
  6. 10
      src/router/factory.route.js
  7. 10
      src/router/variety.model.js
  8. 5
      src/service/account.service.js
  9. 59
      src/service/chicken.service.js
  10. 13
      src/service/coop.service.js
  11. 19
      src/service/factory.service.js
  12. 19
      src/service/variety.service.js
  13. 14
      src/test/someFunc.js
  14. 13
      src/utils/common.js

42
src/controller/chicken.controller.js

@ -0,0 +1,42 @@
const {
addChicken,
getChickenInfoById,
} = require("../service/chicken.service");
const Response = require("../utils/response");
class ChickenController {
async add(ctx, next) {
const {
house_id,
coop_id,
put_time,
variety_id,
chicken_number,
chicken_day_life,
chicken_counter_balance,
factory_id,
} = ctx.request.body;
const { id: log_user_id } = ctx.state.user;
const res = await addChicken(
house_id,
coop_id,
put_time,
variety_id,
chicken_number,
chicken_day_life,
chicken_counter_balance,
factory_id,
log_user_id
);
ctx.body = Response(0, "新进记录成功", res);
}
async info(ctx, next) {
const { id } = ctx.request.query;
const { name: log_name } = ctx.state.user;
const res = await getChickenInfoById(id, log_name);
ctx.body = Response(0, "查询单个新进记录成功", res);
}
}
module.exports = new ChickenController();

11
src/controller/factory.controller.js

@ -0,0 +1,11 @@
const { getAllFactory } = require("../service/factory.service");
const Response = require("../utils/response");
class FactoryController {
async list(ctx, next) {
const res = await getAllFactory();
ctx.body = Response(0, "获取鸡苗厂家成功", res);
}
}
module.exports = new FactoryController();

11
src/controller/variety.controller.js

@ -0,0 +1,11 @@
const { getAllVariety } = require("../service/variety.service");
const Response = require("../utils/response");
class VarietyController {
async list(ctx, next) {
const res = await getAllVariety();
ctx.body = Response(0, "获取鸡苗品种成功", res);
}
}
module.exports = new VarietyController();

6
src/model/chicken.model.js

@ -15,6 +15,12 @@ const Chicken = seq.define("chicken_chicken", {
allowNull: false,
comment: "鸡舍id, 可多选",
},
put_time: {
type: DataTypes.DATE,
allowNull: false,
defaultValue: DataTypes.NOW,
comment: "进鸡时间",
},
variety_id: {
type: DataTypes.INTEGER,
allowNull: false,

13
src/router/chicken.route.js

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

10
src/router/factory.route.js

@ -0,0 +1,10 @@
const Router = require("koa-router");
const router = new Router({ prefix: "/factory" });
const { auth } = require("../middleware/auth.middleware");
const { list } = require("../controller/factory.controller");
router.get("/list", auth, list);
module.exports = router;

10
src/router/variety.model.js

@ -0,0 +1,10 @@
const Router = require("koa-router");
const router = new Router({ prefix: "/variety" });
const { auth } = require("../middleware/auth.middleware");
const { list } = require("../controller/variety.controller");
router.get("/list", auth, list);
module.exports = router;

5
src/service/account.service.js

@ -9,13 +9,14 @@ class AccountService {
return res.dataValues;
}
async getAccountInfo({ id, username, role }) {
async getAccountInfo({ id, username, role, name }) {
const whereOpt = {};
id && Object.assign(whereOpt, { id });
username && Object.assign(whereOpt, { username });
role && Object.assign(whereOpt, { role });
name && Object.assign(whereOpt, { name });
const res = await Account.findOne({
attributes: ["id", "username", "role", "name"],
attributes: ["id", "username", "role", "name", "password"],
where: whereOpt,
});
return res ? res.dataValues : null;

59
src/service/chicken.service.js

@ -0,0 +1,59 @@
const Chicken = require("../model/chicken.model");
const { generateSerialNumber } = require("../utils/common");
const { getHouseById } = require("./house.service");
const { getFactoryById } = require("./factory.service");
const { getVarietyById } = require("./variety.service");
const { getBatchCoopByIds } = require("./coop.service");
class ChickenService {
async addChicken(
house_id,
coop_id,
put_time,
variety_id,
chicken_number,
chicken_day_life,
chicken_counter_balance,
factory_id,
log_user_id
) {
const batch_number = generateSerialNumber();
const res = await Chicken.create({
house_id,
coop_id: coop_id.join(","),
put_time,
variety_id,
chicken_number,
chicken_day_life,
chicken_counter_balance,
factory_id,
log_user_id,
batch_number,
});
console.log(res);
return res ? res.dataValues : null;
}
async getChickenInfoById(id, log_name) {
const res = await Chicken.findOne({
where: {
id,
},
});
if (res) {
const someId = res.dataValues;
const houseInfo = await getHouseById(someId.house_id);
const factoryName = await getFactoryById(someId.factory_id);
const varietyName = await getVarietyById(someId.variety_id);
const allCoops = await getBatchCoopByIds(someId.coop_id.split(","));
someId.houseName = houseInfo.house_name;
someId.log_name = log_name;
someId.factoryName = factoryName;
someId.varietyName = varietyName;
someId.allCoops = allCoops;
return someId;
}
return null;
}
}
module.exports = new ChickenService();

13
src/service/coop.service.js

@ -1,3 +1,4 @@
const { Op } = require("sequelize");
const Coop = require("../model/coop.model");
const { getHouseById } = require("./house.service");
class CoopService {
@ -46,6 +47,18 @@ class CoopService {
return null;
}
async getBatchCoopByIds(ids) {
const res = await Coop.findAll({
where: {
id: {
[Op.in]: ids,
},
},
});
const arr = res.map((item) => item.dataValues);
return arr;
}
async updateCoop(coop_name, coop_cage_number, chicken_number, house_id, id) {
const res = await Coop.update(
{

19
src/service/factory.service.js

@ -0,0 +1,19 @@
const Factory = require("../model/factory.model");
class FactoryService {
async getAllFactory() {
const res = await Factory.findAll();
const arr = res.map((item) => item.dataValues);
return arr;
}
async getFactoryById(id) {
const whereOpt = {};
id && Object.assign(whereOpt, { id });
const res = await Factory.findOne({
where: whereOpt,
});
return res ? res.dataValues : null;
}
}
module.exports = new FactoryService();

19
src/service/variety.service.js

@ -0,0 +1,19 @@
const Variety = require("../model/variety.model");
class VarietyService {
async getAllVariety() {
const res = await Variety.findAll();
const arr = res.map((item) => item.dataValues);
return arr;
}
async getVarietyById(id) {
const whereOpt = {};
id && Object.assign(whereOpt, { id });
const res = await Variety.findOne({
where: whereOpt,
});
return res ? res.dataValues : null;
}
}
module.exports = new VarietyService();

14
src/test/someFunc.js

@ -0,0 +1,14 @@
function generateSerialNumber() {
const now = new Date();
const year = now.getFullYear(); //得到年份
const month = now.getMonth() + 1; //得到月份
const date = now.getDate(); //得到日期
const hour = now.getHours(); //得到小时数
const minute = now.getMinutes(); //得到分钟数
const second = now.getSeconds(); //得到秒数
const time = now.getTime();
return `${year}${month}${date}${hour}${minute}${second}${time}`;
}
const res = generateSerialNumber();
console.log(res);

13
src/utils/common.js

@ -7,6 +7,19 @@ function isJsonString(str) {
return true;
}
function generateSerialNumber() {
const now = new Date();
const year = now.getFullYear(); //得到年份
const month = now.getMonth() + 1; //得到月份
const date = now.getDate(); //得到日期
const hour = now.getHours(); //得到小时数
const minute = now.getMinutes(); //得到分钟数
const second = now.getSeconds(); //得到秒数
const time = now.getTime();
return `${year}${month}${date}${hour}${minute}${second}${time}`;
}
module.exports = {
isJsonString,
generateSerialNumber,
};
Loading…
Cancel
Save