1.添加删除逻辑判断

main
862857010@qq.com 2 years ago
parent 1e9bf97893
commit 2a163e13b9
  1. 2
      cjy-module-traceability/cjy-module-traceability-biz/src/main/java/com/cjy/traceability/module/traceability/controller/admin/recoveryrecord/RecoveryRecordController.java
  2. 10
      cjy-module-traceability/cjy-module-traceability-biz/src/main/java/com/cjy/traceability/module/traceability/dal/mysql/recoveryrecord/RecoveryRecordMapper.java
  3. 30
      cjy-module-traceability/cjy-module-traceability-biz/src/main/java/com/cjy/traceability/module/traceability/service/recoveryrecord/RecoveryRecordServiceImpl.java
  4. 6
      cjy-module-traceability/cjy-module-traceability-biz/src/main/resources/mapper/recoveryrecord/RecoveryRecordMapper.xml

@ -63,6 +63,8 @@ public class RecoveryRecordController {
int res= recoveryRecordService.deleteRecoveryRecord(id);
if(res==-1){
return error(500,"该记录存在溯源产品,请先删除溯源产品后在删除采收记录");
}else if(res==-2){
return error(500,"该记录下批已存在农事记录无法删除");
}else {
return success(true);
}

@ -58,4 +58,14 @@ public interface RecoveryRecordMapper extends BaseMapperX<RecoveryRecordDO> {
* @return
*/
Map<String,Object> getYield(@Param("cropperId") Integer cropperId,@Param("batch") Integer batch);
/**
* 获取下批是否存在农事
* @param cropperId
* @param batch
* @return
*/
Integer getFarmingRecordsCount(@Param("cropperId") Integer cropperId,@Param("batch") Integer batch);
Integer updatetRaceabilityCropper(Integer cropperId);
}

@ -84,18 +84,26 @@ public class RecoveryRecordServiceImpl implements RecoveryRecordService {
//通过采收记录获取到 农作物id和批次
//判断是否有产品 如果有产品提示删除产品
RecoveryRecordDO recoveryRecordDO= recoveryRecordMapper.selectById(id);
if(recoveryRecordMapper.getTraceableProductsCount(recoveryRecordDO.getCropperId(),recoveryRecordDO.getBatch())!=0){
return -1;
}else {
//如果没有 删除农事记录、采收记录并且还原种植历史中的累计产量
//删除农事记录
recoveryRecordMapper.deleteFarmingRecords(recoveryRecordDO.getCropperId(),recoveryRecordDO.getBatch());
//删除采收记录
recoveryRecordMapper.deleteById(id);
//修改种植记录 累计收获数量、累计采收次数
recoveryRecordMapper.updateProduction(recoveryRecordDO.getCropperId(),recoveryRecordDO.getProduction());
return 1;
//如果下一批有农事记录不让删除
if(recoveryRecordMapper.getFarmingRecordsCount(recoveryRecordDO.getCropperId(),recoveryRecordDO.getBatch()+1)>0){
return -2;
} else {
if(recoveryRecordMapper.getTraceableProductsCount(recoveryRecordDO.getCropperId(),recoveryRecordDO.getBatch())!=0){
return -1;
}else {
//如果没有 删除农事记录、采收记录并且还原种植历史中的累计产量
//删除农事记录
recoveryRecordMapper.deleteFarmingRecords(recoveryRecordDO.getCropperId(),recoveryRecordDO.getBatch());
//删除采收记录
recoveryRecordMapper.deleteById(id);
//修改种植记录 累计收获数量、累计采收次数
recoveryRecordMapper.updateProduction(recoveryRecordDO.getCropperId(),recoveryRecordDO.getProduction());
//修改种植记录的批次-1
recoveryRecordMapper.updatetRaceabilityCropper(recoveryRecordDO.getCropperId());
return 1;
}
}
}
private void validateRecoveryRecordExists(Integer id) {

@ -4,6 +4,9 @@
<update id="updateProduction">
update traceability_grow_record set production=production-#{production},harvest_num=harvest_num-1 where cropper_id=#{cropperId}
</update>
<update id="updatetRaceabilityCropper">
update traceability_cropper set current_batch =current_batch-1 where id=#{cropperId}
</update>
<delete id="deleteFarmingRecords">
delete from traceability_husbandry_record where cropper_id=#{cropperId} and batch=#{batch} and husbandry_id=11
</delete>
@ -49,4 +52,7 @@
<select id="getYield" resultType="java.util.Map">
select production from traceability_recovery_record where cropper_id=#{cropperId} and batch=#{batch} and deleted=0
</select>
<select id="getFarmingRecordsCount" resultType="java.lang.Integer">
select count(*) from traceability_husbandry_record where cropper_id=#{cropperId} and batch=#{batch} and deleted=0
</select>
</mapper>

Loading…
Cancel
Save