Showing
15 changed files
with
934 additions
and
1 deletions
| @@ -974,3 +974,18 @@ CREATE TABLE `tbl_recapitalize` ( | @@ -974,3 +974,18 @@ CREATE TABLE `tbl_recapitalize` ( | ||
| 974 | `update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', | 974 | `update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', |
| 975 | PRIMARY KEY (`id`) | 975 | PRIMARY KEY (`id`) |
| 976 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='回笼资金表' | 976 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='回笼资金表' |
| 977 | + | ||
| 978 | + | ||
| 979 | +CREATE TABLE `unlimited_guarantee_letter`( | ||
| 980 | + `id` varchar(32) NOT NULL COMMENT 'ID', | ||
| 981 | + `ordering_unit` varchar(100) DEFAULT NULL COMMENT '订货单位ID', | ||
| 982 | + `sign_date` date DEFAULT NULL COMMENT '签订日期', | ||
| 983 | + `remark` text DEFAULT NULL COMMENT '备注', | ||
| 984 | + `create_by_id` varchar(32) NOT NULL COMMENT '创建人ID', | ||
| 985 | + `create_by` varchar(20) NOT NULL COMMENT '创建人', | ||
| 986 | + `update_by_id` varchar(32) NOT NULL COMMENT '更新人ID', | ||
| 987 | + `update_by` varchar(20) NOT NULL COMMENT '更新人', | ||
| 988 | + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | ||
| 989 | + `update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', | ||
| 990 | + PRIMARY KEY (`id`) | ||
| 991 | +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='无限担保书明细表' |
| 1 | +package com.lframework.xingyun.sc.bo.ledger.guarantee; | ||
| 2 | + | ||
| 3 | +import com.fasterxml.jackson.annotation.JsonFormat; | ||
| 4 | +import com.lframework.starter.common.constants.StringPool; | ||
| 5 | +import java.time.LocalDate; | ||
| 6 | + | ||
| 7 | +import com.lframework.starter.web.core.bo.BaseBo; | ||
| 8 | +import com.lframework.starter.web.core.dto.BaseDto; | ||
| 9 | +import com.lframework.xingyun.sc.entity.UnlimitedGuaranteeLetter; | ||
| 10 | +import io.swagger.annotations.ApiModelProperty; | ||
| 11 | + | ||
| 12 | +import lombok.Data; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * <p> | ||
| 16 | + * 无限担保书明细表 GetBo | ||
| 17 | + * </p> | ||
| 18 | + * | ||
| 19 | + */ | ||
| 20 | +@Data | ||
| 21 | +public class GetUnlimitedGuaranteeLetterBo extends BaseBo<UnlimitedGuaranteeLetter> implements BaseDto { | ||
| 22 | + | ||
| 23 | + /** | ||
| 24 | + * ID | ||
| 25 | + */ | ||
| 26 | + @ApiModelProperty("ID") | ||
| 27 | + private String id; | ||
| 28 | + | ||
| 29 | + /** | ||
| 30 | + * 订货单位ID | ||
| 31 | + */ | ||
| 32 | + @ApiModelProperty("订货单位ID") | ||
| 33 | + private String orderingUnit; | ||
| 34 | + | ||
| 35 | + /** | ||
| 36 | + * 订货单位名称 | ||
| 37 | + */ | ||
| 38 | + @ApiModelProperty("订货单位名称") | ||
| 39 | + private String orderingUnitName; | ||
| 40 | + | ||
| 41 | + /** | ||
| 42 | + * 签订日期 | ||
| 43 | + */ | ||
| 44 | + @ApiModelProperty("签订日期") | ||
| 45 | + @JsonFormat(pattern = StringPool.DATE_PATTERN) | ||
| 46 | + private LocalDate signDate; | ||
| 47 | + | ||
| 48 | + /** | ||
| 49 | + * 备注 | ||
| 50 | + */ | ||
| 51 | + @ApiModelProperty("备注") | ||
| 52 | + private String remark; | ||
| 53 | + | ||
| 54 | + public GetUnlimitedGuaranteeLetterBo() { | ||
| 55 | + | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + public GetUnlimitedGuaranteeLetterBo(UnlimitedGuaranteeLetter dto) { | ||
| 59 | + | ||
| 60 | + super(dto); | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + @Override | ||
| 64 | + public BaseBo<UnlimitedGuaranteeLetter> convert(UnlimitedGuaranteeLetter dto) { | ||
| 65 | + return super.convert(dto); | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + @Override | ||
| 69 | + protected void afterInit(UnlimitedGuaranteeLetter dto) { | ||
| 70 | + | ||
| 71 | + } | ||
| 72 | +} |
| 1 | +package com.lframework.xingyun.sc.bo.ledger.guarantee; | ||
| 2 | + | ||
| 3 | +import com.fasterxml.jackson.annotation.JsonFormat; | ||
| 4 | +import com.lframework.starter.common.constants.StringPool; | ||
| 5 | +import java.time.LocalDate; | ||
| 6 | +import com.lframework.starter.web.core.bo.BaseBo; | ||
| 7 | +import com.lframework.xingyun.sc.entity.UnlimitedGuaranteeLetter; | ||
| 8 | +import io.swagger.annotations.ApiModelProperty; | ||
| 9 | + | ||
| 10 | +import lombok.Data; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * <p> | ||
| 14 | + * 无限担保书明细表 QueryBo | ||
| 15 | + * </p> | ||
| 16 | + * | ||
| 17 | + */ | ||
| 18 | +@Data | ||
| 19 | +public class QueryUnlimitedGuaranteeLetterBo extends BaseBo<UnlimitedGuaranteeLetter> { | ||
| 20 | + | ||
| 21 | + /** | ||
| 22 | + * ID | ||
| 23 | + */ | ||
| 24 | + @ApiModelProperty("ID") | ||
| 25 | + private String id; | ||
| 26 | + | ||
| 27 | + /** | ||
| 28 | + * 订货单位ID | ||
| 29 | + */ | ||
| 30 | + @ApiModelProperty("订货单位ID") | ||
| 31 | + private String orderingUnit; | ||
| 32 | + | ||
| 33 | + /** | ||
| 34 | + * 订货单位名称 | ||
| 35 | + */ | ||
| 36 | + @ApiModelProperty("订货单位名称") | ||
| 37 | + private String orderingUnitName; | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 签订日期 | ||
| 41 | + */ | ||
| 42 | + @ApiModelProperty("签订日期") | ||
| 43 | + @JsonFormat(pattern = StringPool.DATE_PATTERN) | ||
| 44 | + private LocalDate signDate; | ||
| 45 | + | ||
| 46 | + /** | ||
| 47 | + * 备注 | ||
| 48 | + */ | ||
| 49 | + @ApiModelProperty("备注") | ||
| 50 | + private String remark; | ||
| 51 | + | ||
| 52 | + public QueryUnlimitedGuaranteeLetterBo() { | ||
| 53 | + | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + public QueryUnlimitedGuaranteeLetterBo(UnlimitedGuaranteeLetter dto) { | ||
| 57 | + | ||
| 58 | + super(dto); | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + @Override | ||
| 62 | + public BaseBo<UnlimitedGuaranteeLetter> convert(UnlimitedGuaranteeLetter dto) { | ||
| 63 | + return super.convert(dto); | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + @Override | ||
| 67 | + protected void afterInit(UnlimitedGuaranteeLetter dto) { | ||
| 68 | + | ||
| 69 | + } | ||
| 70 | +} |
| 1 | +package com.lframework.xingyun.sc.controller.ledger; | ||
| 2 | + | ||
| 3 | +import com.lframework.starter.web.core.annotations.security.HasPermission; | ||
| 4 | +import com.lframework.starter.web.core.components.resp.PageResult; | ||
| 5 | +import com.lframework.starter.web.core.controller.DefaultBaseController; | ||
| 6 | +import com.lframework.starter.web.core.utils.ExcelUtil; | ||
| 7 | +import com.lframework.starter.web.core.utils.PageResultUtil; | ||
| 8 | +import com.lframework.starter.web.core.components.resp.InvokeResult; | ||
| 9 | +import javax.servlet.http.HttpServletResponse; | ||
| 10 | +import javax.validation.constraints.NotBlank; | ||
| 11 | +import com.lframework.xingyun.sc.bo.ledger.guarantee.GetUnlimitedGuaranteeLetterBo; | ||
| 12 | +import com.lframework.xingyun.sc.bo.ledger.guarantee.QueryUnlimitedGuaranteeLetterBo; | ||
| 13 | +import com.lframework.xingyun.sc.entity.UnlimitedGuaranteeLetter; | ||
| 14 | +import com.lframework.xingyun.sc.excel.ledger.UnlimitedGuaranteeLetterImportListener; | ||
| 15 | +import com.lframework.xingyun.sc.excel.ledger.UnlimitedGuaranteeLetterImportModel; | ||
| 16 | +import com.lframework.xingyun.sc.service.ledger.UnlimitedGuaranteeLetterService; | ||
| 17 | +import com.lframework.xingyun.sc.vo.ledger.guarantee.CreateUnlimitedGuaranteeLetterVo; | ||
| 18 | +import com.lframework.xingyun.sc.vo.ledger.guarantee.QueryUnlimitedGuaranteeLetterVo; | ||
| 19 | +import com.lframework.xingyun.sc.vo.ledger.guarantee.UpdateUnlimitedGuaranteeLetterVo; | ||
| 20 | +import io.swagger.annotations.ApiImplicitParam; | ||
| 21 | +import com.lframework.starter.web.core.components.resp.InvokeResultBuilder; | ||
| 22 | +import com.lframework.starter.common.exceptions.impl.DefaultClientException; | ||
| 23 | +import io.swagger.annotations.ApiOperation; | ||
| 24 | +import com.lframework.starter.common.utils.CollectionUtil; | ||
| 25 | +import io.swagger.annotations.Api; | ||
| 26 | +import org.springframework.web.bind.annotation.DeleteMapping; | ||
| 27 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 28 | +import org.springframework.validation.annotation.Validated; | ||
| 29 | +import org.springframework.web.bind.annotation.*; | ||
| 30 | +import org.springframework.web.multipart.MultipartFile; | ||
| 31 | + | ||
| 32 | +import javax.validation.Valid; | ||
| 33 | +import javax.validation.constraints.NotNull; | ||
| 34 | +import java.io.IOException; | ||
| 35 | +import java.util.List; | ||
| 36 | +import java.util.stream.Collectors; | ||
| 37 | + | ||
| 38 | +/** | ||
| 39 | + * 无限担保书明细表 Controller | ||
| 40 | + * | ||
| 41 | + */ | ||
| 42 | +@Api(tags = "无限担保书明细表") | ||
| 43 | +@Validated | ||
| 44 | +@RestController | ||
| 45 | +@RequestMapping("/unlimitedGuaranteeLetter") | ||
| 46 | +public class UnlimitedGuaranteeLetterController extends DefaultBaseController { | ||
| 47 | + | ||
| 48 | + @Autowired | ||
| 49 | + private UnlimitedGuaranteeLetterService unlimitedGuaranteeLetterService; | ||
| 50 | + | ||
| 51 | + /** | ||
| 52 | + * 查询列表 | ||
| 53 | + */ | ||
| 54 | + @ApiOperation("查询列表") | ||
| 55 | + @HasPermission({"base-data:guarantee:query"}) | ||
| 56 | + @GetMapping("/query") | ||
| 57 | + public InvokeResult<PageResult<QueryUnlimitedGuaranteeLetterBo>> query(@Valid QueryUnlimitedGuaranteeLetterVo vo) { | ||
| 58 | + | ||
| 59 | + PageResult<UnlimitedGuaranteeLetter> pageResult = unlimitedGuaranteeLetterService.query(getPageIndex(vo), getPageSize(vo), vo); | ||
| 60 | + | ||
| 61 | + List<UnlimitedGuaranteeLetter> datas = pageResult.getDatas(); | ||
| 62 | + List<QueryUnlimitedGuaranteeLetterBo> results = null; | ||
| 63 | + | ||
| 64 | + if (!CollectionUtil.isEmpty(datas)) { | ||
| 65 | + results = datas.stream().map(QueryUnlimitedGuaranteeLetterBo::new).collect(Collectors.toList()); | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + return InvokeResultBuilder.success(PageResultUtil.rebuild(pageResult, results)); | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + /** | ||
| 72 | + * 根据ID查询 | ||
| 73 | + */ | ||
| 74 | + @ApiOperation("根据ID查询") | ||
| 75 | + @ApiImplicitParam(value = "id", name = "id", paramType = "query", required = true) | ||
| 76 | + @HasPermission({"base-data:guarantee:query"}) | ||
| 77 | + @GetMapping | ||
| 78 | + public InvokeResult<GetUnlimitedGuaranteeLetterBo> get(@NotBlank(message = "id不能为空!") String id) { | ||
| 79 | + | ||
| 80 | + UnlimitedGuaranteeLetter data = unlimitedGuaranteeLetterService.findById(id); | ||
| 81 | + if (data == null) { | ||
| 82 | + throw new DefaultClientException("无限担保书明细表不存在!"); | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + GetUnlimitedGuaranteeLetterBo result = new GetUnlimitedGuaranteeLetterBo(data); | ||
| 86 | + | ||
| 87 | + return InvokeResultBuilder.success(result); | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | + /** | ||
| 91 | + * 新增 | ||
| 92 | + */ | ||
| 93 | + @ApiOperation("新增") | ||
| 94 | + @HasPermission({"base-data:guarantee:add"}) | ||
| 95 | + @PostMapping | ||
| 96 | + public InvokeResult<Void> create(@Valid @RequestBody CreateUnlimitedGuaranteeLetterVo vo) { | ||
| 97 | + | ||
| 98 | + unlimitedGuaranteeLetterService.create(vo); | ||
| 99 | + | ||
| 100 | + return InvokeResultBuilder.success(); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | + /** | ||
| 104 | + * 修改 | ||
| 105 | + */ | ||
| 106 | + @ApiOperation("修改") | ||
| 107 | + @HasPermission({"base-data:guarantee:modify"}) | ||
| 108 | + @PutMapping | ||
| 109 | + public InvokeResult<Void> update(@Valid @RequestBody UpdateUnlimitedGuaranteeLetterVo vo) { | ||
| 110 | + | ||
| 111 | + unlimitedGuaranteeLetterService.update(vo); | ||
| 112 | + | ||
| 113 | + return InvokeResultBuilder.success(); | ||
| 114 | + } | ||
| 115 | + | ||
| 116 | + /** | ||
| 117 | + * 根据ID删除 | ||
| 118 | + */ | ||
| 119 | + @ApiOperation("根据ID删除") | ||
| 120 | + @ApiImplicitParam(value = "id", name = "id", paramType = "query", required = true) | ||
| 121 | + @HasPermission({"base-data:guarantee:delete"}) | ||
| 122 | + @DeleteMapping | ||
| 123 | + public InvokeResult<Void> deleteById(@NotBlank(message = "id不能为空!") String id) { | ||
| 124 | + | ||
| 125 | + unlimitedGuaranteeLetterService.deleteById(id); | ||
| 126 | + | ||
| 127 | + return InvokeResultBuilder.success(); | ||
| 128 | + } | ||
| 129 | + | ||
| 130 | + @ApiOperation("下载导入模板") | ||
| 131 | + @HasPermission({"base-data:guarantee:import"}) | ||
| 132 | + @GetMapping("/import/template") | ||
| 133 | + public void downloadImportTemplate(HttpServletResponse response) throws IOException { | ||
| 134 | + ExcelUtil.exportXls("无限担保书导入模板", UnlimitedGuaranteeLetterImportModel.class); | ||
| 135 | + } | ||
| 136 | + | ||
| 137 | + @ApiOperation("导入") | ||
| 138 | + @HasPermission({"base-data:guarantee:import"}) | ||
| 139 | + @PostMapping("/import") | ||
| 140 | + public InvokeResult<Void> importExcel(@NotBlank(message = "ID不能为空") String id, | ||
| 141 | + @NotNull(message = "请上传文件") MultipartFile file) { | ||
| 142 | + | ||
| 143 | + UnlimitedGuaranteeLetterImportListener listener = new UnlimitedGuaranteeLetterImportListener(); | ||
| 144 | + listener.setTaskId(id); | ||
| 145 | + ExcelUtil.read(file, UnlimitedGuaranteeLetterImportModel.class, listener).sheet().doRead(); | ||
| 146 | + | ||
| 147 | + return InvokeResultBuilder.success(); | ||
| 148 | + } | ||
| 149 | +} |
| 1 | +package com.lframework.xingyun.sc.entity; | ||
| 2 | + | ||
| 3 | +import com.baomidou.mybatisplus.annotation.TableName; | ||
| 4 | +import com.lframework.starter.web.core.dto.BaseDto; | ||
| 5 | +import java.time.LocalDate; | ||
| 6 | +import java.time.LocalDateTime; | ||
| 7 | +import com.baomidou.mybatisplus.annotation.FieldFill; | ||
| 8 | +import com.lframework.starter.web.core.entity.BaseEntity; | ||
| 9 | +import com.baomidou.mybatisplus.annotation.TableField; | ||
| 10 | +import lombok.Data; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * <p> | ||
| 14 | + * 无限担保书明细表 | ||
| 15 | + * </p> | ||
| 16 | + * | ||
| 17 | + */ | ||
| 18 | +@Data | ||
| 19 | +@TableName("unlimited_guarantee_letter") | ||
| 20 | +public class UnlimitedGuaranteeLetter extends BaseEntity implements BaseDto { | ||
| 21 | + | ||
| 22 | + private static final long serialVersionUID = 1L; | ||
| 23 | + | ||
| 24 | + public static final String CACHE_NAME = "UnlimitedGuaranteeLetter"; | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * ID | ||
| 28 | + */ | ||
| 29 | + private String id; | ||
| 30 | + | ||
| 31 | + /** | ||
| 32 | + * 订货单位ID | ||
| 33 | + */ | ||
| 34 | + private String orderingUnit; | ||
| 35 | + | ||
| 36 | + /** | ||
| 37 | + * 订货单位名称 | ||
| 38 | + */ | ||
| 39 | + @TableField(exist = false) | ||
| 40 | + private String orderingUnitName; | ||
| 41 | + | ||
| 42 | + /** | ||
| 43 | + * 签订日期 | ||
| 44 | + */ | ||
| 45 | + private LocalDate signDate; | ||
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * 备注 | ||
| 49 | + */ | ||
| 50 | + private String remark; | ||
| 51 | + | ||
| 52 | + /** | ||
| 53 | + * 创建人ID | ||
| 54 | + */ | ||
| 55 | + @TableField(fill = FieldFill.INSERT) | ||
| 56 | + private String createById; | ||
| 57 | + | ||
| 58 | + /** | ||
| 59 | + * 创建人 | ||
| 60 | + */ | ||
| 61 | + @TableField(fill = FieldFill.INSERT) | ||
| 62 | + private String createBy; | ||
| 63 | + | ||
| 64 | + /** | ||
| 65 | + * 更新人ID | ||
| 66 | + */ | ||
| 67 | + @TableField(fill = FieldFill.INSERT_UPDATE) | ||
| 68 | + private String updateById; | ||
| 69 | + | ||
| 70 | + /** | ||
| 71 | + * 更新人 | ||
| 72 | + */ | ||
| 73 | + @TableField(fill = FieldFill.INSERT_UPDATE) | ||
| 74 | + private String updateBy; | ||
| 75 | + | ||
| 76 | + /** | ||
| 77 | + * 创建时间 | ||
| 78 | + */ | ||
| 79 | + @TableField(fill = FieldFill.INSERT) | ||
| 80 | + private LocalDateTime createTime; | ||
| 81 | + | ||
| 82 | + /** | ||
| 83 | + * 更新时间 | ||
| 84 | + */ | ||
| 85 | + @TableField(fill = FieldFill.INSERT_UPDATE) | ||
| 86 | + private LocalDateTime updateTime; | ||
| 87 | + | ||
| 88 | +} |
| 1 | +package com.lframework.xingyun.sc.excel.ledger; | ||
| 2 | + | ||
| 3 | +import com.alibaba.excel.context.AnalysisContext; | ||
| 4 | +import com.lframework.starter.common.exceptions.impl.DefaultClientException; | ||
| 5 | +import com.lframework.starter.common.utils.StringUtil; | ||
| 6 | +import com.lframework.starter.web.core.components.excel.ExcelImportListener; | ||
| 7 | +import com.lframework.starter.web.core.utils.ApplicationUtil; | ||
| 8 | +import com.lframework.xingyun.basedata.entity.Customer; | ||
| 9 | +import com.lframework.xingyun.basedata.service.customer.CustomerService; | ||
| 10 | +import com.lframework.xingyun.sc.entity.UnlimitedGuaranteeLetter; | ||
| 11 | +import com.lframework.xingyun.sc.service.ledger.UnlimitedGuaranteeLetterService; | ||
| 12 | +import com.lframework.xingyun.sc.vo.ledger.guarantee.CreateUnlimitedGuaranteeLetterVo; | ||
| 13 | +import com.lframework.xingyun.sc.vo.ledger.guarantee.QueryUnlimitedGuaranteeLetterVo; | ||
| 14 | +import lombok.extern.slf4j.Slf4j; | ||
| 15 | +import org.apache.commons.collections.CollectionUtils; | ||
| 16 | + | ||
| 17 | +import java.time.LocalDate; | ||
| 18 | +import java.time.format.DateTimeFormatter; | ||
| 19 | +import java.time.format.DateTimeParseException; | ||
| 20 | +import java.util.ArrayList; | ||
| 21 | +import java.util.Arrays; | ||
| 22 | +import java.util.List; | ||
| 23 | + | ||
| 24 | +@Slf4j | ||
| 25 | +public class UnlimitedGuaranteeLetterImportListener extends ExcelImportListener<UnlimitedGuaranteeLetterImportModel> { | ||
| 26 | + | ||
| 27 | + private List<String> checkList = new ArrayList<>(); | ||
| 28 | + | ||
| 29 | + @Override | ||
| 30 | + protected void doInvoke(UnlimitedGuaranteeLetterImportModel data, AnalysisContext context) { | ||
| 31 | + CustomerService customerService = ApplicationUtil.getBean(CustomerService.class); | ||
| 32 | + if (StringUtil.isBlank(data.getOrderingUnitName())) { | ||
| 33 | + throw new DefaultClientException( | ||
| 34 | + "第" + context.readRowHolder().getRowIndex() + "行“订货单位名称”不能为空"); | ||
| 35 | + } else { | ||
| 36 | + Customer customer = customerService.getByName(data.getOrderingUnitName()); | ||
| 37 | + if (customer == null) { | ||
| 38 | + throw new DefaultClientException( | ||
| 39 | + "第" + context.readRowHolder().getRowIndex() + "行“订货单位名称”不存在"); | ||
| 40 | + } else { | ||
| 41 | + QueryUnlimitedGuaranteeLetterVo vo = new QueryUnlimitedGuaranteeLetterVo(); | ||
| 42 | + vo.setOrderingUnit(customer.getId()); | ||
| 43 | + UnlimitedGuaranteeLetterService guaranteeLetterService = ApplicationUtil.getBean(UnlimitedGuaranteeLetterService.class); | ||
| 44 | + List<UnlimitedGuaranteeLetter> query = guaranteeLetterService.query(vo); | ||
| 45 | + if (CollectionUtils.isNotEmpty(query) && query.size() > 0) { | ||
| 46 | + throw new DefaultClientException( | ||
| 47 | + "第" + context.readRowHolder().getRowIndex() + "行的“无限担保书”已存在"); | ||
| 48 | + } | ||
| 49 | + data.setOrderingUnit(customer.getId()); | ||
| 50 | + } | ||
| 51 | + } | ||
| 52 | + if (StringUtil.isBlank(data.getSignDateStr())) { | ||
| 53 | + throw new DefaultClientException( | ||
| 54 | + "第" + context.readRowHolder().getRowIndex() + "行“签订日期”不能为空"); | ||
| 55 | + } else { | ||
| 56 | + String dateStr = data.getSignDateStr().trim(); | ||
| 57 | + try { | ||
| 58 | + LocalDate localDate = LocalDate.parse(dateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd")); | ||
| 59 | + data.setSignDate(localDate); | ||
| 60 | + } catch (DateTimeParseException e) { | ||
| 61 | + try { | ||
| 62 | + LocalDate localDate = LocalDate.parse(dateStr, DateTimeFormatter.ofPattern("yyyy/M/d")); | ||
| 63 | + data.setSignDate(localDate); | ||
| 64 | + } catch (DateTimeParseException ex) { | ||
| 65 | + try { | ||
| 66 | + // 支持 "2025年12月3日" 或 "2025年12月03日" | ||
| 67 | + LocalDate localDate = LocalDate.parse(dateStr, DateTimeFormatter.ofPattern("yyyy'年'M'月'd'日'")); | ||
| 68 | + data.setSignDate(localDate); | ||
| 69 | + } catch (DateTimeParseException ex2) { | ||
| 70 | + throw new DefaultClientException( | ||
| 71 | + "第" + context.readRowHolder().getRowIndex() + "行”签订日期“格式错误!"); | ||
| 72 | + } | ||
| 73 | + } | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | + if (checkList.contains(data.getOrderingUnitName())) { | ||
| 77 | + throw new DefaultClientException( | ||
| 78 | + "第" + context.readRowHolder().getRowIndex() + "行“订货单位名称”与第" + (checkList.indexOf(data.getOrderingUnitName()) + 1) + "行重复"); | ||
| 79 | + } | ||
| 80 | + checkList.add(data.getOrderingUnitName()); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @Override | ||
| 84 | + protected void afterAllAnalysed(AnalysisContext context) { | ||
| 85 | + UnlimitedGuaranteeLetterService guaranteeLetterService = ApplicationUtil.getBean(UnlimitedGuaranteeLetterService.class); | ||
| 86 | + List<UnlimitedGuaranteeLetterImportModel> datas = this.getDatas(); | ||
| 87 | + for (int i = 0; i < datas.size(); i++) { | ||
| 88 | + UnlimitedGuaranteeLetterImportModel data = datas.get(i); | ||
| 89 | + CreateUnlimitedGuaranteeLetterVo vo = new CreateUnlimitedGuaranteeLetterVo(); | ||
| 90 | + vo.setOrderingUnit(data.getOrderingUnit()); | ||
| 91 | + vo.setSignDate(data.getSignDate()); | ||
| 92 | + vo.setRemark(data.getRemark()); | ||
| 93 | + guaranteeLetterService.create(vo); | ||
| 94 | + this.setSuccessProcess(i); | ||
| 95 | + } | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + @Override | ||
| 99 | + protected void doComplete() { | ||
| 100 | + } | ||
| 101 | +} |
| 1 | +package com.lframework.xingyun.sc.excel.ledger; | ||
| 2 | + | ||
| 3 | +import com.alibaba.excel.annotation.ExcelIgnore; | ||
| 4 | +import com.alibaba.excel.annotation.ExcelProperty; | ||
| 5 | +import com.lframework.starter.web.core.annotations.excel.ExcelRequired; | ||
| 6 | +import com.lframework.starter.web.core.components.excel.ExcelModel; | ||
| 7 | +import lombok.Data; | ||
| 8 | + | ||
| 9 | +import java.time.LocalDate; | ||
| 10 | + | ||
| 11 | + | ||
| 12 | +@Data | ||
| 13 | +public class UnlimitedGuaranteeLetterImportModel implements ExcelModel { | ||
| 14 | + | ||
| 15 | + @ExcelIgnore | ||
| 16 | + private String id; | ||
| 17 | + | ||
| 18 | + /** | ||
| 19 | + * 序号 | ||
| 20 | + */ | ||
| 21 | + @ExcelProperty("序号") | ||
| 22 | + private String sort; | ||
| 23 | + | ||
| 24 | + /** | ||
| 25 | + * 订货单位名称 | ||
| 26 | + */ | ||
| 27 | + @ExcelRequired | ||
| 28 | + @ExcelProperty("订货单位名称") | ||
| 29 | + private String orderingUnitName; | ||
| 30 | + | ||
| 31 | + /** | ||
| 32 | + * 订货单位ID | ||
| 33 | + */ | ||
| 34 | + @ExcelIgnore | ||
| 35 | + private String orderingUnit; | ||
| 36 | + | ||
| 37 | + /** | ||
| 38 | + * 签订日期 | ||
| 39 | + */ | ||
| 40 | + @ExcelRequired | ||
| 41 | + @ExcelProperty("签订日期") | ||
| 42 | + private String signDateStr; | ||
| 43 | + | ||
| 44 | + /** | ||
| 45 | + * 签订日期 | ||
| 46 | + */ | ||
| 47 | + @ExcelIgnore | ||
| 48 | + private LocalDate signDate; | ||
| 49 | + | ||
| 50 | + /** | ||
| 51 | + * 备注 | ||
| 52 | + */ | ||
| 53 | + @ExcelProperty("备注") | ||
| 54 | + private String remark; | ||
| 55 | + | ||
| 56 | +} |
| 1 | +package com.lframework.xingyun.sc.impl.ledger; | ||
| 2 | + | ||
| 3 | +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | ||
| 4 | +import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
| 5 | +import com.github.pagehelper.PageInfo; | ||
| 6 | +import com.lframework.starter.web.core.impl.BaseMpServiceImpl; | ||
| 7 | +import com.lframework.starter.web.core.utils.PageResultUtil; | ||
| 8 | +import com.lframework.starter.web.core.components.resp.PageResult; | ||
| 9 | +import com.lframework.starter.web.core.utils.OpLogUtil; | ||
| 10 | +import com.lframework.starter.common.utils.StringUtil; | ||
| 11 | +import com.lframework.starter.common.exceptions.impl.DefaultClientException; | ||
| 12 | +import java.io.Serializable; | ||
| 13 | +import com.lframework.starter.web.core.utils.IdUtil; | ||
| 14 | +import com.lframework.starter.common.utils.ObjectUtil; | ||
| 15 | +import com.lframework.starter.web.core.annotations.oplog.OpLog; | ||
| 16 | +import com.lframework.starter.web.core.utils.PageHelperUtil; | ||
| 17 | +import com.lframework.starter.common.utils.Assert; | ||
| 18 | +import com.lframework.starter.web.inner.components.oplog.OtherOpLogType; | ||
| 19 | +import com.lframework.xingyun.sc.entity.UnlimitedGuaranteeLetter; | ||
| 20 | +import com.lframework.xingyun.sc.mappers.UnlimitedGuaranteeLetterMapper; | ||
| 21 | +import com.lframework.xingyun.sc.service.ledger.UnlimitedGuaranteeLetterService; | ||
| 22 | +import com.lframework.xingyun.sc.vo.ledger.guarantee.CreateUnlimitedGuaranteeLetterVo; | ||
| 23 | +import com.lframework.xingyun.sc.vo.ledger.guarantee.QueryUnlimitedGuaranteeLetterVo; | ||
| 24 | +import com.lframework.xingyun.sc.vo.ledger.guarantee.UpdateUnlimitedGuaranteeLetterVo; | ||
| 25 | +import org.springframework.transaction.annotation.Transactional; | ||
| 26 | +import org.springframework.stereotype.Service; | ||
| 27 | + | ||
| 28 | +import java.util.List; | ||
| 29 | + | ||
| 30 | +@Service | ||
| 31 | +public class UnlimitedGuaranteeLetterServiceImpl extends BaseMpServiceImpl<UnlimitedGuaranteeLetterMapper, UnlimitedGuaranteeLetter> implements UnlimitedGuaranteeLetterService { | ||
| 32 | + | ||
| 33 | + @Override | ||
| 34 | + public PageResult<UnlimitedGuaranteeLetter> query(Integer pageIndex, Integer pageSize, QueryUnlimitedGuaranteeLetterVo vo) { | ||
| 35 | + | ||
| 36 | + Assert.greaterThanZero(pageIndex); | ||
| 37 | + Assert.greaterThanZero(pageSize); | ||
| 38 | + | ||
| 39 | + PageHelperUtil.startPage(pageIndex, pageSize); | ||
| 40 | + List<UnlimitedGuaranteeLetter> datas = this.query(vo); | ||
| 41 | + | ||
| 42 | + return PageResultUtil.convert(new PageInfo<>(datas)); | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + @Override | ||
| 46 | + public List<UnlimitedGuaranteeLetter> query(QueryUnlimitedGuaranteeLetterVo vo) { | ||
| 47 | + | ||
| 48 | + return getBaseMapper().query(vo); | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + @Override | ||
| 52 | + public UnlimitedGuaranteeLetter findById(String id) { | ||
| 53 | + | ||
| 54 | + return getBaseMapper().findById(id); | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | + @OpLog(type = OtherOpLogType.class, name = "新增无限担保书明细表,ID:{}", params = {"#id"}) | ||
| 58 | + @Transactional(rollbackFor = Exception.class) | ||
| 59 | + @Override | ||
| 60 | + public String create(CreateUnlimitedGuaranteeLetterVo vo) { | ||
| 61 | + | ||
| 62 | + UnlimitedGuaranteeLetter data = new UnlimitedGuaranteeLetter(); | ||
| 63 | + data.setId(IdUtil.getId()); | ||
| 64 | + if (!StringUtil.isBlank(vo.getOrderingUnit())) { | ||
| 65 | + data.setOrderingUnit(vo.getOrderingUnit()); | ||
| 66 | + } | ||
| 67 | + if (vo.getSignDate() != null) { | ||
| 68 | + data.setSignDate(vo.getSignDate()); | ||
| 69 | + } | ||
| 70 | + if (!StringUtil.isBlank(vo.getRemark())) { | ||
| 71 | + data.setRemark(vo.getRemark()); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + getBaseMapper().insert(data); | ||
| 75 | + | ||
| 76 | + OpLogUtil.setVariable("id", data.getId()); | ||
| 77 | + OpLogUtil.setExtra(vo); | ||
| 78 | + | ||
| 79 | + return data.getId(); | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + @OpLog(type = OtherOpLogType.class, name = "修改无限担保书明细表,ID:{}", params = {"#id"}) | ||
| 83 | + @Transactional(rollbackFor = Exception.class) | ||
| 84 | + @Override | ||
| 85 | + public void update(UpdateUnlimitedGuaranteeLetterVo vo) { | ||
| 86 | + | ||
| 87 | + UnlimitedGuaranteeLetter data = getBaseMapper().selectById(vo.getId()); | ||
| 88 | + if (ObjectUtil.isNull(data)) { | ||
| 89 | + throw new DefaultClientException("无限担保书明细表不存在!"); | ||
| 90 | + } | ||
| 91 | + | ||
| 92 | + LambdaUpdateWrapper<UnlimitedGuaranteeLetter> updateWrapper = Wrappers.lambdaUpdate(UnlimitedGuaranteeLetter.class) | ||
| 93 | + .set(UnlimitedGuaranteeLetter::getOrderingUnit, StringUtil.isBlank(vo.getOrderingUnit()) ? null : vo.getOrderingUnit()) | ||
| 94 | + .set(UnlimitedGuaranteeLetter::getSignDate, vo.getSignDate() == null ? null : vo.getSignDate()) | ||
| 95 | + .set(UnlimitedGuaranteeLetter::getRemark, StringUtil.isBlank(vo.getRemark()) ? null : vo.getRemark()) | ||
| 96 | + .eq(UnlimitedGuaranteeLetter::getId, vo.getId()); | ||
| 97 | + | ||
| 98 | + getBaseMapper().update(updateWrapper); | ||
| 99 | + | ||
| 100 | + OpLogUtil.setVariable("id", data.getId()); | ||
| 101 | + OpLogUtil.setExtra(vo); | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | + @OpLog(type = OtherOpLogType.class, name = "删除无限担保书明细表,ID:{}", params = {"#id"}) | ||
| 105 | + @Transactional(rollbackFor = Exception.class) | ||
| 106 | + @Override | ||
| 107 | + public void deleteById(String id) { | ||
| 108 | + | ||
| 109 | + getBaseMapper().deleteById(id); | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + @Override | ||
| 113 | + public void cleanCacheByKey(Serializable key) { | ||
| 114 | + | ||
| 115 | + } | ||
| 116 | +} |
xingyun-sc/src/main/java/com/lframework/xingyun/sc/mappers/UnlimitedGuaranteeLetterMapper.java
0 → 100644
| 1 | +package com.lframework.xingyun.sc.mappers; | ||
| 2 | + | ||
| 3 | +import com.lframework.starter.web.core.mapper.BaseMapper; | ||
| 4 | +import com.lframework.xingyun.sc.entity.UnlimitedGuaranteeLetter; | ||
| 5 | +import com.lframework.xingyun.sc.vo.ledger.guarantee.QueryUnlimitedGuaranteeLetterVo; | ||
| 6 | +import org.apache.ibatis.annotations.Param; | ||
| 7 | + | ||
| 8 | +import java.util.List; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * <p> | ||
| 12 | + * 无限担保书明细表 Mapper 接口 | ||
| 13 | + * </p> | ||
| 14 | + * | ||
| 15 | + */ | ||
| 16 | +public interface UnlimitedGuaranteeLetterMapper extends BaseMapper<UnlimitedGuaranteeLetter> { | ||
| 17 | + | ||
| 18 | + /** | ||
| 19 | + * 查询列表 | ||
| 20 | + * @param vo | ||
| 21 | + * @return | ||
| 22 | + */ | ||
| 23 | + List<UnlimitedGuaranteeLetter> query(@Param("vo") QueryUnlimitedGuaranteeLetterVo vo); | ||
| 24 | + | ||
| 25 | + UnlimitedGuaranteeLetter findById(@Param("id") String id); | ||
| 26 | +} |
| 1 | +package com.lframework.xingyun.sc.service.ledger; | ||
| 2 | + | ||
| 3 | +import com.lframework.starter.web.core.service.BaseMpService; | ||
| 4 | +import com.lframework.starter.web.core.components.resp.PageResult; | ||
| 5 | +import com.lframework.xingyun.sc.entity.UnlimitedGuaranteeLetter; | ||
| 6 | +import com.lframework.xingyun.sc.vo.ledger.guarantee.CreateUnlimitedGuaranteeLetterVo; | ||
| 7 | +import com.lframework.xingyun.sc.vo.ledger.guarantee.QueryUnlimitedGuaranteeLetterVo; | ||
| 8 | +import com.lframework.xingyun.sc.vo.ledger.guarantee.UpdateUnlimitedGuaranteeLetterVo; | ||
| 9 | +import java.util.List; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + * 无限担保书明细表 Service | ||
| 13 | + */ | ||
| 14 | +public interface UnlimitedGuaranteeLetterService extends BaseMpService<UnlimitedGuaranteeLetter> { | ||
| 15 | + | ||
| 16 | + /** | ||
| 17 | + * 查询列表 | ||
| 18 | + * @return | ||
| 19 | + */ | ||
| 20 | + PageResult<UnlimitedGuaranteeLetter> query(Integer pageIndex, Integer pageSize, QueryUnlimitedGuaranteeLetterVo vo); | ||
| 21 | + | ||
| 22 | + /** | ||
| 23 | + * 查询列表 | ||
| 24 | + * @param vo | ||
| 25 | + * @return | ||
| 26 | + */ | ||
| 27 | + List<UnlimitedGuaranteeLetter> query(QueryUnlimitedGuaranteeLetterVo vo); | ||
| 28 | + | ||
| 29 | + /** | ||
| 30 | + * 根据ID查询 | ||
| 31 | + * @param id | ||
| 32 | + * @return | ||
| 33 | + */ | ||
| 34 | + UnlimitedGuaranteeLetter findById(String id); | ||
| 35 | + | ||
| 36 | + /** | ||
| 37 | + * 创建 | ||
| 38 | + * @param vo | ||
| 39 | + * @return | ||
| 40 | + */ | ||
| 41 | + String create(CreateUnlimitedGuaranteeLetterVo vo); | ||
| 42 | + | ||
| 43 | + /** | ||
| 44 | + * 修改 | ||
| 45 | + * @param vo | ||
| 46 | + */ | ||
| 47 | + void update(UpdateUnlimitedGuaranteeLetterVo vo); | ||
| 48 | + | ||
| 49 | + /** | ||
| 50 | + * 根据ID删除 | ||
| 51 | + * @param id | ||
| 52 | + * @return | ||
| 53 | + */ | ||
| 54 | + void deleteById(String id); | ||
| 55 | +} |
| 1 | +package com.lframework.xingyun.sc.vo.ledger.guarantee; | ||
| 2 | + | ||
| 3 | +import java.time.LocalDate; | ||
| 4 | +import com.lframework.starter.web.core.vo.BaseVo; | ||
| 5 | +import io.swagger.annotations.ApiModelProperty; | ||
| 6 | +import com.lframework.starter.web.core.components.validation.TypeMismatch; | ||
| 7 | +import org.hibernate.validator.constraints.Length; | ||
| 8 | +import java.io.Serializable; | ||
| 9 | +import lombok.Data; | ||
| 10 | + | ||
| 11 | +@Data | ||
| 12 | +public class CreateUnlimitedGuaranteeLetterVo implements BaseVo, Serializable { | ||
| 13 | + | ||
| 14 | + private static final long serialVersionUID = 1L; | ||
| 15 | + | ||
| 16 | + /** | ||
| 17 | + * 订货单位ID | ||
| 18 | + */ | ||
| 19 | + @ApiModelProperty("订货单位ID") | ||
| 20 | + @Length(message = "订货单位ID最多允许100个字符!") | ||
| 21 | + private String orderingUnit; | ||
| 22 | + | ||
| 23 | + /** | ||
| 24 | + * 签订日期 | ||
| 25 | + */ | ||
| 26 | + @ApiModelProperty("签订日期") | ||
| 27 | + @TypeMismatch(message = "签订日期格式有误!") | ||
| 28 | + private LocalDate signDate; | ||
| 29 | + | ||
| 30 | + /** | ||
| 31 | + * 备注 | ||
| 32 | + */ | ||
| 33 | + @ApiModelProperty("备注") | ||
| 34 | + @Length(message = "备注最多允许65,535个字符!") | ||
| 35 | + private String remark; | ||
| 36 | + | ||
| 37 | +} |
| 1 | +package com.lframework.xingyun.sc.vo.ledger.guarantee; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | +import com.lframework.starter.web.core.vo.PageVo; | ||
| 5 | +import com.lframework.starter.web.core.vo.BaseVo; | ||
| 6 | +import io.swagger.annotations.ApiModelProperty; | ||
| 7 | +import java.io.Serializable; | ||
| 8 | + | ||
| 9 | +@Data | ||
| 10 | +public class QueryUnlimitedGuaranteeLetterVo extends PageVo implements BaseVo, Serializable { | ||
| 11 | + | ||
| 12 | + private static final long serialVersionUID = 1L; | ||
| 13 | + | ||
| 14 | + /** | ||
| 15 | + * 订货单位ID | ||
| 16 | + */ | ||
| 17 | + @ApiModelProperty("订货单位ID") | ||
| 18 | + private String orderingUnit; | ||
| 19 | + | ||
| 20 | + /** | ||
| 21 | + * 订货单位名称 | ||
| 22 | + */ | ||
| 23 | + @ApiModelProperty("订货单位名称") | ||
| 24 | + private String orderingUnitName; | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * 签订日期开始 | ||
| 28 | + */ | ||
| 29 | + @ApiModelProperty("签订日期开始") | ||
| 30 | + private String signDateStart; | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * 签订日期结束 | ||
| 34 | + */ | ||
| 35 | + @ApiModelProperty("签订日期结束") | ||
| 36 | + private String signDateEnd; | ||
| 37 | + | ||
| 38 | +} |
| 1 | +package com.lframework.xingyun.sc.vo.ledger.guarantee; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | +import javax.validation.constraints.NotBlank; | ||
| 5 | +import java.time.LocalDate; | ||
| 6 | +import com.lframework.starter.web.core.vo.BaseVo; | ||
| 7 | +import com.lframework.starter.web.core.components.validation.TypeMismatch; | ||
| 8 | +import io.swagger.annotations.ApiModelProperty; | ||
| 9 | +import org.hibernate.validator.constraints.Length; | ||
| 10 | +import java.io.Serializable; | ||
| 11 | + | ||
| 12 | +@Data | ||
| 13 | +public class UpdateUnlimitedGuaranteeLetterVo implements BaseVo, Serializable { | ||
| 14 | + | ||
| 15 | + private static final long serialVersionUID = 1L; | ||
| 16 | + | ||
| 17 | + /** | ||
| 18 | + * ID | ||
| 19 | + */ | ||
| 20 | + @ApiModelProperty(value = "ID", required = true) | ||
| 21 | + @NotBlank(message = "id不能为空!") | ||
| 22 | + private String id; | ||
| 23 | + | ||
| 24 | + /** | ||
| 25 | + * 订货单位ID | ||
| 26 | + */ | ||
| 27 | + @ApiModelProperty("订货单位ID") | ||
| 28 | + @Length(message = "订货单位ID最多允许100个字符!") | ||
| 29 | + private String orderingUnit; | ||
| 30 | + | ||
| 31 | + /** | ||
| 32 | + * 签订日期 | ||
| 33 | + */ | ||
| 34 | + @ApiModelProperty("签订日期") | ||
| 35 | + @TypeMismatch(message = "签订日期格式有误!") | ||
| 36 | + private LocalDate signDate; | ||
| 37 | + | ||
| 38 | + /** | ||
| 39 | + * 备注 | ||
| 40 | + */ | ||
| 41 | + @ApiModelProperty("备注") | ||
| 42 | + @Length(message = "备注最多允许65,535个字符!") | ||
| 43 | + private String remark; | ||
| 44 | + | ||
| 45 | +} |
| @@ -46,7 +46,7 @@ | @@ -46,7 +46,7 @@ | ||
| 46 | <if test="vo.recapitalizeDateStart != null and vo.recapitalizeDateStart != ''"> | 46 | <if test="vo.recapitalizeDateStart != null and vo.recapitalizeDateStart != ''"> |
| 47 | AND tb.recapitalize_date >= #{vo.recapitalizeDateStart} | 47 | AND tb.recapitalize_date >= #{vo.recapitalizeDateStart} |
| 48 | </if> | 48 | </if> |
| 49 | - <if test="vo.recapitalizeDateEnd != null and vo.recapitalizeDateStart != ''"> | 49 | + <if test="vo.recapitalizeDateEnd != null and vo.recapitalizeDateEnd != ''"> |
| 50 | <![CDATA[ | 50 | <![CDATA[ |
| 51 | AND tb.recapitalize_date <= #{vo.recapitalizeDateEnd} | 51 | AND tb.recapitalize_date <= #{vo.recapitalizeDateEnd} |
| 52 | ]]> | 52 | ]]> |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
| 3 | +<mapper namespace="com.lframework.xingyun.sc.mappers.UnlimitedGuaranteeLetterMapper"> | ||
| 4 | + | ||
| 5 | + <resultMap id="UnlimitedGuaranteeLetter" type="com.lframework.xingyun.sc.entity.UnlimitedGuaranteeLetter"> | ||
| 6 | + <id column="id" property="id"/> | ||
| 7 | + <result column="ordering_unit" property="orderingUnit"/> | ||
| 8 | + <result column="ordering_unit_name" property="orderingUnitName"/> | ||
| 9 | + <result column="sign_date" property="signDate"/> | ||
| 10 | + <result column="remark" property="remark"/> | ||
| 11 | + <result column="create_by_id" property="createById"/> | ||
| 12 | + <result column="create_by" property="createBy"/> | ||
| 13 | + <result column="update_by_id" property="updateById"/> | ||
| 14 | + <result column="update_by" property="updateBy"/> | ||
| 15 | + <result column="create_time" property="createTime"/> | ||
| 16 | + <result column="update_time" property="updateTime"/> | ||
| 17 | + </resultMap> | ||
| 18 | + | ||
| 19 | + <sql id="UnlimitedGuaranteeLetter_sql"> | ||
| 20 | + SELECT | ||
| 21 | + tb.id, | ||
| 22 | + tb.ordering_unit, | ||
| 23 | + cu.name AS ordering_unit_name, | ||
| 24 | + tb.sign_date, | ||
| 25 | + tb.remark, | ||
| 26 | + tb.create_by_id, | ||
| 27 | + tb.create_by, | ||
| 28 | + tb.update_by_id, | ||
| 29 | + tb.update_by, | ||
| 30 | + tb.create_time, | ||
| 31 | + tb.update_time | ||
| 32 | + FROM unlimited_guarantee_letter AS tb | ||
| 33 | + left join base_data_customer as cu on cu.id = tb.ordering_unit | ||
| 34 | + </sql> | ||
| 35 | + | ||
| 36 | + <select id="query" resultMap="UnlimitedGuaranteeLetter"> | ||
| 37 | + <include refid="UnlimitedGuaranteeLetter_sql"/> | ||
| 38 | + <where> | ||
| 39 | + <if test="vo.orderingUnit != null and vo.orderingUnit != ''"> | ||
| 40 | + AND tb.ordering_unit = #{vo.orderingUnit} | ||
| 41 | + </if> | ||
| 42 | + <if test="vo.orderingUnitName != null and vo.orderingUnitName != ''"> | ||
| 43 | + AND cu.name LIKE CONCAT('%', #{vo.orderingUnitName}, '%') | ||
| 44 | + </if> | ||
| 45 | + <if test="vo.signDateStart != null and vo.signDateStart != ''"> | ||
| 46 | + AND tb.sign_date >= #{vo.signDateStart} | ||
| 47 | + </if> | ||
| 48 | + <if test="vo.signDateEnd != null and vo.signDateEnd != ''"> | ||
| 49 | + <![CDATA[ | ||
| 50 | + AND tb.sign_date <= #{vo.signDateEnd} | ||
| 51 | + ]]> | ||
| 52 | + </if> | ||
| 53 | + </where> | ||
| 54 | + ORDER BY tb.create_time DESC | ||
| 55 | + </select> | ||
| 56 | + | ||
| 57 | + <select id="findById" resultType="com.lframework.xingyun.sc.entity.UnlimitedGuaranteeLetter"> | ||
| 58 | + <include refid="UnlimitedGuaranteeLetter_sql"/> | ||
| 59 | + <where> | ||
| 60 | + <if test="id != null and id != ''"> | ||
| 61 | + AND tb.id = #{id} | ||
| 62 | + </if> | ||
| 63 | + </where> | ||
| 64 | + </select> | ||
| 65 | +</mapper> |