合并代码

This commit is contained in:
gxwebsoft
2023-06-09 12:30:28 +08:00
parent 61db0f4b5a
commit 484999cd07
6 changed files with 87 additions and 12 deletions

View File

@@ -8,12 +8,17 @@ import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.tower.entity.TowerProject;
import com.gxwebsoft.tower.entity.TowerProjectOrder;
import com.gxwebsoft.tower.entity.TowerProjectPlace;
import com.gxwebsoft.tower.entity.TowerProjectUser;
import com.gxwebsoft.tower.param.TowerProjectParam;
import com.gxwebsoft.tower.service.TowerProjectOrderService;
import com.gxwebsoft.tower.service.TowerProjectPlaceService;
import com.gxwebsoft.tower.service.TowerProjectService;
import com.gxwebsoft.tower.service.TowerProjectUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -34,6 +39,10 @@ public class TowerProjectController extends BaseController {
private TowerProjectService towerProjectService;
@Resource
private TowerProjectOrderService towerProjectOrderService;
@Resource
private TowerProjectUserService towerProjectUserService;
@Resource
private TowerProjectPlaceService towerProjectPlaceService;
@PreAuthorize("hasAuthority('tower:towerProject:list')")
@ApiOperation("分页查询项目管理")
@@ -60,6 +69,7 @@ public class TowerProjectController extends BaseController {
}
@PreAuthorize("hasAuthority('tower:towerProject:save')")
@Transactional(rollbackFor = {Exception.class})
@ApiOperation("添加项目管理")
@PostMapping()
public ApiResult<?> save(@RequestBody TowerProject towerProject) {
@@ -68,29 +78,59 @@ public class TowerProjectController extends BaseController {
if (loginUser != null) {
towerProject.setUserId(loginUser.getUserId());
}
System.out.println("towerProject = " + towerProject.getPlaces2());
if (towerProjectService.save(towerProject)) {
final Integer projectId = towerProject.getProjectId();
// 批量添加项目成员
if (!towerProject.getUsers().isEmpty()) {
final Set<TowerProjectUser> users = towerProject.getUsers();
users.forEach(d->{
d.setProjectId(projectId);
});
towerProjectUserService.saveBatch(users);
}
// 批量添加项目订单
if (!towerProject.getOrders().isEmpty()) {
final Set<TowerProjectOrder> orders = towerProject.getOrders();
orders.forEach(d->{
d.setProjectId(towerProject.getProjectId());
d.setProjectId(projectId);
});
towerProjectOrderService.saveBatch(orders);
}
// 批量添加检查部位配置
if (!towerProject.getPlaces1().isEmpty()) {
final Set<TowerProjectPlace> places1 = towerProject.getPlaces1();
places1.forEach(d->{
d.setProjectId(projectId);
});
towerProjectPlaceService.saveBatch(places1);
}
// 批量添加保养部位配置
if (!towerProject.getPlaces2().isEmpty()) {
final Set<TowerProjectPlace> places2 = towerProject.getPlaces2();
places2.forEach(d->{
d.setProjectId(projectId);
});
towerProjectPlaceService.saveBatch(places2);
}
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('tower:towerProject:update')")
@Transactional(rollbackFor = {Exception.class})
@ApiOperation("修改项目管理")
@PutMapping()
public ApiResult<?> update(@RequestBody TowerProject towerProject) {
if (towerProjectService.updateById(towerProject)) {
if (!towerProject.getOrders().isEmpty()) {
final Set<TowerProjectOrder> orders = towerProject.getOrders();
System.out.println("orders = " + orders);
// 批量修改项目成员
towerProjectUserService.saveOrUpdateBatch(towerProject.getUsers());
// 批量修改项目订单
towerProjectOrderService.saveOrUpdateBatch(towerProject.getOrders());
}
// 批量修改检查/保养部位配置
towerProjectPlaceService.saveOrUpdateBatch(towerProject.getPlaces1());
towerProjectPlaceService.saveOrUpdateBatch(towerProject.getPlaces2());
return success("修改成功");
}
return fail("修改失败");

View File

@@ -111,12 +111,20 @@ public class TowerProject implements Serializable {
@ApiModelProperty(value = "修改时间")
private Date updateTime;
@ApiModelProperty(value = "项目成员")
@TableField(exist = false)
private Set<TowerProjectUser> users;
@ApiModelProperty(value = "合同预定设备清单")
@TableField(exist = false)
private Set<TowerProjectOrder> orders;
@ApiModelProperty(value = "检查/保养部位配置")
@ApiModelProperty(value = "检查部位配置")
@TableField(exist = false)
private Set<TowerProjectPlace> places;
private Set<TowerProjectPlace> places1;
@ApiModelProperty(value = "保养部位配置")
@TableField(exist = false)
private Set<TowerProjectPlace> places2;
}

View File

@@ -65,4 +65,8 @@ public class TowerProjectUser implements Serializable {
@TableField(exist = false)
private String avatar;
@ApiModelProperty(value = "所在部门")
@TableField(exist = false)
private String organizationName;
}

View File

@@ -4,9 +4,10 @@
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*, b.nickname,b.email,b.phone,b.avatar
SELECT a.*, b.nickname,b.email,b.phone,b.avatar,c.organization_name
FROM tower_project_user a
LEFT JOIN sys_user b ON a.user_id = b.user_id
LEFT JOIN sys_organization c ON b.organization_id = c.organization_id
<where>
<if test="param.id != null">
AND a.id = #{param.id}

View File

@@ -49,9 +49,9 @@
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<!-- <if test="param.username != null">-->
<!-- AND a.username = #{param.username}-->
<!-- </if>-->
<if test="param.username != null">
AND a.username = #{param.username}
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>

View File

@@ -1,14 +1,20 @@
package com.gxwebsoft.tower.param;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.gxwebsoft.tower.entity.TowerProjectOrder;
import com.gxwebsoft.tower.entity.TowerProjectPlace;
import com.gxwebsoft.tower.entity.TowerProjectUser;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Set;
/**
* 项目管理查询参数
*
@@ -103,4 +109,20 @@ public class TowerProjectParam extends BaseParam {
@QueryField(type = QueryType.EQ)
private Integer deleted;
@ApiModelProperty(value = "项目成员")
@TableField(exist = false)
private Set<TowerProjectUser> users;
@ApiModelProperty(value = "合同预定设备清单")
@TableField(exist = false)
private Set<TowerProjectOrder> orders;
@ApiModelProperty(value = "检查部位配置")
@TableField(exist = false)
private Set<TowerProjectPlace> places1;
@ApiModelProperty(value = "保养部位配置")
@TableField(exist = false)
private Set<TowerProjectPlace> places2;
}