From 6555c13200be403947d866339d61a7351df08382 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Wed, 8 May 2024 23:18:15 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SystemUserServiceImpl.java | 6 +- .../checking/entity/CheckingPoint.java | 6 + .../mapper/CheckingPointInfoMapper.java | 2 + .../checking/mapper/CheckingPointMapper.java | 2 + .../mapper/xml/CheckingPointInfoMapper.xml | 8 +- .../mapper/xml/CheckingPointMapper.xml | 13 +- .../service/CheckingPointInfoService.java | 3 - .../QualityInspectionRecordServiceImpl.java | 18 ++- .../controller/XzMilestoneController.java | 128 ++++++++++++++++++ .../xz.security/entity/XzMilestone.java | 83 ++++++++++++ .../xz.security/mapper/XzMilestoneMapper.java | 16 +++ .../mapper/xml/XzMilestoneMapper.xml | 4 + .../service/IXzMilestoneService.java | 27 ++++ .../service/impl/XzMilestoneServiceImpl.java | 104 ++++++++++++++ ...ityQualityInspectionRecordServiceImpl.java | 18 ++- .../controller/XzTaskProgressController.java | 11 ++ .../modules/xz/entity/XzTaskProgress.java | 6 + .../xz/mapper/XzTaskProgressMapper.java | 3 + .../xz/mapper/xml/XzTaskProgressMapper.xml | 17 +++ .../xz/service/IXzTaskProgressService.java | 4 + .../impl/XzTaskProgressServiceImpl.java | 44 ++++-- .../java/com/zhgd/xmgl/util/ListUtils.java | 5 +- 22 files changed, 490 insertions(+), 38 deletions(-) create mode 100644 src/main/java/com/zhgd/xmgl/modules/xz.security/controller/XzMilestoneController.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/xz.security/entity/XzMilestone.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/XzMilestoneMapper.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/xml/XzMilestoneMapper.xml create mode 100644 src/main/java/com/zhgd/xmgl/modules/xz.security/service/IXzMilestoneService.java create mode 100644 src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzMilestoneServiceImpl.java diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java index 44cb94f60..bfee37e0a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java @@ -363,7 +363,8 @@ public class SystemUserServiceImpl extends ServiceImpl() .eq(XzSystemUserToCompanyProject::getType, 2) - .last("limit 1") + .eq(XzSystemUserToCompanyProject::getUserId, systemUser.getUserId()) + .last("order by id limit 1") ); if (xzSystemUserToCompanyProject != null) { result.put("sn", xzSystemUserToCompanyProject.getSn()); @@ -477,7 +478,8 @@ public class SystemUserServiceImpl extends ServiceImpl() .eq(XzSystemUserToCompanyProject::getType, 2) - .last("limit 1") + .eq(XzSystemUserToCompanyProject::getUserId, systemUser.getUserId()) + .last("order by id limit 1") ); if (xzSystemUserToCompanyProject != null) { result.put("sn", xzSystemUserToCompanyProject.getSn()); diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/entity/CheckingPoint.java b/src/main/java/com/zhgd/xmgl/modules/checking/entity/CheckingPoint.java index decf6c631..f2095024d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/entity/CheckingPoint.java +++ b/src/main/java/com/zhgd/xmgl/modules/checking/entity/CheckingPoint.java @@ -11,6 +11,7 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; @@ -165,6 +166,11 @@ public class CheckingPoint implements Serializable { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateDate; + @Excel(name = "区域id", width = 15) + @ApiModelProperty(value = "区域id") + private java.lang.Long qualityRegionId; + @ApiModelProperty(value = "合作单位ids") + private java.lang.String enterpriseId; /** * 创建人名称 diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/CheckingPointInfoMapper.java b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/CheckingPointInfoMapper.java index 97f438a60..d8577bb7c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/CheckingPointInfoMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/CheckingPointInfoMapper.java @@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.checking.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.annotation.DataScope; import com.zhgd.xmgl.modules.checking.entity.dto.CheckingPointInfoPageDto; import com.zhgd.xmgl.modules.checking.entity.CheckingPointInfo; import com.zhgd.xmgl.modules.checking.entity.dto.PointIdCountDTO; @@ -19,6 +20,7 @@ import java.util.Set; * @Version 1.0 */ @Mapper +@DataScope(includeTable = "enterprise_info") public interface CheckingPointInfoMapper extends BaseMapper { IPage selectCheckingPointInfoPage(@Param("dto") CheckingPointInfoPageDto dto, Page objectPage); diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/CheckingPointMapper.java b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/CheckingPointMapper.java index 4eaa0dd6d..db081f4de 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/CheckingPointMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/CheckingPointMapper.java @@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.checking.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.annotation.DataScope; import com.zhgd.xmgl.modules.checking.entity.CheckingPoint; import com.zhgd.xmgl.modules.checking.entity.qo.ProjectSnQO; import org.apache.ibatis.annotations.Mapper; @@ -17,6 +18,7 @@ import java.util.List; * @Version 1.0 */ @Mapper +@DataScope(includeTable = "enterprise_info") public interface CheckingPointMapper extends BaseMapper { IPage selectCheckingPointPage(@Param("qo") ProjectSnQO projectSnQO, Page objectPage); diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointInfoMapper.xml b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointInfoMapper.xml index df60285b2..563095472 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointInfoMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointInfoMapper.xml @@ -12,6 +12,7 @@ uo.real_name operate_name from checking_point_info cpi inner join checking_point cp on cpi.checking_point_id = cp.id + left join enterprise_info ei on find_in_set(ei.id,cp.enterprise_id) inner join system_user su on cpi.checking_point_user_id = su.user_id left join system_user uo on cpi.operate_id = uo.user_id where cp.project_sn = #{dto.projectSn} @@ -48,19 +49,22 @@ from checking_point_info cpi inner join checking_point cp on cpi.checking_point_id = cp.id inner join system_user su on cpi.checking_point_user_id = su.user_id + left join enterprise_info ei on find_in_set(ei.id, cp.enterprise_id) order by cpi.create_date desc diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointMapper.xml b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointMapper.xml index 663143548..f156b2cfb 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/checking/mapper/xml/CheckingPointMapper.xml @@ -10,6 +10,7 @@ noticeUserNames from checking_point cp inner join system_user su on cp.create_user_id = su.user_id + left join enterprise_info ei on find_in_set(ei.id,cp.enterprise_id) and cp.project_sn = #{qo.projectSn} @@ -23,8 +24,8 @@ diff --git a/src/main/java/com/zhgd/xmgl/modules/checking/service/CheckingPointInfoService.java b/src/main/java/com/zhgd/xmgl/modules/checking/service/CheckingPointInfoService.java index c49517c91..27e192b22 100644 --- a/src/main/java/com/zhgd/xmgl/modules/checking/service/CheckingPointInfoService.java +++ b/src/main/java/com/zhgd/xmgl/modules/checking/service/CheckingPointInfoService.java @@ -16,9 +16,6 @@ import java.util.List; public interface CheckingPointInfoService extends IService { /** - * @param queryStr - * @param pageNo - * @param pageSize * @return */ IPage selectCheckingPointInfoPage(CheckingPointInfoPageDto dto); diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java index a28d37eb1..848b3f4d1 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/quality/service/impl/QualityInspectionRecordServiceImpl.java @@ -14,6 +14,7 @@ import com.gexin.fastjson.TypeReference; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.redis.lock.redisson.DistributedLock; import com.zhgd.xmgl.base.entity.vo.SectorOneVo; import com.zhgd.xmgl.base.entity.vo.SectorVo; import com.zhgd.xmgl.base.entity.vo.TrendOneVo; @@ -469,14 +470,21 @@ public class QualityInspectionRecordServiceImpl extends ServiceImpl> queryPageList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(xzMilestoneService.queryPageList(paramMap)); + } + + /** + * 列表查询 + * + * @return + */ + @ApiOperation(value = "列表查询星纵-里程碑信息", notes = "列表查询星纵-里程碑信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(@ApiIgnore @RequestParam HashMap paramMap) { + return Result.success(xzMilestoneService.queryList(paramMap)); + } + + /** + * 添加 + * + * @param xzMilestone + * @return + */ + @ApiOperation(value = "添加星纵-里程碑信息", notes = "添加星纵-里程碑信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody @Validate XzMilestone xzMilestone) { + xzMilestoneService.add(xzMilestone); + return Result.ok(); + } + + /** + * 编辑 + * + * @param xzMilestone + * @return + */ + @ApiOperation(value = "编辑星纵-里程碑信息", notes = "编辑星纵-里程碑信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody XzMilestone xzMilestone) { + xzMilestoneService.edit(xzMilestone); + return Result.ok(); + } + + /** + * 通过id删除 + * + * @return + */ + @ApiOperation(value = "删除星纵-里程碑信息", notes = "删除星纵-里程碑信息", httpMethod = "POST") + @ApiImplicitParam(name = "id", value = "星纵-里程碑ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") + @PostMapping(value = "/delete") + public Result delete(@ApiIgnore @RequestBody HashMap map) { + xzMilestoneService.delete(MapUtils.getString(map, "id")); + return Result.ok(); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @ApiOperation(value = "通过id查询星纵-里程碑信息", notes = "通过id查询星纵-里程碑信息", httpMethod = "GET") + @ApiImplicitParam(name = "id", value = "星纵-里程碑ID", paramType = "query", required = true, dataType = "Integer") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + Result result = new Result(); + XzMilestone xzMilestone = xzMilestoneService.getById(id); + if (xzMilestone == null) { + result.error500("未找到对应实体"); + } else { + result.setResult(xzMilestone); + result.setSuccess(true); + } + return result; + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/entity/XzMilestone.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/entity/XzMilestone.java new file mode 100644 index 000000000..02897bed8 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/entity/XzMilestone.java @@ -0,0 +1,83 @@ +package com.zhgd.xmgl.modules.xz.security.entity; + +import java.io.Serializable; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * @Description: 星纵-里程碑 + * @author: pds + * @date: 2024-05-08 + * @version: V1.0 + */ +@Data +@TableName("xz_milestone") +@ApiModel(value = "XzMilestone实体类", description = "XzMilestone") +public class XzMilestone implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.Long id; + /** + * 项目唯一标识 + */ + @Excel(name = "项目唯一标识", width = 15) + @ApiModelProperty(value = "项目唯一标识") + @NotBlank + private java.lang.String projectSn; + /** + * 里程碑名称 + */ + @Excel(name = "里程碑名称", width = 15) + @ApiModelProperty(value = "里程碑名称") + @NotBlank + private java.lang.String milestoneName; + /** + * 合作单位id + */ + @Excel(name = "合作单位id", width = 15) + @ApiModelProperty(value = "合作单位id") + @NotNull + private java.lang.Long enterpriseId; + /** + * 里程碑时间节点 yyyy-MM-dd HH:mm:ss + */ + @Excel(name = "里程碑时间节点 yyyy-MM-dd", width = 20, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "里程碑时间节点 yyyy-MM-dd") + @NotNull + private java.util.Date milestoneTime; + /** + * 创建时间 yyyy-MM-dd HH:mm:ss + */ + @Excel(name = "创建时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间 yyyy-MM-dd HH:mm:ss") + private java.util.Date createTime; + /** + * 更新时间 yyyy-MM-dd HH:mm:ss + */ + @Excel(name = "更新时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss") + private java.util.Date updateTime; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/XzMilestoneMapper.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/XzMilestoneMapper.java new file mode 100644 index 000000000..405c3f1f6 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/XzMilestoneMapper.java @@ -0,0 +1,16 @@ +package com.zhgd.xmgl.modules.xz.security.mapper; + +import org.apache.ibatis.annotations.Mapper; +import com.zhgd.xmgl.modules.xz.security.entity.XzMilestone; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 星纵-里程碑 + * @author: pds + * @date: 2024-05-08 + * @version: V1.0 + */ +@Mapper +public interface XzMilestoneMapper extends BaseMapper { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/xml/XzMilestoneMapper.xml b/src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/xml/XzMilestoneMapper.xml new file mode 100644 index 000000000..47ef00278 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/mapper/xml/XzMilestoneMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/IXzMilestoneService.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/IXzMilestoneService.java new file mode 100644 index 000000000..60451a9c9 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/IXzMilestoneService.java @@ -0,0 +1,27 @@ +package com.zhgd.xmgl.modules.xz.security.service; + +import com.zhgd.xmgl.modules.xz.security.entity.XzMilestone; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.HashMap; +import java.util.List; + +/** + * @Description: 星纵-里程碑 + * @author: pds + * @date: 2024-05-08 + * @version: V1.0 + */ +public interface IXzMilestoneService extends IService { + + IPage queryPageList(HashMap paramMap); + + List queryList(HashMap paramMap); + + void add(XzMilestone xzMilestone); + + void edit(XzMilestone xzMilestone); + + void delete(String id); +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzMilestoneServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzMilestoneServiceImpl.java new file mode 100644 index 000000000..484109fcb --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzMilestoneServiceImpl.java @@ -0,0 +1,104 @@ +package com.zhgd.xmgl.modules.xz.security.service.impl; + +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zhgd.jeecg.common.execption.OpenAlertException; +import com.zhgd.xmgl.modules.xz.security.entity.XzMilestone; +import com.zhgd.xmgl.modules.xz.security.mapper.XzMilestoneMapper; +import com.zhgd.xmgl.modules.xz.security.service.IXzMilestoneService; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.jeecg.common.system.query.QueryGenerator; +import com.zhgd.xmgl.util.PageUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.HashMap; +import java.util.List; + +import com.zhgd.xmgl.util.RefUtil; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description: 星纵-里程碑 + * @author: pds + * @date: 2024-05-08 + * @version: V1.0 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class XzMilestoneServiceImpl extends ServiceImpl implements IXzMilestoneService { + @Autowired + private XzMilestoneMapper xzMilestoneMapper; + + @Override + public IPage queryPageList(HashMap paramMap) { + QueryWrapper queryWrapper = getQueryWrapper(paramMap); + Page page = PageUtil.getPage(paramMap); + IPage pageList = this.page(page, queryWrapper); + pageList.setRecords(dealList(pageList.getRecords())); + return pageList; + } + + @Override + public List queryList(HashMap paramMap) { + QueryWrapper queryWrapper = getQueryWrapper(paramMap); + return dealList(this.list(queryWrapper)); + } + + private QueryWrapper getQueryWrapper(HashMap paramMap) { + String alias = ""; + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(XzMilestone.class, paramMap, alias); + queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(XzMilestone::getId)); + return queryWrapper; + } + + private List dealList(List list) { + return list; + } + + @Override + public void add(XzMilestone xzMilestone) { + List xzMilestones = xzMilestoneMapper.selectList(new LambdaQueryWrapper() + .eq(XzMilestone::getMilestoneTime, xzMilestone.getMilestoneTime()) + .eq(XzMilestone::getProjectSn, xzMilestone.getProjectSn()) + .eq(XzMilestone::getEnterpriseId, xzMilestone.getEnterpriseId()) + ); + if (CollUtil.isNotEmpty(xzMilestones)) { + throw new OpenAlertException("里程碑时间节点已存在"); + } + xzMilestone.setId(null); + baseMapper.insert(xzMilestone); + } + + @Override + public void edit(XzMilestone xzMilestone) { + XzMilestone oldXzMilestone = baseMapper.selectById(xzMilestone.getId()); + if (oldXzMilestone == null) { + throw new OpenAlertException("未找到对应实体"); + } + List xzMilestones = xzMilestoneMapper.selectList(new LambdaQueryWrapper() + .eq(XzMilestone::getMilestoneTime, xzMilestone.getMilestoneTime()) + .eq(XzMilestone::getProjectSn, xzMilestone.getProjectSn()) + .eq(XzMilestone::getEnterpriseId, xzMilestone.getEnterpriseId()) + .ne(XzMilestone::getId, xzMilestone.getId()) + ); + if (CollUtil.isNotEmpty(xzMilestones)) { + throw new OpenAlertException("里程碑时间节点已存在"); + } + baseMapper.updateById(xzMilestone); + } + + @Override + public void delete(String id) { + XzMilestone xzMilestone = baseMapper.selectById(id); + if (xzMilestone == null) { + throw new OpenAlertException("未找到对应实体"); + } + baseMapper.deleteById(id); + } + + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java index d1bd6ee9c..131671b53 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz.security/service/impl/XzSecurityXzSecurityQualityInspectionRecordServiceImpl.java @@ -14,6 +14,7 @@ import com.gexin.fastjson.TypeReference; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.redis.lock.redisson.DistributedLock; import com.zhgd.xmgl.base.entity.vo.SectorOneVo; import com.zhgd.xmgl.base.entity.vo.SectorVo; import com.zhgd.xmgl.base.entity.vo.TrendOneVo; @@ -477,14 +478,21 @@ public class XzSecurityXzSecurityQualityInspectionRecordServiceImpl extends Serv } @Override + @DistributedLock(keyPrefix = "xz_security_quality_inspection_record:", key = "#xzSecurityQualityInspectionRecord.id", tryLok = true, lockTime = 0) public void edit(XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecord) { - XzSecurityQualityInspectionRecord xzSecurityQualityInspectionRecordEntity = getById(xzSecurityQualityInspectionRecord.getId()); - if (xzSecurityQualityInspectionRecordEntity == null) { + XzSecurityQualityInspectionRecord old = getById(xzSecurityQualityInspectionRecord.getId()); + if (old == null) { throw new OpenAlertException(MessageUtil.get("notFindErr")); } - boolean ok = updateById(xzSecurityQualityInspectionRecord); - - deductScoreIf(xzSecurityQualityInspectionRecord); + if (Objects.equals(old.getStatus(), 6)) { + //重新提交 + deleteQualityInspectionRecord(String.valueOf(xzSecurityQualityInspectionRecord.getId())); + xzSecurityQualityInspectionRecord.setId(null); + saveQualityInspectionRecord(xzSecurityQualityInspectionRecord); + } else { + updateById(xzSecurityQualityInspectionRecord); + deductScoreIf(xzSecurityQualityInspectionRecord); + } } @Override diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzTaskProgressController.java b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzTaskProgressController.java index e044ddc96..4275c0f80 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzTaskProgressController.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/controller/XzTaskProgressController.java @@ -1,5 +1,6 @@ package com.zhgd.xmgl.modules.xz.controller; +import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.metadata.IPage; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.xmgl.base.entity.vo.SectorVo; @@ -28,6 +29,7 @@ import java.net.URLEncoder; import java.util.Collection; import java.util.HashMap; import java.util.List; +import java.util.Map; /** @@ -270,4 +272,13 @@ public class XzTaskProgressController { public Result countTaskProgress(@ApiIgnore @RequestBody HashMap paramMap) { return Result.success(taskProgressService.countTaskProgress(paramMap)); } + + @ApiOperation(value = "项目进度总览", notes = "项目进度总览", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), + }) + @PostMapping(value = "/statsByEnterprise") + public Result statsByEnterprise(@ApiIgnore @RequestBody Map paramMap) { + return Result.success(taskProgressService.statsByEnterprise(paramMap)); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzTaskProgress.java b/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzTaskProgress.java index 46351f10f..9cf9099b8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzTaskProgress.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/entity/XzTaskProgress.java @@ -1,5 +1,6 @@ package com.zhgd.xmgl.modules.xz.entity; +import com.alibaba.fastjson2.annotation.JSONField; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -70,6 +71,7 @@ public class XzTaskProgress implements Serializable { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "预计开始时间") + @JSONField(format = "yyyy-MM-dd") private java.util.Date startDate; /** * 实际开始时间 @@ -78,6 +80,7 @@ public class XzTaskProgress implements Serializable { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "实际开始时间") + @JSONField(format = "yyyy-MM-dd") private java.util.Date actualStartDate; /** * 预计完成时间 @@ -86,6 +89,7 @@ public class XzTaskProgress implements Serializable { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "预计完成时间") + @JSONField(format = "yyyy-MM-dd") private java.util.Date finishDate; /** * 实际完成时间 @@ -94,6 +98,7 @@ public class XzTaskProgress implements Serializable { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "实际完成时间") + @JSONField(format = "yyyy-MM-dd") private java.util.Date actualFinishDate; /** * 创建时间 @@ -101,6 +106,7 @@ public class XzTaskProgress implements Serializable { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建时间") + @JSONField(format = "yyyy-MM-dd") private java.util.Date createDate; /** * 更新时间 diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/mapper/XzTaskProgressMapper.java b/src/main/java/com/zhgd/xmgl/modules/xz/mapper/XzTaskProgressMapper.java index b64ea76c9..9bc19cbb8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/mapper/XzTaskProgressMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/mapper/XzTaskProgressMapper.java @@ -13,6 +13,7 @@ import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @Description: 任务进度甘特图 @@ -39,4 +40,6 @@ public interface XzTaskProgressMapper extends BaseMapper { CountTaskProgressVo countTaskProgress(HashMap paramMap); CountTaskProgressVo getMaxMinProgress(HashMap paramMap); + + List statsByEnterprise(Map paramMap); } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/mapper/xml/XzTaskProgressMapper.xml b/src/main/java/com/zhgd/xmgl/modules/xz/mapper/xml/XzTaskProgressMapper.xml index 3bc3e03de..d60353ab3 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/mapper/xml/XzTaskProgressMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/xz/mapper/xml/XzTaskProgressMapper.xml @@ -185,4 +185,21 @@ WHERE find_in_set(#{supplierEnterpriseId}, ancestors) )) + + diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/service/IXzTaskProgressService.java b/src/main/java/com/zhgd/xmgl/modules/xz/service/IXzTaskProgressService.java index fb9205d13..7873de705 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/service/IXzTaskProgressService.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/service/IXzTaskProgressService.java @@ -1,5 +1,6 @@ package com.zhgd.xmgl.modules.xz.service; +import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.xmgl.base.entity.vo.SectorVo; @@ -12,6 +13,7 @@ import javax.servlet.http.HttpServletRequest; import java.util.Collection; import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @Description: 任务进度甘特图 @@ -44,4 +46,6 @@ public interface IXzTaskProgressService extends IService { List queryList(HashMap paramMap); XzTaskProgress queryById(String id); + + JSONArray statsByEnterprise(Map paramMap); } diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzTaskProgressServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzTaskProgressServiceImpl.java index 99c968b83..9032adbac 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzTaskProgressServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/service/impl/XzTaskProgressServiceImpl.java @@ -7,6 +7,8 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -36,6 +38,8 @@ import com.zhgd.xmgl.modules.xz.mapper.XzTaskProgressAlarmMapper; import com.zhgd.xmgl.modules.xz.mapper.XzTaskProgressContentMapper; import com.zhgd.xmgl.modules.xz.mapper.XzTaskProgressMapper; import com.zhgd.xmgl.modules.xz.mapper.XzTaskProgressTotalMapper; +import com.zhgd.xmgl.modules.xz.security.entity.XzMilestone; +import com.zhgd.xmgl.modules.xz.security.mapper.XzMilestoneMapper; import com.zhgd.xmgl.modules.xz.service.IXzTaskProgressService; import com.zhgd.xmgl.security.util.SecurityUtils; import com.zhgd.xmgl.util.ListUtils; @@ -73,16 +77,6 @@ import java.util.stream.Collectors; @Transactional(rollbackFor = Exception.class) @Slf4j public class XzTaskProgressServiceImpl extends ServiceImpl implements IXzTaskProgressService { - @Autowired - private QualityRegionMapper qualityRegionMapper; - @Autowired - private XzSupplierQualificationApplyServiceImpl xzSupplierQualificationApplyService; - @Autowired - private EnterpriseInfoMapper enterpriseInfoMapper; - @Autowired - private SystemUserServiceImpl systemUserService; - @Value("${basePath}") - private String basePath; @Autowired XzTaskProgressTotalMapper xzTaskProgressTotalMapper; @Autowired @@ -95,6 +89,18 @@ public class XzTaskProgressServiceImpl extends ServiceImpl map) { String id = MapUtils.getString(map, "id"); @@ -440,7 +445,6 @@ public class XzTaskProgressServiceImpl extends ServiceImpl paramMap) { + String projectSn = MapUtils.getString(paramMap, "projectSn"); + List list = baseMapper.statsByEnterprise(paramMap); + JSONArray notTreeArr = JSONArray.parseArray(JSON.toJSONStringWithDateFormat(list, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat)); + JSONArray result = ListUtils.listToTree(notTreeArr, "id", "parentId", "children"); + List xzMilestones = xzMilestoneMapper.selectList(new LambdaQueryWrapper() + .eq(XzMilestone::getProjectSn, projectSn)); + Map> map = xzMilestones.stream().collect(Collectors.groupingBy(XzMilestone::getEnterpriseId)); + for (int i = 0; i < notTreeArr.size(); i++) { + JSONObject jo = notTreeArr.getJSONObject(i); + jo.put("xzMilestoneList", map.get(jo.getLong("enterpriseId"))); + } + return result; + } + } diff --git a/src/main/java/com/zhgd/xmgl/util/ListUtils.java b/src/main/java/com/zhgd/xmgl/util/ListUtils.java index 503c208b7..b047f861e 100644 --- a/src/main/java/com/zhgd/xmgl/util/ListUtils.java +++ b/src/main/java/com/zhgd/xmgl/util/ListUtils.java @@ -40,6 +40,7 @@ public class ListUtils { for (int i = 0; i < arr.size(); i++) { JSONObject json = (JSONObject) arr.get(i); hash.put(json.getString(id), json); + json.put(child, new JSONArray()); } //遍历结果集 for (int j = 0; j < arr.size(); j++) { @@ -47,7 +48,6 @@ public class ListUtils { JSONObject aVal = (JSONObject) arr.get(j); //在hash中取出key为单条记录中pid的值 String pidStr = ""; - Object pidObj = aVal.get(pid); if (aVal.get(pid) != null) { pidStr = aVal.get(pid).toString(); } @@ -65,9 +65,6 @@ public class ListUtils { hashVP.put(child, ch); } } else { - if (arr.size() == 1) { - aVal.put(child, new JSONArray()); - } r.add(aVal); } }