package com.huaheng.pc.plc.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.huaheng.common.utils.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.aspectj.lang.annotation.Log; import com.huaheng.framework.aspectj.lang.constant.BusinessType; import com.huaheng.framework.web.controller.BaseController; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.framework.web.page.PageDomain; import com.huaheng.framework.web.page.TableDataInfo; import com.huaheng.framework.web.page.TableSupport; import com.huaheng.pc.common.JasperPrint.Print; import com.huaheng.pc.plc.domain.PlcEquipment; import com.huaheng.pc.plc.domain.PlcEquipmentMethod; import com.huaheng.pc.plc.domain.PlcEquipmentOffset; import com.huaheng.pc.plc.service.EquipmentMethodService; import com.huaheng.pc.plc.service.EquipmentOffsetService; import com.huaheng.pc.plc.service.EquipmentService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.Arrays; import java.util.Date; import java.util.List; /** * @author:zhouhong * 设备管理 * 202203 */ @Api(tags={"设备偏移量管理类"}) @Controller @RequestMapping("/plc/equipmentOffset") public class EquipmnetOffsetController extends BaseController { @Resource private EquipmentOffsetService equipmentOffsetService; @Resource private EquipmentMethodService equipmentMethodService; @Resource private EquipmentService equipmentService; private String prefix = "plc/equipmentOffset"; @Resource private Print print; @GetMapping() public String tolist(String equipmentId, ModelMap mmap) { mmap.put("equipmentId",equipmentId); return prefix + "/equipmentOffsetlist"; } /** * 查询列表 */ @ApiOperation(value="查询列表", notes="根据名称查询信息", httpMethod = "POST") @Log(title = "配置-plc-设备管理", operating = "查看列表", action = BusinessType.GRANT) @PostMapping("/list") @ResponseBody public TableDataInfo list( @ApiParam(name="equipmentId",value="设备id") String equipmentId, @ApiParam(name="methodId",value="设备db块") String methodId, @ApiParam(name="dataType",value="设备db块") String dataType ) { LambdaQueryWrapper<PlcEquipmentOffset> lambdaQueryWrapper = Wrappers.lambdaQuery(); PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); lambdaQueryWrapper.eq(StringUtils.isNotEmpty(equipmentId), PlcEquipmentOffset::getEquipmentId,equipmentId) .eq(StringUtils.isNotEmpty(methodId), PlcEquipmentOffset::getMethodId,methodId) .eq(StringUtils.isNotEmpty(dataType), PlcEquipmentOffset::getDataType,dataType) .orderByDesc(PlcEquipmentOffset::getId); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ /*使用分页查询*/ Page<PlcEquipmentOffset> page = new Page<>(pageNum, pageSize); IPage<PlcEquipmentOffset> iPage = equipmentOffsetService.page(page, lambdaQueryWrapper); return getMpDataTable(iPage.getRecords(), iPage.getTotal()); } else { List<PlcEquipmentOffset> list = equipmentOffsetService.list(lambdaQueryWrapper); return getDataTable(list); } } /** * 新增 */ @GetMapping("/add") public String add(ModelMap mmap) { return prefix + "/add"; } /** * 新增保存 */ // @RequiresPermissions("plc:equipmentMethod:add") @Log(title = "设备管理", operating = "新增", action = BusinessType.INSERT) @PostMapping("/addSave") @Transactional(rollbackFor = Exception.class) @ResponseBody public AjaxResult addSave(PlcEquipmentOffset plcEquipment) { plcEquipment.setCreateBy(ShiroUtils.getLoginName()); plcEquipment.setCreateTime(new Date()); PlcEquipment plcEquipment1=equipmentService.getById(plcEquipment.getEquipmentId()); if(plcEquipment1!=null){ plcEquipment.setEquipmentIp(plcEquipment1.getEquipmentIp()); } PlcEquipmentMethod method=equipmentMethodService.getById(plcEquipment.getMethodId()); if(method!=null){ plcEquipment.setMethodName(method.getMethodName()); } AjaxResult ajaxResult = toAjax(equipmentOffsetService.save(plcEquipment)); return ajaxResult; } /** * 修改 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Integer id, ModelMap mmap) { mmap.put("equipmentOffset", equipmentOffsetService.getById(id)); return prefix + "/edit"; } /** * 修改保存 */ // @RequiresPermissions("plc:equipmentMethod:edit") @Log(title = "修改保存", operating = "修改", action = BusinessType.UPDATE) @PostMapping("/edit") @Transactional(rollbackFor = Exception.class) @ResponseBody public AjaxResult editSave(PlcEquipmentOffset equipment) { equipment.setUpdateBy(ShiroUtils.getLoginName()); equipment.setUpdateTime(new Date()); PlcEquipment plcEquipment1=equipmentService.getById(equipment.getEquipmentId()); if(plcEquipment1!=null){ equipment.setEquipmentIp(plcEquipment1.getEquipmentIp()); } PlcEquipmentMethod method=equipmentMethodService.getById(equipment.getMethodId()); if(method!=null){ equipment.setMethodName(method.getMethodName()); } AjaxResult ajaxResult = toAjax(equipmentOffsetService.updateById(equipment)); return ajaxResult; } // @RequiresPermissions("plc:equipmentMethod:remove") @Log(title = "删除", operating = "删除", action = BusinessType.DELETE) @PostMapping("/remove") @ResponseBody public AjaxResult remove(String ids) { try { return toAjax(equipmentOffsetService.removeByIds(Arrays.asList(Convert.toIntArray(ids)))); } catch (Exception e) { return error(e.getMessage()); } } }