Showing
12 changed files
with
129 additions
and
41 deletions
| ... | ... | @@ -152,8 +152,8 @@ create table if not exists `tbl_contract_distributor_line` |
| 152 | 152 | `length_tol_pos` DECIMAL(10, 4) COMMENT '长度公差正', |
| 153 | 153 | `length_tol_neg` DECIMAL(10, 4) COMMENT '长度公差负', |
| 154 | 154 | `status` VARCHAR(50) COMMENT '状态', |
| 155 | - `quantity` DECIMAL(15, 4) NOT NULL COMMENT '数量', | |
| 156 | - `unit_price` DECIMAL(15, 4) NOT NULL COMMENT '单价', | |
| 155 | + `quantity` DECIMAL(15, 4) COMMENT '数量', | |
| 156 | + `unit_price` DECIMAL(15, 4) COMMENT '单价', | |
| 157 | 157 | `amount_excluding_tax` DECIMAL(15, 2) COMMENT '不含税金额', |
| 158 | 158 | `total_amount` DECIMAL(15, 2) COMMENT '总金额', |
| 159 | 159 | `delivery_date` DATE COMMENT '发货日期', | ... | ... |
| ... | ... | @@ -44,6 +44,7 @@ import com.lframework.xingyun.sc.vo.contract.queryVo.QueryContractDistributorSta |
| 44 | 44 | import com.lframework.xingyun.sc.vo.contract.updateVo.UpdateContractDistributorStandardVo; |
| 45 | 45 | import io.swagger.annotations.Api; |
| 46 | 46 | import io.swagger.annotations.ApiImplicitParam; |
| 47 | +import io.swagger.annotations.ApiModelProperty; | |
| 47 | 48 | import io.swagger.annotations.ApiOperation; |
| 48 | 49 | import lombok.extern.slf4j.Slf4j; |
| 49 | 50 | import org.apache.commons.collections4.CollectionUtils; |
| ... | ... | @@ -432,6 +433,18 @@ public class ContractDistributorStandardController extends DefaultBaseController |
| 432 | 433 | return InvokeResultBuilder.success(new GetContractDistributorStandardBo(contractDistributorStandard)); |
| 433 | 434 | } |
| 434 | 435 | |
| 436 | + @ApiModelProperty("锁价") | |
| 437 | + @PostMapping("/priceLock") | |
| 438 | + public void priceLock(@RequestBody UpdateContractDistributorStandardVo vo) { | |
| 439 | + if (vo == null || StringUtils.isBlank(vo.getId())) { | |
| 440 | + throw new DefaultClientException("参数错误!"); | |
| 441 | + } | |
| 442 | + | |
| 443 | + contractDistributorStandardService.stockContractPriceLock(vo); | |
| 444 | + | |
| 445 | + contractDistributorStandardService.cleanCacheByKey(vo.getId()); | |
| 446 | + } | |
| 447 | + | |
| 435 | 448 | /** |
| 436 | 449 | * 标准合同模版打印 |
| 437 | 450 | */ | ... | ... |
| ... | ... | @@ -22,6 +22,7 @@ import com.lframework.xingyun.basedata.entity.Customer; |
| 22 | 22 | import com.lframework.xingyun.basedata.entity.ProductVariety; |
| 23 | 23 | import com.lframework.xingyun.basedata.service.customer.CustomerService; |
| 24 | 24 | import com.lframework.xingyun.basedata.service.product.ProductVarietyService; |
| 25 | +import com.lframework.xingyun.basedata.vo.customer.QueryCustomerVo; | |
| 25 | 26 | import com.lframework.xingyun.sc.bo.contract.QueryContractFrameworkBo; |
| 26 | 27 | import com.lframework.xingyun.sc.components.code.GenerateCodeTypePool; |
| 27 | 28 | import com.lframework.xingyun.sc.entity.ContractFramework; |
| ... | ... | @@ -86,6 +87,17 @@ public class ContractFrameworkController extends DefaultBaseController { |
| 86 | 87 | @HasPermission({"contract:contractFramework:query"}) |
| 87 | 88 | @GetMapping("/query") |
| 88 | 89 | public InvokeResult<PageResult<QueryContractFrameworkBo>> query(@Valid QueryContractFrameworkVo vo) { |
| 90 | + if(vo != null && StringUtils.isNotBlank(vo.getCustomerName())) { | |
| 91 | + QueryCustomerVo queryCustomerVo = new QueryCustomerVo(); | |
| 92 | + queryCustomerVo.setName(vo.getCustomerName()); | |
| 93 | + List<Customer> customerList = customerService.query(queryCustomerVo); | |
| 94 | + if(CollectionUtils.isEmpty(customerList)) { | |
| 95 | + PageResult<QueryContractFrameworkBo> boPageResult = new PageResult<>(); | |
| 96 | + return InvokeResultBuilder.success(boPageResult); | |
| 97 | + } | |
| 98 | + | |
| 99 | + vo.setCustomerIdList(customerList.stream().map(Customer::getId).collect(Collectors.toList())); | |
| 100 | + } | |
| 89 | 101 | |
| 90 | 102 | PageResult<ContractFramework> pageResult = contractFrameworkService.query(getPageIndex(vo), getPageSize(vo), vo); |
| 91 | 103 | ... | ... |
| 1 | 1 | package com.lframework.xingyun.sc.excel.contract; |
| 2 | 2 | |
| 3 | 3 | import com.alibaba.excel.annotation.ExcelProperty; |
| 4 | +import com.alibaba.excel.annotation.format.DateTimeFormat; | |
| 5 | +import com.lframework.starter.common.constants.StringPool; | |
| 4 | 6 | import com.lframework.starter.common.utils.DateUtil; |
| 5 | 7 | import com.lframework.starter.web.core.bo.BaseBo; |
| 6 | 8 | import com.lframework.starter.web.core.components.excel.ExcelModel; |
| ... | ... | @@ -58,6 +60,7 @@ public class ContractFrameworkExportModel extends BaseBo<ContractFramework> impl |
| 58 | 60 | * 授信截止日期 |
| 59 | 61 | */ |
| 60 | 62 | @ExcelProperty("授信截止日期") |
| 63 | + @DateTimeFormat(StringPool.DATE_PATTERN) | |
| 61 | 64 | private Date validityTime; |
| 62 | 65 | |
| 63 | 66 | public ContractFrameworkExportModel() { | ... | ... |
| ... | ... | @@ -2,12 +2,12 @@ package com.lframework.xingyun.sc.excel.contract; |
| 2 | 2 | |
| 3 | 3 | import com.alibaba.excel.annotation.ExcelIgnore; |
| 4 | 4 | import com.alibaba.excel.annotation.ExcelProperty; |
| 5 | +import com.alibaba.excel.annotation.format.DateTimeFormat; | |
| 6 | +import com.lframework.starter.common.constants.StringPool; | |
| 5 | 7 | import com.lframework.starter.web.core.annotations.excel.ExcelRequired; |
| 6 | 8 | import com.lframework.starter.web.core.components.excel.ExcelModel; |
| 7 | -import io.swagger.annotations.ApiModelProperty; | |
| 8 | 9 | import lombok.Data; |
| 9 | 10 | |
| 10 | -import java.time.LocalDateTime; | |
| 11 | 11 | import java.util.Date; |
| 12 | 12 | |
| 13 | 13 | @Data |
| ... | ... | @@ -63,6 +63,7 @@ public class ContractFrameworkImportModel implements ExcelModel { |
| 63 | 63 | * 授信截止日期 |
| 64 | 64 | */ |
| 65 | 65 | @ExcelRequired |
| 66 | + @DateTimeFormat(StringPool.DATE_PATTERN) | |
| 66 | 67 | @ExcelProperty("授信截止日期") |
| 67 | 68 | private Date validityTime; |
| 68 | 69 | ... | ... |
| ... | ... | @@ -57,7 +57,7 @@ public class ContractDistributorLineServiceImpl extends BaseMpServiceImpl<Contra |
| 57 | 57 | return getBaseMapper().selectById(id); |
| 58 | 58 | } |
| 59 | 59 | |
| 60 | - @OpLog(type = OtherOpLogType.class, name = "新增经销标准合同物料行,ID:{}", params = {"#id"}) | |
| 60 | + @OpLog(type = OtherOpLogType.class, name = "新增合同物料行,ID:{}", params = {"#id"}) | |
| 61 | 61 | @Transactional(rollbackFor = Exception.class) |
| 62 | 62 | @Override |
| 63 | 63 | public String create(CreateContractDistributorLineVo vo) { |
| ... | ... | @@ -94,14 +94,14 @@ public class ContractDistributorLineServiceImpl extends BaseMpServiceImpl<Contra |
| 94 | 94 | return data.getId(); |
| 95 | 95 | } |
| 96 | 96 | |
| 97 | - @OpLog(type = OtherOpLogType.class, name = "修改经销标准合同物料行,ID:{}", params = {"#id"}) | |
| 97 | + @OpLog(type = OtherOpLogType.class, name = "修改合同物料行,ID:{}", params = {"#id"}) | |
| 98 | 98 | @Transactional(rollbackFor = Exception.class) |
| 99 | 99 | @Override |
| 100 | 100 | public void update(UpdateContractDistributorLineVo vo) { |
| 101 | 101 | |
| 102 | 102 | ContractDistributorLine data = getBaseMapper().selectById(vo.getId()); |
| 103 | 103 | if (ObjectUtil.isNull(data)) { |
| 104 | - throw new DefaultClientException("经销标准合同物料行不存在!"); | |
| 104 | + throw new DefaultClientException("合同物料行不存在!"); | |
| 105 | 105 | } |
| 106 | 106 | |
| 107 | 107 | LambdaUpdateWrapper<ContractDistributorLine> updateWrapper = Wrappers.lambdaUpdate(ContractDistributorLine.class) | ... | ... |
| ... | ... | @@ -103,7 +103,7 @@ public class ContractDistributorStandardServiceImpl extends |
| 103 | 103 | return getBaseMapper().selectById(id); |
| 104 | 104 | } |
| 105 | 105 | |
| 106 | - @OpLog(type = OtherOpLogType.class, name = "新增经销标准合同,ID:{}", params = {"#id"}) | |
| 106 | + @OpLog(type = OtherOpLogType.class, name = "新增合同,ID:{}", params = {"#id"}) | |
| 107 | 107 | @Transactional(rollbackFor = Exception.class) |
| 108 | 108 | @Override |
| 109 | 109 | public String create(CreateContractDistributorStandardVo vo) { |
| ... | ... | @@ -158,14 +158,14 @@ public class ContractDistributorStandardServiceImpl extends |
| 158 | 158 | return data.getId(); |
| 159 | 159 | } |
| 160 | 160 | |
| 161 | - @OpLog(type = OtherOpLogType.class, name = "修改经销标准合同,ID:{}", params = {"#id"}) | |
| 161 | + @OpLog(type = OtherOpLogType.class, name = "修改合同,ID:{}", params = {"#id"}) | |
| 162 | 162 | @Transactional(rollbackFor = Exception.class) |
| 163 | 163 | @Override |
| 164 | 164 | public void update(UpdateContractDistributorStandardVo vo) { |
| 165 | 165 | |
| 166 | 166 | ContractDistributorStandard data = getBaseMapper().selectById(vo.getId()); |
| 167 | 167 | if (ObjectUtil.isNull(data)) { |
| 168 | - throw new DefaultClientException("经销标准合同不存在!"); | |
| 168 | + throw new DefaultClientException("合同不存在!"); | |
| 169 | 169 | } |
| 170 | 170 | |
| 171 | 171 | LambdaUpdateWrapper<ContractDistributorStandard> updateWrapper = Wrappers.lambdaUpdate(ContractDistributorStandard.class) |
| ... | ... | @@ -305,7 +305,7 @@ public class ContractDistributorStandardServiceImpl extends |
| 305 | 305 | .set(ContractDistributorStandard::getStandardFileName, vo.getStandardFileName()) |
| 306 | 306 | .set(ContractDistributorStandard::getStandardStandardized, vo.getStandardStandardized()) |
| 307 | 307 | .set(ContractDistributorStandard::getStandardApproved, CustomerDevelopStatus.AUDIT.name()); |
| 308 | - if (!data.getStatus().equals("STANDARD")) { | |
| 308 | + if (!data.getStatus().equals("STANDARD") && "DISTRIB_STD".equals(data.getType())) { // 只有经销标准合同才修改状态 | |
| 309 | 309 | updateWrapper.set(ContractDistributorStandard::getStatus, "STANDARD"); |
| 310 | 310 | |
| 311 | 311 | } |
| ... | ... | @@ -371,6 +371,7 @@ public class ContractDistributorStandardServiceImpl extends |
| 371 | 371 | vo.setStandardApproved(standardApproved); |
| 372 | 372 | vo.setStandardTime(LocalDateTime.now()); |
| 373 | 373 | vo.setStandardApproved(SecurityUtil.getCurrentUser().getId()); |
| 374 | + | |
| 374 | 375 | OpLogUtil.setVariable("id", id); |
| 375 | 376 | OpLogUtil.setExtra(vo); |
| 376 | 377 | } |
| ... | ... | @@ -455,6 +456,46 @@ public class ContractDistributorStandardServiceImpl extends |
| 455 | 456 | return contractDistributorStandard; |
| 456 | 457 | } |
| 457 | 458 | |
| 459 | + @Override | |
| 460 | + @OpLog(type = OtherOpLogType.class, name = "合同锁价,ID:{}", params = {"#vo.id"}) | |
| 461 | + @Transactional(rollbackFor = Exception.class) | |
| 462 | + public void stockContractPriceLock(UpdateContractDistributorStandardVo vo) { | |
| 463 | + ContractDistributorStandard data = getBaseMapper().selectById(vo.getId()); | |
| 464 | + if (ObjectUtil.isNull(data)) { | |
| 465 | + throw new DefaultClientException("合同不存在!"); | |
| 466 | + } | |
| 467 | + | |
| 468 | + List<UpdateContractDistributorLineVo> lineVoList = vo.getContractDistributorLineList(); | |
| 469 | + if (CollectionUtils.isEmpty(lineVoList)) { | |
| 470 | + throw new DefaultClientException("合同行数据为空!"); | |
| 471 | + } | |
| 472 | + | |
| 473 | + Wrapper<ContractDistributorStandard> wrapper = Wrappers.lambdaUpdate(ContractDistributorStandard.class) | |
| 474 | + .set(ContractDistributorStandard::getTotalQuantity, vo.getTotalQuantity()) | |
| 475 | + .set(ContractDistributorStandard::getTotalAmountExcludingTax, vo.getTotalAmountExcludingTax()) | |
| 476 | + .set(ContractDistributorStandard::getTotalAmountIncludingTax, vo.getTotalAmountIncludingTax()) | |
| 477 | + .set(ContractDistributorStandard::getTotalAmountCapital, vo.getTotalAmountCapital()) | |
| 478 | + .set(ContractDistributorStandard::getStatus, "STANDARD") | |
| 479 | + .eq(ContractDistributorStandard::getId, vo.getId()); | |
| 480 | + | |
| 481 | + getBaseMapper().update(wrapper); | |
| 482 | + | |
| 483 | + lineVoList.forEach(lineVo -> { | |
| 484 | + Wrapper<ContractDistributorLine> contractDistributorLineWrapper = Wrappers.lambdaUpdate(ContractDistributorLine.class) | |
| 485 | + .set(ContractDistributorLine::getQuantity, lineVo.getQuantity()) | |
| 486 | + .set(ContractDistributorLine::getUnitPrice, lineVo.getUnitPrice()) | |
| 487 | + .set(ContractDistributorLine::getAmountExcludingTax, lineVo.getAmountExcludingTax()) | |
| 488 | + .set(ContractDistributorLine::getTotalAmount, lineVo.getTotalAmount()) | |
| 489 | + .eq(ContractDistributorLine::getId, lineVo.getId()); | |
| 490 | + | |
| 491 | + contractDistributorLineService.update(contractDistributorLineWrapper); | |
| 492 | + contractDistributorLineService.cleanCacheByKey(lineVo.getId()); | |
| 493 | + }); | |
| 494 | + | |
| 495 | + OpLogUtil.setVariable("id", data.getId()); | |
| 496 | + OpLogUtil.setExtra(vo); | |
| 497 | + } | |
| 498 | + | |
| 458 | 499 | @CacheEvict(value = ContractDistributorStandard.CACHE_NAME, key = "@cacheVariables.tenantId() + #key") |
| 459 | 500 | @Override |
| 460 | 501 | public void cleanCacheByKey(Serializable key) { | ... | ... |
| ... | ... | @@ -79,6 +79,13 @@ public interface ContractDistributorStandardService extends BaseMpService<Contra |
| 79 | 79 | * @param productIdList |
| 80 | 80 | * @return |
| 81 | 81 | */ |
| 82 | - ContractDistributorStandard getCustomerSpecificQualityRequirements(String customerId,List<String> productIdList); | |
| 82 | + ContractDistributorStandard getCustomerSpecificQualityRequirements(String customerId, List<String> productIdList); | |
| 83 | + | |
| 84 | + /** | |
| 85 | + * 锁价 | |
| 86 | + * | |
| 87 | + * @param vo | |
| 88 | + */ | |
| 89 | + void stockContractPriceLock(UpdateContractDistributorStandardVo vo); | |
| 83 | 90 | |
| 84 | 91 | } |
| \ No newline at end of file | ... | ... |
| ... | ... | @@ -218,31 +218,28 @@ public class CreateContractDistributorStandardVo implements BaseVo, Serializable |
| 218 | 218 | /** |
| 219 | 219 | * 合计数量 |
| 220 | 220 | */ |
| 221 | - @ApiModelProperty(value = "合计数量", required = true) | |
| 222 | - @NotNull(message = "请输入合计数量!") | |
| 221 | + @ApiModelProperty(value = "合计数量") | |
| 223 | 222 | @TypeMismatch(message = "合计数量格式有误!") |
| 224 | 223 | private BigDecimal totalQuantity; |
| 225 | 224 | |
| 226 | 225 | /** |
| 227 | 226 | * 合计不含税金额 |
| 228 | 227 | */ |
| 229 | - @ApiModelProperty(value = "合计不含税金额", required = true) | |
| 230 | - @NotNull(message = "请输入合计不含税金额!") | |
| 228 | + @ApiModelProperty(value = "合计不含税金额") | |
| 231 | 229 | @TypeMismatch(message = "合计不含税金额格式有误!") |
| 232 | 230 | private BigDecimal totalAmountExcludingTax; |
| 233 | 231 | |
| 234 | 232 | /** |
| 235 | 233 | * 合计总金额 |
| 236 | 234 | */ |
| 237 | - @ApiModelProperty(value = "合计总金额", required = true) | |
| 238 | - @NotNull(message = "请输入合计总金额!") | |
| 235 | + @ApiModelProperty(value = "合计总金额") | |
| 239 | 236 | @TypeMismatch(message = "合计总金额格式有误!") |
| 240 | 237 | private BigDecimal totalAmountIncludingTax; |
| 241 | 238 | |
| 242 | 239 | /** |
| 243 | 240 | * 合同类型 |
| 244 | 241 | */ |
| 245 | - @ApiModelProperty(value = "合同类型", required = true) | |
| 242 | + @ApiModelProperty(value = "合同类型") | |
| 246 | 243 | @NotBlank(message = "请输入合同类型!") |
| 247 | 244 | private String type; |
| 248 | 245 | |
| ... | ... | @@ -253,10 +250,10 @@ public class CreateContractDistributorStandardVo implements BaseVo, Serializable |
| 253 | 250 | private String parentId; |
| 254 | 251 | |
| 255 | 252 | /** |
| 256 | - * 经销标准合同物料行 | |
| 253 | + * 合同物料行 | |
| 257 | 254 | */ |
| 258 | - @ApiModelProperty(value = "经销标准合同物料行", required = true) | |
| 259 | - @NotNull(message = "经销标准合同物料行不可为空!") | |
| 255 | + @ApiModelProperty(value = "合同物料行", required = true) | |
| 256 | + @NotNull(message = "合同物料行不可为空!") | |
| 260 | 257 | private List<CreateContractDistributorLineVo> contractDistributorLineList; |
| 261 | 258 | |
| 262 | 259 | /** | ... | ... |
xingyun-sc/src/main/java/com/lframework/xingyun/sc/vo/contract/queryVo/QueryContractFrameworkVo.java
| ... | ... | @@ -12,6 +12,8 @@ import com.lframework.starter.web.core.components.validation.TypeMismatch; |
| 12 | 12 | import io.swagger.annotations.ApiModelProperty; |
| 13 | 13 | |
| 14 | 14 | import java.io.Serializable; |
| 15 | +import java.time.LocalDateTime; | |
| 16 | +import java.util.List; | |
| 15 | 17 | |
| 16 | 18 | @Data |
| 17 | 19 | public class QueryContractFrameworkVo extends PageVo implements BaseVo, Serializable { |
| ... | ... | @@ -66,16 +68,28 @@ public class QueryContractFrameworkVo extends PageVo implements BaseVo, Serializ |
| 66 | 68 | * 期限(查询) |
| 67 | 69 | */ |
| 68 | 70 | @ApiModelProperty("期限查询开始时间") |
| 69 | - @JsonFormat(pattern = StringPool.DATE_PATTERN) | |
| 70 | - private LocalDate validityTimeStart; | |
| 71 | + @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN) | |
| 72 | + private LocalDateTime validityTimeStart; | |
| 71 | 73 | |
| 72 | 74 | @ApiModelProperty("期限查询结束时间") |
| 73 | - @JsonFormat(pattern = StringPool.DATE_PATTERN) | |
| 74 | - private LocalDate validityTimeEnd; | |
| 75 | + @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN) | |
| 76 | + private LocalDateTime validityTimeEnd; | |
| 75 | 77 | |
| 76 | 78 | /** |
| 77 | 79 | * 导出类型 |
| 78 | 80 | */ |
| 79 | 81 | @ApiModelProperty("导出类型") |
| 80 | 82 | private String exportType; |
| 83 | + | |
| 84 | + /** | |
| 85 | + * 客户名称 | |
| 86 | + */ | |
| 87 | + @ApiModelProperty("客户名称") | |
| 88 | + private String customerName; | |
| 89 | + | |
| 90 | + /** | |
| 91 | + * 客户Id集合 | |
| 92 | + */ | |
| 93 | + @ApiModelProperty("客户Id集合") | |
| 94 | + private List<String> customerIdList; | |
| 81 | 95 | } | ... | ... |
| ... | ... | @@ -33,40 +33,35 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable |
| 33 | 33 | /** |
| 34 | 34 | * 编号 |
| 35 | 35 | */ |
| 36 | - @ApiModelProperty(value = "编号", required = true) | |
| 37 | - @NotBlank(message = "请输入编号!") | |
| 36 | + @ApiModelProperty(value = "编号") | |
| 38 | 37 | @Length(message = "编号最多允许20个字符!") |
| 39 | 38 | private String code; |
| 40 | 39 | |
| 41 | 40 | /** |
| 42 | 41 | * 供方 |
| 43 | 42 | */ |
| 44 | - @ApiModelProperty(value = "供方", required = true) | |
| 45 | - @NotBlank(message = "请输入供方!") | |
| 43 | + @ApiModelProperty(value = "供方") | |
| 46 | 44 | @Length(message = "供方最多允许50个字符!") |
| 47 | 45 | private String supplier; |
| 48 | 46 | |
| 49 | 47 | /** |
| 50 | 48 | * 需方 |
| 51 | 49 | */ |
| 52 | - @ApiModelProperty(value = "需方", required = true) | |
| 53 | - @NotBlank(message = "请输入需方!") | |
| 50 | + @ApiModelProperty(value = "需方") | |
| 54 | 51 | @Length(message = "需方最多允许200个字符!") |
| 55 | 52 | private String buyer; |
| 56 | 53 | |
| 57 | 54 | /** |
| 58 | 55 | * 订货日期 |
| 59 | 56 | */ |
| 60 | - @ApiModelProperty(value = "订货日期", required = true) | |
| 57 | + @ApiModelProperty(value = "订货日期") | |
| 61 | 58 | @TypeMismatch(message = "订货日期格式有误!") |
| 62 | - @NotNull(message = "请输入订货日期!") | |
| 63 | 59 | private LocalDate orderDate; |
| 64 | 60 | |
| 65 | 61 | /** |
| 66 | 62 | * 单位 |
| 67 | 63 | */ |
| 68 | - @ApiModelProperty(value = "单位", required = true) | |
| 69 | - @NotBlank(message = "请输入单位!") | |
| 64 | + @ApiModelProperty(value = "单位") | |
| 70 | 65 | @Length(message = "单位最多允许50个字符!") |
| 71 | 66 | private String unit; |
| 72 | 67 | |
| ... | ... | @@ -80,8 +75,7 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable |
| 80 | 75 | /** |
| 81 | 76 | * 合计人民币金额(大写) |
| 82 | 77 | */ |
| 83 | - @ApiModelProperty(value = "合计人民币金额(大写)", required = true) | |
| 84 | - @NotBlank(message = "请输入合计人民币金额(大写)!") | |
| 78 | + @ApiModelProperty(value = "合计人民币金额(大写)") | |
| 85 | 79 | @Length(message = "合计人民币金额(大写)最多允许100个字符!") |
| 86 | 80 | private String totalAmountCapital; |
| 87 | 81 | |
| ... | ... | @@ -258,10 +252,10 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable |
| 258 | 252 | private String parentId; |
| 259 | 253 | |
| 260 | 254 | /** |
| 261 | - * 经销标准合同物料行 | |
| 255 | + * 合同物料行 | |
| 262 | 256 | */ |
| 263 | - @ApiModelProperty(value = "经销标准合同物料行", required = true) | |
| 264 | - @NotNull(message = "经销标准合同物料行不可为空!") | |
| 257 | + @ApiModelProperty(value = "合同物料行") | |
| 258 | + @NotNull(message = "合同物料行不可为空!") | |
| 265 | 259 | private List<UpdateContractDistributorLineVo> contractDistributorLineList; |
| 266 | 260 | |
| 267 | 261 | /** | ... | ... |
| ... | ... | @@ -63,6 +63,12 @@ |
| 63 | 63 | <if test="vo.validityTimeEnd != null"> |
| 64 | 64 | AND tb.validity_time <= #{vo.validityTimeEnd} |
| 65 | 65 | </if> |
| 66 | + <if test="vo.customerIdList != null and vo.customerIdList.size() > 0"> | |
| 67 | + AND tb.customer_id IN | |
| 68 | + <foreach collection="vo.customerIdList" open="(" separator="," close=")" item="item"> | |
| 69 | + #{item} | |
| 70 | + </foreach> | |
| 71 | + </if> | |
| 66 | 72 | </where> |
| 67 | 73 | </select> |
| 68 | 74 | </mapper> | ... | ... |