diff --git a/src/controller/factory.controller.js b/src/controller/factory.controller.js index c137324..45c449e 100644 --- a/src/controller/factory.controller.js +++ b/src/controller/factory.controller.js @@ -20,7 +20,11 @@ class FactoryController { async deleteItem(ctx, next) { const { id } = ctx.request.body; const res = await deleteFactoryById(id); - ctx.body = Response(0, "删除鸡苗厂家成功", res); + if (res) { + ctx.body = Response(0, "删除鸡苗厂家成功", res); + } else { + ctx.body = Response(500, "存在进鸡厂家为该厂家,不可删除", res); + } } } diff --git a/src/controller/reason.controller.js b/src/controller/reason.controller.js index 0a72c3d..72a2c27 100644 --- a/src/controller/reason.controller.js +++ b/src/controller/reason.controller.js @@ -19,7 +19,11 @@ class ReasonController { async deleteItem(ctx, next) { const { id } = ctx.request.body; const res = await deleteReasonById(id); - ctx.body = Response(0, "删除死亡原因成功", res); + if (res) { + ctx.body = Response(0, "删除死亡原因成功", res); + } else { + ctx.body = Response(500, "存在死淘记录使用了该死亡原因,不可删除", res); + } } } diff --git a/src/controller/variety.controller.js b/src/controller/variety.controller.js index f0f99d7..643a31b 100644 --- a/src/controller/variety.controller.js +++ b/src/controller/variety.controller.js @@ -20,7 +20,11 @@ class VarietyController { async deleteItem(ctx, next) { const { id } = ctx.request.body; const res = await deleteVarietyById(id); - ctx.body = Response(0, "删除鸡苗品种成功", res); + if (res) { + ctx.body = Response(0, "删除鸡苗品种成功", res); + } else { + ctx.body = Response(500, "存在进鸡为该品种,不可删除", res); + } } } diff --git a/src/service/factory.service.js b/src/service/factory.service.js index 0973dfa..dc87c49 100644 --- a/src/service/factory.service.js +++ b/src/service/factory.service.js @@ -1,4 +1,5 @@ const Factory = require("../model/factory.model"); +const Chicken = require("../model/chicken.model"); class FactoryService { async getAllFactory() { const res = await Factory.findAll(); @@ -33,6 +34,16 @@ class FactoryService { } async deleteFactoryById(id) { + const whereOpt = { is_marketed: 0, factory_id: id }; + const chickInfo = await Chicken.findAll({ + where: whereOpt, + }); + if (chickInfo) { + const arr = chickInfo.map((item) => item.dataValues); + if (arr.length > 0) { + return false; + } + } const res = await Factory.destroy({ where: { id, diff --git a/src/service/reason.service.js b/src/service/reason.service.js index 04c7292..9c4304f 100644 --- a/src/service/reason.service.js +++ b/src/service/reason.service.js @@ -1,4 +1,5 @@ const Reason = require("../model/reason.model"); +const Die = require("../model/die.model"); class ReasonService { async getAllReason() { const res = await Reason.findAll(); @@ -32,6 +33,16 @@ class ReasonService { } async deleteReasonById(id) { + const whereOpt = { reason_id: id }; + const dieInfo = await Die.findAll({ + where: whereOpt, + }); + if (dieInfo) { + const arr = dieInfo.map((item) => item.dataValues); + if (arr.length > 0) { + return false; + } + } const res = await Reason.destroy({ where: { id, diff --git a/src/service/variety.service.js b/src/service/variety.service.js index e95ec80..f122b13 100644 --- a/src/service/variety.service.js +++ b/src/service/variety.service.js @@ -1,4 +1,5 @@ const Variety = require("../model/variety.model"); +const Chicken = require("../model/chicken.model"); class VarietyService { async getAllVariety() { const res = await Variety.findAll(); @@ -32,6 +33,16 @@ class VarietyService { } async deleteVarietyById(id) { + const whereOpt = { is_marketed: 0, variety_id: id }; + const chickInfo = await Chicken.findAll({ + where: whereOpt, + }); + if (chickInfo) { + const arr = chickInfo.map((item) => item.dataValues); + if (arr.length > 0) { + return false; + } + } const res = await Variety.destroy({ where: { id,