From a75ed7b2ec701afa546895653903e9c1f35db2b1 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 26 十月 2023 12:09:51 +0800
Subject: [PATCH] 主数据添加 编码申请添加-ts时间戳bug
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 108 +++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 86 insertions(+), 22 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index 184ea18..1007fb2 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -16,7 +16,6 @@
import com.vci.ubcs.code.enumpack.*;
import com.vci.ubcs.code.mapper.CommonsMapper;
import com.vci.ubcs.code.service.*;
-import com.vci.ubcs.code.util.ClientBusinessObject;
import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO;
import com.vci.ubcs.code.vo.CodeReferConfigVO;
import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO;
@@ -57,7 +56,6 @@
import com.vci.ubcs.system.user.feign.IUserClient;
import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
import oracle.sql.TIMESTAMP;
-import org.aspectj.apache.bcel.classfile.Code;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.core.cache.utils.CacheUtil;
@@ -384,15 +382,34 @@
}
codeAllCodeService.updateBatchById(codeCbos);
}
+ /**
+ * 鐢宠鍗曚竴缂栫爜
+ *
+ * @param orderDTO 鐢宠鐨勪俊鎭紝闇�瑕佸寘鍚睘鎬х殑鍐呭鍜岀爜娈电浉鍏崇殑鍐呭
+ * @return 杩斿洖缂栫爜鐨勫唴瀹�
+ */
+ @Override
+ public String addSaveCode(CodeOrderDTO orderDTO) throws Exception {
+ return addSaveCode(orderDTO,true);
+ }
+ /***
+ * 闆嗘垚鍙彉鐮佹鐢宠鎺ュ彛
+ * @param orderDTO 鐢宠鐨勪俊鎭紝闇�瑕佸寘鍚睘鎬х殑鍐呭鍜岀爜娈电浉鍏崇殑鍐呭
+ * @return
+ * @throws Exception
+ */
+ @Override
+ public String addSaveCodeNotauthUser(CodeOrderDTO orderDTO, boolean authUser) throws Exception {
+ return addSaveCode(orderDTO,authUser);
+ }
/**
* 鐢宠鍗曚竴缂栫爜
*
* @param orderDTO 鐢宠鐨勪俊鎭紝闇�瑕佸寘鍚睘鎬х殑鍐呭鍜岀爜娈电浉鍏崇殑鍐呭
* @return 杩斿洖缂栫爜鐨勫唴瀹�
*/
- @Override
- public String addSaveCode(CodeOrderDTO orderDTO) throws Exception {
+ private String addSaveCode(CodeOrderDTO orderDTO,boolean authUser) throws Exception {
VciBaseUtil.alertNotNull(orderDTO, "缂栫爜鐢宠鐩稿叧鐨勫睘鎬у拰鐮佹鐨勫唴瀹归兘涓虹┖", orderDTO.getCodeClassifyOid(), "涓婚搴撳垎绫荤殑涓婚敭",
orderDTO.getTemplateOid(), "妯℃澘鐨勪富閿�", orderDTO.getCodeRuleOid(), "缂栫爜瑙勫垯鐨勪富閿�");
CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid());
@@ -426,9 +443,14 @@
cbo.setCreateTime(new Date());
cbo.setLastModifyTime(new Date());
//cbo.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));銆�
- // 瑕佹眰鏄剧ず璐﹀彿锛屾墍浠ュ仛浜嗘洿鏀�
- cbo.setCreator(String.valueOf(AuthUtil.getUser().getAccount()));
- cbo.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+ if(authUser) {
+ // 瑕佹眰鏄剧ず璐﹀彿锛屾墍浠ュ仛浜嗘洿鏀�
+ cbo.setCreator(String.valueOf(AuthUtil.getUser().getAccount()));
+ cbo.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
+ }else{
+ cbo.setCreator(orderDTO.getCreator());
+ cbo.setLastModifier(orderDTO.getLastModifier());
+ }
cbo.setTenantId(AuthUtil.getTenantId());
if(StringUtils.isNotBlank(orderDTO.getLcStatus())||StringUtils.isNotBlank(orderDTO.getData().get("lcStatus"))){
cbo.setLcStatus(StringUtils.isNotBlank(orderDTO.getLcStatus())?orderDTO.getLcStatus():orderDTO.getData().get("lcStatus"));
@@ -922,7 +944,8 @@
data.put(cbo.getData().containsKey(CODE_FULL_PATH_FILED.toUpperCase())?CODE_FULL_PATH_FILED.toUpperCase():CODE_FULL_PATH_FILED, fullPath);
cbo.getData().putAll(data);
cbo.setLastModifyTime(new Date());
- cbo.setLastModifier(AuthUtil.getUser().getUserName());
+ //cbo.setLastModifier(AuthUtil.getUser().getUserName());
+ cbo.setLastModifier(AuthUtil.getUser().getAccount());
cbo.setTs(new Date());
if (!edit && StringUtils.isBlank(orderDTO.getLcStatus())) {
//TODO 鍏堝啓鍥哄畾锛屽悗闈㈢敓鍛藉懆鏈熷ソ浜嗗湪缂栧啓
@@ -1946,7 +1969,7 @@
//璇存槑杩樻槸鍙傜収閲岄潰鐨勶紝鎴戜滑榛樿杩欑鎯呭喌涓嬮兘鏄瓧绗︿覆鍚э紝鍥犱负鍙傜収鐨勫睘鎬т笉涓�瀹氱敤鐨勫钩鍙扮殑灞炴�ф睜閲岀殑锛屾墍浠ュぇ閮ㄥ垎鎯呭喌涓嬶紝鏄剧ず鐨勫睘鎬ч兘鏄瓧绗︿覆鍚�
return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "'%" + value + "%'" + SPACE;
} else {
- return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "'%" + getStringValueInWhere(field, value, attrVOMap) + "%'" + SPACE;
+ return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "'%" + value + "%'" + SPACE;
}
} else if (key.endsWith("_notequal")) {
String field = UBCSSqlKeyword.getColumn(key, "_notequal");
@@ -1981,7 +2004,7 @@
if (referFieldMap.containsKey(field)) {
return referFieldMap.get(field) + SPACE + " >= " + value + SPACE;
} else {
- return (field.contains(".") ? "" : "t.") + field + SPACE + " >= " + getStringValueInWhere(value, field, attrVOMap) + SPACE;
+ return (field.contains(".") ? "" : "t.") + field + SPACE + " >= " + getStringValueInWhere(field, value, attrVOMap) + SPACE;
}
} else if (key.endsWith("_le")) {
//璇存槑鏄�<=鐨勩�傛垜浠渶瑕佸厛鑾峰彇涓�涓�
@@ -2066,7 +2089,7 @@
if (referFieldMap.containsKey(field)) {
return referFieldMap.get(field) + SPACE + "= '" + value + "'" + SPACE;
} else {
- return (field.contains(".") ? "" : "t.") + field + SPACE + "= '" + getStringValueInWhere(field, value, attrVOMap) + "'" + SPACE;
+ return (field.contains(".") ? "" : "t.") + field + SPACE + "= " + getStringValueInWhere(field, value, attrVOMap) + "" + SPACE;
}
} else {
// if (referFieldMap.containsKey(key)) {
@@ -2362,9 +2385,12 @@
}
// cbo.getData().putAll(orderDTO.getData());
cbo.setLastModifyTime(new Date());
- cbo.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
- updateBatchByBaseModel(classifyFullInfo.getTopClassifyVO().getBtmTypeId(), Collections.singletonList(cbo));
- batchSaveSelectChar(templateVO, Collections.singletonList(cbo));
+ cbo.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
+ R r = updateBatchByBaseModel(classifyFullInfo.getTopClassifyVO().getBtmTypeId(), Collections.singletonList(cbo));
+ if(!r.isSuccess()){
+ throw new ServiceException(r.getMsg());
+ }
+ batchSaveSelectChar(templateVO, Collections.singletonList(cbo));
}
/**
@@ -2402,7 +2428,7 @@
}
//鍙兘鍒犻櫎鑷繁鍒涘缓鐨勬暟鎹�
- String userId = String.valueOf(AuthUtil.getUser().getUserId());
+ String userId = String.valueOf(AuthUtil.getUser().getAccount());
for (BaseModel clientBusinessObject : cboList) {
String creator = clientBusinessObject.getCreator();
if (!userId.equalsIgnoreCase(creator)) {
@@ -2414,10 +2440,10 @@
// batchCBO.getDeleteCbos().addAll(cboList);
// WebUtil.setPersistence(false);
// batchCBO.copyFromOther(
- productCodeService.recycleCode(classifyFullInfo.getCurrentClassifyVO().getBtmTypeId(), deleteBatchDTO.getOidList());
+ productCodeService.recycleCode(classifyFullInfo.getTopClassifyVO().getBtmTypeId(), deleteBatchDTO.getOidList());
// baseMapper.deleteBatchIds(cboList);
//浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
- R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(classifyFullInfo.getCurrentClassifyVO().getBtmTypeId()));
+ R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(classifyFullInfo.getTopClassifyVO().getBtmTypeId()));
if (!listR.isSuccess() || listR.getData().size() == 0) {
throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
}
@@ -2731,7 +2757,7 @@
cbo.setLastModifyTime(cbo.getLastModifyTime());
cbo.setTenantId(AuthUtil.getTenantId());
oldCbo.setLastV("0");
- oldCbo.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+ oldCbo.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
oldCbo.setLastModifyTime(new Date());
try {
updateBatchByBaseModel(oldCbo.getBtmname(), Collections.singletonList(oldCbo));
@@ -3522,6 +3548,42 @@
});
return commonsMapper.insertByBaseModel(listR.getData().get(0).getTableName(), maps.get(0), maps);
}
+ /**
+ * 浼犲叆涓氬姟绫诲瀷浠ュ強ID鏌ヨ涓氬姟琛ㄦ暟鎹槸鍚﹂噸澶�
+ *
+ * @param btmType 涓氬姟绫诲瀷
+ * @param ids 澶勭悊鏁版嵁
+ * @return 鏌ヨ鍒版暟鎹殑鎬绘暟
+ */
+ @Override
+ public Integer selectIdsCounts(String btmType, List<String> ids) {
+ //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
+ R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
+ if (!listR.isSuccess() || listR.getData().size() == 0) {
+ throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+ }
+ return commonsMapper.queryCountBySql("select count(*) from " +
+ listR.getData().get(0).getTableName() + " where id in ("+ ids.stream().map(s -> "'" + s + "'").collect(Collectors.joining(",")) +")");
+ }
+
+ /**
+ * 浼犲叆涓氬姟绫诲瀷浠ュ強ID銆丱ID鏌ヨ涓氬姟琛ㄦ暟鎹槸鍚﹂噸澶�
+ *
+ * @param btmType 涓氬姟绫诲瀷
+ * @param id 澶勭悊鏁版嵁id
+ * @param oid 澶勭悊鏁版嵁oid
+ * @return 鏌ヨ鍒版暟鎹殑鎬绘暟
+ */
+ @Override
+ public Integer selectIdAndOidCounts(String btmType, String id, String oid) {
+ //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
+ R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
+ if (!listR.isSuccess() || listR.getData().size() == 0) {
+ throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+ }
+ return commonsMapper.queryCountBySql("select count(*) from " +
+ listR.getData().get(0).getTableName() + " where id ='" + id + "' and oid <> '" + oid + "'");
+ }
/**
* 浼犲叆涓氬姟绫诲瀷浠ュ強鐩竜id闆嗗悎鏌ヨ鏁版嵁杩涜杩斿洖
@@ -3740,7 +3802,8 @@
if(cboMap.containsKey(oid)){
CodeAllCode codeAllCode= cboMap.get(oid);
codeAllCode.setId(baseModel.getId());
- codeAllCode.setLastModifier(AuthUtil.getUser().getUserName());
+ // codeAllCode.setLastModifier(AuthUtil.getUser().getUserName());
+ codeAllCode.setLastModifier(AuthUtil.getUser().getAccount());
codeAllCode.setLastModifyTime(new Date());
codeAllCode.setLcStatus(baseModel.getLcStatus());
newCodeAllCodeList.add(codeAllCode);
@@ -4041,9 +4104,11 @@
toBo.setFirstR(String.valueOf(0));
toBo.setFirstV(String.valueOf(1));
toBo.setLastV(String.valueOf(1));
- toBo.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
+ // 鏁版嵁鍗囩増涓嶉渶瑕侀噸鏂拌缃垱寤轰汉锛屽彧瀵规渶鍚庝慨鏀逛汉鍋氭洿鏂板氨鍙互浜�
+ //toBo.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
toBo.setCreateTime(new Date());
- toBo.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+ // toBo.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+ toBo.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
toBo.setLastModifyTime(new Date());
toBo.setRevisionRule(fromBo.getRevisionRule());
toBo.setVersionRule(fromBo.getVersionRule());R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(fromBo.getBtmname()));
@@ -4065,7 +4130,6 @@
toBo.getData().putAll(fromBo.getData());
toBo.getData().put("CHECKINBY", String.valueOf(AuthUtil.getUser().getUserId()));
return toBo;
-
}
/**
--
Gitblit v1.9.3