From 9f1d942078882e2631fe98d9f133ea0dc1560ced Mon Sep 17 00:00:00 2001 From: jlt Date: Thu, 31 Mar 2022 22:17:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E8=AE=BE=E8=AE=A1=EF=BC=8C?= =?UTF-8?q?=E6=9A=82=E4=B8=8D=E6=94=AF=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E4=BD=9C=E7=89=A9=E9=98=B6=E6=AE=B5=EF=BC=8C=E6=94=B9=E6=88=90?= =?UTF-8?q?=E9=80=9A=E7=94=A8=E9=98=B6=E6=AE=B5=EF=BC=8C=E5=8D=B3=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E4=BD=9C=E7=89=A9id=E4=B8=BA0=E7=9A=84=E9=A2=84?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E9=98=B6=E6=AE=B5=E3=80=82=20=E9=87=8D?= =?UTF-8?q?=E6=96=B0=E4=BD=BF=E7=94=A8=E5=8D=95=E8=A1=A8=E7=94=9F=E6=88=90?= =?UTF-8?q?=E4=BD=9C=E7=89=A9=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=B7=B2=E5=8F=AF?= =?UTF-8?q?=E7=94=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../csa/controller/CropFileController.java | 16 +- .../java/com/jlt/csa/domain/CropFile.java | 38 +++-- .../com/jlt/csa/mapper/CropFileMapper.java | 28 +--- .../com/jlt/csa/service/ICropFileService.java | 2 +- .../csa/service/impl/CropFileServiceImpl.java | 44 +----- .../resources/mapper/csa/CropFileMapper.xml | 53 ++----- ruoyi-ui/src/api/csa/cropfile.js | 13 ++ ruoyi-ui/src/views/csa/cropfile/index.vue | 137 ++++++------------ sql/csa.sql | 90 +++++++++--- 9 files changed, 164 insertions(+), 257 deletions(-) diff --git a/private-farm/src/main/java/com/jlt/csa/controller/CropFileController.java b/private-farm/src/main/java/com/jlt/csa/controller/CropFileController.java index c48a74068..499c2bb4a 100644 --- a/private-farm/src/main/java/com/jlt/csa/controller/CropFileController.java +++ b/private-farm/src/main/java/com/jlt/csa/controller/CropFileController.java @@ -2,6 +2,8 @@ package com.jlt.csa.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.common.utils.DateUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -25,7 +27,7 @@ import com.ruoyi.common.core.page.TableDataInfo; * 作物档案Controller * * @author 郏磊涛 - * @date 2022-03-30 + * @date 2022-03-31 */ @RestController @RequestMapping("/csa/cropfile") @@ -37,7 +39,7 @@ public class CropFileController extends BaseController /** * 查询作物档案列表 */ - @PreAuthorize("@ss.hasPermi('csa:cropfile:query')") + @PreAuthorize("@ss.hasPermi('csa:cropfile:list')") @GetMapping("/list") public TableDataInfo list(CropFile cropFile) { @@ -72,29 +74,33 @@ public class CropFileController extends BaseController /** * 新增作物档案 */ - @PreAuthorize("@ss.hasPermi('csa:cropfile:update')") + @PreAuthorize("@ss.hasPermi('csa:cropfile:add')") @Log(title = "作物档案", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody CropFile cropFile) { + cropFile.setCreateBy(getUsername()); + cropFile.setCreateTime(DateUtils.getNowDate()); return toAjax(cropFileService.insertCropFile(cropFile)); } /** * 修改作物档案 */ - @PreAuthorize("@ss.hasPermi('csa:cropfile:update')") + @PreAuthorize("@ss.hasPermi('csa:cropfile:edit')") @Log(title = "作物档案", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody CropFile cropFile) { + cropFile.setUpdateBy(getUsername()); + cropFile.setUpdateTime(DateUtils.getNowDate()); return toAjax(cropFileService.updateCropFile(cropFile)); } /** * 删除作物档案 */ - @PreAuthorize("@ss.hasPermi('csa:cropfile:update')") + @PreAuthorize("@ss.hasPermi('csa:cropfile:remove')") @Log(title = "作物档案", businessType = BusinessType.DELETE) @DeleteMapping("/{cropIds}") public AjaxResult remove(@PathVariable Long[] cropIds) diff --git a/private-farm/src/main/java/com/jlt/csa/domain/CropFile.java b/private-farm/src/main/java/com/jlt/csa/domain/CropFile.java index b2c92c55e..75f310892 100644 --- a/private-farm/src/main/java/com/jlt/csa/domain/CropFile.java +++ b/private-farm/src/main/java/com/jlt/csa/domain/CropFile.java @@ -1,6 +1,5 @@ package com.jlt.csa.domain; -import java.util.List; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -10,7 +9,7 @@ import com.ruoyi.common.core.domain.BaseEntity; * 作物档案对象 csa_crop_file * * @author 郏磊涛 - * @date 2022-03-30 + * @date 2022-03-31 */ public class CropFile extends BaseEntity { @@ -26,24 +25,24 @@ public class CropFile extends BaseEntity /** 种植指南 */ private String plantGuide; - /** 代表图片 */ - @Excel(name = "代表图片") + /** 配图 */ + @Excel(name = "配图") private String picture; + /** 云配图 */ + private String pictureOss; + /** 作物描述 */ @Excel(name = "作物描述") private String description; - /** 状态 */ - @Excel(name = "状态") + /** 可种状态 */ + @Excel(name = "可种状态") private String status; /** 删除标志 */ private String delFlag; - /** 作物生长阶段信息 */ - private List cropPhaseList; - public void setCropId(Long cropId) { this.cropId = cropId; @@ -80,6 +79,15 @@ public class CropFile extends BaseEntity { return picture; } + public void setPictureOss(String pictureOss) + { + this.pictureOss = pictureOss; + } + + public String getPictureOss() + { + return pictureOss; + } public void setDescription(String description) { this.description = description; @@ -108,16 +116,6 @@ public class CropFile extends BaseEntity return delFlag; } - public List getCropPhaseList() - { - return cropPhaseList; - } - - public void setCropPhaseList(List cropPhaseList) - { - this.cropPhaseList = cropPhaseList; - } - @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -125,6 +123,7 @@ public class CropFile extends BaseEntity .append("cropName", getCropName()) .append("plantGuide", getPlantGuide()) .append("picture", getPicture()) + .append("pictureOss", getPictureOss()) .append("description", getDescription()) .append("status", getStatus()) .append("delFlag", getDelFlag()) @@ -133,7 +132,6 @@ public class CropFile extends BaseEntity .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) .append("remark", getRemark()) - .append("cropPhaseList", getCropPhaseList()) .toString(); } } diff --git a/private-farm/src/main/java/com/jlt/csa/mapper/CropFileMapper.java b/private-farm/src/main/java/com/jlt/csa/mapper/CropFileMapper.java index 037d3835e..bf605d39f 100644 --- a/private-farm/src/main/java/com/jlt/csa/mapper/CropFileMapper.java +++ b/private-farm/src/main/java/com/jlt/csa/mapper/CropFileMapper.java @@ -2,13 +2,12 @@ package com.jlt.csa.mapper; import java.util.List; import com.jlt.csa.domain.CropFile; -import com.jlt.csa.domain.CropPhase; /** * 作物档案Mapper接口 * * @author 郏磊涛 - * @date 2022-03-30 + * @date 2022-03-31 */ public interface CropFileMapper { @@ -59,29 +58,4 @@ public interface CropFileMapper * @return 结果 */ public int deleteCropFileByCropIds(Long[] cropIds); - - /** - * 批量删除作物生长阶段 - * - * @param cropIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteCropPhaseByCropIds(Long[] cropIds); - - /** - * 批量新增作物生长阶段 - * - * @param cropPhaseList 作物生长阶段列表 - * @return 结果 - */ - public int batchCropPhase(List cropPhaseList); - - - /** - * 通过作物档案主键删除作物生长阶段信息 - * - * @param cropId 作物档案ID - * @return 结果 - */ - public int deleteCropPhaseByCropId(Long cropId); } diff --git a/private-farm/src/main/java/com/jlt/csa/service/ICropFileService.java b/private-farm/src/main/java/com/jlt/csa/service/ICropFileService.java index cda44c046..66747405d 100644 --- a/private-farm/src/main/java/com/jlt/csa/service/ICropFileService.java +++ b/private-farm/src/main/java/com/jlt/csa/service/ICropFileService.java @@ -7,7 +7,7 @@ import com.jlt.csa.domain.CropFile; * 作物档案Service接口 * * @author 郏磊涛 - * @date 2022-03-30 + * @date 2022-03-31 */ public interface ICropFileService { diff --git a/private-farm/src/main/java/com/jlt/csa/service/impl/CropFileServiceImpl.java b/private-farm/src/main/java/com/jlt/csa/service/impl/CropFileServiceImpl.java index 05e71e35a..327c5ac3e 100644 --- a/private-farm/src/main/java/com/jlt/csa/service/impl/CropFileServiceImpl.java +++ b/private-farm/src/main/java/com/jlt/csa/service/impl/CropFileServiceImpl.java @@ -4,10 +4,6 @@ import java.util.List; import com.ruoyi.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import com.ruoyi.common.utils.StringUtils; -import org.springframework.transaction.annotation.Transactional; -import com.jlt.csa.domain.CropPhase; import com.jlt.csa.mapper.CropFileMapper; import com.jlt.csa.domain.CropFile; import com.jlt.csa.service.ICropFileService; @@ -16,7 +12,7 @@ import com.jlt.csa.service.ICropFileService; * 作物档案Service业务层处理 * * @author 郏磊涛 - * @date 2022-03-30 + * @date 2022-03-31 */ @Service public class CropFileServiceImpl implements ICropFileService @@ -54,14 +50,10 @@ public class CropFileServiceImpl implements ICropFileService * @param cropFile 作物档案 * @return 结果 */ - @Transactional @Override public int insertCropFile(CropFile cropFile) { - cropFile.setCreateTime(DateUtils.getNowDate()); - int rows = cropFileMapper.insertCropFile(cropFile); - insertCropPhase(cropFile); - return rows; + return cropFileMapper.insertCropFile(cropFile); } /** @@ -70,13 +62,9 @@ public class CropFileServiceImpl implements ICropFileService * @param cropFile 作物档案 * @return 结果 */ - @Transactional @Override public int updateCropFile(CropFile cropFile) { - cropFile.setUpdateTime(DateUtils.getNowDate()); - cropFileMapper.deleteCropPhaseByCropId(cropFile.getCropId()); - insertCropPhase(cropFile); return cropFileMapper.updateCropFile(cropFile); } @@ -86,11 +74,9 @@ public class CropFileServiceImpl implements ICropFileService * @param cropIds 需要删除的作物档案主键 * @return 结果 */ - @Transactional @Override public int deleteCropFileByCropIds(Long[] cropIds) { - cropFileMapper.deleteCropPhaseByCropIds(cropIds); return cropFileMapper.deleteCropFileByCropIds(cropIds); } @@ -100,35 +86,9 @@ public class CropFileServiceImpl implements ICropFileService * @param cropId 作物档案主键 * @return 结果 */ - @Transactional @Override public int deleteCropFileByCropId(Long cropId) { - cropFileMapper.deleteCropPhaseByCropId(cropId); return cropFileMapper.deleteCropFileByCropId(cropId); } - - /** - * 新增作物生长阶段信息 - * - * @param cropFile 作物档案对象 - */ - public void insertCropPhase(CropFile cropFile) - { - List cropPhaseList = cropFile.getCropPhaseList(); - Long cropId = cropFile.getCropId(); - if (StringUtils.isNotNull(cropPhaseList)) - { - List list = new ArrayList(); - for (CropPhase cropPhase : cropPhaseList) - { - cropPhase.setCropId(cropId); - list.add(cropPhase); - } - if (list.size() > 0) - { - cropFileMapper.batchCropPhase(list); - } - } - } } diff --git a/private-farm/src/main/resources/mapper/csa/CropFileMapper.xml b/private-farm/src/main/resources/mapper/csa/CropFileMapper.xml index 44c883813..6850e9f7c 100644 --- a/private-farm/src/main/resources/mapper/csa/CropFileMapper.xml +++ b/private-farm/src/main/resources/mapper/csa/CropFileMapper.xml @@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -19,43 +20,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - - - - - - - - - - - - - - - - - - - select crop_id, crop_name, plant_guide, picture, description, status, del_flag, create_by, create_time, update_by, update_time, remark from csa_crop_file + select crop_id, crop_name, plant_guide, picture, picture_oss, description, status, del_flag, create_by, create_time, update_by, update_time, remark from csa_crop_file - + + where crop_id = #{cropId} @@ -64,6 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" crop_name, plant_guide, picture, + picture_oss, description, status, del_flag, @@ -77,6 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{cropName}, #{plantGuide}, #{picture}, + #{pictureOss}, #{description}, #{status}, #{delFlag}, @@ -94,6 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" crop_name = #{cropName}, plant_guide = #{plantGuide}, picture = #{picture}, + picture_oss = #{pictureOss}, description = #{description}, status = #{status}, del_flag = #{delFlag}, @@ -116,22 +99,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{cropId} - - - delete from csa_crop_phase where crop_id in - - #{cropId} - - - - - delete from csa_crop_phase where crop_id = #{cropId} - - - - insert into csa_crop_phase( phase_id, crop_id, phase_name, production, picture, status, del_flag, create_by, create_time, update_by, update_time, remark) values - - ( #{item.phaseId}, #{item.cropId}, #{item.phaseName}, #{item.production}, #{item.picture}, #{item.status}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark}) - - \ No newline at end of file diff --git a/ruoyi-ui/src/api/csa/cropfile.js b/ruoyi-ui/src/api/csa/cropfile.js index 28d557f4f..48d3bccc0 100644 --- a/ruoyi-ui/src/api/csa/cropfile.js +++ b/ruoyi-ui/src/api/csa/cropfile.js @@ -35,6 +35,19 @@ export function updateCropfile(data) { }) } +// 更新作物状态 +export function changeCropStatus(cropId, status) { + const data = { + cropId: cropId, + status + } + return request({ + url: '/csa/cropfile', + method: 'put', + data: data + }) +} + // 删除作物档案 export function delCropfile(cropId) { return request({ diff --git a/ruoyi-ui/src/views/csa/cropfile/index.vue b/ruoyi-ui/src/views/csa/cropfile/index.vue index 4b18fc0b9..cbec7c432 100644 --- a/ruoyi-ui/src/views/csa/cropfile/index.vue +++ b/ruoyi-ui/src/views/csa/cropfile/index.vue @@ -61,18 +61,34 @@ - + - - - + + + + - - + + +