Newspaper 1 年間 前
コミット
87a9c5cf57

+ 12 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseDuckInfoServiceImpl.java

@@ -27,6 +27,7 @@ import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
@@ -71,6 +72,8 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
     private DepartureMapper departureMapper;
     @Autowired
     private BaseBuildingMapper buildingMapper;
+    @Autowired
+    private BatchMapper batchMapper;
 
 
     @Override
@@ -382,6 +385,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
         duckInfoMapper.updateDayAge();
     }
 
+    @Transactional
     @Override
     public Result importData(HttpServletRequest httpServletRequest,  Map<String,String> paramsMap,MultipartFile files) {
         String farmId = paramsMap.get("farmId");
@@ -418,6 +422,14 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
                 QueryWrapper<BaseBuilding> queryWrapper = new QueryWrapper<>();
                 queryWrapper.eq("farm_id", farmId).eq("build_name", breed.getUnitName());
                 BaseBuilding baseBuilding = buildingMapper.selectOne(queryWrapper);
+                Integer integer = baseMapper.selectCount(new QueryWrapper<BaseDuckInfo>().lambda().ne(BaseDuckInfo::getChiNum,breed.getChiNum()).eq(BaseDuckInfo::getUnitId, baseBuilding.getId()).eq(BaseDuckInfo::getFarmId, farmId).eq(BaseDuckInfo::getIsCage, 0));
+                if (integer > 0){
+                    return new Result(10001,breed.getUnitName()+"已存在鸭只!",false);
+                }
+                Batch batch = batchMapper.selectOne(new QueryWrapper<Batch>().lambda().eq(Batch::getBatchNum, breed.getBatchNum()).eq(Batch::getFarmId, farmId).eq(Batch::getIsEnable, 0));
+                if (ObjectUtil.isEmpty(batch)){
+                    return new Result(10001,"批次号"+breed.getBatchNum()+"不存在或未启用!",false);
+                }
                 breed.setUnitId(baseBuilding.getId());
                 breed.setUnitList(baseBuilding.getParentId() + "," + baseBuilding.getId());
                 breed.setFarmId(Integer.parseInt(farmId));