From 96d0fd6fb8e4dfb9763158b4ac89924b27a8db5c Mon Sep 17 00:00:00 2001
From: yxm <zhp1521624>
Date: Mon, 15 Jul 2024 16:53:44 +0800
Subject: [PATCH] 项目进度上报逻辑优化及工序配置v0.7
---
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/PreAcceVO.java | 24 ++++++++++++
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java | 5 ++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java | 39 +++++++++++++++++--
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.xml | 2
4 files changed, 65 insertions(+), 5 deletions(-)
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java
index 8b182a3..b8cbef8 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java
@@ -1,5 +1,6 @@
package cn.gistack.sm.sg.DO;
+import cn.gistack.sm.sg.VO.PreAcceVO;
import cn.gistack.sm.sg.VO.SgTypeVO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -173,6 +174,10 @@
@TableField(exist = false)
private List<SgTypeVO> sgGxDOS;
+ private List<PreAcceVO> preAcce;
+
+
+
private Integer status;
@TableField(exist = false)
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/PreAcceVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/PreAcceVO.java
new file mode 100644
index 0000000..770076f
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/PreAcceVO.java
@@ -0,0 +1,24 @@
+package cn.gistack.sm.sg.VO;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class PreAcceVO {
+
+ //记录id
+ private String id;
+
+
+ //工序名称
+ private String name;
+
+ //工序状态
+ private Long status;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.xml
index 9c1347c..cc795f1 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectPersonConfigMapper.xml
@@ -36,7 +36,7 @@
FROM
ywxt.sg_project_info pro
inner JOIN ywxt.sg_device d ON pro.id = d.program_id
- Left JOIN ywxt.sg_gx_config sgc ON d.device_type = sgc.gx_device_type
+ Left JOIN ywxt.sg_gx_config sgc ON d.device_type = sgc.gx_device_type or sgc.gx_device_type in ('sgzb','sgys')
left join ywxt.blade_role ro on ro.id = sgc.role_id
left join ywxt.sg_project_person_config sppc on sgc.role_id = sppc.rold_id and sppc.program_id = pro.id
left join ywxt.blade_user bu on sppc.user_id = bu.id
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
index 5790a2e..dc3931e 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -1,17 +1,17 @@
package cn.gistack.sm.sg.service.impl;
-import cn.gistack.sm.sg.DO.SgDeviceDO;
-import cn.gistack.sm.sg.DO.SgGxDO;
-import cn.gistack.sm.sg.DO.SgGxStepDO;
-import cn.gistack.sm.sg.DO.SgProjectInfoDO;
+import cn.gistack.sm.sg.DO.*;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
import cn.gistack.sm.sg.VO.*;
import cn.gistack.sm.sg.excel.ProjectExcel;
+import cn.gistack.sm.sg.mapper.SgGxStepMapper;
+import cn.gistack.sm.sg.mapper.SgProgressReportMapper;
import cn.gistack.sm.sg.mapper.SgProjectInfoMapper;
import cn.gistack.sm.sg.service.SgProjectInfoService;
import cn.gistack.sm.sjztmd.entity.AttAdBase;
import cn.gistack.sm.sjztmd.service.IAttAdBaseService;
import cn.hutool.core.lang.copier.Copier;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -44,6 +44,13 @@
private SgProjectInfoMapper sgProjectInfoMapper;
@Autowired
private IAttAdBaseService iAttAdBaseService;
+
+ @Autowired
+ private SgProgressReportMapper sgProgressReportMapper;
+
+ @Autowired
+ private SgGxStepMapper sgGxStepMapper;
+
@Override
public IPage<SgProjectInfoDO> queryPageList(IPage<SgProjectInfoDO> page, ProjectSearchDTO searchDTO) {
List<SgProjectInfoDO> sgProjectInfoDOS = baseMapper.queryPageList(page,searchDTO);
@@ -129,6 +136,11 @@
typeVO.setTypeProgress(getBigDecimalPercent(divideDevice));
sgGxDOS.add(typeVO);
}
+
+ List<PreAcceVO> palist = new ArrayList<>();
+ palist.add(handleQuery(12, 25, list.get(0).getId()));
+ palist.add(handleQuery(13, 26,list.get(0).getId()));
+ sgProjectInfoDO.setPreAcce(palist);
BigDecimal allDeviceSize = BigDecimal.valueOf(allDevice.size());
if (!allDeviceSize.equals(BigDecimal.ZERO)){
double sum = allDevice.stream().mapToDouble(s -> Double.parseDouble(s.getProgress())).sum();
@@ -344,4 +356,23 @@
}
+ // 处理查询和添加到列表的方法
+ private PreAcceVO handleQuery(int gxStepId, int stepIdForNull, Long programId) {
+ QueryWrapper<SgProgressReportDO> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("gx_step_id", gxStepId)
+ .eq("profram_id", programId);
+ SgProgressReportDO sgProgressReportDO = sgProgressReportMapper.selectOne(queryWrapper);
+
+ PreAcceVO preAcceVO = new PreAcceVO();
+ if (sgProgressReportDO!= null) {
+ preAcceVO.setId(sgProgressReportDO.getId().toString());
+ preAcceVO.setName(sgProgressReportDO.getGxStepName());
+ preAcceVO.setStatus((long) sgProgressReportDO.getStatus());
+ } else {
+ preAcceVO.setName(sgGxStepMapper.selectById(stepIdForNull).getGxStepName());
+ }
+ return preAcceVO;
+
+ }
+
}
--
Gitblit v1.9.3