|
@@ -2,10 +2,9 @@ package com.ruoyi.web.v2.v1.service.impl;
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.ruoyi.app.domain.EntranceBatch;
|
|
|
-import com.ruoyi.app.domain.Pigpen;
|
|
|
-import com.ruoyi.app.domain.ProductCategory;
|
|
|
import com.ruoyi.app.domain.Purchaser;
|
|
|
import com.ruoyi.app.mapper.EntranceBatchMapper;
|
|
|
import com.ruoyi.app.mapper.PigpenMapper;
|
|
@@ -15,7 +14,6 @@ import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.common.utils.uuid.UUID;
|
|
|
import com.ruoyi.web.v2.v1.entity.*;
|
|
|
-import com.ruoyi.web.v2.v1.entity.vo.HarmlessVo;
|
|
|
import com.ruoyi.web.v2.v1.entity.vo.ProductionVo;
|
|
|
import com.ruoyi.web.v2.v1.mapper.*;
|
|
|
import com.ruoyi.web.v2.v1.service.IJsDistributionService;
|
|
@@ -23,12 +21,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.ruoyi.web.v2.v1.utils.PaginationUtil;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.nio.ByteBuffer;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Base64;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.ruoyi.common.core.domain.AjaxResult.success;
|
|
|
|
|
@@ -58,6 +56,7 @@ public class JsDistributionServiceImpl extends ServiceImpl<JsDistributionMapper,
|
|
|
@Autowired
|
|
|
private JsProduceCodeMapper produceCodeMapper;
|
|
|
|
|
|
+ @Transactional
|
|
|
@Override
|
|
|
public AjaxResult add(JsDistribution distribution) {
|
|
|
Integer supplierId = distribution.getSupplierId();
|
|
@@ -79,10 +78,40 @@ public class JsDistributionServiceImpl extends ServiceImpl<JsDistributionMapper,
|
|
|
jsProduceCode.setOneCode(shortUUID);
|
|
|
distribution.setOneCode(shortUUID);
|
|
|
produceCodeMapper.insert(jsProduceCode);
|
|
|
+ distribution.setSeriesNoGroup(genSeriesNoGroup(distribution));
|
|
|
distributionMapper.insert(distribution);
|
|
|
return success();
|
|
|
}
|
|
|
|
|
|
+ private String genSeriesNoGroup(JsDistribution distribution) {
|
|
|
+ if(ObjectUtil.isNotEmpty(distribution.getSeriesNoGroup())) {
|
|
|
+ //如果提交的表单直接带有分圈后的批次序列号集,那么做一次存在性检测,检测成功直接采用,否则置空
|
|
|
+ String[] seriesNoGroup = distribution.getSeriesNoGroup().split(",");
|
|
|
+ List<JsDivideCircle> circles = circleMapper.selectList(
|
|
|
+ Wrappers.<JsDivideCircle>lambdaQuery().in(JsDivideCircle::getSeriesNo, seriesNoGroup));
|
|
|
+ return circles.size() > 0 ? distribution.getSeriesNoGroup() : "";
|
|
|
+ }else {
|
|
|
+ //如果提交的表单未带有分圈的批次序列号,那么根据入场id或者检疫证号查分圈批次序列号集,进行设置
|
|
|
+ if(ObjectUtil.isNotEmpty(distribution.getEntranceBatchId())) {
|
|
|
+ //查询进场数据
|
|
|
+ EntranceBatch entranceBatch = entranceBatchMapper.selectEntranceBatchById(distribution.getEntranceBatchId().longValue());
|
|
|
+ //查询分圈数据
|
|
|
+ List<JsDivideCircle> circles = circleMapper.selectList(
|
|
|
+ Wrappers.<JsDivideCircle>lambdaQuery()
|
|
|
+ .eq(JsDivideCircle::getEntranceBatchId, distribution.getEntranceBatchId()));
|
|
|
+ if(entranceBatch != null && circles.size() > 0) {
|
|
|
+ //返回本条生产数据关联的分圈批次序列号集合
|
|
|
+ return circles.stream().map(
|
|
|
+ item -> entranceBatch.getAnimalCertNo() +
|
|
|
+ item.getPigpenId() +
|
|
|
+ new SimpleDateFormat("yyyyMMdd").format(entranceBatch.getEntranceTime()))
|
|
|
+ .collect(Collectors.joining(","));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public AjaxResult edit(JsDistribution distribution) {
|
|
|
distributionMapper.updateById(distribution);
|