From eb0760c36778d07c0d13d917c0db30dfa03aa0fd Mon Sep 17 00:00:00 2001
From: yxm <zhp1521624>
Date: Mon, 15 Jul 2024 11:45:46 +0800
Subject: [PATCH] 项目进度上报逻辑优化及工序配置v0.4

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgGxStepController.java            |    6 +++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxRoleMapper.xml                     |    7 +++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxStepMapper.xml                     |   11 +++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgGxStepService.java                  |    2 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java |   22 +++++++---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxStepMapper.java                    |    4 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.xml                         |    2 
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxStepServiceImpl.java         |    5 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgDeviceServiceImpl.java         |    9 +++-
 9 files changed, 57 insertions(+), 11 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgGxStepController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgGxStepController.java
index 5b76617..597e1bb 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgGxStepController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgGxStepController.java
@@ -67,6 +67,12 @@
 		return R.data(page);
 	}
 
+	@GetMapping(value = "/sg_list")
+	public R sgGxStepList() {
+		List<SgGxStepDO> sgGxStepDOS = sgGxStepService.sgGxStepList();
+		return R.data(sgGxStepDOS);
+	}
+
 	/**
 	 * 详情
 	 */
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.xml
index 9f86384..751e458 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxMapper.xml
@@ -3,7 +3,7 @@
 <mapper namespace="cn.gistack.sm.sg.mapper.SgGxMapper">
 
     <select id="queryPageList" resultType="cn.gistack.sm.sg.VO.SgGxVO">
-        select * from  YWXT.SG_GX gx where 1=1
+        select * from  YWXT.SG_GX gx where 1=1 and GX_TYPE not in('sgzb','sgys')
         <if test="dto.gxType != null and dto.gxType != ''">
             and gx.gx_type LIKE CONCAT('%', #{dto.gxType}, '%')
         </if>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxRoleMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxRoleMapper.xml
index 5b9ba8a..d223de4 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxRoleMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxRoleMapper.xml
@@ -19,7 +19,12 @@
 
     </select>
     <select id="getSgGxRoles" resultType="java.lang.String">
-        select role_id  from  YWXT.SG_GX_CONFIG  where gx_device_type = #{gxDeviceType} and  gx_step_id = #{gxStepId} order by sg_order asc
+        select role_id  from  YWXT.SG_GX_CONFIG  where gx_device_type = #{gxDeviceType}
+
+         <if test="gxStepId !=null and gxStepId !=''">
+             and  gx_step_id = #{gxStepId}
+         </if>
+         order by sg_order asc
 
     </select>
 </mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxStepMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxStepMapper.java
index 45c5a44..d059fa0 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxStepMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxStepMapper.java
@@ -31,4 +31,8 @@
 	List<SgDeviceGxStepDO> getDeviceGXList(@Param("deviceId") Long deviceId);
 
     List<SgGxStepDO> queryStepList(@Param("deviceId")String deviceId);
+
+	List<SgGxStepDO> getDEviceGXtwo();
+
+	List<SgGxStepDO> queryStepLists(@Param("deviceType") String deviceType);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxStepMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxStepMapper.xml
index 86719a6..b493462 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxStepMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgGxStepMapper.xml
@@ -35,4 +35,15 @@
         left join  YWXT.SG_DEVICE sd on sd.device_type=sg.gx_type
         where sd.id= #{deviceId} order by  id asc
     </select>
+    <select id="getDEviceGXtwo" resultType="cn.gistack.sm.sg.DO.SgGxStepDO">
+        select step.*,GX.GX_TYPE  from YWXT.SG_GX_STEP step left join YWXT.SG_GX GX ON step.GX_INFO_ID = GX.ID
+         where
+           GX.GX_TYPE in ('sgzb','sgys') order by  id asc
+
+    </select>
+    <select id="queryStepLists" resultType="cn.gistack.sm.sg.DO.SgGxStepDO">
+         select step.* from YWXT.SG_GX_STEP step   inner join  YWXT.SG_GX sg     on sg.id=step.gx_info_id
+        left join  YWXT.SG_DEVICE sd on sd.device_type=sg.gx_type
+        where sg.GX_TYPE= #{deviceType} order by  id asc
+    </select>
 </mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgGxStepService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgGxStepService.java
index adcd35f..99e2744 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgGxStepService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgGxStepService.java
@@ -48,4 +48,6 @@
 	 * @return
 	 */
 	List<String> getSgGxRoles(String gxDeviceType, String gxStepId);
+
+	List<SgGxStepDO> sgGxStepList();
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgDeviceServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgDeviceServiceImpl.java
index 6c1be4f..1cb564c 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgDeviceServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgDeviceServiceImpl.java
@@ -65,8 +65,8 @@
 
 		SgDeviceDO sg2 = new SgDeviceDO();
 		sg2.setId((long) 998);
-		sg2.setDeviceName("项目验收");
-		sg2.setDeviceType("xmys");
+		sg2.setDeviceName("施工验收");
+		sg2.setDeviceType("sgys");
 		sg2.setStatus(0);
 		list.add(sg2);
 
@@ -80,6 +80,11 @@
 
 	@Override
 	public List<SgGxStepDO> queryStepList(String deviceId) {
+		if(deviceId.equals("998")){
+			return sgGxStepMapper.queryStepLists("sgys");
+		}else if (deviceId.equals("999")){
+			return sgGxStepMapper.queryStepLists("sgzb");
+		}
 		List<SgGxStepDO> sgGxStepDOS = sgGxStepMapper.queryStepList(deviceId);
 		return sgGxStepDOS;
 	}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxStepServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxStepServiceImpl.java
index ecc4a29..91fef81 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxStepServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxStepServiceImpl.java
@@ -170,4 +170,9 @@
 		return 	sgGxRoleMapper.getSgGxRoles(gxDeviceType, gxStepId);
 
 	}
+
+	@Override
+	public List<SgGxStepDO> sgGxStepList() {
+		return sgGxStepMapper.getDEviceGXtwo();
+	}
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
index 7da68fb..d0a31ae 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -457,14 +457,22 @@
 			if (CollectionUtils.isNotEmpty(sgProgressReportDOS)) {
 				sgProgressReportDOS.sort((u1, u2) -> u2.getCreateTime().compareTo(u1.getCreateTime()));
 				SgProgressReportDO firstReport = sgProgressReportDOS.get(0);
-				if (firstReport.getStatus().equals(2)) {
-					sgReportVO.setGxDeviceId(deviceId);
-					sgReportVO.setGxStepId(sgGxStepMapper.selectOne(wrapperss.eq("id", stepId)).getId());
-					sgReportVO.setProframId(firstReport.getProframId());
+				SgGxStepDO sgGxStepDO = sgGxStepMapper.selectOne(wrapperss.eq("id", stepId));
+				List<SgGxStepDO> sgGxStepDOS = sgGxStepMapper.selectList(
+					new QueryWrapper<SgGxStepDO>()
+						.lt("id", stepId)
+						.eq("gx_info_id", sgGxStepDO.getGxInfoId())
+						.orderByDesc("gx_step_num"));
+				if (!sgGxStepDOS.isEmpty()) {
+					if (sgGxStepDOS.get(0).getGxStepName().equals(firstReport.getGxStepName())&&firstReport.getStatus().equals(2)) {
+						sgReportVO.setGxDeviceId(deviceId);
+						sgReportVO.setGxStepId(sgGxStepDO.getId());
+						sgReportVO.setProframId(firstReport.getProframId());
+					}else {
+						throw new ServiceException("请完成上一步工序!");
+					}
 				}
-				else {
-					throw new ServiceException("请完成上一步工序!");
-				}
+
 			}else {
 				if (stepId!=null) {
 					SgGxStepDO sg = sgGxStepMapper.selectOne(wrapperss.eq("id", stepId));

--
Gitblit v1.9.3