12 changed files with 378 additions and 2 deletions
-
42src/main/java/com/spring/modules/code/controller/CodeDrawingController.java
-
7src/main/java/com/spring/modules/code/controller/CodeItemDefController.java
-
31src/main/java/com/spring/modules/code/entity/CodeDrawing.java
-
10src/main/java/com/spring/modules/code/mapper/CodeConditionDetailMapper.java
-
9src/main/java/com/spring/modules/code/mapper/CodeDrawingMapper.java
-
17src/main/java/com/spring/modules/code/service/CodeDrawingService.java
-
3src/main/java/com/spring/modules/code/service/CodeItemDefService.java
-
61src/main/java/com/spring/modules/code/service/impl/CodeDrawingServiceImpl.java
-
13src/main/java/com/spring/modules/code/service/impl/CodeItemDefServiceImpl.java
-
92src/main/java/com/spring/modules/code/utils/WrapperGenerate.java
-
22src/main/java/com/spring/modules/code/vo/CodeDrawingVo.java
-
73src/main/resources/mapper/code/CodeConditionDetailMapper.xml
@ -0,0 +1,42 @@ |
|||
package com.spring.modules.code.controller; |
|||
|
|||
import com.spring.common.utils.R; |
|||
import com.spring.modules.code.entity.CodeDrawing; |
|||
import com.spring.modules.code.service.CodeDrawingService; |
|||
import com.spring.modules.code.vo.CodeDrawingVo; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestBody; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import java.util.List; |
|||
|
|||
@RestController |
|||
@RequestMapping("/code/drawing") |
|||
public class CodeDrawingController { |
|||
@Autowired |
|||
private CodeDrawingService codeDrawingService; |
|||
@PostMapping("/list") |
|||
public R searchCodeDrawingList(@RequestBody CodeDrawingVo codeDrawing) { |
|||
List<CodeDrawing> list = codeDrawingService.searchCodeDrawingList(codeDrawing); |
|||
return R.ok().put("rows",list); |
|||
} |
|||
@PostMapping("/remove") |
|||
public R removeCodeDrawing(@RequestBody CodeDrawingVo codeDrawing) { |
|||
codeDrawingService.removeCodeDrawing(codeDrawing); |
|||
return R.ok().put("msg","操作成功"); |
|||
} |
|||
|
|||
@PostMapping("/save") |
|||
public R saveCodeDrawing(@RequestBody CodeDrawingVo codeDrawing) { |
|||
codeDrawingService.saveCodeDrawing(codeDrawing); |
|||
return R.ok().put("msg","操作成功"); |
|||
} |
|||
|
|||
@PostMapping("/edit") |
|||
public R editCodeDrawing(@RequestBody CodeDrawingVo codeDrawing) { |
|||
codeDrawingService.editCodeDrawing(codeDrawing); |
|||
return R.ok().put("msg","操作成功"); |
|||
} |
|||
} |
|||
@ -0,0 +1,31 @@ |
|||
package com.spring.modules.code.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import lombok.Data; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import java.util.Date; |
|||
|
|||
@TableName("drawing_list") |
|||
@Data |
|||
public class CodeDrawing { |
|||
|
|||
private String site; |
|||
|
|||
private String drawingNo; |
|||
|
|||
private String drawingDesc; |
|||
|
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
|||
private Date createDate; |
|||
|
|||
private String creator; |
|||
|
|||
private String seqFlag; |
|||
|
|||
private String drawingNoNew; |
|||
|
|||
private String remark; |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
package com.spring.modules.code.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.spring.modules.code.entity.CodeDrawing; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
@Mapper |
|||
public interface CodeDrawingMapper extends BaseMapper<CodeDrawing> { |
|||
} |
|||
@ -0,0 +1,17 @@ |
|||
package com.spring.modules.code.service; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
import com.spring.modules.code.entity.CodeDrawing; |
|||
import com.spring.modules.code.vo.CodeDrawingVo; |
|||
|
|||
import java.util.List; |
|||
|
|||
public interface CodeDrawingService extends IService<CodeDrawing> { |
|||
List<CodeDrawing> searchCodeDrawingList(CodeDrawingVo codeDrawing); |
|||
|
|||
void removeCodeDrawing(CodeDrawingVo codeDrawing); |
|||
|
|||
void saveCodeDrawing(CodeDrawingVo codeDrawing); |
|||
|
|||
void editCodeDrawing(CodeDrawingVo codeDrawing); |
|||
} |
|||
@ -0,0 +1,61 @@ |
|||
package com.spring.modules.code.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.spring.modules.code.entity.CodeDrawing; |
|||
import com.spring.modules.code.mapper.CodeDrawingMapper; |
|||
import com.spring.modules.code.service.CodeDrawingService; |
|||
import com.spring.modules.code.utils.WrapperGenerate; |
|||
import com.spring.modules.code.vo.CodeDrawingVo; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.aspectj.apache.bcel.classfile.Code; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import java.util.List; |
|||
import java.util.Objects; |
|||
|
|||
@Service |
|||
@Slf4j |
|||
public class CodeDrawingServiceImpl extends ServiceImpl<CodeDrawingMapper, CodeDrawing> implements CodeDrawingService { |
|||
WrapperGenerate<CodeDrawing> generate = new WrapperGenerate<>(); |
|||
@Override |
|||
public List<CodeDrawing> searchCodeDrawingList(CodeDrawingVo codeDrawing) { |
|||
LambdaQueryWrapper<CodeDrawing> wrapper = new LambdaQueryWrapper<>(); |
|||
LambdaQueryChainWrapper<CodeDrawing> chainWrapper = lambdaQuery() |
|||
.eq(CodeDrawing::getSite, codeDrawing.getSite()) |
|||
.ge(Objects.nonNull(codeDrawing.getStartDate()), CodeDrawing::getCreateDate, codeDrawing.getStartDate()) |
|||
.le(Objects.nonNull(codeDrawing.getEndDate()), CodeDrawing::getCreateDate, codeDrawing.getEndDate()); |
|||
generate.generateChainLambdaLike(codeDrawing.getDrawingNo(),CodeDrawing::getDrawingNo,chainWrapper); |
|||
generate.generateChainLambdaLike(codeDrawing.getDrawingDesc(),CodeDrawing::getDrawingDesc,chainWrapper); |
|||
generate.generateChainLambdaLike(codeDrawing.getRemark(),CodeDrawing::getRemark,chainWrapper); |
|||
generate.generateChainLambdaLike(codeDrawing.getCreator(),CodeDrawing::getCreator,chainWrapper); |
|||
return chainWrapper.list(); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional |
|||
public void removeCodeDrawing(CodeDrawingVo codeDrawing) { |
|||
lambdaUpdate() |
|||
.eq(CodeDrawing::getDrawingNo,codeDrawing.getDrawingNo()) |
|||
.eq(CodeDrawing::getSite,codeDrawing.getSite()).remove(); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional |
|||
public void saveCodeDrawing(CodeDrawingVo codeDrawing) { |
|||
save(codeDrawing); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional |
|||
public void editCodeDrawing(CodeDrawingVo codeDrawing) { |
|||
lambdaUpdate() |
|||
.eq(CodeDrawing::getDrawingNo,codeDrawing.getDrawingNo()) |
|||
.eq(CodeDrawing::getSite,codeDrawing.getSite()) |
|||
.set(CodeDrawing::getDrawingNoNew,codeDrawing.getDrawingNoNew()) |
|||
.update(); |
|||
} |
|||
} |
|||
@ -0,0 +1,92 @@ |
|||
package com.spring.modules.code.utils; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.toolkit.support.SFunction; |
|||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; |
|||
import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper; |
|||
import com.spring.modules.code.entity.CodeDrawing; |
|||
import org.springframework.util.StringUtils; |
|||
|
|||
public class WrapperGenerate<T>{ |
|||
|
|||
public LambdaQueryChainWrapper<T> generateChainLambdaLike(String column, SFunction<T,?> sqlColumn, LambdaQueryChainWrapper<T> wrapper){ |
|||
if (StringUtils.hasText(column)){ |
|||
StringBuilder str = new StringBuilder(column); |
|||
if (column.length() > 2 && column.charAt(0) == '%' && column.charAt(column.length() - 1) == '%'){ |
|||
str.deleteCharAt(0); |
|||
str.deleteCharAt(str.length() - 1); |
|||
wrapper.like(StringUtils.hasText(column), sqlColumn, str.toString()); |
|||
}else if (column.length() > 1 && column.charAt(0) == '%'){ |
|||
str.deleteCharAt(0); |
|||
wrapper.likeLeft(StringUtils.hasText(column), sqlColumn, str.toString()); |
|||
}else if (column.length() > 1 && column.charAt(column.length() - 1) == '%'){ |
|||
str.deleteCharAt(str.length() - 1); |
|||
wrapper.likeRight(StringUtils.hasText(column), sqlColumn, str.toString()); |
|||
}else { |
|||
wrapper.eq(StringUtils.hasText(column), sqlColumn, column); |
|||
} |
|||
} |
|||
return wrapper; |
|||
} |
|||
|
|||
public LambdaQueryWrapper<T> generateLambdaLike(String column, SFunction<T,?> sqlColumn, LambdaQueryWrapper<T> wrapper){ |
|||
if (StringUtils.hasText(column)){ |
|||
StringBuilder str = new StringBuilder(column); |
|||
if (column.length() > 2 && column.charAt(0) == '%' && column.charAt(column.length() - 1) == '%'){ |
|||
str.deleteCharAt(0); |
|||
str.deleteCharAt(str.length() - 1); |
|||
wrapper.like(StringUtils.hasText(column), sqlColumn, str.toString()); |
|||
}else if (column.length() > 1 && column.charAt(0) == '%'){ |
|||
str.deleteCharAt(0); |
|||
wrapper.likeLeft(StringUtils.hasText(column), sqlColumn, str.toString()); |
|||
}else if (column.length() > 1 && column.charAt(column.length() - 1) == '%'){ |
|||
str.deleteCharAt(str.length() - 1); |
|||
wrapper.likeRight(StringUtils.hasText(column), sqlColumn, str.toString()); |
|||
}else { |
|||
wrapper.eq(StringUtils.hasText(column), sqlColumn, column); |
|||
} |
|||
} |
|||
return wrapper; |
|||
} |
|||
|
|||
public QueryChainWrapper<T> generateChainLike(String column, String sqlColumn, QueryChainWrapper<T> wrapper){ |
|||
if (StringUtils.hasText(column)){ |
|||
StringBuilder str = new StringBuilder(column); |
|||
if (column.length() > 2 && column.charAt(0) == '%' && column.charAt(column.length() - 1) == '%'){ |
|||
str.deleteCharAt(0); |
|||
str.deleteCharAt(str.length() - 1); |
|||
wrapper.like(StringUtils.hasText(column), sqlColumn, str.toString()); |
|||
}else if (column.length() > 1 && column.charAt(0) == '%'){ |
|||
str.deleteCharAt(0); |
|||
wrapper.likeLeft(StringUtils.hasText(column), sqlColumn, str.toString()); |
|||
}else if (column.length() > 1 && column.charAt(column.length() - 1) == '%'){ |
|||
str.deleteCharAt(str.length() - 1); |
|||
wrapper.likeRight(StringUtils.hasText(column), sqlColumn, str.toString()); |
|||
}else { |
|||
wrapper.eq(StringUtils.hasText(column), sqlColumn, column); |
|||
} |
|||
} |
|||
return wrapper; |
|||
} |
|||
|
|||
public QueryWrapper<T> generateLike(String column, String sqlColumn, QueryWrapper<T> wrapper){ |
|||
if (StringUtils.hasText(column)){ |
|||
StringBuilder str = new StringBuilder(column); |
|||
if (column.length() > 2 && column.charAt(0) == '%' && column.charAt(column.length() - 1) == '%'){ |
|||
str.deleteCharAt(0); |
|||
str.deleteCharAt(str.length() - 1); |
|||
wrapper.like(StringUtils.hasText(column), sqlColumn, str.toString()); |
|||
}else if (column.length() > 1 && column.charAt(0) == '%'){ |
|||
str.deleteCharAt(0); |
|||
wrapper.likeLeft(StringUtils.hasText(column), sqlColumn, str.toString()); |
|||
}else if (column.length() > 1 && column.charAt(column.length() - 1) == '%'){ |
|||
str.deleteCharAt(str.length() - 1); |
|||
wrapper.likeRight(StringUtils.hasText(column), sqlColumn, str.toString()); |
|||
}else { |
|||
wrapper.eq(StringUtils.hasText(column), sqlColumn, column); |
|||
} |
|||
} |
|||
return wrapper; |
|||
} |
|||
} |
|||
@ -0,0 +1,22 @@ |
|||
package com.spring.modules.code.vo; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.spring.modules.code.entity.CodeDrawing; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import java.util.Date; |
|||
|
|||
@EqualsAndHashCode(callSuper = true) |
|||
@Data |
|||
public class CodeDrawingVo extends CodeDrawing { |
|||
|
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
|||
private Date startDate; |
|||
|
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
|||
private Date endDate; |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue