BreedController.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. package com.huimv.guowei.admin.controller;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.huimv.guowei.admin.common.utils.Result;
  5. import com.huimv.guowei.admin.common.utils.ResultCode;
  6. import com.huimv.guowei.admin.entity.BaseDuckInfo;
  7. import com.huimv.guowei.admin.entity.Breed;
  8. import com.huimv.guowei.admin.entity.Departure;
  9. import com.huimv.guowei.admin.entity.DuckHealthInfo;
  10. import com.huimv.guowei.admin.service.IBaseDuckInfoService;
  11. import com.huimv.guowei.admin.service.IBreedService;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.*;
  14. import org.springframework.web.multipart.MultipartFile;
  15. import javax.servlet.http.HttpServletRequest;
  16. import java.text.ParseException;
  17. import java.text.SimpleDateFormat;
  18. import java.util.Date;
  19. import java.util.HashMap;
  20. import java.util.Map;
  21. /**
  22. * <p>
  23. * 前端控制器
  24. * </p>
  25. *
  26. * @author author
  27. * @since 2023-06-14
  28. */
  29. @RestController
  30. @RequestMapping("/breed")
  31. @CrossOrigin
  32. public class BreedController {
  33. @Autowired
  34. private IBreedService breedService;
  35. @Autowired
  36. private IBaseDuckInfoService duckInfoService;
  37. @RequestMapping("/list")
  38. public Result listById(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
  39. return breedService.list(httpServletRequest, paramsMap);
  40. }
  41. @RequestMapping("/listByDuckId")
  42. public Result listByDuckId(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
  43. String id = paramsMap.get("id");
  44. return new Result(ResultCode.SUCCESS,breedService.getById(id));
  45. }
  46. @RequestMapping("/listSelect")
  47. public Result listSelect(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
  48. return breedService.listSelect(httpServletRequest, paramsMap);
  49. }
  50. @RequestMapping("/listByChiNum")
  51. public Result listByChiNum(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
  52. return breedService.listByChiNum(httpServletRequest, paramsMap);
  53. }
  54. @RequestMapping("/addDuck")
  55. public Result addDuck(HttpServletRequest httpServletRequest, @RequestBody Breed breed) throws ParseException {
  56. Date healthDate = breed.getDate();//发病时间
  57. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  58. Date date = new Date();
  59. String format = sdf.format(date);
  60. Date parse = sdf.parse(format);//今天日期
  61. if (healthDate.getTime() > parse.getTime()) {
  62. return new Result(10001, "配种日期不能晚于今日", false);
  63. }
  64. String maleNum = breed.getMaleNum();//雄鸭
  65. String femaleNum = breed.getFemaleNum();//雌鸭
  66. QueryWrapper<BaseDuckInfo> queryWrapper = new QueryWrapper<>();
  67. queryWrapper.eq("farm_id", breed.getFarmId()).eq("duck_num", maleNum);
  68. BaseDuckInfo duckInfo = duckInfoService.getOne(queryWrapper);//雄鸭
  69. QueryWrapper<BaseDuckInfo> queryWrapper1 = new QueryWrapper<>();
  70. queryWrapper1.eq("farm_id", breed.getFarmId()).eq("duck_num", femaleNum);
  71. BaseDuckInfo duckInfo1 = duckInfoService.getOne(queryWrapper1);//雌鸭
  72. if (ObjectUtil.isNotEmpty(duckInfo)) {
  73. if (duckInfo.getDuckSex() == 0) {
  74. breed.setMaleNum(maleNum);
  75. breed.setMaleChiNum(duckInfo.getChiNum());
  76. breed.setMaleJiaoNum(duckInfo.getJiaoNum());
  77. } else {
  78. return new Result(10001, "雌鸭编号不能填入雄鸭配种中!", false);
  79. }
  80. if (duckInfo.getIsCage() == 1) {
  81. return new Result(10001, "该鸭只已离场", false);
  82. }
  83. if (duckInfo.getDayAge() < 100) {
  84. return new Result(10001, "父亲(或母亲)鸭只日龄小于100天!", false);
  85. }
  86. }else {
  87. return new Result(10001, "无此编号雄鸭!", false);
  88. }
  89. if (ObjectUtil.isNotEmpty(duckInfo1)) {
  90. if (duckInfo1.getDuckSex() == 1) {
  91. breed.setFemaleNum(femaleNum);
  92. breed.setFemaleChiNum(duckInfo1.getChiNum());
  93. breed.setFemaleJiaoNum(duckInfo1.getJiaoNum());
  94. } else {
  95. return new Result(10001, "雄鸭编号不能填入雌鸭配种中!", false);
  96. }
  97. if (duckInfo1.getIsCage() == 1) {
  98. return new Result(10001, "该鸭只已离场", false);
  99. }
  100. if (duckInfo1.getDayAge() < 100) {
  101. return new Result(10001, "父亲(或母亲)鸭只日龄小于100天!", false);
  102. }
  103. } else {
  104. return new Result(10001, "无此编号雌鸭!", false);
  105. }
  106. breedService.save(breed);
  107. return new Result(10000, "添加成功!", true);
  108. }
  109. @RequestMapping("/editDuck")
  110. public Result editDuck(HttpServletRequest httpServletRequest, @RequestBody Breed breed) {
  111. breedService.updateById(breed);
  112. return new Result(10000, "修改成功!", true);
  113. }
  114. @RequestMapping("/deleteDuck")
  115. public Result deleteDuck(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
  116. String id = paramsMap.get("id");
  117. breedService.removeById(id);
  118. return new Result(10000, "删除成功!", true);
  119. }
  120. //excel导入
  121. @PostMapping("/importData")
  122. public Result addDuck(HttpServletRequest httpServletRequest, @RequestParam(name = "file") MultipartFile file) throws Exception {
  123. return breedService.importData(httpServletRequest, file);
  124. }
  125. }