Newspaper 1 vuosi sitten
vanhempi
commit
4bcc045817

+ 21 - 2
huimv-receive/src/main/java/com/huimv/receive/controller/BaseLocationController.java

@@ -10,12 +10,15 @@ import com.huimv.receive.common.utils.ResultUtil;
 import com.huimv.receive.entity.BaseLocation;
 import com.huimv.receive.entity.BillSampling;
 import com.huimv.receive.entity.Exist;
+import com.huimv.receive.service.IBaseFarmService;
 import com.huimv.receive.service.IBaseLocationService;
 import com.huimv.receive.service.IExistService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -32,6 +35,8 @@ import java.util.Map;
 public class BaseLocationController {
     @Autowired
     private IBaseLocationService baseLocationService;
+    @Autowired
+    private IBaseFarmService baseFarmService;
 
     @PostMapping("/listAll")
     public Result listAll(@RequestBody Map<String, String> paramsMap) {
@@ -46,8 +51,17 @@ public class BaseLocationController {
         String pageNo = paramsMap.get("pageNum");
         String pageSize = paramsMap.get("pageSize");
         Page<BaseLocation> page = new Page<>(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
-        return new Result(ResultCode.SUCCESS,baseLocationService.page(page,new QueryWrapper<BaseLocation>().lambda()
-                .like(BaseLocation::getFarmIds,farmId)));
+        Page<BaseLocation> baseLocationPage = baseLocationService.page(page, new QueryWrapper<BaseLocation>().lambda()
+                .like(BaseLocation::getFarmIds, farmId));
+        for (BaseLocation record : baseLocationPage.getRecords()) {
+            String[] strings = record.getFarmIds().split(",");
+            List farmNameList = new ArrayList();
+            for (String farm : strings) {
+                farmNameList.add(baseFarmService.getById(farm).getFarmName());
+            }
+            record.setFarmNames(String.join(",",farmNameList));
+        }
+        return new Result(ResultCode.SUCCESS, baseLocationPage);
     }
 
     @PostMapping("/listLuggageLocation")
@@ -62,6 +76,11 @@ public class BaseLocationController {
         return baseLocationService.add(httpServletRequest,baseLocation);
     }
 
+    @PostMapping("/edit")
+    public Result edit(HttpServletRequest httpServletRequest, @RequestBody BaseLocation baseLocation){
+        return baseLocationService.edit(httpServletRequest,baseLocation);
+    }
+
     @PostMapping("/delete")
     public Result delete(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap){
         return baseLocationService.delete(httpServletRequest,paramsMap);

+ 4 - 0
huimv-receive/src/main/java/com/huimv/receive/entity/BaseLocation.java

@@ -1,6 +1,7 @@
 package com.huimv.receive.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
@@ -37,5 +38,8 @@ public class BaseLocation implements Serializable {
 
     private String farmIds;
 
+    @TableField(exist = false)
+    private String farmNames;
+
 
 }

+ 2 - 0
huimv-receive/src/main/java/com/huimv/receive/service/IBaseLocationService.java

@@ -20,4 +20,6 @@ public interface IBaseLocationService extends IService<BaseLocation> {
     Result add(HttpServletRequest httpServletRequest, BaseLocation baseLocation);
 
     Result delete(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result edit(HttpServletRequest httpServletRequest, BaseLocation baseLocation);
 }

+ 14 - 0
huimv-receive/src/main/java/com/huimv/receive/service/impl/BaseLocationServiceImpl.java

@@ -50,4 +50,18 @@ public class BaseLocationServiceImpl extends ServiceImpl<BaseLocationMapper, Bas
         String id = paramsMap.get("id");
         return ResultUtil.deleteResult(baseLocationMapper.deleteById(id));
     }
+
+    @Override
+    public Result edit(HttpServletRequest httpServletRequest, BaseLocation baseLocation) {
+        String[] farmIds = baseLocation.getFarmIds().split(",");
+        for (String farmId : farmIds) {
+            int locationCount = baseLocationMapper.selectCount(new QueryWrapper<BaseLocation>().lambda()
+                    .ne(BaseLocation::getId,baseLocation.getId()).like(BaseLocation::getFarmIds,farmId).eq(BaseLocation::getLocationName,baseLocation.getLocationName()));
+            if (locationCount > 0){
+                Farm farm = farmMapper.selectById(farmId);
+                return new Result(10001,farm.getFarmName()+"存在相同地点!",false);
+            }
+        }
+        return ResultUtil.updateResult(baseLocationMapper.updateById(baseLocation));
+    }
 }