maochaoying 2 years ago
parent
commit
422db1fe68
  1. 7
      src/controller/die.controller.js
  2. 3
      src/router/die.route.js
  3. 46
      src/service/die.service.js

7
src/controller/die.controller.js

@ -4,6 +4,7 @@ const {
getAllDieInfo, getAllDieInfo,
getDieDetail, getDieDetail,
getDefaultDieInfoByCoopId, getDefaultDieInfoByCoopId,
getExtraDieInfoById,
} = require("../service/die.service"); } = require("../service/die.service");
const Response = require("../utils/response"); const Response = require("../utils/response");
@ -44,6 +45,12 @@ class DieController {
const res = await getDefaultDieInfoByCoopId(coop_id, house_id); const res = await getDefaultDieInfoByCoopId(coop_id, house_id);
ctx.body = Response(0, "查询默认死淘信息成功", res); ctx.body = Response(0, "查询默认死淘信息成功", res);
} }
async extra(ctx, next) {
const { id } = ctx.request.query;
const res = await getExtraDieInfoById(id);
ctx.body = Response(0, "查询该天的死淘信息成功", res);
}
} }
module.exports = new DieController(); module.exports = new DieController();

3
src/router/die.route.js

@ -9,6 +9,7 @@ const {
all, all,
detail, detail,
defaultInfo, defaultInfo,
extra,
} = require("../controller/die.controller"); } = require("../controller/die.controller");
router.post("/add", auth, add); router.post("/add", auth, add);
@ -24,4 +25,6 @@ router.post("/detail", auth, detail);
router.post("/default", auth, defaultInfo); router.post("/default", auth, defaultInfo);
router.get("/extra", auth, extra);
module.exports = router; module.exports = router;

46
src/service/die.service.js

@ -6,6 +6,7 @@ const { getCoopById } = require("./coop.service");
const { getFactoryById } = require("./factory.service"); const { getFactoryById } = require("./factory.service");
const { getDayLife } = require("../utils/common"); const { getDayLife } = require("../utils/common");
const { getAccountInfo } = require("./account.service"); const { getAccountInfo } = require("./account.service");
const { getReasonById } = require("./reason.service");
const moment = require("moment"); const moment = require("moment");
class DieService { class DieService {
async addDieLog(house_id, coop_id, reason_id, die_number, put_time) { async addDieLog(house_id, coop_id, reason_id, die_number, put_time) {
@ -107,13 +108,28 @@ class DieService {
arr.map((item) => { arr.map((item) => {
const t = moment(item.put_time).format("YYYY-MM-DD"); const t = moment(item.put_time).format("YYYY-MM-DD");
if (obj[t]) { if (obj[t]) {
obj[t] = obj[t] + item.die_number;
obj[t] = {
id: item.id,
value: obj[t].value + item.die_number,
};
} else { } else {
obj[t] = item.die_number;
obj[t] = {
value: item.die_number,
id: item.id,
};
} }
}); });
const denominator = Object.keys(obj).length;
const molecule = Object.values(obj)
.map((item) => item.value)
.reduce((a, b) => a + b, 0);
let average_die = 0;
if (denominator != 0) {
average_die = molecule / denominator;
}
return { return {
list: arr, list: arr,
average_die,
xData: Object.keys(obj), xData: Object.keys(obj),
yData: Object.values(obj), yData: Object.values(obj),
batch_number: chickenInfo.batch_number, batch_number: chickenInfo.batch_number,
@ -175,6 +191,32 @@ class DieService {
}); });
return total; return total;
} }
async getExtraDieInfoById(id) {
const res = await Die.findOne({
where: {
id,
},
});
if (res) {
const reasonInfo = await getReasonById(res.dataValues.reason_id);
res.dataValues.reasonInfo = reasonInfo;
// 根据双id查询chicken表
const chickenInfo = await getChickenByCoopIdAndHouseId(
res.dataValues.coop_id,
res.dataValues.house_id
);
const factoryInfo = await getFactoryById(chickenInfo.factory_id);
res.dataValues.die_rate =
res.dataValues.die_number / chickenInfo.chicken_number;
res.dataValues.day_life = getDayLife(new Date(), chickenInfo.put_time);
res.dataValues.factoryInfo = factoryInfo;
const userInfo = await getAccountInfo(chickenInfo.log_user_id);
res.dataValues.log_user = userInfo.name;
return res.dataValues;
}
return null;
}
} }
module.exports = new DieService(); module.exports = new DieService();
Loading…
Cancel
Save