Преглед изворни кода

“现场试验”节点的委托单无需关联取样

lvy пре 2 месеци
родитељ
комит
4023b79c93

+ 25 - 1
blade-service/blade-business/src/main/java/org/springblade/business/controller/EntrustInfoController.java

@@ -33,10 +33,13 @@ import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.manager.entity.WbsTreePrivate;
+import org.springblade.manager.feign.WbsTreePrivateClient;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
@@ -53,6 +56,7 @@ import java.util.List;
 public class  EntrustInfoController extends BladeController {
 
 	private final IEntrustInfoService entrustInfoService;
+	private final WbsTreePrivateClient wbsTreePrivateClient;
 
 	/**
 	 * 详情
@@ -168,7 +172,27 @@ public class  EntrustInfoController extends BladeController {
 		if(id==null && Func.isNull(id)){
 			return R.fail("id不能为空");
 		}
-		EntrustDataInfoVO reportDetail = entrustInfoService.getReportDetail(id);
+		EntrustInfo entrustInfo = entrustInfoService.getById(id);
+		if (entrustInfo == null) {
+			return R.fail("id不存在");
+		}
+		WbsTreePrivate wbsTreePrivate = null;
+		if (entrustInfo.getNodeId() != null) {
+			List<WbsTreePrivate> wbsTreePrivates = wbsTreePrivateClient.queryByPKeyIds(Collections.singletonList(entrustInfo.getNodeId()));
+			if (wbsTreePrivates != null && !wbsTreePrivates.isEmpty()) {
+				wbsTreePrivate = wbsTreePrivates.get(0);
+			}
+		}
+		EntrustDataInfoVO reportDetail;
+		if (wbsTreePrivate != null && wbsTreePrivate.getNodeType() == 51) {
+			reportDetail = new EntrustDataInfoVO();
+			reportDetail.setId(entrustInfo.getId() + "");
+			reportDetail.setEntrustInfo(entrustInfo.getEntrustInfo());
+			reportDetail.setEntrustName(wbsTreePrivate.getNodeName());
+			reportDetail.setExpCount(entrustInfo.getExpCount());
+		} else {
+			reportDetail = entrustInfoService.getReportDetail(id);
+		}
 		return R.data(reportDetail);
 	}
 

+ 6 - 4
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/EntrustInfoServiceImpl.java

@@ -122,9 +122,11 @@ public class EntrustInfoServiceImpl extends BaseServiceImpl<EntrustInfoMapper, E
 		}
 		String sampleId = "";
 		String contractId = "";
-        String sqlNodeName="select node_name from m_wbs_tree_private where p_key_id="+dataInfo.getString("nodeId");
-        String nodeName = jdbcTemplate.queryForObject(sqlNodeName, new SingleColumnRowMapper<>(String.class));
-        if(!nodeName.equals("回弹法检测混凝土抗压强度")&&!nodeName.equals("路基压实度")&&!nodeName.equals("地基承载力")&&!nodeName.equals("路基路面弯沉")&&!nodeName.equals("锚杆")&&!nodeName.equals("喷射混凝土厚度")){
+        String sqlNodeName="select node_name, node_type from m_wbs_tree_private where p_key_id="+dataInfo.getString("nodeId");
+		Map<String, Object> wbsTreePrivateMap = jdbcTemplate.queryForMap(sqlNodeName);
+		String nodeName = wbsTreePrivateMap.get("node_name").toString();
+		String nodeType = wbsTreePrivateMap.get("node_type").toString();
+		if(!"51".equals(nodeType) && !nodeName.equals("回弹法检测混凝土抗压强度")&&!nodeName.equals("路基压实度")&&!nodeName.equals("地基承载力")&&!nodeName.equals("路基路面弯沉")&&!nodeName.equals("锚杆")&&!nodeName.equals("喷射混凝土厚度")){
             // 创建 委托单信息
             if(!dataInfo.containsKey("sampleId")){
                 return R.fail("取样信息为sampleId不存在");
@@ -149,7 +151,7 @@ public class EntrustInfoServiceImpl extends BaseServiceImpl<EntrustInfoMapper, E
         if(!dataInfo.containsKey("sampleId")){
             entrustInfo.setSampleStatus("0");
         }else {
-            if(!nodeName.equals("回弹法检测混凝土抗压强度")&&!nodeName.equals("路基压实度")&&!nodeName.equals("地基承载力")&&!nodeName.equals("路基路面弯沉")&&!nodeName.equals("锚杆")){
+            if(!"51".equals(nodeType) && !nodeName.equals("回弹法检测混凝土抗压强度")&&!nodeName.equals("路基压实度")&&!nodeName.equals("地基承载力")&&!nodeName.equals("路基路面弯沉")&&!nodeName.equals("锚杆")){
                 entrustInfo = baseMapper.selectOne(Wrappers.<EntrustInfo>query().lambda().eq(EntrustInfo::getSampleId, sampleId).eq(EntrustInfo::getContractId,contractId));
             }else {
                 entrustInfo = baseMapper.selectOne(Wrappers.<EntrustInfo>query().lambda().eq(EntrustInfo::getId,dataInfo.get("id")).eq(EntrustInfo::getContractId,contractId));