zhaiqm
1 year ago
6 changed files with 271 additions and 0 deletions
@ -0,0 +1,54 @@
|
||||
package com.hnac.hzims.safeproduct.workarea.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType; |
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import com.baomidou.mybatisplus.annotation.TableId; |
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import lombok.experimental.Accessors; |
||||
|
||||
@Data |
||||
@EqualsAndHashCode(callSuper = false) |
||||
@Accessors(chain = true) |
||||
@TableName("work_area") |
||||
public class WorkArea { |
||||
@TableId(value = "id", type = IdType.AUTO) |
||||
private Long id; |
||||
|
||||
/** |
||||
* 区域名称 |
||||
*/ |
||||
@TableField("area_name") |
||||
private String areaName; |
||||
|
||||
/** |
||||
* 安全责任人 |
||||
*/ |
||||
@TableField("direct_op_id") |
||||
private Long directOpId; |
||||
|
||||
/** |
||||
* 监管部门 |
||||
*/ |
||||
@TableField("depart_id") |
||||
private Long departId; |
||||
|
||||
/** |
||||
* 分管领导 |
||||
*/ |
||||
@TableField("lead_op_id") |
||||
private Long leadOpId; |
||||
|
||||
/** |
||||
* 区域范围 |
||||
*/ |
||||
@TableField("area_range") |
||||
private String areaRange; |
||||
|
||||
private String directOpName; |
||||
|
||||
private String departName; |
||||
|
||||
private String leadOpName; |
||||
} |
@ -0,0 +1,32 @@
|
||||
package com.hnac.hzims.safeproduct.workarea.vo; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField; |
||||
import lombok.Data; |
||||
|
||||
@Data |
||||
public class WorkAreaQueryVo { |
||||
|
||||
/** |
||||
* 区域名称 |
||||
*/ |
||||
@TableField("area_name") |
||||
private String areaName; |
||||
|
||||
/** |
||||
* 安全责任人 |
||||
*/ |
||||
@TableField("direct_op_id") |
||||
private Long directOpId; |
||||
|
||||
/** |
||||
* 监管部门 |
||||
*/ |
||||
@TableField("depart_id") |
||||
private Long departId; |
||||
|
||||
/** |
||||
* 分管领导 |
||||
*/ |
||||
@TableField("lead_op_id") |
||||
private Long leadOpId; |
||||
} |
@ -0,0 +1,63 @@
|
||||
package com.hnac.hzims.safeproduct.workarea.controller; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.hnac.hzims.safeproduct.workarea.entity.WorkArea; |
||||
import com.hnac.hzims.safeproduct.workarea.service.WorkAreaService; |
||||
import com.hnac.hzims.safeproduct.workarea.vo.WorkAreaQueryVo; |
||||
import lombok.RequiredArgsConstructor; |
||||
import org.springblade.core.tool.api.R; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
@RequiredArgsConstructor |
||||
@RestController |
||||
@RequestMapping("/workarea") |
||||
public class WorkAreaController { |
||||
|
||||
@Autowired |
||||
WorkAreaService workAreaService; |
||||
|
||||
/** |
||||
* 分页查询 |
||||
*/ |
||||
@GetMapping("/listPage/{page}/{size}") |
||||
public R listPage(@PathVariable Long page, |
||||
@PathVariable Long size, |
||||
WorkAreaQueryVo workAreaQueryVo) { |
||||
Page<WorkArea> pageParam = new Page<>(page, size); |
||||
IPage<WorkArea> resultParams = |
||||
workAreaService.selectPage(pageParam, |
||||
workAreaQueryVo); |
||||
return R.data(resultParams); |
||||
} |
||||
|
||||
/** |
||||
* 新增工作区域数据 |
||||
*/ |
||||
@PostMapping("/save") |
||||
public R save(@RequestBody WorkArea workArea) { |
||||
workAreaService.saveWorkArea(workArea); |
||||
return R.success("新增成功"); |
||||
} |
||||
|
||||
|
||||
/** |
||||
* 更新工作区域数据 |
||||
*/ |
||||
@PutMapping("/update") |
||||
public R update(@RequestBody WorkArea workArea) { |
||||
workAreaService.updateWorkArea(workArea); |
||||
return R.success("修改成功"); |
||||
} |
||||
|
||||
|
||||
/** |
||||
* 删除工作区域数据 |
||||
*/ |
||||
@DeleteMapping("/remove/{id}") |
||||
public R remove(@PathVariable Long id) { |
||||
workAreaService.removeById(id); |
||||
return R.success("删除成功"); |
||||
} |
||||
} |
@ -0,0 +1,7 @@
|
||||
package com.hnac.hzims.safeproduct.workarea.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.hnac.hzims.safeproduct.workarea.entity.WorkArea; |
||||
|
||||
public interface WorkAreaMapper extends BaseMapper<WorkArea> { |
||||
} |
@ -0,0 +1,22 @@
|
||||
package com.hnac.hzims.safeproduct.workarea.service; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.hnac.hzims.safeproduct.workarea.entity.WorkArea; |
||||
import com.hnac.hzims.safeproduct.workarea.vo.WorkAreaQueryVo; |
||||
|
||||
public interface WorkAreaService extends IService<WorkArea> { |
||||
|
||||
/** |
||||
* 分页查询 |
||||
* @param pageParam |
||||
* @param workAreaQueryVo |
||||
* @return |
||||
*/ |
||||
IPage<WorkArea> selectPage(Page<WorkArea> pageParam, WorkAreaQueryVo workAreaQueryVo); |
||||
|
||||
void saveWorkArea(WorkArea workArea); |
||||
|
||||
void updateWorkArea(WorkArea workArea); |
||||
} |
@ -0,0 +1,93 @@
|
||||
package com.hnac.hzims.safeproduct.workarea.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.hnac.hzims.safeproduct.workarea.entity.WorkArea; |
||||
import com.hnac.hzims.safeproduct.workarea.mapper.WorkAreaMapper; |
||||
import com.hnac.hzims.safeproduct.workarea.service.WorkAreaService; |
||||
import com.hnac.hzims.safeproduct.workarea.vo.WorkAreaQueryVo; |
||||
import org.springblade.core.log.exception.ServiceException; |
||||
import org.springblade.core.tool.utils.ObjectUtil; |
||||
import org.springblade.system.cache.SysCache; |
||||
import org.springblade.system.entity.Dept; |
||||
import org.springblade.system.user.cache.UserCache; |
||||
import org.springblade.system.user.entity.User; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.List; |
||||
|
||||
@Service |
||||
public class WorkAreaServiceImpl extends ServiceImpl<WorkAreaMapper, WorkArea> implements WorkAreaService { |
||||
|
||||
@Override |
||||
public IPage<WorkArea> selectPage(Page<WorkArea> pageParam, WorkAreaQueryVo workAreaQueryVo) { |
||||
String areaName = workAreaQueryVo.getAreaName(); |
||||
Long directOpId = workAreaQueryVo.getDirectOpId(); |
||||
Long leadOpId = workAreaQueryVo.getLeadOpId(); |
||||
Long departId = workAreaQueryVo.getDepartId(); |
||||
LambdaQueryWrapper<WorkArea> queryWrapper = new LambdaQueryWrapper<>(); |
||||
if (StringUtils.isNotBlank(areaName)) { |
||||
queryWrapper.like(WorkArea::getAreaName,areaName); |
||||
} |
||||
if (ObjectUtil.isNotEmpty(directOpId)) { |
||||
queryWrapper.eq(WorkArea::getDirectOpId, directOpId); |
||||
} |
||||
if (ObjectUtil.isNotEmpty(leadOpId)) { |
||||
queryWrapper.eq(WorkArea::getLeadOpId, leadOpId); |
||||
} |
||||
if (ObjectUtil.isNotEmpty(departId)) { |
||||
queryWrapper.eq(WorkArea::getDepartId, departId); |
||||
} |
||||
IPage<WorkArea> workAreaIPage = baseMapper.selectPage(pageParam, queryWrapper); |
||||
|
||||
//翻译
|
||||
List<WorkArea> records = workAreaIPage.getRecords(); |
||||
records.stream().forEach(workArea -> { |
||||
User directOp = UserCache.getUser(workArea.getDirectOpId()); |
||||
String directOpName = directOp.getName(); |
||||
User leadOp = UserCache.getUser(workArea.getLeadOpId()); |
||||
String leadOpName = leadOp.getName(); |
||||
Dept dept = SysCache.getDept(workArea.getDepartId()); |
||||
String deptName = dept.getDeptName(); |
||||
workArea.setDirectOpName(directOpName); |
||||
workArea.setLeadOpName(leadOpName); |
||||
workArea.setDepartName(deptName); |
||||
}); |
||||
|
||||
return workAreaIPage; |
||||
} |
||||
|
||||
@Override |
||||
public void saveWorkArea(WorkArea workArea) { |
||||
checkOpAndDept(workArea); |
||||
this.save(workArea); |
||||
} |
||||
|
||||
@Override |
||||
public void updateWorkArea(WorkArea workArea) { |
||||
checkOpAndDept(workArea); |
||||
this.updateById(workArea); |
||||
} |
||||
|
||||
/** |
||||
* 校验员工id、部门id是否存在 |
||||
* @param workArea |
||||
*/ |
||||
private void checkOpAndDept(WorkArea workArea) { |
||||
Long directOpId = workArea.getDirectOpId(); |
||||
Long leadOpId = workArea.getLeadOpId(); |
||||
Long departId = workArea.getDepartId(); |
||||
User user = UserCache.getUser(directOpId); |
||||
User user1 = UserCache.getUser(leadOpId); |
||||
if (user == null || user1 == null) { |
||||
throw new ServiceException("员工不存在,保存失败"); |
||||
} |
||||
Dept dept = SysCache.getDept(departId); |
||||
if (dept == null) { |
||||
throw new ServiceException("部门不存在,保存失败"); |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue