src/main/java/org/springblade/modules/farm/entity/FarmingRecord.java
@@ -77,4 +77,9 @@ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 农产品id */ private Integer strainId; } src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
@@ -32,12 +32,15 @@ import org.springblade.modules.farmplant.entity.FarmPlant; import org.springblade.modules.farmplant.service.FarmPlantService; import org.springblade.modules.farmplant.vo.FarmPlantVO; import org.springblade.modules.farmplant.vo.StrainVO; import org.springblade.modules.lang.entity.Land; import org.springblade.modules.lang.service.ILandService; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @@ -197,4 +200,14 @@ return R.data(farmplantService.getFarmPlantStatistics(Condition.getPage(query),farmPlantVO)); } /** * 农产品列表 * @param farm 农产品对象 * @return */ @GetMapping("/strain-tree") public R strainTree(FarmPlantVO farm){ return R.data(farmplantService.strainTree(farm)); } } src/main/java/org/springblade/modules/farmplant/controller/StrainController.java
@@ -105,6 +105,11 @@ return R.status(strainService.removeByIds(Func.toLongList(ids))); } /** * 农产品列表 * @param strain * @return */ @GetMapping("/strain-tree") public R strainTree(StrainVO strain){ return R.data(strainService.strainTree(strain)); src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.java
@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.modules.farmplant.entity.FarmPlant; import org.springblade.modules.farmplant.entity.Strain; import org.springblade.modules.farmplant.vo.FarmPlantVO; import org.springblade.modules.farmplant.vo.StrainVO; import java.util.List; @@ -31,4 +33,11 @@ * @return */ List<FarmPlantVO> getFarmPlantStatistics(@Param("page") IPage<FarmPlantVO> page,@Param("farmPlant") FarmPlantVO farm); /** * 农产品列表 * @param farm 农产品对象 * @return */ List<Strain> strainTree(@Param("farm") FarmPlantVO farm); } src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
@@ -52,4 +52,11 @@ </if> group by sfp.strain_id,strain_name,land_unit </select> <!--已种植农产品列表--> <select id="strainTree" resultType="org.springblade.modules.farmplant.entity.Strain"> select ss.id,ss.strain_name strainName from sys_farm_plant sfp left join sys_strain ss on ss.id = sfp.strain_id where sfp.status = "1" and sfp.land_id = #{farm.landId} </select> </mapper> src/main/java/org/springblade/modules/farmplant/service/FarmPlantService.java
@@ -4,7 +4,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.modules.farmplant.entity.FarmPlant; import org.springblade.modules.farmplant.entity.Strain; import org.springblade.modules.farmplant.vo.FarmPlantVO; import org.springblade.modules.farmplant.vo.StrainVO; import java.util.List; /** * 农场养殖记录表服务类 @@ -29,4 +33,11 @@ * @return */ IPage<FarmPlantVO> getFarmPlantStatistics(IPage<FarmPlantVO> page,FarmPlantVO farmPlantVO); /** * 农产品列表 * @param farm 农产品对象 * @return */ List<Strain> strainTree(FarmPlantVO farm); } src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java
@@ -2,9 +2,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.modules.farmplant.entity.FarmPlant; import org.springblade.modules.farmplant.entity.Strain; import org.springblade.modules.farmplant.mapper.FarmPlantMapper; import org.springblade.modules.farmplant.service.FarmPlantService; import org.springblade.modules.farmplant.vo.FarmPlantVO; import org.springblade.modules.farmplant.vo.StrainVO; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -62,4 +64,15 @@ }); return page.setRecords(farmPlantVOS); } /** * 农产品列表 * @param farm 农产品对象 * @return */ @Override public List<Strain> strainTree(FarmPlantVO farm) { return baseMapper.strainTree(farm); } } src/main/java/org/springblade/modules/recovery/controller/RecoveryController.java
@@ -26,6 +26,8 @@ import javax.validation.Valid; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; /** @@ -88,6 +90,7 @@ @Transactional(rollbackFor = Exception.class) public R save(@Valid @RequestBody Recovery recovery) { recovery.setCreateTime(new Date()); //新增 boolean save = recoveryService.save(recovery); if (save){ //同时生成农事记录和库存记录 @@ -136,6 +139,7 @@ return R.status(save); } /** * double 相加 * @param d1 src/main/java/org/springblade/modules/recovery/entity/Recovery.java
@@ -81,9 +81,4 @@ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 溯源码编号 */ private String code; } src/main/java/org/springblade/modules/recovery/mapper/RecoveryMapper.java
@@ -24,4 +24,11 @@ * @return */ List<RecoveryVO> selectRecoveryPage(@Param("page") IPage page, @Param("recovery") RecoveryVO recovery); /** * 按前缀查询溯源码编号总数 * @param pre * @return */ int getCodePreCount(@Param("pre") String pre); } src/main/java/org/springblade/modules/recovery/mapper/RecoveryMapper.xml
@@ -24,4 +24,10 @@ and sr.operator = #{recovery.operator} </if> </select> <!--查询当前前缀已有的溯源码编号,取倒数7位的最大值--> <select id="getCodePreCount" resultType="java.lang.Integer"> select ifnull(max(0+RIGHT(code,7)),0) from sys_traceability where code like concat('%', #{pre},'%') </select> </mapper> src/main/java/org/springblade/modules/recovery/service/RecoveryService.java
@@ -21,4 +21,11 @@ * @return */ IPage<RecoveryVO> selectRecoveryPage(IPage<RecoveryVO> page, RecoveryVO recovery); /** * 按前缀查询溯源码编号总数 * @param pre * @return */ int getCodePreCount(String pre); } src/main/java/org/springblade/modules/recovery/service/impl/RecoveryServiceImpl.java
@@ -25,4 +25,14 @@ public IPage<RecoveryVO> selectRecoveryPage(IPage<RecoveryVO> page, RecoveryVO recovery) { return page.setRecords(baseMapper.selectRecoveryPage(page, recovery)); } /** * 按前缀查询溯源码编号总数 * @param pre * @return */ @Override public int getCodePreCount(String pre) { return baseMapper.getCodePreCount(pre); } } src/main/java/org/springblade/modules/traceability/controller/TraceabilityController.java
@@ -1,4 +1,5 @@ package org.springblade.modules.traceability.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.ApiOperation; @@ -9,13 +10,18 @@ import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.modules.recovery.entity.Recovery; import org.springblade.modules.recovery.service.RecoveryService; import org.springblade.modules.traceability.entity.Traceability; import org.springblade.modules.traceability.service.TraceabilityService; import org.springblade.modules.traceability.vo.TraceabilityVO; import org.springframework.retry.annotation.Recover; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; /** @@ -29,6 +35,9 @@ public class TraceabilityController extends BladeController { private final TraceabilityService traceabilityService; private final RecoveryService recoveryService; /** * 详情 @@ -71,7 +80,33 @@ @Transactional(rollbackFor = Exception.class) public R save(@Valid @RequestBody Traceability traceability) { traceability.setCreateTime(new Date()); //生成溯源码编号 //去生成保安证编号 String pre = getCodePre(); //查询当前前缀下最大的编号 int max = recoveryService.getCodePreCount(pre); String result = null; if (max == 0) { result = pre + "0000001"; } else { //格式化 DecimalFormat decimalFormat = new DecimalFormat("0000000"); max++; result = pre + (decimalFormat.format(max)); } traceability.setCode(result); //新增 return R.status(traceabilityService.save(traceability)); } /** * 编号前缀 * @return */ private String getCodePre() { String nowDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); return nowDate.substring(2,4)+nowDate.substring(5,7); } /** @@ -80,6 +115,7 @@ @PostMapping("/update") @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入traceability") @Transactional(rollbackFor = Exception.class) public R update(@Valid @RequestBody Traceability traceability) { //更新并返回 return R.status(traceabilityService.updateById(traceability)); src/main/java/org/springblade/modules/traceability/entity/Traceability.java
@@ -81,4 +81,9 @@ */ private String print; /** * 采收记录id */ private Integer recoveryId; } src/main/java/org/springblade/modules/traceability/mapper/TraceabilityMapper.xml
@@ -4,10 +4,11 @@ <!--自定义查询农场养殖记录分页数据--> <select id="selectTraceabilityPage" resultType="org.springblade.modules.traceability.vo.TraceabilityVO"> select * from sys_traceability select st.* from sys_traceability st left join sys_recovery sr on st.recovery_id = sr.id where 1=1 <if test="traceability.code!=null and traceability.code!=''"> and code = #{traceability.code} and st.code = #{traceability.code} </if> </select> </mapper>