调整通用数据保存和修改接口返回格式

This commit is contained in:
hecan 2024-06-24 10:25:53 +08:00
parent 88775d3efe
commit c2e6863913
2 changed files with 72 additions and 55 deletions

View File

@ -48,7 +48,7 @@
${key} =#{value}
</foreach>
</set>
where formmain_id=#{formmainId} and sts='Y'
where id=#{id} and sts='Y'
</update>
<!-- 多条件逻辑删除 -->

View File

@ -135,9 +135,6 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
if (!checkStr(jsonObject.getString("optionName"))) {
return BaseResult.getFailureMessageEntity("操作人为空");
}
/*if (!checkStr(jsonObject.getString("rulePrefix"))) {
return BaseResult.getFailureMessageEntity("规则为空");
}*/
ComparisonEntity comparisonEntity = jsonObject.toJavaObject(ComparisonEntity.class);
ComparisonDetailsEntity comparisonDetailsEntity=new ComparisonDetailsEntity();
List<ComparisonEntity> comparisonEntities=new ArrayList<>();
@ -156,10 +153,9 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
JSONObject jsonObjectMain = JSONObject.parseObject(main);
if(jsonObjectMain != null ) {
Map<String, Object> map = new HashMap<>();//将主表数据存到map中
Map<String, Object> mapDetails = new HashMap<>();//将子表数据存到map中
List<Map<String, Object>> mapDetails = new ArrayList<>();//将子表数据存到map中
if (comparisonEntities != null && comparisonEntities.size() > 0) {
map = spliceMainMap(comparisonEntities, jsonObjectMain, map, comparisonEntity);
mapDetails = spliceDetailMap(comparisonEntities, mapDetails, comparisonDetailsEntity, jsonArray);
map = spliceMainMap(comparisonEntities, jsonObjectMain, map, comparisonEntity,comparisonDetailsEntity);
String uuid = null;
if (jsonObjectMain.getString("id") == null) {
uuid = UUIDUtils.getUUID();
@ -182,8 +178,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
//查询单据规则 只查询主表得明细表不用
try {
ComparisonEntity comparisonEntityRules = comparisonDao.queryComparisonById(comparisonEntityRule);
String documentRule = comparisonEntityRules.getDocumentRule();
; //"KH-2024-05-30-1";
String documentRule = comparisonEntityRules.getDocumentRule();//"KH-2024-05-30-1";
logger.info("通用数据保存接口中根据mId查询出来的单据规则为:{}", documentRule);
if (documentRule != null) {
//获取规则前缀 CK
@ -214,30 +209,41 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
return BaseResult.getFailureMessageEntity("保存失败");
}
try {
List<JSONObject> list=new ArrayList<>();
JSONObject jsonObjectList=new JSONObject();
//保存主表数据
ComparisonEntity comparisonEntityOne = comparisonDao.saveComparison(comparisonEntityRule);
jsonObjectList.put(comparisonEntityOne.getDbName(),map);
//保存子表数据
if (mapDetails != null && mapDetails.size() > 0) {
String uuidDetail = UUIDUtils.getUUID();
mapDetails.put("id", uuidDetail);
mapDetails.put("formmain_id", uuid);
mapDetails.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
mapDetails.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
mapDetails.put("org_id", "0");
mapDetails.put("create_time", new Date());
mapDetails.put("modify_time", new Date());
mapDetails.put("sts", "Y");
mapDetails.put("data_status","Y");//新增状态
comparisonDetailsEntity.setMapDetails(mapDetails);
ComparisonDetailsEntity comparisonDetailsEntityOne = comparisonDetailsDao.saveComparisonDetails(comparisonDetailsEntity);
//comparisonEntityOne.setComparisonDetailsEntity(comparisonDetailsEntityOne);
map.put("details",mapDetails);
//保存操作日志
//controlsLogDaoimpl.saveControlsLog(uuidDetail,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonDetailsEntity.getDbName()+"_option_log");
if (jsonArray != null && jsonArray.size() > 0) {
mapDetails = spliceDetailMap(comparisonEntities, mapDetails, jsonArray);
if(mapDetails.size()>0 && mapDetails!=null){
for (Map<String, Object> mapDetail : mapDetails) {
String uuidDetail = UUIDUtils.getUUID();
mapDetail.put("id", uuidDetail);
mapDetail.put("formmain_id", uuid);
mapDetail.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
mapDetail.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
mapDetail.put("org_id", "0");
mapDetail.put("create_time", new Date());
mapDetail.put("modify_time", new Date());
mapDetail.put("sts", "Y");
mapDetail.put("data_status","Y");//新增状态
comparisonDetailsEntity.setMapDetails(mapDetail);
ComparisonDetailsEntity comparisonDetailsEntityOne = comparisonDetailsDao.saveComparisonDetails(comparisonDetailsEntity);
//comparisonEntityOne.setComparisonDetailsEntity(comparisonDetailsEntityOne);
//保存操作日志
//controlsLogDaoimpl.saveControlsLog(uuidDetail,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonDetailsEntity.getDbName()+"_option_log");
}
jsonObjectList.put(comparisonDetailsEntity.getDbName(),mapDetails);
}
}else{
jsonObjectList.put(comparisonDetailsEntity.getDbName(),new ArrayList<>());
}
list.add(jsonObjectList);
//保存操作日志
controlsLogDaoimpl.saveControlsLog(uuid,jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口新增",jsonObject.getString("optionName"),comparisonEntityRule.getDbName()+"_option_log");
return BaseResult.getSuccessMessageEntity("保存成功", map);
return BaseResult.getSuccessMessageEntity("保存成功", list);
} catch (Exception e) {
logger.info("保存通用数据时候错误:{}", e.getMessage());
return BaseResult.getFailureMessageEntity("保存失败");
@ -279,10 +285,9 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
return BaseResult.getFailureMessageEntity("更新失败");
}
Map<String,Object> map=new HashMap<>();//将主表数据存到map中
Map<String,Object> mapDetails=new HashMap<>();//将子表数据存到map中
List<Map<String,Object>> mapDetails=new ArrayList<>();//将子表数据存到map中
if(comparisonEntities !=null && comparisonEntities.size()>0) {
map=spliceMainMap(comparisonEntities,jsonObjectMain,map,comparisonEntity);
mapDetails=spliceDetailMap(comparisonEntities,mapDetails,comparisonDetailsEntity,jsonArray);
map=spliceMainMap(comparisonEntities,jsonObjectMain,map,comparisonEntity,comparisonDetailsEntity);
map.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
map.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
map.put("org_id", "0");
@ -303,26 +308,37 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
return BaseResult.getFailureMessageEntity("更新失败",e.getMessage());
}*/
try {
List<JSONObject> jsonObjects=new ArrayList<>();
JSONObject jsonObjectList=new JSONObject();
//保存主表数据
Integer integer = comparisonDao.updateComparisonByType(comparisonEntity);
if (integer > 0) {
jsonObjectList.put(comparisonEntity.getDbName(),map);
if (integer>0) {
//保存子表数据
if (mapDetails != null && mapDetails.size() > 0) {
mapDetails.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
mapDetails.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
mapDetails.put("org_id", "0");
mapDetails.put("modify_time", new Date());
mapDetails.put("sts", "Y");
mapDetails.put("data_status","F");//数据状态
comparisonDetailsEntity.setFormmainId(jsonObjectMain.getString("id"));
comparisonDetailsEntity.setMapDetails(mapDetails);
comparisonDetailsDao.updateComparisonDetailsByType(comparisonDetailsEntity);
//保存操作日志
// controlsLogDaoimpl.saveControlsLog(comparisonDetailsEntity.getId(),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口更新",jsonObject.getString("optionName"),comparisonDetailsEntity.getDbName()+"_option_log");
if (jsonArray != null && jsonArray.size() > 0) {
mapDetails=spliceDetailMap(comparisonEntities,mapDetails,jsonArray);
for (Map<String, Object> mapDetail : mapDetails) {
mapDetail.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
mapDetail.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443");
mapDetail.put("org_id", "0");
mapDetail.put("modify_time", new Date());
mapDetail.put("sts", "Y");
mapDetail.put("data_status","F");//数据状态
//comparisonDetailsEntity.setFormmainId(jsonObjectMain.getString("id"));
comparisonDetailsEntity.setId(String.valueOf(mapDetail.get("id")));
comparisonDetailsEntity.setMapDetails(mapDetail);
comparisonDetailsDao.updateComparisonDetailsByType(comparisonDetailsEntity);
//保存操作日志
// controlsLogDaoimpl.saveControlsLog(comparisonDetailsEntity.getId(),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口更新",jsonObject.getString("optionName"),comparisonDetailsEntity.getDbName()+"_option_log");
}
jsonObjectList.put(comparisonDetailsEntity.getDbName(),mapDetails);
}else{
jsonObjectList.put(comparisonDetailsEntity.getDbName(),new ArrayList<>());
}
jsonObjects.add(jsonObjectList);
//保存操作日志
controlsLogDaoimpl.saveControlsLog(comparisonEntity.getId(),jsonObject.getString("appName"),jsonObject.getString("appCode"),jsonObject.toJSONString(),"接口更新",jsonObject.getString("optionName"),comparisonEntity.getDbName()+"_option_log");
return BaseResult.getSuccessMessageEntity("更新成功", integer);
return BaseResult.getSuccessMessageEntity("更新成功", jsonObjects);
}else{
return BaseResult.getFailureMessageEntity("更新失败");
}
@ -436,7 +452,7 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
}
//得到主表数据
private Map<String,Object> spliceMainMap(List<ComparisonEntity> comparisonEntities,JSONObject jsonObjectMain,Map<String, Object> map,ComparisonEntity comparisonEntity){
private Map<String,Object> spliceMainMap(List<ComparisonEntity> comparisonEntities,JSONObject jsonObjectMain,Map<String, Object> map,ComparisonEntity comparisonEntity,ComparisonDetailsEntity comparisonDetailsEntity){
for (ComparisonEntity entity : comparisonEntities) {
//遍历主表下面的所有key,字段名
for (String key : jsonObjectMain.keySet()) {
@ -447,27 +463,29 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
map.put(key, jsonObjectMain.getString(key));
}
}
if(entity.getDbType().equals("2")){
comparisonDetailsEntity.setDbName(entity.getDbName());
}
}
}
return map;
}
//得到明细表数据
private Map<String,Object> spliceDetailMap(List<ComparisonEntity> comparisonEntities,Map<String, Object> mapDetails,ComparisonDetailsEntity comparisonDetailsEntity,JSONArray jsonArray){
private List<Map<String, Object>> spliceDetailMap(List<ComparisonEntity> comparisonEntities,List<Map<String, Object>> mapDetails,JSONArray jsonArray){
if (jsonArray != null && jsonArray.size() > 0) {
for (Object object : jsonArray) {
JSONObject jsonObjectDetails = (JSONObject) JSON.toJSON(object);
for (ComparisonEntity entity : comparisonEntities) {
//遍历主表下面的所有key,字段名
for (String key : jsonObjectDetails.keySet()) {
if (entity.getDbType().equals("2")) {
comparisonDetailsEntity.setDbName(entity.getDbName());
if(entity.getEnName().equals(key)){
mapDetails.put(key, jsonObjectDetails.getString(key));
}
JSONObject jsonObject=new JSONObject();
//遍历主表下面的所有key,字段名
for (String key : jsonObjectDetails.keySet()) {
for (ComparisonEntity entity : comparisonEntities) {
if (entity.getDbType().equals("2") && entity.getEnName().equals(key)) {
jsonObject.put(key,jsonObjectDetails.getString(key));
}
}
}
mapDetails.add(jsonObject);
}
}
return mapDetails;
@ -518,7 +536,6 @@ public class ComparisonServiceImpl extends BaseService<ComparisonEntity, String>
}
break;
case "option":
//获取主表和明细表的字段信息
if(moduleDbEntity.getDbType().equals("3")){
MdmModuleDbFiledsEntity mdmModuleDbFiledsEntity=new MdmModuleDbFiledsEntity();
mdmModuleDbFiledsEntity.setDbId(moduleDbEntity.getId());