Browse Source

print 后端 2022-04-21 sxm

master
[li_she] 4 years ago
parent
commit
8be0859dd4
  1. 4
      pom.xml
  2. 9
      src/main/java/com/lodop/dome/Controller/LodopController.java
  3. 55
      src/main/java/com/lodop/dome/common/exception/XJException.java
  4. 60
      src/main/java/com/lodop/dome/common/exception/XJExceptionHandler.java
  5. 2
      src/main/java/com/lodop/dome/common/util/R.java
  6. 4
      src/main/java/com/lodop/dome/service/ClodopAssemblyService.java
  7. 5
      src/main/java/com/lodop/dome/service/ClodopTemplateService.java
  8. 6
      src/main/java/com/lodop/dome/service/impl/ClodopAssemblyServiceImpl.java
  9. 187
      src/main/java/com/lodop/dome/service/impl/ClodopTemplateServiceImpl.java

4
pom.xml

@ -9,8 +9,8 @@
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.lodop</groupId>
<artifactId>dome</artifactId>
<version>0.0.1-SNAPSHOT</version>
<artifactId>XJ-Lodop</artifactId>
<version>1.0</version>
<name>lodop-dome</name>
<description>Demo project for Spring Boot</description>
<properties>

9
src/main/java/com/lodop/dome/Controller/LodopController.java

@ -1,10 +1,10 @@
package com.lodop.dome.Controller;
import com.lodop.dome.common.utils.R;
import com.lodop.dome.common.util.R;
import com.lodop.dome.data.ClodopAssemblyDetailData;
import com.lodop.dome.data.ClodopTemplateHeaderData;
import com.lodop.dome.seriver.ClodopAssemblyService;
import com.lodop.dome.seriver.ClodopTemplateService;
import com.lodop.dome.service.ClodopAssemblyService;
import com.lodop.dome.service.ClodopTemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -12,13 +12,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
* @author ZuoWen
* @version 1.0.0
* @ClassName LodopController.java
* @Description TODO
* @Description
* @createTime 2022年03月16日
*/
@RestController

55
src/main/java/com/lodop/dome/common/exception/XJException.java

@ -0,0 +1,55 @@
package com.lodop.dome.common.exception;
/**
* 自定义异常
*
*
*/
public class XJException extends RuntimeException {
private static final long serialVersionUID = 1L;
private String msg;
private int code = 500;
public XJException(String msg) {
super(msg);
this.msg = msg;
}
public XJException(String msg, Throwable e) {
super(msg, e);
this.msg = msg;
}
public XJException(String msg, int code) {
super(msg);
this.msg = msg;
this.code = code;
}
public XJException(String msg, int code, Throwable e) {
super(msg, e);
this.msg = msg;
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
}

60
src/main/java/com/lodop/dome/common/exception/XJExceptionHandler.java

@ -0,0 +1,60 @@
package com.lodop.dome.common.exception;
import com.lodop.dome.common.util.R;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.NoHandlerFoundException;
/**
* 异常处理器
*
*
*/
@RestControllerAdvice
public class XJExceptionHandler {
private Logger logger = LoggerFactory.getLogger(getClass());
/**
* 处理自定义异常
*/
@ExceptionHandler(XJException.class)
public R handleRRException(XJException e){
R r = new R();
r.put("code", e.getCode());
r.put("msg", e.getMessage());
e.printStackTrace();
return r;
}
@ExceptionHandler(NoHandlerFoundException.class)
public R handlerNoFoundException(Exception e) {
//logger.error(e.getMessage(), e);
e.printStackTrace();
return R.error(404, "路径不存在,请检查路径是否正确");
}
@ExceptionHandler(DuplicateKeyException.class)
public R handleDuplicateKeyException(DuplicateKeyException e){
//logger.error(e.getMessage(), e);
String message = "";
if(e.getMessage().indexOf("sys_user")>-1){
message = "用户名不允许重复!";
}else {
message = "数据库存已在该记录!";
}
return R.error(message);
}
@ExceptionHandler(Exception.class)
public R handleException(Exception e){
//logger.error(e.getMessage(), e);
e.printStackTrace();
return R.error(e.getMessage());
}
}

2
src/main/java/com/lodop/dome/common/utils/R.java → src/main/java/com/lodop/dome/common/util/R.java

@ -1,6 +1,6 @@
package com.lodop.dome.common.utils;
package com.lodop.dome.common.util;
import org.apache.http.HttpStatus;

4
src/main/java/com/lodop/dome/seriver/ClodopAssemblyService.java → src/main/java/com/lodop/dome/service/ClodopAssemblyService.java

@ -1,6 +1,6 @@
package com.lodop.dome.seriver;
package com.lodop.dome.service;
import com.lodop.dome.common.utils.R;
import com.lodop.dome.common.util.R;
import com.lodop.dome.data.ClodopAssemblyDetailData;
import com.lodop.dome.data.ClodopAssemblyHeaderData;

5
src/main/java/com/lodop/dome/seriver/ClodopTemplateService.java → src/main/java/com/lodop/dome/service/ClodopTemplateService.java

@ -1,10 +1,9 @@
package com.lodop.dome.seriver;
package com.lodop.dome.service;
import com.lodop.dome.common.utils.R;
import com.lodop.dome.common.util.R;
import com.lodop.dome.data.ClodopTemplateHeaderData;
import java.util.List;
import java.util.Map;
/**
* @author ZuoWen

6
src/main/java/com/lodop/dome/seriver/impl/ClodopAssemblyServiceImpl.java → src/main/java/com/lodop/dome/service/impl/ClodopAssemblyServiceImpl.java

@ -1,7 +1,7 @@
package com.lodop.dome.seriver.impl;
package com.lodop.dome.service.impl;
import com.alibaba.fastjson.JSON;
import com.lodop.dome.common.utils.R;
import com.lodop.dome.common.util.R;
import com.lodop.dome.dao.ClodopAssemblyDetailMapper;
import com.lodop.dome.dao.ClodopAssemblyHeaderMapper;
import com.lodop.dome.dao.ClodopBarCodeMapper;
@ -10,7 +10,7 @@ import com.lodop.dome.data.ClodopAssemblyDetailData;
import com.lodop.dome.data.ClodopAssemblyHeaderData;
import com.lodop.dome.data.ClodopBarCodeData;
import com.lodop.dome.data.ClodopColumnsAttrData;
import com.lodop.dome.seriver.ClodopAssemblyService;
import com.lodop.dome.service.ClodopAssemblyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

187
src/main/java/com/lodop/dome/seriver/impl/ClodopTemplateServiceImpl.java → src/main/java/com/lodop/dome/service/impl/ClodopTemplateServiceImpl.java

@ -1,18 +1,16 @@
package com.lodop.dome.seriver.impl;
package com.lodop.dome.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.lodop.dome.common.utils.R;
import com.lodop.dome.common.util.R;
import com.lodop.dome.dao.*;
import com.lodop.dome.data.*;
import com.lodop.dome.seriver.ClodopTemplateService;
import com.lodop.dome.service.ClodopTemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
@ -44,22 +42,14 @@ public class ClodopTemplateServiceImpl implements ClodopTemplateService {
// 查询模板主记录信息
List<ClodopTemplateHeaderData> templateHeaderList = clodopTemplateHeaderMapper.selectGetList(record);
// 循环遍历主记录 取明细记录
for (ClodopTemplateHeaderData templateHeaderData: templateHeaderList) {
for (ClodopTemplateHeaderData templateHeaderData : templateHeaderList) {
ClodopTemplateDetailData queryTemplateDetail = new ClodopTemplateDetailData();
queryTemplateDetail.setSupplierId(templateHeaderData.getId());
List<ClodopTemplateDetailData> templateDetailList = clodopTemplateDetailMapper.getTemplateDetailList(queryTemplateDetail);
// 根据明细记录 取样式信息
for (ClodopTemplateDetailData templateDetailData: templateDetailList) {
// 判断是否为文本或二维码
if(templateDetailData.getType().equals("braid-txt") || templateDetailData.getType().equals("bar-code")){
// 获取文本或二维码样式
ClodopStyleData queryStyleData = new ClodopStyleData();
queryStyleData.setSupplierId(templateDetailData.getId());
ClodopStyleData clodopStyleData = clodopStyleMapper.selectByPrimaryKey(queryStyleData);
// 将样式保存到明细记录中
templateDetailData.setStyle(clodopStyleData);
// 判断是否为table
}else if(templateDetailData.getType().equals("braid-table")){
for (ClodopTemplateDetailData templateDetailData : templateDetailList) {
// 判断是否为table
if (templateDetailData.getType().equals("braid-table")) {
// 根据明细记录id 获取table 参数信息
ClodopTableColumnsData queryColumns = new ClodopTableColumnsData();
queryColumns.setSupplierId(templateDetailData.getId());
@ -68,7 +58,7 @@ public class ClodopTemplateServiceImpl implements ClodopTemplateService {
templateDetailData.setColumns(resultTableColumnsList);
// 获取字段信息
List<String> selectColList = new ArrayList<>();
for (ClodopTableColumnsData tableColumnsData: resultTableColumnsList) {
for (ClodopTableColumnsData tableColumnsData : resultTableColumnsList) {
selectColList.add(tableColumnsData.getName());
}
templateDetailData.setSelectCol(selectColList);
@ -90,6 +80,15 @@ public class ClodopTemplateServiceImpl implements ClodopTemplateService {
queryStyle.setSite(templateDetailData.getSite());
ClodopStyleData clodopStyleData = clodopStyleMapper.selectByPrimaryKey(queryStyle);
templateDetailData.setStyle(clodopStyleData);
// 判断是否为文本或二维码
}else{
// 获取文本或二维码样式
ClodopStyleData queryStyleData = new ClodopStyleData();
queryStyleData.setSupplierId(templateDetailData.getId());
ClodopStyleData clodopStyleData = clodopStyleMapper.selectByPrimaryKey(queryStyleData);
// 将样式保存到明细记录中
templateDetailData.setStyle(clodopStyleData);
}
}
templateHeaderData.setTempItems(templateDetailList);
@ -101,7 +100,7 @@ public class ClodopTemplateServiceImpl implements ClodopTemplateService {
@Override
public R saveClodopTemplate(ClodopTemplateHeaderData record) {
clodopTemplateHeaderMapper.insertSelective(record);
return R.ok().put("msg","操作成功!");
return R.ok().put("msg", "操作成功!");
}
@Override
@ -115,14 +114,14 @@ public class ClodopTemplateServiceImpl implements ClodopTemplateService {
List<ClodopTemplateDetailData> templateDetailList = clodopTemplateDetailMapper.getTemplateDetailList(queryTemplateDetail);
// 删除明细记录
clodopTemplateDetailMapper.deleteTemplateDetail(queryTemplateDetail);
for (ClodopTemplateDetailData templateDetailData: templateDetailList) {
for (ClodopTemplateDetailData templateDetailData : templateDetailList) {
// 删除样式信息
ClodopStyleData queryStyle = new ClodopStyleData();
queryStyle.setSupplierId(templateDetailData.getId());
queryStyle.setSite(templateDetailData.getSite());
clodopStyleMapper.deleteByPrimaryKey(queryStyle);
// 判断是否为table
if(templateDetailData.getType().equals("braid-table")){
if (templateDetailData.getType().equals("braid-table")) {
// 删除字段信息
ClodopTableColumnsData queryColumns = new ClodopTableColumnsData();
queryColumns.setSupplierId(templateDetailData.getId());
@ -140,16 +139,16 @@ public class ClodopTemplateServiceImpl implements ClodopTemplateService {
clodopTableValueMapper.deleteByPrimaryKey(queryTableValue);
}
}
return R.ok().put("msg","操作成功!");
return R.ok().put("msg", "操作成功!");
}
@Override
@Transactional
public R saveClodopTemplateHeaders(ClodopTemplateHeaderData record) {
// 判断为模板保存 还是复制新增
if(record.getInsertFlag() != null && record.getInsertFlag()){
if (record.getInsertFlag() != null && record.getInsertFlag()) {
clodopTemplateHeaderMapper.insertSelective(record);
}else {
} else {
clodopTemplateHeaderMapper.updateByPrimaryKeySelective(record);
ClodopTemplateDetailData delTemplateDetail = new ClodopTemplateDetailData();
delTemplateDetail.setSupplierId(record.getId());
@ -158,58 +157,98 @@ public class ClodopTemplateServiceImpl implements ClodopTemplateService {
// 获取新增明细信息
List<ClodopTemplateDetailData> result = record.getTempItems();
// 根据类型新增记录信息
for (ClodopTemplateDetailData tempItemDetail: result) {
if(tempItemDetail.getType().equals("braid-txt") || tempItemDetail.getType().equals("bar-code")){
// 新增明细信息
tempItemDetail.setDefaultValue(tempItemDetail.getDefaultValue());
tempItemDetail.setSupplierId(record.getId());
clodopTemplateDetailMapper.insertSelective(tempItemDetail);
int supplierId = tempItemDetail.getId();
// 新增样式信息
ClodopStyleData style = tempItemDetail.getStyle();
style.setSupplierId(supplierId);
clodopStyleMapper.insertSelective(style);
// 判断是否为table
}else if(tempItemDetail.getType().equals("braid-table")){
// 设置列名及属性
// 获取table 字段名及值
List<ClodopTableColumnsData> columns = tempItemDetail.getColumns();
// 获取table 列信息
List<ClodopColumnsAttrData> columnsAttrList = tempItemDetail.getColumnsAttr();
// 字段名
// List<String> selectColList = tempItemDetail.getSelectCol();
// 获取默认值信息
Object defaultValue = tempItemDetail.getDefaultValue();
// 新增明细记录信息
tempItemDetail.setDefaultValue("");
tempItemDetail.setSupplierId(record.getId());
clodopTemplateDetailMapper.insertSelective(tempItemDetail);
int supplierId = tempItemDetail.getId();
// 新增table 参数名及字段
for (ClodopTableColumnsData column : columns) {
column.setSupplierId(supplierId);
clodopTableColumnsMapper.insertSelective(column);
}
// 新增table 列信息
// for (ClodopColumnsAttrData clodopColumnsAttrData : columnsAttrList) {
// clodopColumnsAttrData.setSupplierId(supplierId);
// clodopColumnsAttrMapper.insertSelective(clodopColumnsAttrData);
// }
// 新增默认值信息
if (defaultValue instanceof ArrayList<?>) {
for (Object o : (List<?>) defaultValue) {
ObjectMapper objectMapper = new ObjectMapper();
ClodopTableValueData tableValueData = objectMapper.convertValue(o, ClodopTableValueData.class);
tableValueData.setAssemblyId(supplierId);
clodopTableValueMapper.insertSelective(tableValueData);
for (ClodopTemplateDetailData tempItemDetail : result) {
switch (tempItemDetail.getType()) {
case "braid-table":
//获取table 字段名及值
List<ClodopTableColumnsData> columns = tempItemDetail.getColumns();
//获取table 列信息
List<ClodopColumnsAttrData> columnsAttrList = tempItemDetail.getColumnsAttr();
//获取默认值信息
Object defaultValue = tempItemDetail.getDefaultValue();
// 新增明细记录信息
tempItemDetail.setDefaultValue("");
tempItemDetail.setSupplierId(record.getId());
clodopTemplateDetailMapper.insertSelective(tempItemDetail);
int supplierId = tempItemDetail.getId();
//新增table 参数名及字段
for (ClodopTableColumnsData column : columns) {
column.setSupplierId(supplierId);
clodopTableColumnsMapper.insertSelective(column);
}
}
// 新增table样式信息
ClodopStyleData style = tempItemDetail.getStyle();
style.setSupplierId(supplierId);
clodopStyleMapper.insertSelective(style);
//新增默认值信息
if (defaultValue instanceof ArrayList<?>) {
for (Object o : (List<?>) defaultValue) {
ObjectMapper objectMapper = new ObjectMapper();
ClodopTableValueData tableValueData = objectMapper.convertValue(o, ClodopTableValueData.class);
tableValueData.setAssemblyId(supplierId);
clodopTableValueMapper.insertSelective(tableValueData);
}
}
//新增table样式信息
ClodopStyleData style = tempItemDetail.getStyle();
style.setSupplierId(supplierId);
clodopStyleMapper.insertSelective(style);
break;
default:
//新增明细信息
tempItemDetail.setDefaultValue(tempItemDetail.getDefaultValue());
tempItemDetail.setSupplierId(record.getId());
clodopTemplateDetailMapper.insertSelective(tempItemDetail);
int supplierIdD = tempItemDetail.getId();
// 新增样式信息
ClodopStyleData styleD = tempItemDetail.getStyle();
styleD.setSupplierId(supplierIdD);
clodopStyleMapper.insertSelective(styleD);
}
// if (tempItemDetail.getType().equals("braid-txt") || tempItemDetail.getType().equals("bar-code")) {
// //新增明细信息
// tempItemDetail.setDefaultValue(tempItemDetail.getDefaultValue());
// tempItemDetail.setSupplierId(record.getId());
// clodopTemplateDetailMapper.insertSelective(tempItemDetail);
// int supplierId = tempItemDetail.getId();
// // 新增样式信息
// ClodopStyleData style = tempItemDetail.getStyle();
// style.setSupplierId(supplierId);
// clodopStyleMapper.insertSelective(style);
// // 判断是否为table
// } else
// if (tempItemDetail.getType().equals("braid-table")) {
// // 设置列名及属性
// // 获取table 字段名及值
// List<ClodopTableColumnsData> columns = tempItemDetail.getColumns();
// // 获取table 列信息
// List<ClodopColumnsAttrData> columnsAttrList = tempItemDetail.getColumnsAttr();
// // 字段名
// // 获取默认值信息
// Object defaultValue = tempItemDetail.getDefaultValue();
// // 新增明细记录信息
// tempItemDetail.setDefaultValue("");
// tempItemDetail.setSupplierId(record.getId());
// clodopTemplateDetailMapper.insertSelective(tempItemDetail);
// int supplierId = tempItemDetail.getId();
// // 新增table 参数名及字段
// for (ClodopTableColumnsData column : columns) {
// column.setSupplierId(supplierId);
// clodopTableColumnsMapper.insertSelective(column);
// }
//
// // 新增默认值信息
// if (defaultValue instanceof ArrayList<?>) {
// for (Object o : (List<?>) defaultValue) {
// ObjectMapper objectMapper = new ObjectMapper();
// ClodopTableValueData tableValueData = objectMapper.convertValue(o, ClodopTableValueData.class);
// tableValueData.setAssemblyId(supplierId);
// clodopTableValueMapper.insertSelective(tableValueData);
// }
// }
// // 新增table样式信息
// ClodopStyleData style = tempItemDetail.getStyle();
// style.setSupplierId(supplierId);
// clodopStyleMapper.insertSelective(style);
// }
}
return R.ok().put("msg" ,"操作成功!");
return R.ok().put("msg", "操作成功!");
}
}
Loading…
Cancel
Save