From 86a5afa396913c426dc03850430a97e0a237de55 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 13 九月 2023 08:57:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 63 +++++++++++++++++++++----------
1 files changed, 42 insertions(+), 21 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
index c81e986..d83fddc 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -179,7 +179,7 @@
* @return excel鐨勬枃浠跺湴鍧�
*/
@Override
- public String downloadTopImportExcel(String codeClassifyOid){
+ public String downloadTopImportExcel(String codeClassifyOid){
List<CodeClassifyTemplateVO> templateVOList=new ArrayList<>();
VciBaseUtil.alertNotNull("瀵煎嚭妯℃澘","瀵煎嚭鐨勯厤缃�",codeClassifyOid,"涓婚搴撳垎绫荤殑涓婚敭");
CodeClassifyVO codeClassifyVO = classifyService.getObjectByOid(codeClassifyOid);
@@ -2090,6 +2090,7 @@
XMLResultDataObjectDetailDO resultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
if(isCodeOrGroupCode) {
if(StringUtils.isBlank(groupCode)){
+ errorid="1";
mes+="锛涚敵璇风殑缂栫爜绫诲瀷涓洪泦鍥㈢爜锛岀瓑寰呴泦鍥㈢紪鐮佽祴鍊�";
}
resultDataObjectDetailDO.setCode(groupCode);
@@ -2157,14 +2158,16 @@
}
if(isCodeOrGroupCode) {
if(StringUtils.isBlank(groupCode)){
+ resultDataObjectDetailDO.setErrorid("1");
msg="鐢宠鐨勭紪鐮佺被鍨嬩负闆嗗洟鐮侊紝绛夊緟闆嗗洟缂栫爜璧嬪��";
}
resultDataObjectDetailDO.setCode(groupCode);
}else{
resultDataObjectDetailDO.setCode(code);
+ resultDataObjectDetailDO.setErrorid("0");
}
resultDataObjectDetailDO.setId(sourceOid);
- resultDataObjectDetailDO.setErrorid("0");
+
resultDataObjectDetailDO.setMsg(msg);
resultDataObjectDetailDOs.add(resultDataObjectDetailDO);
//澶勭悊浼犻�佺殑鏁版嵁涓叧閿睘鎬ч噸澶嶇殑锛岀洿鎺ユ嬁鍒板凡缁忕敵璇峰埌缂栫爜鐨勬暟鎹紪鐮佺洿鎺ュ皢璧嬬粰鍏抽敭灞炴�ч噸澶嶇殑鏁版嵁
@@ -2324,15 +2327,21 @@
sb.append(" select * from ");
sb.append(tableName);
sb.append(" where 1=1 ");
- sb.append(" id in (");
+ sb.append(" and lastr=1 and lastv=1" );
+ if(isCodeOrGroupCode) {
+ sb.append(" and groupcode in (");
+ }else{
+ sb.append(" and id in (");
+ }
sb.append(VciBaseUtil.toInSql(codeDataMap.keySet().toArray(new String[0])));
sb.append(")");
+
List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sb.toString());
List<ClientBusinessObject> cboList= ChangeMapTOClientBusinessObjects(dataMapList);
Map<String, ClientBusinessObject> codeSystemObjectMap = cboList.stream().filter(systeDataObject -> systeDataObject != null && StringUtils.isNotBlank(systeDataObject.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId(), t -> t));
Map<String, String> errorMap = new HashMap<>();
List<CodeOrderDTO> codeOrderDTOList = new ArrayList<>();
- this.getCodeOrderDTOs(codeClassifyVO, templateVO, codeDataMap, codeSystemObjectMap, codeOrderDTOList, errorMap);
+ this.getCodeOrderDTOs(codeClassifyVO, templateVO, codeDataMap, codeSystemObjectMap, codeOrderDTOList, errorMap,isCodeOrGroupCode);
// List<CodeClassifyProcessTempVO> codeClassifyProcessTempVOS=codeClassifyProcessTempService.listProcessTemplate(templateVO.getOid(),"code_cls_flow_use_order");
boolean isProcess=false;
/** if(!CollectionUtils.isEmpty(codeClassifyProcessTempVOS)){
@@ -2354,7 +2363,7 @@
RowDatas rowData=codeDataMap.get(code);
String status=rowData.getStatus();
String operation=rowData.getOperation();
- if (cbo.getTs().compareTo(orderDTO.getTs())==0?true:false) {
+ if (cbo.getTs().compareTo(orderDTO.getTs())==0?false:true) {
// throw new VciBaseException("鏁版嵁涓嶆槸鏈�鏂扮殑锛屽彲鑳戒粬浜哄凡缁忎慨鏀癸紝璇峰埛鏂板悗鍐嶈瘯");
errorMap.put(orderDTO.getId(),errorMap.getOrDefault(orderDTO.getId(),"")+";鏁版嵁涓嶆槸鏈�鏂扮殑锛屽彲鑳戒粬浜哄凡缁忎慨鏀癸紝璇峰埛鏂板悗鍐嶈瘯");
}
@@ -2396,7 +2405,7 @@
List<CodeAllCode>newCodeAllCodeList= codeAllCodeService.selectByWrapper(Wrappers.<CodeAllCode>query().lambda().eq(CodeAllCode::getCreateCodeOid, cbo.getOid()));
if (!CollectionUtils.isEmpty(newCodeAllCodeList)) {
- CodeAllCode codeCbo = codeAllCodeList.get(0);
+ CodeAllCode codeCbo = newCodeAllCodeList.get(0);
log.info("codeCbos code:" + codeCbo.getId());
codeCbo.setLcStatus(status);
codeAllCodeList.add(codeCbo);
@@ -2473,7 +2482,7 @@
//瀛樺偍鏁版嵁
try {
engineService.updateBatchByBaseModel(classifyFullInfo.getTopClassifyVO().getBtmTypeId(),updateList);
- codeAllCodeService.saveBatch(codeAllCodeList);
+ codeAllCodeService.saveOrUpdateBatch(codeAllCodeList);
if(deleteList.size()>0) {
commonsMapper.deleteByTaleAndOid(tableName, VciBaseUtil.array2String(deleteList.toArray(new String[]{})));
}
@@ -2607,17 +2616,22 @@
//娌℃湁闄愬埗鍒嗙被锛屼絾鏄竴涓ā鏉垮彧鍙兘鍦ㄤ竴涓笟鍔$被鍨嬮噷闈紝鎵�浠ョ洿鎺ユ煡璇㈣繖涓笟鍔$被鍨嬪嵆鍙�
if (!CollectionUtils.isEmpty(conditionMap)) {
- final String[] sql = {"select count(*) from " + VciBaseUtil.getTableName(classifyFullInfo.getTopClassifyVO().getBtmTypeId()) + " where 1 = 1 "};
+ final String[] sql = {"select count(*) from " + VciBaseUtil.getTableName(classifyFullInfo.getTopClassifyVO().getBtmTypeId()) + " t where 1 = 1 "};
conditionMap.forEach((key, value) -> {
- sql[0] += " and " + key + " = " + value;
+ if(StringUtils.isBlank(value)||value.equals(QueryOptionConstant.ISNULL)){
+ sql[0] += " and " + key + " is null ";
+ }else{
+ sql[0] += " and " + key + " = " + value;
+ }
+
});
if (StringUtils.isNotBlank(orderDTO.getOid())) {
//淇敼鐨勬椂鍊欙紝闇�瑕佹帓闄よ嚜宸�
- sql[0] += " and oid != '" + orderDTO.getOid() + "'";
+ sql[0] += " and t.oid != '" + orderDTO.getOid() + "'";
} else if (StringUtils.isNotBlank(orderDTO.getCopyFromVersion())) {
- sql[0] += " and oid != '" + orderDTO.getCopyFromVersion() + "'";
+ sql[0] += " and t.oid != '" + orderDTO.getCopyFromVersion() + "'";
}
- sql[0] += " and lastR = '1' and lastV = '1' ";
+ sql[0] += " and t.lastR = '1' and t.lastV = '1' ";
if (commonsMapper.queryCountBySql(sql[0]) > 0) {
String ruleInfoMsg = keyRuleVO == null ? "" : "鏌ヨ瑙勫垯锛氬幓闄ょ┖鏍�--{0},蹇界暐澶у皬鍐�--{1},蹇界暐鍏ㄥ崐瑙�--{2},蹇界暐鍏ㄩ儴绌烘牸--{3}";
String[] objs = new String[]{trim ? "鏄�" : "鍚�", ignoreCase ? "鏄�" : "鍚�", ignoreWidth ? "鏄�" : "鍚�", trimAll ? "鏄�" : "鍚�"};
@@ -2817,17 +2831,24 @@
* @param errorMap
* @return
*/
- private void getCodeOrderDTOs(CodeClassifyVO codeClassifyVO,CodeClassifyTemplateVO templateVO,Map<String ,RowDatas>codeDataMap,Map<String, ClientBusinessObject> codeSystemObjectMap,List<CodeOrderDTO> codeOrderDTOList,Map<String,String> errorMap){
- codeDataMap.keySet().forEach(code->{
- RowDatas rowDatas=codeDataMap.get(code);
- Map<String, String> data= rowDatas.getFiledValue();
+ private void getCodeOrderDTOs(CodeClassifyVO codeClassifyVO,CodeClassifyTemplateVO templateVO,Map<String ,RowDatas>codeDataMap,Map<String, ClientBusinessObject> codeSystemObjectMap,List<CodeOrderDTO> codeOrderDTOList,Map<String,String> errorMap,boolean isCodeOrGroupCode){
+ codeSystemObjectMap.keySet().forEach(code->{
+ ClientBusinessObject sysDataObject= codeSystemObjectMap.get(code);
+ if(isCodeOrGroupCode){
+ code=sysDataObject.getAttributeValue("GROUPCODE");
+ }
CodeOrderDTO orderDTO = new CodeOrderDTO();
- if(codeSystemObjectMap.containsKey(code)){
- ClientBusinessObject sysDataObject= codeSystemObjectMap.get(code);
+ if(codeDataMap.containsKey(code)){
+ RowDatas rowDatas=codeDataMap.get(code);
+ Map<String, String> data= rowDatas.getFiledValue();
orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//鍒嗙被涓婚敭
orderDTO.setOid(sysDataObject.getOid());//鏁版嵁oid
orderDTO.setLcStatus(rowDatas.getStatus());//鐘舵��
- orderDTO.setId(code);
+ if(isCodeOrGroupCode){
+ orderDTO.setId(sysDataObject.getId());
+ }else{
+ orderDTO.setId(code);
+ }
orderDTO.setTs(sysDataObject.getTs());
orderDTO.setBtmname(codeClassifyVO.getBtmname());//涓氬姟绫诲瀷
orderDTO.setDescription("闆嗘垚璋冪敤:鏇存柊");//鏁版嵁鎻忚堪
@@ -4001,7 +4022,7 @@
DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject);
for (String key:dataMap.keySet()){
Object value= dataMap.getOrDefault(key,"");
- clientBusinessObject.setAttributeValue(key,value.toString());
+ clientBusinessObject.setAttributeValue(key.toLowerCase(Locale.ROOT),value==null?"":value.toString());
}
clientBusinessObjectList.add(clientBusinessObject);
});
@@ -4434,7 +4455,7 @@
* @param idList
* @param btmName
*/
- private void sendApplyGroupcode(List<String> idList,String btmName,String operationType){
+ public void sendApplyGroupcode(List<String> idList,String btmName,String operationType){
String oids=VciBaseUtil.array2String(idList.toArray(new String[]{}));
if(operationType.equals(sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue())) {
mdmInterJtClient.applyGroupCode(oids,btmName);
--
Gitblit v1.9.3