Showing
12 changed files
with
129 additions
and
41 deletions
| @@ -152,8 +152,8 @@ create table if not exists `tbl_contract_distributor_line` | @@ -152,8 +152,8 @@ create table if not exists `tbl_contract_distributor_line` | ||
| 152 | `length_tol_pos` DECIMAL(10, 4) COMMENT '长度公差正', | 152 | `length_tol_pos` DECIMAL(10, 4) COMMENT '长度公差正', |
| 153 | `length_tol_neg` DECIMAL(10, 4) COMMENT '长度公差负', | 153 | `length_tol_neg` DECIMAL(10, 4) COMMENT '长度公差负', |
| 154 | `status` VARCHAR(50) COMMENT '状态', | 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 | `amount_excluding_tax` DECIMAL(15, 2) COMMENT '不含税金额', | 157 | `amount_excluding_tax` DECIMAL(15, 2) COMMENT '不含税金额', |
| 158 | `total_amount` DECIMAL(15, 2) COMMENT '总金额', | 158 | `total_amount` DECIMAL(15, 2) COMMENT '总金额', |
| 159 | `delivery_date` DATE COMMENT '发货日期', | 159 | `delivery_date` DATE COMMENT '发货日期', |
| @@ -44,6 +44,7 @@ import com.lframework.xingyun.sc.vo.contract.queryVo.QueryContractDistributorSta | @@ -44,6 +44,7 @@ import com.lframework.xingyun.sc.vo.contract.queryVo.QueryContractDistributorSta | ||
| 44 | import com.lframework.xingyun.sc.vo.contract.updateVo.UpdateContractDistributorStandardVo; | 44 | import com.lframework.xingyun.sc.vo.contract.updateVo.UpdateContractDistributorStandardVo; |
| 45 | import io.swagger.annotations.Api; | 45 | import io.swagger.annotations.Api; |
| 46 | import io.swagger.annotations.ApiImplicitParam; | 46 | import io.swagger.annotations.ApiImplicitParam; |
| 47 | +import io.swagger.annotations.ApiModelProperty; | ||
| 47 | import io.swagger.annotations.ApiOperation; | 48 | import io.swagger.annotations.ApiOperation; |
| 48 | import lombok.extern.slf4j.Slf4j; | 49 | import lombok.extern.slf4j.Slf4j; |
| 49 | import org.apache.commons.collections4.CollectionUtils; | 50 | import org.apache.commons.collections4.CollectionUtils; |
| @@ -432,6 +433,18 @@ public class ContractDistributorStandardController extends DefaultBaseController | @@ -432,6 +433,18 @@ public class ContractDistributorStandardController extends DefaultBaseController | ||
| 432 | return InvokeResultBuilder.success(new GetContractDistributorStandardBo(contractDistributorStandard)); | 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,6 +22,7 @@ import com.lframework.xingyun.basedata.entity.Customer; | ||
| 22 | import com.lframework.xingyun.basedata.entity.ProductVariety; | 22 | import com.lframework.xingyun.basedata.entity.ProductVariety; |
| 23 | import com.lframework.xingyun.basedata.service.customer.CustomerService; | 23 | import com.lframework.xingyun.basedata.service.customer.CustomerService; |
| 24 | import com.lframework.xingyun.basedata.service.product.ProductVarietyService; | 24 | import com.lframework.xingyun.basedata.service.product.ProductVarietyService; |
| 25 | +import com.lframework.xingyun.basedata.vo.customer.QueryCustomerVo; | ||
| 25 | import com.lframework.xingyun.sc.bo.contract.QueryContractFrameworkBo; | 26 | import com.lframework.xingyun.sc.bo.contract.QueryContractFrameworkBo; |
| 26 | import com.lframework.xingyun.sc.components.code.GenerateCodeTypePool; | 27 | import com.lframework.xingyun.sc.components.code.GenerateCodeTypePool; |
| 27 | import com.lframework.xingyun.sc.entity.ContractFramework; | 28 | import com.lframework.xingyun.sc.entity.ContractFramework; |
| @@ -86,6 +87,17 @@ public class ContractFrameworkController extends DefaultBaseController { | @@ -86,6 +87,17 @@ public class ContractFrameworkController extends DefaultBaseController { | ||
| 86 | @HasPermission({"contract:contractFramework:query"}) | 87 | @HasPermission({"contract:contractFramework:query"}) |
| 87 | @GetMapping("/query") | 88 | @GetMapping("/query") |
| 88 | public InvokeResult<PageResult<QueryContractFrameworkBo>> query(@Valid QueryContractFrameworkVo vo) { | 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 | PageResult<ContractFramework> pageResult = contractFrameworkService.query(getPageIndex(vo), getPageSize(vo), vo); | 102 | PageResult<ContractFramework> pageResult = contractFrameworkService.query(getPageIndex(vo), getPageSize(vo), vo); |
| 91 | 103 |
| 1 | package com.lframework.xingyun.sc.excel.contract; | 1 | package com.lframework.xingyun.sc.excel.contract; |
| 2 | 2 | ||
| 3 | import com.alibaba.excel.annotation.ExcelProperty; | 3 | import com.alibaba.excel.annotation.ExcelProperty; |
| 4 | +import com.alibaba.excel.annotation.format.DateTimeFormat; | ||
| 5 | +import com.lframework.starter.common.constants.StringPool; | ||
| 4 | import com.lframework.starter.common.utils.DateUtil; | 6 | import com.lframework.starter.common.utils.DateUtil; |
| 5 | import com.lframework.starter.web.core.bo.BaseBo; | 7 | import com.lframework.starter.web.core.bo.BaseBo; |
| 6 | import com.lframework.starter.web.core.components.excel.ExcelModel; | 8 | import com.lframework.starter.web.core.components.excel.ExcelModel; |
| @@ -58,6 +60,7 @@ public class ContractFrameworkExportModel extends BaseBo<ContractFramework> impl | @@ -58,6 +60,7 @@ public class ContractFrameworkExportModel extends BaseBo<ContractFramework> impl | ||
| 58 | * 授信截止日期 | 60 | * 授信截止日期 |
| 59 | */ | 61 | */ |
| 60 | @ExcelProperty("授信截止日期") | 62 | @ExcelProperty("授信截止日期") |
| 63 | + @DateTimeFormat(StringPool.DATE_PATTERN) | ||
| 61 | private Date validityTime; | 64 | private Date validityTime; |
| 62 | 65 | ||
| 63 | public ContractFrameworkExportModel() { | 66 | public ContractFrameworkExportModel() { |
| @@ -2,12 +2,12 @@ package com.lframework.xingyun.sc.excel.contract; | @@ -2,12 +2,12 @@ package com.lframework.xingyun.sc.excel.contract; | ||
| 2 | 2 | ||
| 3 | import com.alibaba.excel.annotation.ExcelIgnore; | 3 | import com.alibaba.excel.annotation.ExcelIgnore; |
| 4 | import com.alibaba.excel.annotation.ExcelProperty; | 4 | import com.alibaba.excel.annotation.ExcelProperty; |
| 5 | +import com.alibaba.excel.annotation.format.DateTimeFormat; | ||
| 6 | +import com.lframework.starter.common.constants.StringPool; | ||
| 5 | import com.lframework.starter.web.core.annotations.excel.ExcelRequired; | 7 | import com.lframework.starter.web.core.annotations.excel.ExcelRequired; |
| 6 | import com.lframework.starter.web.core.components.excel.ExcelModel; | 8 | import com.lframework.starter.web.core.components.excel.ExcelModel; |
| 7 | -import io.swagger.annotations.ApiModelProperty; | ||
| 8 | import lombok.Data; | 9 | import lombok.Data; |
| 9 | 10 | ||
| 10 | -import java.time.LocalDateTime; | ||
| 11 | import java.util.Date; | 11 | import java.util.Date; |
| 12 | 12 | ||
| 13 | @Data | 13 | @Data |
| @@ -63,6 +63,7 @@ public class ContractFrameworkImportModel implements ExcelModel { | @@ -63,6 +63,7 @@ public class ContractFrameworkImportModel implements ExcelModel { | ||
| 63 | * 授信截止日期 | 63 | * 授信截止日期 |
| 64 | */ | 64 | */ |
| 65 | @ExcelRequired | 65 | @ExcelRequired |
| 66 | + @DateTimeFormat(StringPool.DATE_PATTERN) | ||
| 66 | @ExcelProperty("授信截止日期") | 67 | @ExcelProperty("授信截止日期") |
| 67 | private Date validityTime; | 68 | private Date validityTime; |
| 68 | 69 |
| @@ -57,7 +57,7 @@ public class ContractDistributorLineServiceImpl extends BaseMpServiceImpl<Contra | @@ -57,7 +57,7 @@ public class ContractDistributorLineServiceImpl extends BaseMpServiceImpl<Contra | ||
| 57 | return getBaseMapper().selectById(id); | 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 | @Transactional(rollbackFor = Exception.class) | 61 | @Transactional(rollbackFor = Exception.class) |
| 62 | @Override | 62 | @Override |
| 63 | public String create(CreateContractDistributorLineVo vo) { | 63 | public String create(CreateContractDistributorLineVo vo) { |
| @@ -94,14 +94,14 @@ public class ContractDistributorLineServiceImpl extends BaseMpServiceImpl<Contra | @@ -94,14 +94,14 @@ public class ContractDistributorLineServiceImpl extends BaseMpServiceImpl<Contra | ||
| 94 | return data.getId(); | 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 | @Transactional(rollbackFor = Exception.class) | 98 | @Transactional(rollbackFor = Exception.class) |
| 99 | @Override | 99 | @Override |
| 100 | public void update(UpdateContractDistributorLineVo vo) { | 100 | public void update(UpdateContractDistributorLineVo vo) { |
| 101 | 101 | ||
| 102 | ContractDistributorLine data = getBaseMapper().selectById(vo.getId()); | 102 | ContractDistributorLine data = getBaseMapper().selectById(vo.getId()); |
| 103 | if (ObjectUtil.isNull(data)) { | 103 | if (ObjectUtil.isNull(data)) { |
| 104 | - throw new DefaultClientException("经销标准合同物料行不存在!"); | 104 | + throw new DefaultClientException("合同物料行不存在!"); |
| 105 | } | 105 | } |
| 106 | 106 | ||
| 107 | LambdaUpdateWrapper<ContractDistributorLine> updateWrapper = Wrappers.lambdaUpdate(ContractDistributorLine.class) | 107 | LambdaUpdateWrapper<ContractDistributorLine> updateWrapper = Wrappers.lambdaUpdate(ContractDistributorLine.class) |
| @@ -103,7 +103,7 @@ public class ContractDistributorStandardServiceImpl extends | @@ -103,7 +103,7 @@ public class ContractDistributorStandardServiceImpl extends | ||
| 103 | return getBaseMapper().selectById(id); | 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 | @Transactional(rollbackFor = Exception.class) | 107 | @Transactional(rollbackFor = Exception.class) |
| 108 | @Override | 108 | @Override |
| 109 | public String create(CreateContractDistributorStandardVo vo) { | 109 | public String create(CreateContractDistributorStandardVo vo) { |
| @@ -158,14 +158,14 @@ public class ContractDistributorStandardServiceImpl extends | @@ -158,14 +158,14 @@ public class ContractDistributorStandardServiceImpl extends | ||
| 158 | return data.getId(); | 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 | @Transactional(rollbackFor = Exception.class) | 162 | @Transactional(rollbackFor = Exception.class) |
| 163 | @Override | 163 | @Override |
| 164 | public void update(UpdateContractDistributorStandardVo vo) { | 164 | public void update(UpdateContractDistributorStandardVo vo) { |
| 165 | 165 | ||
| 166 | ContractDistributorStandard data = getBaseMapper().selectById(vo.getId()); | 166 | ContractDistributorStandard data = getBaseMapper().selectById(vo.getId()); |
| 167 | if (ObjectUtil.isNull(data)) { | 167 | if (ObjectUtil.isNull(data)) { |
| 168 | - throw new DefaultClientException("经销标准合同不存在!"); | 168 | + throw new DefaultClientException("合同不存在!"); |
| 169 | } | 169 | } |
| 170 | 170 | ||
| 171 | LambdaUpdateWrapper<ContractDistributorStandard> updateWrapper = Wrappers.lambdaUpdate(ContractDistributorStandard.class) | 171 | LambdaUpdateWrapper<ContractDistributorStandard> updateWrapper = Wrappers.lambdaUpdate(ContractDistributorStandard.class) |
| @@ -305,7 +305,7 @@ public class ContractDistributorStandardServiceImpl extends | @@ -305,7 +305,7 @@ public class ContractDistributorStandardServiceImpl extends | ||
| 305 | .set(ContractDistributorStandard::getStandardFileName, vo.getStandardFileName()) | 305 | .set(ContractDistributorStandard::getStandardFileName, vo.getStandardFileName()) |
| 306 | .set(ContractDistributorStandard::getStandardStandardized, vo.getStandardStandardized()) | 306 | .set(ContractDistributorStandard::getStandardStandardized, vo.getStandardStandardized()) |
| 307 | .set(ContractDistributorStandard::getStandardApproved, CustomerDevelopStatus.AUDIT.name()); | 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 | updateWrapper.set(ContractDistributorStandard::getStatus, "STANDARD"); | 309 | updateWrapper.set(ContractDistributorStandard::getStatus, "STANDARD"); |
| 310 | 310 | ||
| 311 | } | 311 | } |
| @@ -371,6 +371,7 @@ public class ContractDistributorStandardServiceImpl extends | @@ -371,6 +371,7 @@ public class ContractDistributorStandardServiceImpl extends | ||
| 371 | vo.setStandardApproved(standardApproved); | 371 | vo.setStandardApproved(standardApproved); |
| 372 | vo.setStandardTime(LocalDateTime.now()); | 372 | vo.setStandardTime(LocalDateTime.now()); |
| 373 | vo.setStandardApproved(SecurityUtil.getCurrentUser().getId()); | 373 | vo.setStandardApproved(SecurityUtil.getCurrentUser().getId()); |
| 374 | + | ||
| 374 | OpLogUtil.setVariable("id", id); | 375 | OpLogUtil.setVariable("id", id); |
| 375 | OpLogUtil.setExtra(vo); | 376 | OpLogUtil.setExtra(vo); |
| 376 | } | 377 | } |
| @@ -455,6 +456,46 @@ public class ContractDistributorStandardServiceImpl extends | @@ -455,6 +456,46 @@ public class ContractDistributorStandardServiceImpl extends | ||
| 455 | return contractDistributorStandard; | 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 | @CacheEvict(value = ContractDistributorStandard.CACHE_NAME, key = "@cacheVariables.tenantId() + #key") | 499 | @CacheEvict(value = ContractDistributorStandard.CACHE_NAME, key = "@cacheVariables.tenantId() + #key") |
| 459 | @Override | 500 | @Override |
| 460 | public void cleanCacheByKey(Serializable key) { | 501 | public void cleanCacheByKey(Serializable key) { |
| @@ -79,6 +79,13 @@ public interface ContractDistributorStandardService extends BaseMpService<Contra | @@ -79,6 +79,13 @@ public interface ContractDistributorStandardService extends BaseMpService<Contra | ||
| 79 | * @param productIdList | 79 | * @param productIdList |
| 80 | * @return | 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 | } |
| @@ -218,31 +218,28 @@ public class CreateContractDistributorStandardVo implements BaseVo, Serializable | @@ -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 | @TypeMismatch(message = "合计数量格式有误!") | 222 | @TypeMismatch(message = "合计数量格式有误!") |
| 224 | private BigDecimal totalQuantity; | 223 | private BigDecimal totalQuantity; |
| 225 | 224 | ||
| 226 | /** | 225 | /** |
| 227 | * 合计不含税金额 | 226 | * 合计不含税金额 |
| 228 | */ | 227 | */ |
| 229 | - @ApiModelProperty(value = "合计不含税金额", required = true) | ||
| 230 | - @NotNull(message = "请输入合计不含税金额!") | 228 | + @ApiModelProperty(value = "合计不含税金额") |
| 231 | @TypeMismatch(message = "合计不含税金额格式有误!") | 229 | @TypeMismatch(message = "合计不含税金额格式有误!") |
| 232 | private BigDecimal totalAmountExcludingTax; | 230 | private BigDecimal totalAmountExcludingTax; |
| 233 | 231 | ||
| 234 | /** | 232 | /** |
| 235 | * 合计总金额 | 233 | * 合计总金额 |
| 236 | */ | 234 | */ |
| 237 | - @ApiModelProperty(value = "合计总金额", required = true) | ||
| 238 | - @NotNull(message = "请输入合计总金额!") | 235 | + @ApiModelProperty(value = "合计总金额") |
| 239 | @TypeMismatch(message = "合计总金额格式有误!") | 236 | @TypeMismatch(message = "合计总金额格式有误!") |
| 240 | private BigDecimal totalAmountIncludingTax; | 237 | private BigDecimal totalAmountIncludingTax; |
| 241 | 238 | ||
| 242 | /** | 239 | /** |
| 243 | * 合同类型 | 240 | * 合同类型 |
| 244 | */ | 241 | */ |
| 245 | - @ApiModelProperty(value = "合同类型", required = true) | 242 | + @ApiModelProperty(value = "合同类型") |
| 246 | @NotBlank(message = "请输入合同类型!") | 243 | @NotBlank(message = "请输入合同类型!") |
| 247 | private String type; | 244 | private String type; |
| 248 | 245 | ||
| @@ -253,10 +250,10 @@ public class CreateContractDistributorStandardVo implements BaseVo, Serializable | @@ -253,10 +250,10 @@ public class CreateContractDistributorStandardVo implements BaseVo, Serializable | ||
| 253 | private String parentId; | 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 | private List<CreateContractDistributorLineVo> contractDistributorLineList; | 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,6 +12,8 @@ import com.lframework.starter.web.core.components.validation.TypeMismatch; | ||
| 12 | import io.swagger.annotations.ApiModelProperty; | 12 | import io.swagger.annotations.ApiModelProperty; |
| 13 | 13 | ||
| 14 | import java.io.Serializable; | 14 | import java.io.Serializable; |
| 15 | +import java.time.LocalDateTime; | ||
| 16 | +import java.util.List; | ||
| 15 | 17 | ||
| 16 | @Data | 18 | @Data |
| 17 | public class QueryContractFrameworkVo extends PageVo implements BaseVo, Serializable { | 19 | public class QueryContractFrameworkVo extends PageVo implements BaseVo, Serializable { |
| @@ -66,16 +68,28 @@ public class QueryContractFrameworkVo extends PageVo implements BaseVo, Serializ | @@ -66,16 +68,28 @@ public class QueryContractFrameworkVo extends PageVo implements BaseVo, Serializ | ||
| 66 | * 期限(查询) | 68 | * 期限(查询) |
| 67 | */ | 69 | */ |
| 68 | @ApiModelProperty("期限查询开始时间") | 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 | @ApiModelProperty("期限查询结束时间") | 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 | @ApiModelProperty("导出类型") | 81 | @ApiModelProperty("导出类型") |
| 80 | private String exportType; | 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,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 | @Length(message = "编号最多允许20个字符!") | 37 | @Length(message = "编号最多允许20个字符!") |
| 39 | private String code; | 38 | private String code; |
| 40 | 39 | ||
| 41 | /** | 40 | /** |
| 42 | * 供方 | 41 | * 供方 |
| 43 | */ | 42 | */ |
| 44 | - @ApiModelProperty(value = "供方", required = true) | ||
| 45 | - @NotBlank(message = "请输入供方!") | 43 | + @ApiModelProperty(value = "供方") |
| 46 | @Length(message = "供方最多允许50个字符!") | 44 | @Length(message = "供方最多允许50个字符!") |
| 47 | private String supplier; | 45 | private String supplier; |
| 48 | 46 | ||
| 49 | /** | 47 | /** |
| 50 | * 需方 | 48 | * 需方 |
| 51 | */ | 49 | */ |
| 52 | - @ApiModelProperty(value = "需方", required = true) | ||
| 53 | - @NotBlank(message = "请输入需方!") | 50 | + @ApiModelProperty(value = "需方") |
| 54 | @Length(message = "需方最多允许200个字符!") | 51 | @Length(message = "需方最多允许200个字符!") |
| 55 | private String buyer; | 52 | private String buyer; |
| 56 | 53 | ||
| 57 | /** | 54 | /** |
| 58 | * 订货日期 | 55 | * 订货日期 |
| 59 | */ | 56 | */ |
| 60 | - @ApiModelProperty(value = "订货日期", required = true) | 57 | + @ApiModelProperty(value = "订货日期") |
| 61 | @TypeMismatch(message = "订货日期格式有误!") | 58 | @TypeMismatch(message = "订货日期格式有误!") |
| 62 | - @NotNull(message = "请输入订货日期!") | ||
| 63 | private LocalDate orderDate; | 59 | private LocalDate orderDate; |
| 64 | 60 | ||
| 65 | /** | 61 | /** |
| 66 | * 单位 | 62 | * 单位 |
| 67 | */ | 63 | */ |
| 68 | - @ApiModelProperty(value = "单位", required = true) | ||
| 69 | - @NotBlank(message = "请输入单位!") | 64 | + @ApiModelProperty(value = "单位") |
| 70 | @Length(message = "单位最多允许50个字符!") | 65 | @Length(message = "单位最多允许50个字符!") |
| 71 | private String unit; | 66 | private String unit; |
| 72 | 67 | ||
| @@ -80,8 +75,7 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable | @@ -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 | @Length(message = "合计人民币金额(大写)最多允许100个字符!") | 79 | @Length(message = "合计人民币金额(大写)最多允许100个字符!") |
| 86 | private String totalAmountCapital; | 80 | private String totalAmountCapital; |
| 87 | 81 | ||
| @@ -258,10 +252,10 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable | @@ -258,10 +252,10 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable | ||
| 258 | private String parentId; | 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 | private List<UpdateContractDistributorLineVo> contractDistributorLineList; | 259 | private List<UpdateContractDistributorLineVo> contractDistributorLineList; |
| 266 | 260 | ||
| 267 | /** | 261 | /** |
| @@ -63,6 +63,12 @@ | @@ -63,6 +63,12 @@ | ||
| 63 | <if test="vo.validityTimeEnd != null"> | 63 | <if test="vo.validityTimeEnd != null"> |
| 64 | AND tb.validity_time <= #{vo.validityTimeEnd} | 64 | AND tb.validity_time <= #{vo.validityTimeEnd} |
| 65 | </if> | 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 | </where> | 72 | </where> |
| 67 | </select> | 73 | </select> |
| 68 | </mapper> | 74 | </mapper> |