kongdeqiang
2025-03-24 18d187869d098a2893d79acdadc7d7a99aad28e6
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandTotalController.java
@@ -3,11 +3,15 @@
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.common.log.annotation.SysLog;
import com.by4cloud.platformx.device.entity.DeviceDemandPlan;
import com.by4cloud.platformx.device.entity.DeviceDemandSub;
import com.by4cloud.platformx.device.entity.DeviceDemandTotal;
import com.by4cloud.platformx.device.service.DeviceDemandSubService;
import com.by4cloud.platformx.device.service.DeviceDemandTotalService;
import org.springframework.security.access.prepost.PreAuthorize;
import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
@@ -36,6 +40,7 @@
public class DeviceDemandTotalController {
    private final  DeviceDemandTotalService deviceDemandTotalService;
    private final DeviceDemandSubService deviceDemandSubService;
    /**
     * 分页查询
@@ -61,10 +66,31 @@
    @GetMapping("/{id}" )
    @PreAuthorize("@pms.hasPermission('platformx_deviceDemandTotal_view')" )
    public R getById(@PathVariable("id" ) Long id) {
        return R.ok(deviceDemandTotalService.getById(id));
      DeviceDemandTotal demandTotal = deviceDemandTotalService.getById(id);
      QueryWrapper<DeviceDemandSub> wrapper = new QueryWrapper<>();
      wrapper.lambda()
            .eq(DeviceDemandSub::getTotalId,demandTotal.getId());
      List<DeviceDemandSub> list = deviceDemandSubService.list(wrapper);
      demandTotal.setSubList(list);
      return R.ok(demandTotal);
    }
    /**
   /**
    * 通过id查询设备需求计划项目子表
    * @param id id
    * @return R
    */
   @Operation(summary = "通过id查询" , description = "通过id查询" )
   @GetMapping("/getByPlanId/{id}" )
   public R getByPlanId(@PathVariable("id" ) Long id) {
      QueryWrapper<DeviceDemandTotal> wrapper = new QueryWrapper<>();
      wrapper.lambda()
            .eq(DeviceDemandTotal::getPlanId,id);
      return R.ok(deviceDemandTotalService.list(wrapper));
   }
   /**
     * 新增设备需求计划项目子表
     * @param deviceDemandTotal 设备需求计划项目子表
     * @return R
@@ -72,9 +98,17 @@
    @Operation(summary = "新增设备需求计划项目子表" , description = "新增设备需求计划项目子表" )
    @SysLog("新增设备需求计划项目子表" )
    @PostMapping
    @PreAuthorize("@pms.hasPermission('platformx_deviceDemandTotal_add')" )
    public R save(@RequestBody DeviceDemandTotal deviceDemandTotal) {
        return R.ok(deviceDemandTotalService.save(deviceDemandTotal));
      if(deviceDemandTotal.getPlanId()==null){
         return R.failed("计划id必传");
      }
      deviceDemandTotalService.save(deviceDemandTotal);
      List<DeviceDemandSub> subList = deviceDemandTotal.getSubList();
      for (DeviceDemandSub deviceDemandSub : subList) {
         deviceDemandSub.setTotalId(deviceDemandTotal.getId());
         deviceDemandSubService.save(deviceDemandSub);
      }
      return R.ok("添加成功");
    }
    /**
@@ -87,21 +121,54 @@
    @PutMapping
    @PreAuthorize("@pms.hasPermission('platformx_deviceDemandTotal_edit')" )
    public R updateById(@RequestBody DeviceDemandTotal deviceDemandTotal) {
        return R.ok(deviceDemandTotalService.updateById(deviceDemandTotal));
      List<DeviceDemandSub> subList = deviceDemandTotal.getSubList();
      QueryWrapper<DeviceDemandSub> wrapper = new QueryWrapper<>();
      wrapper.lambda()
            .eq(DeviceDemandSub::getTotalId,deviceDemandTotal.getId());
      List<DeviceDemandSub> list = deviceDemandSubService.list(wrapper);
      deviceDemandSubService.removeBatchByIds(list);
      for (DeviceDemandSub deviceDemandSub : subList) {
         deviceDemandSub.setTotalId(deviceDemandTotal.getId());
         deviceDemandSubService.save(deviceDemandSub);
      }
      return R.ok(deviceDemandTotalService.updateById(deviceDemandTotal));
    }
    /**
     * 通过id删除设备需求计划项目子表
     * @param ids id列表
     * @return R
     */
    @Operation(summary = "通过id删除设备需求计划项目子表" , description = "通过id删除设备需求计划项目子表" )
    @SysLog("通过id删除设备需求计划项目子表" )
    @DeleteMapping
    @PreAuthorize("@pms.hasPermission('platformx_deviceDemandTotal_del')" )
    public R removeById(@RequestBody Long[] ids) {
        return R.ok(deviceDemandTotalService.removeBatchByIds(CollUtil.toList(ids)));
    }
   /**
    * 通过id删除设备需求计划项目子表
    * @param id id
    * @return R
    */
   @Operation(summary = "通过id删除设备需求计划项目子表" , description = "通过id删除设备需求计划项目子表" )
   @SysLog("通过id删除设备需求计划项目子表" )
   @GetMapping("/deleteById/{id}")
   public R deleteById(@PathVariable("id" ) Long id) {
      DeviceDemandTotal byId = deviceDemandTotalService.getById(id);
      if(byId != null){
         deviceDemandTotalService.removeById(id);
         QueryWrapper<DeviceDemandSub> wrapper = new QueryWrapper<>();
         wrapper.lambda()
               .eq(DeviceDemandSub::getTotalId,byId.getId());
         List<DeviceDemandSub> list = deviceDemandSubService.list(wrapper);
         deviceDemandSubService.removeBatchByIds(list);
      }else {
         return R.failed("未查询到该项目");
      }
      return R.ok();
   }
//    /**
//     * 通过id删除设备需求计划项目子表
//     * @param ids id列表
//     * @return R
//     */
//    @Operation(summary = "通过id删除设备需求计划项目子表" , description = "通过id删除设备需求计划项目子表" )
//    @SysLog("通过id删除设备需求计划项目子表" )
//    @DeleteMapping
//    @PreAuthorize("@pms.hasPermission('platformx_deviceDemandTotal_del')" )
//    public R removeById(@RequestBody Long[] ids) {
//        return R.ok(deviceDemandTotalService.removeBatchByIds(CollUtil.toList(ids)));
//    }
    /**