From 88321ac7b2586106950e2baeaeac5102eedebbb0 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期二, 28 十一月 2023 10:00:54 +0800
Subject: [PATCH] 1、处理流水码的最大值问题更新,插入。

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java    |    7 ++
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeALlCodeMapper.xml                           |   12 ++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeAllCodeController.java     |   75 +++++++++++++++++++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeAllCodeMapper.java             |   11 +++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java         |    4 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java |   62 +++++++++++++++++++-
 6 files changed, 166 insertions(+), 5 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeAllCodeController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeAllCodeController.java
index c4ec48a..10d5a9d 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeAllCodeController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeAllCodeController.java
@@ -33,7 +33,12 @@
 import org.springblade.core.tool.utils.Func;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
+import java.rmi.ServerException;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * 鍏ㄩ儴鐮佸�� 鎺у埗鍣�
@@ -59,6 +64,76 @@
 		CodeAllCode detail = CodeAllcodeService.getOne(Condition.getQueryWrapper(CodeAllcode));
 		return R.data(CodeAllcodeWrapper.build().entityVO(detail));
 	}
+
+
+	@GetMapping("/testdata")
+	@ResponseBody
+	public Map test(String clientId,String clientSecret) throws Exception {
+		Map<Object,Object> test = new HashMap<>();
+		test.put("success",true);
+		test.put("message","");
+		test.put("show",true);
+		test.put("code",200);
+		Map<Object,Object> test2 = new HashMap<>();
+		test2.put("access_token","168a31ad-6540-4f45-98d9-ec241959c3e4");
+		test2.put("refresh_token","cc554d4c-66ec-469d-9baf-799e579214ff");
+		test2.put("openid","181****6777");
+		test2.put("userNo","zhangsan");
+		test2.put("token_type","bearer");
+		test2.put("expires_in",2801);
+		test2.put("userCode","1fsdsff");
+		test2.put("adUserNo","zhangsan1");
+		test.put("data",test2);
+//		Map<Object,Object> test = new HashMap<>();
+//		test.put("success",true);
+//		test.put("message","");
+//		test.put("show",true);
+//		test.put("code",200);
+//		Map<Object,Object> test2 = new HashMap<>();
+//		test2.put("token","168a31ad-6540-4f45-98d9-ec241959c3e4");
+//		test2.put("expire","3600");
+//		test.put("data",test2);
+		return test;
+	}
+
+	@PostMapping("/todoAdd")
+	@ResponseBody
+	public Map todoAdd(@RequestHeader("token")String token,@RequestBody Map<String,String> map) throws Exception {
+//		Map<Object,Object> test = new HashMap<>();
+//		test.put("success",true);
+//		test.put("message","");
+//		test.put("show",true);
+//		test.put("code",200);
+//		Map<Object,Object> test2 = new HashMap<>();
+//		test2.put("access_token","168a31ad-6540-4f45-98d9-ec241959c3e4");
+//		test2.put("refresh_token","cc554d4c-66ec-469d-9baf-799e579214ff");
+//		test2.put("openid","181****6777");
+//		test2.put("userNo","zhangsan");
+//		test2.put("token_type","bearer");
+//		test2.put("expires_in",2801);
+//		test2.put("userCode","1");
+//		test2.put("adUserNo","zhangsan1");
+//		test.put("data",test2);
+//		Map<Object,Object> test = new HashMap<>();
+//		test.put("success",true);
+//		test.put("message","");
+//		test.put("show",true);
+//		test.put("code",200);
+//		Map<Object,Object> test2 = new HashMap<>();
+//		test2.put("token","168a31ad-6540-4f45-98d9-ec241959c3e4");
+//		test2.put("expire","3600");
+//		test.put("data",test2);
+		Map<Object,Object> test = new HashMap<>();
+		test.put("success",true);
+		test.put("message","");
+		test.put("show",true);
+		test.put("code",200);
+		Map<Object,Object> test2 = new HashMap<>();
+		test2.put("mid","78b57ce0-2222-46b8-81c4-0f661254db97");
+		test2.put("id","437");
+		test.put("data",test2);
+		return test;
+	}
 	/**
 	 * 鍏ㄩ儴鐮佸�� 鍒嗛〉
 	 */
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
index 5ff26c4..e9d57f0 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
@@ -358,4 +358,11 @@
 		CodeClassifyVO codeClassifyVO = codeClassifyService.getObjectByClsfNamePath(clsfNamePath);
 		return R.data(codeClassifyVO);
 	}
+	/**
+	 * 娴佹按渚濊禆鐢熸垚
+	 */
+	@GetMapping("/flowingDependencyGen")
+	public R flowingDependencyGen(String classifyOid)  {
+		return codeClassifyService.flowingDependencyGen(classifyOid);
+	}
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeAllCodeMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeAllCodeMapper.java
index 8069761..964f2d5 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeAllCodeMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeAllCodeMapper.java
@@ -20,9 +20,11 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.vci.ubcs.code.entity.CodeAllCode;
 import com.vci.ubcs.code.vo.pagemodel.CodeAllCodeVO;
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 鍏ㄩ儴鐮佸�� Mapper 鎺ュ彛
@@ -41,5 +43,14 @@
 	 */
 	List<CodeAllCodeVO> selectCodeAllCodePage(IPage page, CodeAllCodeVO codeAllCode);
 
+	/**
+	 * 鍒嗙粍缁熻鏈�澶ф祦姘村��
+	 *
+	 * @param codeClassifyOid
+	 * @return
+	 */
+//	@MapKey("OID")
+	List<CodeAllCode> selectGroupByClassify(@Param("codeClassifyOid") String codeClassifyOid,@Param("replaceString") String replaceString);
+
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
index 54cc68f..0372041 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -305,4 +305,8 @@
 	 */
 	String selectLeafByParentClassifyOid(String topOid, String currentOid);
 
+	/**
+	 * 娴佹按渚濊禆鐢熸垚
+	 */
+	R flowingDependencyGen(String classifyOid);
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index ae01ddd..a5fa9f8 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -9,17 +9,16 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
+import com.sun.org.apache.bcel.internal.generic.NEW;
 import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
-import com.vci.ubcs.code.entity.CodeClassify;
-import com.vci.ubcs.code.entity.CodeClassifyTemplate;
+import com.vci.ubcs.code.entity.*;
 import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus;
-import com.vci.ubcs.code.mapper.CodeClassifyMapper;
-import com.vci.ubcs.code.mapper.CodeClassifyTemplateMapper;
-import com.vci.ubcs.code.mapper.CommonsMapper;
+import com.vci.ubcs.code.mapper.*;
 import com.vci.ubcs.code.po.CodeClassifyPO;
 import com.vci.ubcs.code.service.ICodeClassifyService;
 import com.vci.ubcs.code.service.ICodeKeyAttrRepeatService;
 import com.vci.ubcs.code.service.ICodeRuleService;
+import com.vci.ubcs.code.vo.pagemodel.CodeAllCodeVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeKeyAttrRepeatRuleVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
@@ -61,6 +60,7 @@
 import org.springblade.core.tool.utils.Func;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -105,6 +105,15 @@
 
 	@Resource
 	private ICodeKeyAttrRepeatService iCodeKeyattrrepeatService;
+
+	@Resource
+	private CodeAllCodeMapper codeAllCodeMapper;
+
+	@Resource
+	private CodeSerialValueMapper codeSerialValueMapper;
+
+	@Resource
+	private CodeBasicSecMapper codeBasicSecMapper;
 	/**
 	 * 涓婄骇鑺傜偣鐨勫睘鎬у悕绉�
 	 */
@@ -678,6 +687,49 @@
 		return oids;
 	}
 
+	/**
+	 * 娴佹按渚濊禆鐢熸垚
+	 */
+	@Override
+	public R flowingDependencyGen(String classifyOid) {
+
+		//鏌ヨ姝ゅ垎绫讳笅闈㈢殑鎵�鏈夊垎绫�
+		List<CodeClassify>  codeClassifyList=codeClassifyMapper.selectAllClassifyByOid(classifyOid,AuthUtil.getTenantId(),null);
+		//鏌ヨ鐮佸�艰〃锛岃幏鍙栨渶澶ф祦姘�
+		List<CodeAllCode> codeAllCodeVOS = codeAllCodeMapper.selectGroupByClassify("'" + codeClassifyList.stream()
+			.map(classfiy -> classfiy.getOid()).collect(Collectors.joining("','")) + "'","'${sav}'");
+		//寰�娴佹按琛ㄩ噷闈㈠姞鏁版嵁锛屾湁鍒欐洿鏂帮紝鏃犲垯娣诲姞鏁版嵁銆�
+		for (CodeAllCode codeAllCodeVO : codeAllCodeVOS) {
+			QueryWrapper<CodeBasicSec> secWrapper = new QueryWrapper<>();
+			secWrapper.eq("PKCODERULE",codeAllCodeVO.getCodeRuleOid());
+			secWrapper.eq("SECTYPE","codeserialsec");
+			CodeBasicSec codeBasicSec = codeBasicSecMapper.selectOne(secWrapper);
+			QueryWrapper<CodeSerialValue> wrapper = new QueryWrapper<>();
+			wrapper.eq("codeRuleOid",codeAllCodeVO.getCodeRuleOid());
+			wrapper.eq("serialUnit",codeAllCodeVO.getSerialUnit());
+			wrapper.eq("codeSecOid",codeBasicSec.getOid());
+			CodeSerialValue codeSerialValue = codeSerialValueMapper.selectOne(wrapper);
+			if(codeSerialValue == null){
+				CodeSerialValue newSerialValue = new CodeSerialValue();
+				DefaultAttrAssimtUtil.addDefaultAttrAssimt(newSerialValue,"codeserialvalue");
+				newSerialValue.setCodeRuleOid(codeAllCodeVO.getCodeRuleOid());
+				newSerialValue.setCodeSecOid(codeBasicSec.getOid());
+				newSerialValue.setSerialUnit(codeAllCodeVO.getSerialUnit());
+				newSerialValue.setMaxSerial(codeAllCodeVO.getUnFillSerial());
+				newSerialValue.setLctid("defaultLC");
+				newSerialValue.setLcStatus("Exist");
+				codeSerialValueMapper.insert(newSerialValue);
+			}else{
+				codeSerialValue.setMaxSerial(codeAllCodeVO.getUnFillSerial());
+				codeSerialValue.setLastModifyTime(new Date());
+				codeSerialValue.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+				codeSerialValue.setTs(new Date());
+				codeSerialValueMapper.updateById(codeSerialValue);
+			}
+		}
+		return R.success("鎿嶄綔鎴愬姛锛�");
+	}
+
 	/***
 	 * 鏍规嵁鍒嗙被鎻忚堪澶囨敞鍜屽簱鑺傜偣鏌ヨ鍒嗙被淇℃伅
 	 * @param desc
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeALlCodeMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeALlCodeMapper.xml
index 523d622..1a108c6 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeALlCodeMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeALlCodeMapper.xml
@@ -9,5 +9,17 @@
     <select id="selectCodeAllCodePage" resultMap="CodeAllcodeResultMap">
         select * from PL_CODE_ALLCODE
     </select>
+    <select id="selectGroupByClassify" resultMap="CodeAllcodeResultMap">
+        select codeClassifyOid,
+               codeRuleOid,
+               serialUnit,
+               max(unFillSerial) unFillSerial
+        from (select codeClassifyOid,
+                     codeRuleOid,
+                     serialUnit,
+                     to_number(replace(unFillSerial, ${replaceString}, '')) unFillSerial
+              from PL_CODE_ALLCODE where codeClassifyOid in (${codeClassifyOid}))
+        group by codeClassifyOid, codeRuleOid, serialUnit
+    </select>
 
 </mapper>

--
Gitblit v1.9.3