Showing
12 changed files
with
148 additions
and
36 deletions
| ... | ... | @@ -130,6 +130,7 @@ create table if not exists `tbl_contract_distributor_standard` |
| 130 | 130 | `signed_contract_file_name` VARCHAR(255) COMMENT '双方盖章合同名称', |
| 131 | 131 | `formalized_at` datetime comment '转为正式合同时间', |
| 132 | 132 | `standardized_at` datetime comment '转为标准合同时间', |
| 133 | + `title` varchar(20) comment '合同名称(销售合同、销售订单)', | |
| 133 | 134 | `create_by_id` varchar(32) not null comment '创建人ID', |
| 134 | 135 | `create_by` varchar(20) not null comment '创建人', |
| 135 | 136 | `update_by_id` varchar(32) not null comment '更新人ID', | ... | ... |
xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/contract/GetContractDistributorStandardBo.java
| ... | ... | @@ -407,6 +407,12 @@ public class GetContractDistributorStandardBo extends BaseBo<ContractDistributor |
| 407 | 407 | @ApiModelProperty(value = "是否已完成锁价/锁规") |
| 408 | 408 | private Boolean priceSpecLocked; |
| 409 | 409 | |
| 410 | + /** | |
| 411 | + * 合同名称(销售合同、销售订单) | |
| 412 | + */ | |
| 413 | + @ApiModelProperty(value = "合同名称(销售合同、销售订单)") | |
| 414 | + private String title; | |
| 415 | + | |
| 410 | 416 | public GetContractDistributorStandardBo() { |
| 411 | 417 | |
| 412 | 418 | } | ... | ... |
| ... | ... | @@ -105,8 +105,6 @@ public class ContractDistributorStandardController extends DefaultBaseController |
| 105 | 105 | @Autowired |
| 106 | 106 | private ContractFrameworkService contractFrameworkService; |
| 107 | 107 | @Autowired |
| 108 | - private ProductVarietyService productVarietyService; | |
| 109 | - @Autowired | |
| 110 | 108 | private ContractStdProcessingLineService contractStdProcessingLineService; |
| 111 | 109 | |
| 112 | 110 | |
| ... | ... | @@ -636,32 +634,6 @@ public class ContractDistributorStandardController extends DefaultBaseController |
| 636 | 634 | // 设置响应头 |
| 637 | 635 | setupResponse(response, data.getCode() + "_" + data.getBuyerName() + "-合同打印.xls"); |
| 638 | 636 | |
| 639 | - Wrapper<ContractFramework> contractFrameworkWrapper = Wrappers.lambdaQuery(ContractFramework.class) | |
| 640 | - .eq(ContractFramework::getCustomerId, data.getBuyer()) | |
| 641 | - .ge(ContractFramework::getValidityTime, LocalDate.now()) | |
| 642 | - .ge(ContractFramework::getCompany, data.getSupplier()) | |
| 643 | - .eq(ContractFramework::getHasFrameworkAgreement, true); | |
| 644 | - List<ContractFramework> contractFrameworkList = contractFrameworkService.list(contractFrameworkWrapper); | |
| 645 | - List<String> productNameList = new ArrayList<>(); | |
| 646 | - if (CollectionUtils.isNotEmpty(contractFrameworkList)) { | |
| 647 | - List<String> materialTypeIdList = contractFrameworkList.stream() | |
| 648 | - .filter(bo -> StringUtils.isNotBlank(bo.getMaterialTypeId())) | |
| 649 | - .flatMap(bo -> Arrays.stream(bo.getMaterialTypeId().split(","))) | |
| 650 | - .map(String::trim) | |
| 651 | - .filter(StringUtils::isNotBlank) | |
| 652 | - .distinct() | |
| 653 | - .collect(Collectors.toList()); | |
| 654 | - List<ProductVariety> productVarietyList = productVarietyService.listByIds(materialTypeIdList); | |
| 655 | - CollectionUtils.emptyIfNull(productVarietyList).forEach(productVariety -> { | |
| 656 | - if (productVariety == null || StringUtils.isBlank(productVariety.getName())) { | |
| 657 | - return; | |
| 658 | - } | |
| 659 | - | |
| 660 | - productNameList.add(productVariety.getName().substring(0, 2)); | |
| 661 | - }); | |
| 662 | - } | |
| 663 | - | |
| 664 | - | |
| 665 | 637 | String templatePath = "templates/standardContractTemplate.xls"; |
| 666 | 638 | if ("INTL_STD_CONTRACT".equals(data.getType()) |
| 667 | 639 | || "INTL_INVENTORY_AGMT".equals(data.getType()) |
| ... | ... | @@ -688,6 +660,8 @@ public class ContractDistributorStandardController extends DefaultBaseController |
| 688 | 660 | contractTitle = "销售订单(外贸)"; |
| 689 | 661 | } |
| 690 | 662 | |
| 663 | + List<String> productNameList = contractFrameworkService.getCustomerFrameworkProductNameList(data.getBuyer(), data.getSupplier()); | |
| 664 | + | |
| 691 | 665 | if (CollectionUtils.isNotEmpty(data.getContractDistributorLineList())) { |
| 692 | 666 | for (GetContractDistributorLineBo contractDistributorLineBo : data.getContractDistributorLineList()) { |
| 693 | 667 | if (StringUtils.isNotBlank(contractDistributorLineBo.getProductName()) | ... | ... |
| ... | ... | @@ -39,7 +39,6 @@ import org.springframework.validation.annotation.Validated; |
| 39 | 39 | import org.springframework.web.bind.annotation.*; |
| 40 | 40 | |
| 41 | 41 | import javax.validation.constraints.NotBlank; |
| 42 | -import java.time.LocalDate; | |
| 43 | 42 | import java.util.List; |
| 44 | 43 | import java.util.Map; |
| 45 | 44 | import java.util.function.Function; | ... | ... |
| ... | ... | @@ -318,6 +318,10 @@ public class ContractDistributorStandard extends BaseEntity implements BaseDto { |
| 318 | 318 | */ |
| 319 | 319 | private LocalDateTime standardizedAt; |
| 320 | 320 | |
| 321 | + /** | |
| 322 | + * 合同名称(销售合同、销售订单) | |
| 323 | + */ | |
| 324 | + private String title; | |
| 321 | 325 | |
| 322 | 326 | /** |
| 323 | 327 | * 是否展示正式合同审核按钮(非持久化字段) | ... | ... |
| ... | ... | @@ -10,8 +10,10 @@ import com.lframework.starter.bpm.service.FlowInstanceWrapperService; |
| 10 | 10 | import com.lframework.starter.bpm.vo.flow.task.QueryTodoTaskListVo; |
| 11 | 11 | import com.lframework.starter.common.utils.StringUtil; |
| 12 | 12 | import com.lframework.starter.web.core.components.security.SecurityUtil; |
| 13 | -import com.lframework.xingyun.sc.entity.ContractDistributorLine; | |
| 14 | -import com.lframework.xingyun.sc.entity.ContractDistributorStandard; | |
| 13 | +import com.lframework.starter.web.inner.entity.SysDataDicItem; | |
| 14 | +import com.lframework.starter.web.inner.service.system.SysDataDicItemService; | |
| 15 | +import com.lframework.xingyun.sc.controller.contract.ContractDistributorStandardController; | |
| 16 | +import com.lframework.xingyun.sc.entity.*; | |
| 15 | 17 | import com.lframework.starter.web.core.impl.BaseMpServiceImpl; |
| 16 | 18 | import com.lframework.starter.web.core.utils.PageResultUtil; |
| 17 | 19 | import com.lframework.starter.web.core.utils.OpLogUtil; |
| ... | ... | @@ -23,12 +25,11 @@ import com.lframework.starter.web.inner.components.oplog.OtherOpLogType; |
| 23 | 25 | import com.lframework.starter.web.core.components.resp.PageResult; |
| 24 | 26 | import com.lframework.starter.common.utils.ObjectUtil; |
| 25 | 27 | import com.lframework.starter.common.utils.Assert; |
| 26 | -import com.lframework.xingyun.sc.entity.ContractStdProcessingLine; | |
| 27 | -import com.lframework.xingyun.sc.entity.PurchaseOrderInfo; | |
| 28 | 28 | import com.lframework.xingyun.sc.enums.CustomerDevelopStatus; |
| 29 | 29 | import com.lframework.xingyun.sc.mappers.ContractDistributorStandardMapper; |
| 30 | 30 | import com.lframework.xingyun.sc.service.contract.ContractDistributorLineService; |
| 31 | 31 | import com.lframework.xingyun.sc.service.contract.ContractDistributorStandardService; |
| 32 | +import com.lframework.xingyun.sc.service.contract.ContractFrameworkService; | |
| 32 | 33 | import com.lframework.xingyun.sc.service.contract.ContractStdProcessingLineService; |
| 33 | 34 | import com.lframework.xingyun.sc.service.order.PurchaseOrderInfoService; |
| 34 | 35 | import com.lframework.xingyun.sc.vo.contract.createVo.CreateContractDistributorLineVo; |
| ... | ... | @@ -76,7 +77,10 @@ public class ContractDistributorStandardServiceImpl extends |
| 76 | 77 | private ContractStdProcessingLineService contractStdProcessingLineService; |
| 77 | 78 | @Resource |
| 78 | 79 | private PurchaseOrderInfoService purchaseOrderInfoService; |
| 79 | - | |
| 80 | + @Resource | |
| 81 | + private ContractFrameworkService contractFrameworkService; | |
| 82 | + @Resource | |
| 83 | + private SysDataDicItemService sysDataDicItemService; | |
| 80 | 84 | |
| 81 | 85 | @Override |
| 82 | 86 | public PageResult<ContractDistributorStandard> query(Integer pageIndex, Integer pageSize, QueryContractDistributorStandardVo vo) { |
| ... | ... | @@ -129,7 +133,22 @@ public class ContractDistributorStandardServiceImpl extends |
| 129 | 133 | @Transactional(rollbackFor = Exception.class) |
| 130 | 134 | @Override |
| 131 | 135 | public String create(CreateContractDistributorStandardVo vo) { |
| 136 | + List<String> productNameList = contractFrameworkService.getCustomerFrameworkProductNameList(vo.getBuyer(), vo.getSupplier()); | |
| 137 | + String title = "销售订单"; | |
| 138 | + List<SysDataDicItem> productDicItemList = sysDataDicItemService.findByDicCode(ContractDistributorStandardController.CONTRACT_PRODUCT_DIC_CODE); | |
| 139 | + Map<String, String> productCodeAndNameMap = productDicItemList.stream().collect(Collectors.toMap(SysDataDicItem::getCode, SysDataDicItem::getName)); | |
| 140 | + | |
| 141 | + for (int i = 0; i < vo.getContractDistributorLineList().size(); i++) { | |
| 142 | + CreateContractDistributorLineVo createContractDistributorLineVo = vo.getContractDistributorLineList().get(i); | |
| 143 | + String productName = productCodeAndNameMap.get(createContractDistributorLineVo.getProductId()); | |
| 144 | + if (StringUtils.isNotBlank(productName) | |
| 145 | + && !productNameList.contains(productName.substring(0, 2))) { | |
| 146 | + title = "销售合同"; | |
| 147 | + break; | |
| 148 | + } | |
| 149 | + } | |
| 132 | 150 | |
| 151 | + vo.setTitle(title); | |
| 133 | 152 | ContractDistributorStandard data = createContractBase(vo); |
| 134 | 153 | |
| 135 | 154 | OpLogUtil.setVariable("id", data.getId()); |
| ... | ... | @@ -149,7 +168,22 @@ public class ContractDistributorStandardServiceImpl extends |
| 149 | 168 | @Transactional(rollbackFor = Exception.class) |
| 150 | 169 | @Override |
| 151 | 170 | public String createStdContract(CreateContractDistributorStandardVo vo) { |
| 171 | + List<String> productNameList = contractFrameworkService.getCustomerFrameworkProductNameList(vo.getBuyer(), vo.getSupplier()); | |
| 172 | + String title = "销售订单"; | |
| 173 | + List<SysDataDicItem> productDicItemList = sysDataDicItemService.findByDicCode(ContractDistributorStandardController.CONTRACT_PRODUCT_DIC_CODE); | |
| 174 | + Map<String, String> productCodeAndNameMap = productDicItemList.stream().collect(Collectors.toMap(SysDataDicItem::getCode, SysDataDicItem::getName)); | |
| 152 | 175 | |
| 176 | + for (int i = 0; i < vo.getContractStdProcessingLineList().size(); i++) { | |
| 177 | + CreateContractStdProcessingLineVo createContractStdProcessingLineVo = vo.getContractStdProcessingLineList().get(i); | |
| 178 | + String productName = productCodeAndNameMap.get(createContractStdProcessingLineVo.getProductId()); | |
| 179 | + if (StringUtils.isNotBlank(productName) | |
| 180 | + && !productNameList.contains(productName.substring(0, 2))) { | |
| 181 | + title = "销售合同"; | |
| 182 | + break; | |
| 183 | + } | |
| 184 | + } | |
| 185 | + | |
| 186 | + vo.setTitle(title); | |
| 153 | 187 | ContractDistributorStandard data = createContractBase(vo); |
| 154 | 188 | |
| 155 | 189 | OpLogUtil.setVariable("id", data.getId()); |
| ... | ... | @@ -200,6 +234,7 @@ public class ContractDistributorStandardServiceImpl extends |
| 200 | 234 | data.setTotalQuantity(vo.getTotalQuantity()); |
| 201 | 235 | data.setParentId(vo.getParentId()); |
| 202 | 236 | data.setType(vo.getType()); |
| 237 | + data.setTitle(vo.getTitle()); | |
| 203 | 238 | |
| 204 | 239 | getBaseMapper().insert(data); |
| 205 | 240 | return data; |
| ... | ... | @@ -209,7 +244,33 @@ public class ContractDistributorStandardServiceImpl extends |
| 209 | 244 | @Transactional(rollbackFor = Exception.class) |
| 210 | 245 | @Override |
| 211 | 246 | public void update(UpdateContractDistributorStandardVo vo) { |
| 247 | + List<String> productNameList = contractFrameworkService.getCustomerFrameworkProductNameList(vo.getBuyer(), vo.getSupplier()); | |
| 248 | + String title = "销售订单"; | |
| 249 | + List<SysDataDicItem> productDicItemList = sysDataDicItemService.findByDicCode(ContractDistributorStandardController.CONTRACT_PRODUCT_DIC_CODE); | |
| 250 | + Map<String, String> productCodeAndNameMap = productDicItemList.stream().collect(Collectors.toMap(SysDataDicItem::getCode, SysDataDicItem::getName)); | |
| 251 | + if ("PROCESS_STD_AGMT".equals(vo.getType())) { | |
| 252 | + for (int i = 0; i < vo.getContractStdProcessingLineList().size(); i++) { | |
| 253 | + UpdateContractStdProcessingLineVo updateContractStdProcessingLineVo = vo.getContractStdProcessingLineList().get(i); | |
| 254 | + String productName = productCodeAndNameMap.get(updateContractStdProcessingLineVo.getProductId()); | |
| 255 | + if (StringUtils.isNotBlank(productName) | |
| 256 | + && !productNameList.contains(productName.substring(0, 2))) { | |
| 257 | + title = "销售合同"; | |
| 258 | + break; | |
| 259 | + } | |
| 260 | + } | |
| 261 | + } else { | |
| 262 | + for (int i = 0; i < vo.getContractDistributorLineList().size(); i++) { | |
| 263 | + UpdateContractDistributorLineVo updateContractDistributorLineVo = vo.getContractDistributorLineList().get(i); | |
| 264 | + String productName = productCodeAndNameMap.get(updateContractDistributorLineVo.getProductId()); | |
| 265 | + if (StringUtils.isNotBlank(productName) | |
| 266 | + && !productNameList.contains(productName.substring(0, 2))) { | |
| 267 | + title = "销售合同"; | |
| 268 | + break; | |
| 269 | + } | |
| 270 | + } | |
| 271 | + } | |
| 212 | 272 | |
| 273 | + vo.setTitle(title); | |
| 213 | 274 | ContractDistributorStandard data = getBaseMapper().selectById(vo.getId()); |
| 214 | 275 | if (ObjectUtil.isNull(data)) { |
| 215 | 276 | throw new DefaultClientException("合同不存在!"); |
| ... | ... | @@ -247,6 +308,7 @@ public class ContractDistributorStandardServiceImpl extends |
| 247 | 308 | .set(ContractDistributorStandard::getTotalQuantity, vo.getTotalQuantity()) |
| 248 | 309 | .set(ContractDistributorStandard::getType, vo.getType()) |
| 249 | 310 | .set(ContractDistributorStandard::getParentId, vo.getParentId()) |
| 311 | + .set(ContractDistributorStandard::getTitle, vo.getTitle()) | |
| 250 | 312 | .eq(ContractDistributorStandard::getId, vo.getId()); |
| 251 | 313 | |
| 252 | 314 | getBaseMapper().update(updateWrapper); | ... | ... |
| 1 | 1 | package com.lframework.xingyun.sc.impl.contract; |
| 2 | 2 | |
| 3 | +import com.baomidou.mybatisplus.core.conditions.Wrapper; | |
| 3 | 4 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| 4 | 5 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| 5 | 6 | import com.github.pagehelper.PageInfo; |
| ... | ... | @@ -14,23 +15,35 @@ import com.lframework.starter.web.core.utils.OpLogUtil; |
| 14 | 15 | import com.lframework.starter.web.core.utils.PageHelperUtil; |
| 15 | 16 | import com.lframework.starter.web.core.utils.PageResultUtil; |
| 16 | 17 | import com.lframework.starter.web.inner.components.oplog.OtherOpLogType; |
| 18 | +import com.lframework.xingyun.basedata.entity.ProductVariety; | |
| 19 | +import com.lframework.xingyun.basedata.service.product.ProductVarietyService; | |
| 17 | 20 | import com.lframework.xingyun.sc.entity.ContractFramework; |
| 18 | 21 | import com.lframework.xingyun.sc.mappers.ContractFrameworkMapper; |
| 19 | 22 | import com.lframework.xingyun.sc.service.contract.ContractFrameworkService; |
| 20 | 23 | import com.lframework.xingyun.sc.vo.contract.createVo.CreateContractFrameworkVo; |
| 21 | 24 | import com.lframework.xingyun.sc.vo.contract.queryVo.QueryContractFrameworkVo; |
| 22 | 25 | import com.lframework.xingyun.sc.vo.contract.updateVo.UpdateContractFrameworkVo; |
| 26 | +import org.apache.commons.collections4.CollectionUtils; | |
| 27 | +import org.apache.commons.lang3.StringUtils; | |
| 28 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 23 | 29 | import org.springframework.cache.annotation.CacheEvict; |
| 24 | 30 | import org.springframework.cache.annotation.Cacheable; |
| 25 | 31 | import org.springframework.stereotype.Service; |
| 26 | 32 | import org.springframework.transaction.annotation.Transactional; |
| 27 | 33 | |
| 28 | 34 | import java.io.Serializable; |
| 35 | +import java.time.LocalDate; | |
| 36 | +import java.util.ArrayList; | |
| 37 | +import java.util.Arrays; | |
| 29 | 38 | import java.util.List; |
| 39 | +import java.util.stream.Collectors; | |
| 30 | 40 | |
| 31 | 41 | @Service |
| 32 | 42 | public class ContractFrameworkServiceImpl extends BaseMpServiceImpl<ContractFrameworkMapper, ContractFramework> implements ContractFrameworkService { |
| 33 | 43 | |
| 44 | + @Autowired | |
| 45 | + private ProductVarietyService productVarietyService; | |
| 46 | + | |
| 34 | 47 | @Override |
| 35 | 48 | public PageResult<ContractFramework> query(Integer pageIndex, Integer pageSize, QueryContractFrameworkVo vo) { |
| 36 | 49 | |
| ... | ... | @@ -102,6 +115,40 @@ public class ContractFrameworkServiceImpl extends BaseMpServiceImpl<ContractFram |
| 102 | 115 | return data.getId(); |
| 103 | 116 | } |
| 104 | 117 | |
| 118 | + @Override | |
| 119 | + public List<String> getCustomerFrameworkProductNameList(String customerId, String company) { | |
| 120 | + if (StringUtils.isBlank(customerId) || StringUtils.isBlank(customerId)) { | |
| 121 | + return new ArrayList<>(0); | |
| 122 | + } | |
| 123 | + | |
| 124 | + Wrapper<ContractFramework> contractFrameworkWrapper = Wrappers.lambdaQuery(ContractFramework.class) | |
| 125 | + .eq(ContractFramework::getCustomerId, customerId) | |
| 126 | + .ge(ContractFramework::getValidityTime, LocalDate.now()) | |
| 127 | + .ge(ContractFramework::getCompany, company) | |
| 128 | + .eq(ContractFramework::getHasFrameworkAgreement, true); | |
| 129 | + List<ContractFramework> contractFrameworkList = list(contractFrameworkWrapper); | |
| 130 | + List<String> productNameList = new ArrayList<>(); | |
| 131 | + if (CollectionUtils.isNotEmpty(contractFrameworkList)) { | |
| 132 | + List<String> materialTypeIdList = contractFrameworkList.stream() | |
| 133 | + .filter(bo -> StringUtils.isNotBlank(bo.getMaterialTypeId())) | |
| 134 | + .flatMap(bo -> Arrays.stream(bo.getMaterialTypeId().split(","))) | |
| 135 | + .map(String::trim) | |
| 136 | + .filter(StringUtils::isNotBlank) | |
| 137 | + .distinct() | |
| 138 | + .collect(Collectors.toList()); | |
| 139 | + List<ProductVariety> productVarietyList = productVarietyService.listByIds(materialTypeIdList); | |
| 140 | + CollectionUtils.emptyIfNull(productVarietyList).forEach(productVariety -> { | |
| 141 | + if (productVariety == null || StringUtils.isBlank(productVariety.getName())) { | |
| 142 | + return; | |
| 143 | + } | |
| 144 | + | |
| 145 | + productNameList.add(productVariety.getName().substring(0, 2)); | |
| 146 | + }); | |
| 147 | + } | |
| 148 | + | |
| 149 | + return productNameList; | |
| 150 | + } | |
| 151 | + | |
| 105 | 152 | @CacheEvict(value = ContractFramework.CACHE_NAME, key = "@cacheVariables.tenantId() + #key") |
| 106 | 153 | @Override |
| 107 | 154 | public void cleanCacheByKey(Serializable key) { | ... | ... |
| ... | ... | @@ -39,15 +39,22 @@ public interface ContractFrameworkService extends BaseMpService<ContractFramewor |
| 39 | 39 | |
| 40 | 40 | /** |
| 41 | 41 | * 修改 |
| 42 | + * | |
| 42 | 43 | * @param vo |
| 43 | 44 | */ |
| 44 | 45 | void update(UpdateContractFrameworkVo vo); |
| 45 | 46 | |
| 46 | 47 | /** |
| 47 | 48 | * 创建 |
| 49 | + * | |
| 48 | 50 | * @param vo |
| 49 | 51 | * @return |
| 50 | 52 | */ |
| 51 | 53 | String create(CreateContractFrameworkVo vo); |
| 52 | 54 | |
| 55 | + | |
| 56 | + /** | |
| 57 | + * 获取指定客户框架合同的物料名称 | |
| 58 | + */ | |
| 59 | + List<String> getCustomerFrameworkProductNameList(String customerId, String company); | |
| 53 | 60 | } | ... | ... |
| ... | ... | @@ -310,4 +310,10 @@ public class CreateContractDistributorStandardVo implements BaseVo, Serializable |
| 310 | 310 | */ |
| 311 | 311 | @ApiModelProperty(value = "标准合同是否审核完成(AUDIT:审核中,PASS:审核通过,REFUSE:已驳回,CANCEL:已取消)") |
| 312 | 312 | private String standardApproved; |
| 313 | + | |
| 314 | + /** | |
| 315 | + * 合同名称(销售合同、销售订单) | |
| 316 | + */ | |
| 317 | + @ApiModelProperty(value = "合同名称(销售合同、销售订单)") | |
| 318 | + private String title; | |
| 313 | 319 | } | ... | ... |
| ... | ... | @@ -349,4 +349,9 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable |
| 349 | 349 | @ApiModelProperty(value = "双方盖章合同名称") |
| 350 | 350 | private String signedContractFileName; |
| 351 | 351 | |
| 352 | + /** | |
| 353 | + * 合同名称(销售合同、销售订单) | |
| 354 | + */ | |
| 355 | + @ApiModelProperty(value = "合同名称(销售合同、销售订单)") | |
| 356 | + private String title; | |
| 352 | 357 | } | ... | ... |
| ... | ... | @@ -60,6 +60,7 @@ |
| 60 | 60 | <result column="signed_contract_file_name" property="signedContractFileName"/> |
| 61 | 61 | <result column="formalized_at" property="formalizedAt"/> |
| 62 | 62 | <result column="standardized_at" property="standardizedAt"/> |
| 63 | + <result column="title" property="title"/> | |
| 63 | 64 | </resultMap> |
| 64 | 65 | |
| 65 | 66 | <sql id="ContractDistributorStandard_sql"> |
| ... | ... | @@ -119,7 +120,8 @@ |
| 119 | 120 | tb.signed_contract_file_id, |
| 120 | 121 | tb.signed_contract_file_name, |
| 121 | 122 | tb.formalized_at, |
| 122 | - tb.standardized_at | |
| 123 | + tb.standardized_at, | |
| 124 | + tb.title | |
| 123 | 125 | FROM tbl_contract_distributor_standard AS tb |
| 124 | 126 | </sql> |
| 125 | 127 | ... | ... |