Bläddra i källkod

业务相关接口 字段完善 接口优化

王苗苗 2 veckor sedan
förälder
incheckning
ca9c8d678b
18 ändrade filer med 523 tillägg och 15 borttagningar
  1. 106 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/BizDeviceController.java
  2. 106 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/SysRegionController.java
  3. 4 0
      ruoyi-system/src/main/java/com/ruoyi/business/domain/BizDevice.java
  4. 16 0
      ruoyi-system/src/main/java/com/ruoyi/business/domain/TAssayItem.java
  5. 1 1
      ruoyi-system/src/main/java/com/ruoyi/business/domain/TAssayItemExtra.java
  6. 11 0
      ruoyi-system/src/main/java/com/ruoyi/business/domain/TAssayWorkflow.java
  7. 8 0
      ruoyi-system/src/main/java/com/ruoyi/business/domain/TAssayWorkflowItem.java
  8. 27 0
      ruoyi-system/src/main/java/com/ruoyi/business/domain/TOrganization.java
  9. 8 0
      ruoyi-system/src/main/java/com/ruoyi/business/domain/TPosition.java
  10. 7 0
      ruoyi-system/src/main/java/com/ruoyi/business/domain/TQualityConf.java
  11. 2 0
      ruoyi-system/src/main/java/com/ruoyi/business/mapper/SysRegionMapper.java
  12. 26 2
      ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BizDeviceServiceImpl.java
  13. 43 3
      ruoyi-system/src/main/java/com/ruoyi/business/service/impl/TAssayItemServiceImpl.java
  14. 49 3
      ruoyi-system/src/main/java/com/ruoyi/business/service/impl/TAssayWorkflowServiceImpl.java
  15. 43 2
      ruoyi-system/src/main/java/com/ruoyi/business/service/impl/TOrganizationServiceImpl.java
  16. 27 2
      ruoyi-system/src/main/java/com/ruoyi/business/service/impl/TPositionServiceImpl.java
  17. 28 2
      ruoyi-system/src/main/java/com/ruoyi/business/service/impl/TQualityConfServiceImpl.java
  18. 11 0
      ruoyi-system/src/main/resources/mapper/business/SysRegionMapper.xml

+ 106 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/BizDeviceController.java

@@ -0,0 +1,106 @@
+package com.ruoyi.web.controller.business;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.business.domain.BizDevice;
+import com.ruoyi.business.service.IBizDeviceService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 【请填写功能名称】Controller
+ * 
+ * @author slibra
+ * @date 2025-03-11
+ */
+@RestController
+@RequestMapping("/business/device")
+public class BizDeviceController extends BaseController
+{
+    @Autowired
+    private IBizDeviceService bizDeviceService;
+
+    /**
+     * 查询【请填写功能名称】列表
+     */
+//    @PreAuthorize("@ss.hasPermi('business:device:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(BizDevice bizDevice)
+    {
+        startPage();
+        List<BizDevice> list = bizDeviceService.selectBizDeviceList(bizDevice);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出【请填写功能名称】列表
+     */
+//    @PreAuthorize("@ss.hasPermi('business:device:export')")
+//    @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, BizDevice bizDevice)
+    {
+        List<BizDevice> list = bizDeviceService.selectBizDeviceList(bizDevice);
+        ExcelUtil<BizDevice> util = new ExcelUtil<BizDevice>(BizDevice.class);
+        util.exportExcel(response, list, "【请填写功能名称】数据");
+    }
+
+    /**
+     * 获取【请填写功能名称】详细信息
+     */
+//    @PreAuthorize("@ss.hasPermi('business:device:query')")
+    @GetMapping(value = "/{deviceId}")
+    public AjaxResult getInfo(@PathVariable("deviceId") Long deviceId)
+    {
+        return success(bizDeviceService.selectBizDeviceByDeviceId(deviceId));
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     */
+//    @PreAuthorize("@ss.hasPermi('business:device:add')")
+//    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody BizDevice bizDevice)
+    {
+        bizDevice.setCreateBy(getUsername());
+        return toAjax(bizDeviceService.insertBizDevice(bizDevice));
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     */
+//    @PreAuthorize("@ss.hasPermi('business:device:edit')")
+//    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody BizDevice bizDevice)
+    {
+        bizDevice.setUpdateBy(getUsername());
+        return toAjax(bizDeviceService.updateBizDevice(bizDevice));
+    }
+
+    /**
+     * 删除【请填写功能名称】
+     */
+//    @PreAuthorize("@ss.hasPermi('business:device:remove')")
+//    @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{deviceIds}")
+    public AjaxResult remove(@PathVariable Long[] deviceIds)
+    {
+        return toAjax(bizDeviceService.deleteBizDeviceByDeviceIds(deviceIds));
+    }
+}

+ 106 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/SysRegionController.java

@@ -0,0 +1,106 @@
+package com.ruoyi.web.controller.business;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.business.domain.SysRegion;
+import com.ruoyi.business.service.ISysRegionService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 【请填写功能名称】Controller
+ * 
+ * @author slibra
+ * @date 2025-03-11
+ */
+@RestController
+@RequestMapping("/business/region")
+public class SysRegionController extends BaseController
+{
+    @Autowired
+    private ISysRegionService sysRegionService;
+
+    /**
+     * 查询【请填写功能名称】列表
+     */
+//    @PreAuthorize("@ss.hasPermi('business:region:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SysRegion sysRegion)
+    {
+        startPage();
+        List<SysRegion> list = sysRegionService.selectSysRegionList(sysRegion);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出【请填写功能名称】列表
+     */
+//    @PreAuthorize("@ss.hasPermi('business:region:export')")
+//    @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SysRegion sysRegion)
+    {
+        List<SysRegion> list = sysRegionService.selectSysRegionList(sysRegion);
+        ExcelUtil<SysRegion> util = new ExcelUtil<SysRegion>(SysRegion.class);
+        util.exportExcel(response, list, "【请填写功能名称】数据");
+    }
+
+    /**
+     * 获取【请填写功能名称】详细信息
+     */
+//    @PreAuthorize("@ss.hasPermi('business:region:query')")
+    @GetMapping(value = "/{regionId}")
+    public AjaxResult getInfo(@PathVariable("regionId") Long regionId)
+    {
+        return success(sysRegionService.selectSysRegionByRegionId(regionId));
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     */
+//    @PreAuthorize("@ss.hasPermi('business:region:add')")
+//    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SysRegion sysRegion)
+    {
+        sysRegion.setCreateBy(getUsername());
+        return toAjax(sysRegionService.insertSysRegion(sysRegion));
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     */
+//    @PreAuthorize("@ss.hasPermi('business:region:edit')")
+//    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SysRegion sysRegion)
+    {
+        sysRegion.setUpdateBy(getUsername());
+        return toAjax(sysRegionService.updateSysRegion(sysRegion));
+    }
+
+    /**
+     * 删除【请填写功能名称】
+     */
+//    @PreAuthorize("@ss.hasPermi('business:region:remove')")
+//    @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{regionIds}")
+    public AjaxResult remove(@PathVariable Long[] regionIds)
+    {
+        return toAjax(sysRegionService.deleteSysRegionByRegionIds(regionIds));
+    }
+}

+ 4 - 0
ruoyi-system/src/main/java/com/ruoyi/business/domain/BizDevice.java

@@ -127,4 +127,8 @@ public class BizDevice extends BaseEntity
 
     /** 删除标志(0代表存在 2代表删除) */
     private Integer delFlag;
+
+    //额外返回的字段
+    //关联的水厂/集团信息
+    private TOrganization organization;
 }

+ 16 - 0
ruoyi-system/src/main/java/com/ruoyi/business/domain/TAssayItem.java

@@ -9,6 +9,9 @@ import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
 
+import java.math.BigDecimal;
+import java.util.List;
+
 /**
  * 化验项目对象 t_assay_item
  * 
@@ -41,4 +44,17 @@ public class TAssayItem extends BaseEntity
     @Excel(name = "乐观锁")
     private Long revision;
 
+    //额外返回的列表
+    //废液列表
+    private List<TAssayItemExtra> fyList;
+
+    //药剂列表
+    private List<TAssayItemExtra> yjList;
+
+    //废液总量
+    private BigDecimal fyAmount;
+
+    //药剂总量
+    private BigDecimal yjAmount;
+
 }

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/business/domain/TAssayItemExtra.java

@@ -42,7 +42,7 @@ public class TAssayItemExtra extends BaseEntity
 
     /** 产生量/消耗量 */
     @Excel(name = "产生量/消耗量")
-    private BigDecimal amount;
+    private BigDecimal amount = BigDecimal.ZERO;
 
     /** 删除标志(0代表存在 2代表删除) */
     private Integer delFlag;

+ 11 - 0
ruoyi-system/src/main/java/com/ruoyi/business/domain/TAssayWorkflow.java

@@ -9,6 +9,8 @@ import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
 
+import java.util.List;
+
 /**
  * 化验流程对象 t_assay_workflow
  * 
@@ -53,4 +55,13 @@ public class TAssayWorkflow extends BaseEntity
     @Excel(name = "乐观锁")
     private Long revision;
 
+    //额外返回的字段
+    //关联的水厂/集团信息
+    private TOrganization organization;
+
+    //关联的设备信息
+    private BizDevice bizDevice;
+
+    private List<TAssayWorkflowItem> items;
+
 }

+ 8 - 0
ruoyi-system/src/main/java/com/ruoyi/business/domain/TAssayWorkflowItem.java

@@ -45,4 +45,12 @@ public class TAssayWorkflowItem extends BaseEntity
     @Excel(name = "乐观锁")
     private Long revision;
 
+
+    //额外返回的其他信息
+    //取样点位
+    private TPosition position;
+
+    //化验项目
+    private TAssayItem assayItem;
+
 }

+ 27 - 0
ruoyi-system/src/main/java/com/ruoyi/business/domain/TOrganization.java

@@ -9,6 +9,8 @@ import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
 
+import java.util.List;
+
 /**
  * 机构管理对象 t_organization
  * 
@@ -93,4 +95,29 @@ public class TOrganization extends BaseEntity
     @Excel(name = "乐观锁")
     private Long revision;
 
+    //2025年03月11日09:38:35 额外返回的计算信息
+
+    //集团下面的水厂列表
+    private List<TOrganization> children;
+
+    //连续检测设备总数
+    private int lxjcCounts;
+
+    //实验室设备总数
+    private int robotCounts;
+
+    /** 省的名称 */
+    @Excel(name = "省的名称")
+    private String provinceName;
+
+    /** 市的名称 */
+    @Excel(name = "市的名称")
+    private String cityName;
+
+    /** 区县的名称 */
+    @Excel(name = "区县的名称")
+    private String countryName;
+
+
+
 }

+ 8 - 0
ruoyi-system/src/main/java/com/ruoyi/business/domain/TPosition.java

@@ -49,4 +49,12 @@ public class TPosition extends BaseEntity
     @Excel(name = "乐观锁")
     private Long revision;
 
+    //额外返回的字段
+    //关联的水厂/集团信息
+    private TOrganization organization;
+
+    //关联的设备信息
+    private BizDevice bizDevice;
+
+
 }

+ 7 - 0
ruoyi-system/src/main/java/com/ruoyi/business/domain/TQualityConf.java

@@ -70,4 +70,11 @@ public class TQualityConf extends BaseEntity
     @Excel(name = "乐观锁")
     private Long revision;
 
+    //额外返回的字段
+    //关联的水厂/集团信息
+    private TOrganization organization;
+
+    //关联的化验项目
+    private TAssayItem assayItem;
+
 }

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/business/mapper/SysRegionMapper.java

@@ -58,4 +58,6 @@ public interface SysRegionMapper
      * @return 结果
      */
     public int deleteSysRegionByRegionIds(Long[] regionIds);
+
+    String selectNameByCode(String code);
 }

+ 26 - 2
ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BizDeviceServiceImpl.java

@@ -1,7 +1,11 @@
 package com.ruoyi.business.service.impl;
 
 import java.util.List;
+import java.util.Objects;
+
+import com.ruoyi.business.mapper.TOrganizationMapper;
 import com.ruoyi.common.utils.DateUtils;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.business.mapper.BizDeviceMapper;
@@ -20,6 +24,9 @@ public class BizDeviceServiceImpl implements IBizDeviceService
     @Autowired
     private BizDeviceMapper bizDeviceMapper;
 
+    @Autowired
+    private TOrganizationMapper organizationMapper;
+
     /**
      * 查询设备
      * 
@@ -29,7 +36,10 @@ public class BizDeviceServiceImpl implements IBizDeviceService
     @Override
     public BizDevice selectBizDeviceByDeviceId(Long deviceId)
     {
-        return bizDeviceMapper.selectBizDeviceByDeviceId(deviceId);
+        BizDevice bizDevice = bizDeviceMapper.selectBizDeviceByDeviceId(deviceId);
+        if(!Objects.isNull(bizDevice))
+            this.addExtra(bizDevice);
+        return bizDevice;
     }
 
     /**
@@ -41,7 +51,21 @@ public class BizDeviceServiceImpl implements IBizDeviceService
     @Override
     public List<BizDevice> selectBizDeviceList(BizDevice bizDevice)
     {
-        return bizDeviceMapper.selectBizDeviceList(bizDevice);
+        List<BizDevice> bizDevices = bizDeviceMapper.selectBizDeviceList(bizDevice);
+        if(!CollectionUtils.isEmpty(bizDevices)){
+            for (BizDevice device : bizDevices) {
+                this.addExtra(device);
+            }
+        }
+        return bizDevices;
+    }
+
+    /**
+     * 额外处理其他信息
+     * @param device
+     */
+    private void addExtra(BizDevice device) {
+        device.setOrganization(this.organizationMapper.selectTOrganizationById(device.getDeviceWorks()));
     }
 
     /**

+ 43 - 3
ruoyi-system/src/main/java/com/ruoyi/business/service/impl/TAssayItemServiceImpl.java

@@ -1,7 +1,12 @@
 package com.ruoyi.business.service.impl;
 
-import java.util.List;
+import java.math.BigDecimal;
+import java.util.*;
+
+import com.ruoyi.business.domain.TAssayItemExtra;
+import com.ruoyi.business.mapper.TAssayItemExtraMapper;
 import com.ruoyi.common.utils.DateUtils;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.business.mapper.TAssayItemMapper;
@@ -20,6 +25,9 @@ public class TAssayItemServiceImpl implements ITAssayItemService
     @Autowired
     private TAssayItemMapper tAssayItemMapper;
 
+    @Autowired
+    private TAssayItemExtraMapper assayItemExtraMapper;
+
     /**
      * 查询化验项目
      * 
@@ -29,9 +37,35 @@ public class TAssayItemServiceImpl implements ITAssayItemService
     @Override
     public TAssayItem selectTAssayItemById(Long id)
     {
-        return tAssayItemMapper.selectTAssayItemById(id);
+        TAssayItem tAssayItem = tAssayItemMapper.selectTAssayItemById(id);
+        if(!Objects.isNull(tAssayItem))
+            this.addExtra(tAssayItem);
+        return tAssayItem;
+    }
+
+    private void addExtra(TAssayItem tAssayItem) {
+        Long id = tAssayItem.getId();
+        List<TAssayItemExtra> fyList = this.assayItemExtraMapper.selectTAssayItemExtraList(TAssayItemExtra.builder().itemId(id).type(0).build());
+        tAssayItem.setFyList(fyList);
+        tAssayItem.setFyAmount(fyList.stream().map(TAssayItemExtra::getAmount).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
+        List<TAssayItemExtra> yjList = this.assayItemExtraMapper.selectTAssayItemExtraList(TAssayItemExtra.builder().itemId(id).type(1).build());
+        tAssayItem.setYjList(yjList);
+        tAssayItem.setYjAmount(yjList.stream().map(TAssayItemExtra::getAmount).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
     }
 
+
+    public static void main(String[] args) {
+        /*TAssayItemExtra tAssayItemExtra = new TAssayItemExtra();
+        tAssayItemExtra.setAmount(BigDecimal.ZERO);
+        TAssayItemExtra tAssayItemExtra1 = new TAssayItemExtra();
+        tAssayItemExtra1.setAmount(BigDecimal.ZERO);
+        List<TAssayItemExtra> list = Arrays.asList(tAssayItemExtra, tAssayItemExtra1);*/
+        List<TAssayItemExtra> list = new ArrayList<>();
+        BigDecimal bigDecimal = list.stream().map(TAssayItemExtra::getAmount).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
+        System.out.println(bigDecimal);
+    }
+
+
     /**
      * 查询化验项目列表
      * 
@@ -41,7 +75,13 @@ public class TAssayItemServiceImpl implements ITAssayItemService
     @Override
     public List<TAssayItem> selectTAssayItemList(TAssayItem tAssayItem)
     {
-        return tAssayItemMapper.selectTAssayItemList(tAssayItem);
+        List<TAssayItem> tAssayItems = tAssayItemMapper.selectTAssayItemList(tAssayItem);
+        if(!CollectionUtils.isEmpty(tAssayItems)){
+            for (TAssayItem assayItem : tAssayItems) {
+                this.addExtra(assayItem);
+            }
+        }
+        return tAssayItems;
     }
 
     /**

+ 49 - 3
ruoyi-system/src/main/java/com/ruoyi/business/service/impl/TAssayWorkflowServiceImpl.java

@@ -1,10 +1,15 @@
 package com.ruoyi.business.service.impl;
 
+import java.util.Collection;
 import java.util.List;
+import java.util.Objects;
+
+import com.ruoyi.business.domain.TAssayWorkflowItem;
+import com.ruoyi.business.mapper.*;
 import com.ruoyi.common.utils.DateUtils;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.ruoyi.business.mapper.TAssayWorkflowMapper;
 import com.ruoyi.business.domain.TAssayWorkflow;
 import com.ruoyi.business.service.ITAssayWorkflowService;
 
@@ -20,6 +25,21 @@ public class TAssayWorkflowServiceImpl implements ITAssayWorkflowService
     @Autowired
     private TAssayWorkflowMapper tAssayWorkflowMapper;
 
+    @Autowired
+    private TOrganizationMapper organizationMapper;
+
+    @Autowired
+    private BizDeviceMapper deviceMapper;
+
+    @Autowired
+    private TAssayWorkflowItemMapper assayWorkflowItemMapper;
+
+    @Autowired
+    private TPositionMapper positionMapper;
+
+    @Autowired
+    private TAssayItemMapper assayItemMapper;
+
     /**
      * 查询化验流程
      * 
@@ -29,7 +49,27 @@ public class TAssayWorkflowServiceImpl implements ITAssayWorkflowService
     @Override
     public TAssayWorkflow selectTAssayWorkflowById(Long id)
     {
-        return tAssayWorkflowMapper.selectTAssayWorkflowById(id);
+        TAssayWorkflow tAssayWorkflow = tAssayWorkflowMapper.selectTAssayWorkflowById(id);
+        if(!Objects.isNull(tAssayWorkflow))
+            this.addExtra(tAssayWorkflow);
+        return tAssayWorkflow;
+    }
+
+    /***
+     * 额外查询其他信息
+     * @param tAssayWorkflow
+     */
+    private void addExtra(TAssayWorkflow tAssayWorkflow) {
+        tAssayWorkflow.setOrganization(this.organizationMapper.selectTOrganizationById(tAssayWorkflow.getOrganizationId()));
+        tAssayWorkflow.setBizDevice(this.deviceMapper.selectBizDeviceByDeviceId(tAssayWorkflow.getDeviceId()));
+        List<TAssayWorkflowItem> tAssayWorkflowItems = this.assayWorkflowItemMapper.selectTAssayWorkflowItemList(TAssayWorkflowItem.builder().workflowId(tAssayWorkflow.getId()).build());
+        if(!CollectionUtils.isEmpty(tAssayWorkflowItems)){
+            for (TAssayWorkflowItem tAssayWorkflowItem : tAssayWorkflowItems) {
+                tAssayWorkflowItem.setPosition(this.positionMapper.selectTPositionById(tAssayWorkflowItem.getPositionId()));
+                tAssayWorkflowItem.setAssayItem(this.assayItemMapper.selectTAssayItemById(tAssayWorkflowItem.getItemId()));
+            }
+        }
+        tAssayWorkflow.setItems(tAssayWorkflowItems);
     }
 
     /**
@@ -41,7 +81,13 @@ public class TAssayWorkflowServiceImpl implements ITAssayWorkflowService
     @Override
     public List<TAssayWorkflow> selectTAssayWorkflowList(TAssayWorkflow tAssayWorkflow)
     {
-        return tAssayWorkflowMapper.selectTAssayWorkflowList(tAssayWorkflow);
+        List<TAssayWorkflow> tAssayWorkflows = tAssayWorkflowMapper.selectTAssayWorkflowList(tAssayWorkflow);
+        if(!CollectionUtils.isEmpty(tAssayWorkflows)){
+            for (TAssayWorkflow assayWorkflow : tAssayWorkflows) {
+                this.addExtra(assayWorkflow);
+            }
+        }
+        return tAssayWorkflows;
     }
 
     /**

+ 43 - 2
ruoyi-system/src/main/java/com/ruoyi/business/service/impl/TOrganizationServiceImpl.java

@@ -1,7 +1,13 @@
 package com.ruoyi.business.service.impl;
 
 import java.util.List;
+import java.util.Objects;
+
+import com.ruoyi.business.domain.BizDevice;
+import com.ruoyi.business.mapper.BizDeviceMapper;
+import com.ruoyi.business.mapper.SysRegionMapper;
 import com.ruoyi.common.utils.DateUtils;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.business.mapper.TOrganizationMapper;
@@ -20,6 +26,12 @@ public class TOrganizationServiceImpl implements ITOrganizationService
     @Autowired
     private TOrganizationMapper tOrganizationMapper;
 
+    @Autowired
+    private BizDeviceMapper bizDeviceMapper;
+
+    @Autowired
+    private SysRegionMapper sysRegionMapper;
+
     /**
      * 查询机构管理
      * 
@@ -29,7 +41,30 @@ public class TOrganizationServiceImpl implements ITOrganizationService
     @Override
     public TOrganization selectTOrganizationById(Long id)
     {
-        return tOrganizationMapper.selectTOrganizationById(id);
+        TOrganization organization = tOrganizationMapper.selectTOrganizationById(id);
+        if(!Objects.isNull(organization))
+            this.addExtra(organization);
+        return organization;
+    }
+
+    /**
+     * 额外返回统计信息
+     * @param organization
+     */
+    private void addExtra(TOrganization organization) {
+        Long id = organization.getId();
+        //处理连续检测设备总数  实验室设备总数
+        organization.setLxjcCounts(bizDeviceMapper.selectBizDeviceList(BizDevice.builder().deviceWorks(id).type("2").build()).size());
+        organization.setRobotCounts(bizDeviceMapper.selectBizDeviceList(BizDevice.builder().deviceWorks(id).type("1").build()).size());
+        //处理省市区名字
+        organization.setProvinceName(this.sysRegionMapper.selectNameByCode(organization.getProvinceCode()));
+        organization.setCityName(this.sysRegionMapper.selectNameByCode(organization.getCityCode()));
+        organization.setCountryName(this.sysRegionMapper.selectNameByCode(organization.getCountryCode()));
+
+        //如果是集团,获取下面的所有的水厂列表
+        Integer type = organization.getType();
+        if(0 == type)
+            organization.setChildren(this.tOrganizationMapper.selectTOrganizationList(TOrganization.builder().parentId(id).build()));
     }
 
     /**
@@ -41,7 +76,13 @@ public class TOrganizationServiceImpl implements ITOrganizationService
     @Override
     public List<TOrganization> selectTOrganizationList(TOrganization tOrganization)
     {
-        return tOrganizationMapper.selectTOrganizationList(tOrganization);
+        List<TOrganization> tOrganizations = tOrganizationMapper.selectTOrganizationList(tOrganization);
+        if(!CollectionUtils.isEmpty(tOrganizations)){
+            for (TOrganization organization : tOrganizations) {
+                this.addExtra(organization);
+            }
+        }
+        return tOrganizations;
     }
 
     /**

+ 27 - 2
ruoyi-system/src/main/java/com/ruoyi/business/service/impl/TPositionServiceImpl.java

@@ -1,7 +1,12 @@
 package com.ruoyi.business.service.impl;
 
 import java.util.List;
+import java.util.Objects;
+
+import com.ruoyi.business.mapper.BizDeviceMapper;
+import com.ruoyi.business.mapper.TOrganizationMapper;
 import com.ruoyi.common.utils.DateUtils;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.business.mapper.TPositionMapper;
@@ -20,6 +25,12 @@ public class TPositionServiceImpl implements ITPositionService
     @Autowired
     private TPositionMapper tPositionMapper;
 
+    @Autowired
+    private TOrganizationMapper organizationMapper;
+
+    @Autowired
+    private BizDeviceMapper deviceMapper;
+
     /**
      * 查询取样点位
      * 
@@ -29,7 +40,15 @@ public class TPositionServiceImpl implements ITPositionService
     @Override
     public TPosition selectTPositionById(Long id)
     {
-        return tPositionMapper.selectTPositionById(id);
+        TPosition tPosition = tPositionMapper.selectTPositionById(id);
+        if(!Objects.isNull(tPosition))
+            this.addExtra(tPosition);
+        return tPosition;
+    }
+
+    private void addExtra(TPosition tPosition) {
+        tPosition.setOrganization(this.organizationMapper.selectTOrganizationById(tPosition.getOrganizationId()));
+        tPosition.setBizDevice(this.deviceMapper.selectBizDeviceByDeviceId(tPosition.getDeviceId()));
     }
 
     /**
@@ -41,7 +60,13 @@ public class TPositionServiceImpl implements ITPositionService
     @Override
     public List<TPosition> selectTPositionList(TPosition tPosition)
     {
-        return tPositionMapper.selectTPositionList(tPosition);
+        List<TPosition> tPositions = tPositionMapper.selectTPositionList(tPosition);
+        if(!CollectionUtils.isEmpty(tPositions)){
+            for (TPosition position : tPositions) {
+                this.addExtra(position);
+            }
+        }
+        return tPositions;
     }
 
     /**

+ 28 - 2
ruoyi-system/src/main/java/com/ruoyi/business/service/impl/TQualityConfServiceImpl.java

@@ -1,7 +1,13 @@
 package com.ruoyi.business.service.impl;
 
+import java.util.Collection;
 import java.util.List;
+import java.util.Objects;
+
+import com.ruoyi.business.mapper.TAssayItemMapper;
+import com.ruoyi.business.mapper.TOrganizationMapper;
 import com.ruoyi.common.utils.DateUtils;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.business.mapper.TQualityConfMapper;
@@ -20,6 +26,12 @@ public class TQualityConfServiceImpl implements ITQualityConfService
     @Autowired
     private TQualityConfMapper tQualityConfMapper;
 
+    @Autowired
+    private TOrganizationMapper organizationMapper;
+
+    @Autowired
+    private TAssayItemMapper assayItemMapper;
+
     /**
      * 查询质控样配置
      * 
@@ -29,7 +41,15 @@ public class TQualityConfServiceImpl implements ITQualityConfService
     @Override
     public TQualityConf selectTQualityConfById(Long id)
     {
-        return tQualityConfMapper.selectTQualityConfById(id);
+        TQualityConf qualityConf = tQualityConfMapper.selectTQualityConfById(id);
+        if(!Objects.isNull(qualityConf))
+            this.addExtra(qualityConf);
+        return qualityConf;
+    }
+
+    private void addExtra(TQualityConf qualityConf) {
+        qualityConf.setOrganization(this.organizationMapper.selectTOrganizationById(qualityConf.getOrganizationId()));
+        qualityConf.setAssayItem(this.assayItemMapper.selectTAssayItemById(qualityConf.getItemId()));
     }
 
     /**
@@ -41,7 +61,13 @@ public class TQualityConfServiceImpl implements ITQualityConfService
     @Override
     public List<TQualityConf> selectTQualityConfList(TQualityConf tQualityConf)
     {
-        return tQualityConfMapper.selectTQualityConfList(tQualityConf);
+        List<TQualityConf> tQualityConfs = tQualityConfMapper.selectTQualityConfList(tQualityConf);
+        if(!CollectionUtils.isEmpty(tQualityConfs)){
+            for (TQualityConf qualityConf : tQualityConfs) {
+                this.addExtra(qualityConf);
+            }
+        }
+        return tQualityConfs;
     }
 
     /**

+ 11 - 0
ruoyi-system/src/main/resources/mapper/business/SysRegionMapper.xml

@@ -85,4 +85,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{regionId}
         </foreach>
     </delete>
+
+    <!-- 2025-03-11 10:06:27  下面是新增的SQL,不允许覆盖或者删除 -->
+    <select id="selectNameByCode" resultType="string">
+        SELECT
+            region_name
+        FROM
+            sys_region
+        WHERE
+            region_cod = #{code}
+            LIMIT 1
+    </select>
 </mapper>