|
@@ -83,49 +83,49 @@ public class JsReportController {
|
|
|
@PostMapping("/register")
|
|
@PostMapping("/register")
|
|
|
public AjaxResult register(@RequestBody List<JsDivideCircle> circles) {
|
|
public AjaxResult register(@RequestBody List<JsDivideCircle> circles) {
|
|
|
//根据提交的分圈登记,计算每个批次的剩余存栏量(每个猪圈的存栏量为0后视为该批次完结),然后决定猪圈状态和待宰栏中的该批次数据状态
|
|
//根据提交的分圈登记,计算每个批次的剩余存栏量(每个猪圈的存栏量为0后视为该批次完结),然后决定猪圈状态和待宰栏中的该批次数据状态
|
|
|
- for (JsDivideCircle circle : circles) {
|
|
|
|
|
- if (!ObjectUtils.isEmpty(circle.getEntranceBatchId()) && !ObjectUtils.isEmpty(circle.getSeriesNo())) {
|
|
|
|
|
- //先检索出同批次、同栏的历史记录,针对数量进行逻辑完整性校验,数量的变化过程,不能小于0,小于0就归零
|
|
|
|
|
- List<JsDivideCircle> records = jsDivideCircleMapper.selectList(new LambdaQueryWrapper<JsDivideCircle>()
|
|
|
|
|
- .eq(JsDivideCircle::getSeriesNo, circle.getSeriesNo())
|
|
|
|
|
- .eq(JsDivideCircle::getStatusFlag, "opened")
|
|
|
|
|
- .ge(JsDivideCircle::getAmount, circle.getAmount()));
|
|
|
|
|
- boolean isDuplicated = records.stream().anyMatch(item -> item.getAmount().equals(circle.getAmount()));
|
|
|
|
|
- if(circle.getAmount() > 0) {
|
|
|
|
|
- if (!ObjectUtils.isEmpty(records) && !isDuplicated) {
|
|
|
|
|
- circle.setStatusFlag("opened");
|
|
|
|
|
- circle.setId(null);
|
|
|
|
|
- //系统自动插入的数据,分圈时间设置为空
|
|
|
|
|
- circle.setDivideTime(null);
|
|
|
|
|
- circle.setCreateTime(new Date());
|
|
|
|
|
- jsDivideCircleMapper.insert(circle);
|
|
|
|
|
- }
|
|
|
|
|
- }else {
|
|
|
|
|
- if (!ObjectUtils.isEmpty(records)) {
|
|
|
|
|
- circle.setId(null);
|
|
|
|
|
- //系统自动插入的数据,分圈时间设置为空
|
|
|
|
|
- circle.setDivideTime(null);
|
|
|
|
|
- circle.setCreateTime(new Date());
|
|
|
|
|
- jsDivideCircleMapper.insert(circle);
|
|
|
|
|
- jsDivideCircleMapper.update(null, new LambdaUpdateWrapper<JsDivideCircle>()
|
|
|
|
|
- .eq(JsDivideCircle::getSeriesNo, circle.getSeriesNo())
|
|
|
|
|
- .eq(JsDivideCircle::getStatusFlag, "opened")
|
|
|
|
|
- .set(JsDivideCircle::getStatusFlag, "closed"));
|
|
|
|
|
- Pigpen pigpen = new Pigpen();
|
|
|
|
|
- pigpen.setId(circle.getPigpenId().longValue());
|
|
|
|
|
- pigpen.setIsUse(0);
|
|
|
|
|
- pigpenMapper.updatePigpen(pigpen);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- //保存完工报告记录
|
|
|
|
|
- JsReport jsReport = new JsReport();
|
|
|
|
|
- jsReport.setCreateTime(new Date());
|
|
|
|
|
- LoginUser loginUser = SecurityUtils.getLoginUser();
|
|
|
|
|
- jsReport.setUserName(Optional.ofNullable(loginUser.getUser())
|
|
|
|
|
- .map(SysUser::getNickName)
|
|
|
|
|
- .orElse("系统管理员"));
|
|
|
|
|
- return success(reportService.save(jsReport));
|
|
|
|
|
|
|
+// for (JsDivideCircle circle : circles) {
|
|
|
|
|
+// if (!ObjectUtils.isEmpty(circle.getEntranceBatchId()) && !ObjectUtils.isEmpty(circle.getSeriesNo())) {
|
|
|
|
|
+// //先检索出同批次、同栏的历史记录,针对数量进行逻辑完整性校验,数量的变化过程,不能小于0,小于0就归零
|
|
|
|
|
+// List<JsDivideCircle> records = jsDivideCircleMapper.selectList(new LambdaQueryWrapper<JsDivideCircle>()
|
|
|
|
|
+// .eq(JsDivideCircle::getSeriesNo, circle.getSeriesNo())
|
|
|
|
|
+// .eq(JsDivideCircle::getStatusFlag, "opened")
|
|
|
|
|
+// .ge(JsDivideCircle::getAmount, circle.getAmount()));
|
|
|
|
|
+// boolean isDuplicated = records.stream().anyMatch(item -> item.getAmount().equals(circle.getAmount()));
|
|
|
|
|
+// if(circle.getAmount() > 0) {
|
|
|
|
|
+// if (!ObjectUtils.isEmpty(records) && !isDuplicated) {
|
|
|
|
|
+// circle.setStatusFlag("opened");
|
|
|
|
|
+// circle.setId(null);
|
|
|
|
|
+// //系统自动插入的数据,分圈时间设置为空
|
|
|
|
|
+// circle.setDivideTime(null);
|
|
|
|
|
+// circle.setCreateTime(new Date());
|
|
|
|
|
+// jsDivideCircleMapper.insert(circle);
|
|
|
|
|
+// }
|
|
|
|
|
+// }else {
|
|
|
|
|
+// if (!ObjectUtils.isEmpty(records)) {
|
|
|
|
|
+// circle.setId(null);
|
|
|
|
|
+// //系统自动插入的数据,分圈时间设置为空
|
|
|
|
|
+// circle.setDivideTime(null);
|
|
|
|
|
+// circle.setCreateTime(new Date());
|
|
|
|
|
+// jsDivideCircleMapper.insert(circle);
|
|
|
|
|
+// jsDivideCircleMapper.update(null, new LambdaUpdateWrapper<JsDivideCircle>()
|
|
|
|
|
+// .eq(JsDivideCircle::getSeriesNo, circle.getSeriesNo())
|
|
|
|
|
+// .eq(JsDivideCircle::getStatusFlag, "opened")
|
|
|
|
|
+// .set(JsDivideCircle::getStatusFlag, "closed"));
|
|
|
|
|
+// Pigpen pigpen = new Pigpen();
|
|
|
|
|
+// pigpen.setId(circle.getPigpenId().longValue());
|
|
|
|
|
+// pigpen.setIsUse(0);
|
|
|
|
|
+// pigpenMapper.updatePigpen(pigpen);
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// //保存完工报告记录
|
|
|
|
|
+// JsReport jsReport = new JsReport();
|
|
|
|
|
+// jsReport.setCreateTime(new Date());
|
|
|
|
|
+// LoginUser loginUser = SecurityUtils.getLoginUser();
|
|
|
|
|
+// jsReport.setUserName(Optional.ofNullable(loginUser.getUser())
|
|
|
|
|
+// .map(SysUser::getNickName)
|
|
|
|
|
+// .orElse("系统管理员"));
|
|
|
|
|
+ return success(reportService.register(circles));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|