Commit 128ed364a84a7fee606fd7d9d69e5220883e1a8b
Merge remote-tracking branch 'origin/master_0929' into master_0929
Showing
8 changed files
with
239 additions
and
88 deletions
xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/contract/GetContractDistributorStandardBo.java
| ... | ... | @@ -143,6 +143,42 @@ public class GetContractDistributorStandardBo extends BaseBo<ContractDistributor |
| 143 | 143 | private String destination; |
| 144 | 144 | |
| 145 | 145 | /** |
| 146 | + * 省ID | |
| 147 | + */ | |
| 148 | + @ApiModelProperty("省ID") | |
| 149 | + private String provinceId; | |
| 150 | + | |
| 151 | + /** | |
| 152 | + * 省名称 | |
| 153 | + */ | |
| 154 | + @ApiModelProperty("省名称") | |
| 155 | + private String provinceName; | |
| 156 | + | |
| 157 | + /** | |
| 158 | + * 市ID | |
| 159 | + */ | |
| 160 | + @ApiModelProperty("市ID") | |
| 161 | + private String cityId; | |
| 162 | + | |
| 163 | + /** | |
| 164 | + * 市名称 | |
| 165 | + */ | |
| 166 | + @ApiModelProperty("市名称") | |
| 167 | + private String cityName; | |
| 168 | + | |
| 169 | + /** | |
| 170 | + * 区ID | |
| 171 | + */ | |
| 172 | + @ApiModelProperty("区ID") | |
| 173 | + private String districtId; | |
| 174 | + | |
| 175 | + /** | |
| 176 | + * 区名称 | |
| 177 | + */ | |
| 178 | + @ApiModelProperty("区名称") | |
| 179 | + private String districtName; | |
| 180 | + | |
| 181 | + /** | |
| 146 | 182 | * 单价中是否已包含包装费 |
| 147 | 183 | */ |
| 148 | 184 | @ApiModelProperty("单价中是否已包含包装费") | ... | ... |
| ... | ... | @@ -80,6 +80,42 @@ public class QueryContractDistributorStandardBo extends BaseBo<ContractDistribut |
| 80 | 80 | private String destination; |
| 81 | 81 | |
| 82 | 82 | /** |
| 83 | + * 省ID | |
| 84 | + */ | |
| 85 | + @ApiModelProperty("省ID") | |
| 86 | + private String provinceId; | |
| 87 | + | |
| 88 | + /** | |
| 89 | + * 省名称 | |
| 90 | + */ | |
| 91 | + @ApiModelProperty("省名称") | |
| 92 | + private String provinceName; | |
| 93 | + | |
| 94 | + /** | |
| 95 | + * 市ID | |
| 96 | + */ | |
| 97 | + @ApiModelProperty("市ID") | |
| 98 | + private String cityId; | |
| 99 | + | |
| 100 | + /** | |
| 101 | + * 市名称 | |
| 102 | + */ | |
| 103 | + @ApiModelProperty("市名称") | |
| 104 | + private String cityName; | |
| 105 | + | |
| 106 | + /** | |
| 107 | + * 区ID | |
| 108 | + */ | |
| 109 | + @ApiModelProperty("区ID") | |
| 110 | + private String districtId; | |
| 111 | + | |
| 112 | + /** | |
| 113 | + * 区名称 | |
| 114 | + */ | |
| 115 | + @ApiModelProperty("区名称") | |
| 116 | + private String districtName; | |
| 117 | + | |
| 118 | + /** | |
| 83 | 119 | * 合计总金额 |
| 84 | 120 | */ |
| 85 | 121 | @ApiModelProperty("合计总金额") | ... | ... |
| ... | ... | @@ -11,9 +11,12 @@ import com.lframework.starter.web.core.components.security.SecurityUtil; |
| 11 | 11 | import com.lframework.starter.web.core.controller.DefaultBaseController; |
| 12 | 12 | import com.lframework.starter.web.core.utils.PageResultUtil; |
| 13 | 13 | import com.lframework.starter.web.inner.bo.system.user.GetSysUserBo; |
| 14 | +import com.lframework.starter.web.inner.dto.dic.city.DicCityDto; | |
| 14 | 15 | import com.lframework.starter.web.inner.entity.SysDataDicItem; |
| 15 | 16 | import com.lframework.starter.web.inner.entity.SysDept; |
| 16 | 17 | import com.lframework.starter.web.inner.entity.SysUser; |
| 18 | +import com.lframework.starter.web.inner.service.DicCityService; | |
| 19 | +import com.lframework.starter.web.inner.service.GenerateCodeService; | |
| 17 | 20 | import com.lframework.starter.web.inner.service.system.SysDataDicItemService; |
| 18 | 21 | import com.lframework.starter.web.inner.service.system.SysDeptService; |
| 19 | 22 | import com.lframework.starter.web.inner.service.system.SysUserService; |
| ... | ... | @@ -23,6 +26,7 @@ import com.lframework.xingyun.basedata.vo.customer.QueryCustomerVo; |
| 23 | 26 | import com.lframework.xingyun.sc.bo.contract.GetContractDistributorLineBo; |
| 24 | 27 | import com.lframework.xingyun.sc.bo.contract.GetContractDistributorStandardBo; |
| 25 | 28 | import com.lframework.xingyun.sc.bo.contract.QueryContractDistributorStandardBo; |
| 29 | +import com.lframework.xingyun.sc.components.code.GenerateCodeTypePool; | |
| 26 | 30 | import com.lframework.xingyun.sc.entity.ContractDistributorLine; |
| 27 | 31 | import com.lframework.xingyun.sc.entity.ContractDistributorStandard; |
| 28 | 32 | import com.lframework.xingyun.sc.service.contract.ContractDistributorLineService; |
| ... | ... | @@ -68,6 +72,11 @@ public class ContractDistributorStandardController extends DefaultBaseController |
| 68 | 72 | private SysUserService sysUserService; |
| 69 | 73 | @Autowired |
| 70 | 74 | private SysDataDicItemService sysDataDicItemService; |
| 75 | + @Autowired | |
| 76 | + private GenerateCodeService generateCodeService; | |
| 77 | + @Autowired | |
| 78 | + private DicCityService dicCityService; | |
| 79 | + | |
| 71 | 80 | |
| 72 | 81 | public static final String SUPPLIER_DIC_CODE = "SUPPLIER"; // 所属单位/供方 |
| 73 | 82 | public static final String UNIT_DIC_CODE = "UNIT"; // 单位 |
| ... | ... | @@ -143,6 +152,18 @@ public class ContractDistributorStandardController extends DefaultBaseController |
| 143 | 152 | Customer customer = customerMap.get(bo.getBuyer()); |
| 144 | 153 | bo.setBuyerName(customer == null ? "" : customer.getName()); |
| 145 | 154 | } |
| 155 | + | |
| 156 | + if (StringUtils.isNotBlank(bo.getDestination())) { | |
| 157 | + List<DicCityDto> dicCityDtoList = dicCityService.getChainById(bo.getDestination()); | |
| 158 | + if (CollectionUtils.isNotEmpty(dicCityDtoList) && dicCityDtoList.size() == 3) { | |
| 159 | + bo.setProvinceId(dicCityDtoList.get(0).getId()); | |
| 160 | + bo.setProvinceName(dicCityDtoList.get(0).getName()); | |
| 161 | + bo.setCityId(dicCityDtoList.get(1).getId()); | |
| 162 | + bo.setCityName(dicCityDtoList.get(1).getName()); | |
| 163 | + bo.setDistrictId(dicCityDtoList.get(2).getId()); | |
| 164 | + bo.setDistrictName(dicCityDtoList.get(2).getName()); | |
| 165 | + } | |
| 166 | + } | |
| 146 | 167 | }); |
| 147 | 168 | |
| 148 | 169 | boPageResult.setDatas(boList); |
| ... | ... | @@ -184,6 +205,16 @@ public class ContractDistributorStandardController extends DefaultBaseController |
| 184 | 205 | SysDataDicItem standardDicItem = sysDataDicItemService.findByCode(APPLICABLE_STANDARD_DIC_CODE, result.getExecutionStandard()); |
| 185 | 206 | result.setExecutionStandardName(standardDicItem == null ? "" : standardDicItem.getName()); |
| 186 | 207 | |
| 208 | + List<DicCityDto> dicCityDtoList = dicCityService.getChainById(result.getDestination()); | |
| 209 | + if (CollectionUtils.isNotEmpty(dicCityDtoList) && dicCityDtoList.size() == 3) { | |
| 210 | + result.setProvinceId(dicCityDtoList.get(0).getId()); | |
| 211 | + result.setProvinceName(dicCityDtoList.get(0).getName()); | |
| 212 | + result.setCityId(dicCityDtoList.get(1).getId()); | |
| 213 | + result.setCityName(dicCityDtoList.get(1).getName()); | |
| 214 | + result.setDistrictId(dicCityDtoList.get(2).getId()); | |
| 215 | + result.setDistrictName(dicCityDtoList.get(2).getName()); | |
| 216 | + } | |
| 217 | + | |
| 187 | 218 | List<SysDataDicItem> productDicItemList = sysDataDicItemService.findByDicCode(CONTRACT_PRODUCT_DIC_CODE); |
| 188 | 219 | Map<String, String> productCodeAndNameMap = productDicItemList.stream().collect(Collectors.toMap(SysDataDicItem::getCode, SysDataDicItem::getName)); |
| 189 | 220 | List<GetContractDistributorLineBo> lineBoList = new ArrayList<>(contractDistributorLineList.size()); |
| ... | ... | @@ -232,7 +263,7 @@ public class ContractDistributorStandardController extends DefaultBaseController |
| 232 | 263 | @ApiOperation("修改") |
| 233 | 264 | @HasPermission({"contract:contractDistributorStandard:modify"}) |
| 234 | 265 | @PutMapping |
| 235 | - public InvokeResult<Void> update(@Valid UpdateContractDistributorStandardVo vo) { | |
| 266 | + public InvokeResult<Void> update(@Valid @RequestBody UpdateContractDistributorStandardVo vo) { | |
| 236 | 267 | |
| 237 | 268 | contractDistributorStandardService.update(vo); |
| 238 | 269 | |
| ... | ... | @@ -240,4 +271,27 @@ public class ContractDistributorStandardController extends DefaultBaseController |
| 240 | 271 | |
| 241 | 272 | return InvokeResultBuilder.success(); |
| 242 | 273 | } |
| 274 | + | |
| 275 | + @ApiOperation("获取code") | |
| 276 | + @HasPermission({"contract:contractDistributorStandard:add"}) | |
| 277 | + @GetMapping("/code") | |
| 278 | + public InvokeResult<String> code() { | |
| 279 | + StringBuilder stringBuilder = new StringBuilder(); | |
| 280 | + // 获取当前人员及所在部门 | |
| 281 | + String currentUserId = SecurityUtil.getCurrentUser().getId(); | |
| 282 | + SysUser sysUser = sysUserService.findById(currentUserId); | |
| 283 | + if (sysUser != null) { | |
| 284 | + GetSysUserBo getSysUserBo = new GetSysUserBo(sysUser); | |
| 285 | + //部门 | |
| 286 | + List<String> depts = getSysUserBo.getDepts(); | |
| 287 | + if (CollectionUtils.isNotEmpty(depts)) { | |
| 288 | + String deptId = depts.get(0); | |
| 289 | + SysDept sysDept = sysDeptService.findById(deptId); | |
| 290 | + stringBuilder.append(sysDept.getCode()); | |
| 291 | + } | |
| 292 | + } | |
| 293 | + | |
| 294 | + stringBuilder.append(generateCodeService.generate(GenerateCodeTypePool.CONTRACT)); | |
| 295 | + return InvokeResultBuilder.success(stringBuilder.toString()); | |
| 296 | + } | |
| 243 | 297 | } | ... | ... |
| 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; |
| 7 | +import com.lframework.xingyun.sc.entity.ContractDistributorLine; | |
| 6 | 8 | import com.lframework.xingyun.sc.entity.ContractDistributorStandard; |
| 7 | 9 | import com.lframework.starter.web.core.impl.BaseMpServiceImpl; |
| 8 | 10 | import com.lframework.starter.web.core.utils.PageResultUtil; |
| ... | ... | @@ -21,7 +23,10 @@ import com.lframework.xingyun.sc.service.contract.ContractDistributorStandardSer |
| 21 | 23 | import com.lframework.xingyun.sc.vo.contract.createVo.CreateContractDistributorLineVo; |
| 22 | 24 | import com.lframework.xingyun.sc.vo.contract.createVo.CreateContractDistributorStandardVo; |
| 23 | 25 | import com.lframework.xingyun.sc.vo.contract.queryVo.QueryContractDistributorStandardVo; |
| 26 | +import com.lframework.xingyun.sc.vo.contract.updateVo.UpdateContractDistributorLineVo; | |
| 24 | 27 | import com.lframework.xingyun.sc.vo.contract.updateVo.UpdateContractDistributorStandardVo; |
| 28 | +import org.apache.commons.collections4.CollectionUtils; | |
| 29 | +import org.apache.commons.lang3.StringUtils; | |
| 25 | 30 | import org.springframework.beans.factory.annotation.Autowired; |
| 26 | 31 | import org.springframework.cache.annotation.CacheEvict; |
| 27 | 32 | import org.springframework.cache.annotation.Cacheable; |
| ... | ... | @@ -29,7 +34,9 @@ import org.springframework.stereotype.Service; |
| 29 | 34 | import org.springframework.transaction.annotation.Transactional; |
| 30 | 35 | |
| 31 | 36 | import java.io.Serializable; |
| 37 | +import java.util.ArrayList; | |
| 32 | 38 | import java.util.List; |
| 39 | +import java.util.stream.Collectors; | |
| 33 | 40 | |
| 34 | 41 | @Service |
| 35 | 42 | public class ContractDistributorStandardServiceImpl extends |
| ... | ... | @@ -160,6 +167,55 @@ public class ContractDistributorStandardServiceImpl extends |
| 160 | 167 | |
| 161 | 168 | getBaseMapper().update(updateWrapper); |
| 162 | 169 | |
| 170 | + Wrapper<ContractDistributorLine> lineWrapper = Wrappers.lambdaQuery(ContractDistributorLine.class) | |
| 171 | + .eq(ContractDistributorLine::getContractId, data.getId()); | |
| 172 | + List<ContractDistributorLine> oldContractDistributorLineList = contractDistributorLineService.list(lineWrapper); | |
| 173 | + List<String> oldlineIdList = CollectionUtils.emptyIfNull(oldContractDistributorLineList) | |
| 174 | + .stream() | |
| 175 | + .map(ContractDistributorLine::getId).collect(Collectors.toList()); | |
| 176 | + List<String> existIdList = new ArrayList<>(oldlineIdList.size()); | |
| 177 | + for (int i = 0; i < vo.getContractDistributorLineList().size(); i++) { | |
| 178 | + UpdateContractDistributorLineVo updateContractDistributorLineVo = vo.getContractDistributorLineList().get(i); | |
| 179 | + updateContractDistributorLineVo.setShowOrder(i); | |
| 180 | + if (StringUtils.isNotBlank(updateContractDistributorLineVo.getId())) { | |
| 181 | + existIdList.add(updateContractDistributorLineVo.getId()); | |
| 182 | + contractDistributorLineService.update(updateContractDistributorLineVo); | |
| 183 | + } else { | |
| 184 | + updateContractDistributorLineVo.setContractId(data.getId()); | |
| 185 | + CreateContractDistributorLineVo createContractDistributorLineVo = new CreateContractDistributorLineVo(); | |
| 186 | + createContractDistributorLineVo.setContractId(updateContractDistributorLineVo.getContractId()); | |
| 187 | + createContractDistributorLineVo.setIndustry(updateContractDistributorLineVo.getIndustry()); | |
| 188 | + createContractDistributorLineVo.setQuality(updateContractDistributorLineVo.getQuality()); | |
| 189 | + createContractDistributorLineVo.setBrand(updateContractDistributorLineVo.getBrand()); | |
| 190 | + createContractDistributorLineVo.setThickness(updateContractDistributorLineVo.getThickness()); | |
| 191 | + createContractDistributorLineVo.setWidth(updateContractDistributorLineVo.getWidth()); | |
| 192 | + createContractDistributorLineVo.setLength(updateContractDistributorLineVo.getLength()); | |
| 193 | + createContractDistributorLineVo.setStatus(updateContractDistributorLineVo.getStatus()); | |
| 194 | + createContractDistributorLineVo.setQuantity(updateContractDistributorLineVo.getQuantity()); | |
| 195 | + createContractDistributorLineVo.setUnitPrice(updateContractDistributorLineVo.getUnitPrice()); | |
| 196 | + createContractDistributorLineVo.setAmountExcludingTax(updateContractDistributorLineVo.getAmountExcludingTax()); | |
| 197 | + createContractDistributorLineVo.setTotalAmount(updateContractDistributorLineVo.getTotalAmount()); | |
| 198 | + createContractDistributorLineVo.setDeliveryDate(updateContractDistributorLineVo.getDeliveryDate()); | |
| 199 | + createContractDistributorLineVo.setShowOrder(updateContractDistributorLineVo.getShowOrder()); | |
| 200 | + createContractDistributorLineVo.setProductId(updateContractDistributorLineVo.getProductId()); | |
| 201 | + createContractDistributorLineVo.setThicknessTolPos(updateContractDistributorLineVo.getThicknessTolPos()); | |
| 202 | + createContractDistributorLineVo.setThicknessTolNeg(updateContractDistributorLineVo.getThicknessTolNeg()); | |
| 203 | + createContractDistributorLineVo.setWidthTolPos(updateContractDistributorLineVo.getWidthTolPos()); | |
| 204 | + createContractDistributorLineVo.setWidthTolNeg(updateContractDistributorLineVo.getWidthTolNeg()); | |
| 205 | + createContractDistributorLineVo.setLengthTolPos(updateContractDistributorLineVo.getLengthTolPos()); | |
| 206 | + createContractDistributorLineVo.setLengthTolNeg(updateContractDistributorLineVo.getLengthTolNeg()); | |
| 207 | + | |
| 208 | + contractDistributorLineService.create(createContractDistributorLineVo); | |
| 209 | + } | |
| 210 | + } | |
| 211 | + | |
| 212 | + List<String> needDeleteLineIdList = oldlineIdList.stream() | |
| 213 | + .filter(oldLineId -> !existIdList.contains(oldLineId)) | |
| 214 | + .collect(Collectors.toList()); | |
| 215 | + if (CollectionUtils.isNotEmpty(needDeleteLineIdList)) { | |
| 216 | + contractDistributorLineService.removeByIds(needDeleteLineIdList); | |
| 217 | + } | |
| 218 | + | |
| 163 | 219 | OpLogUtil.setVariable("id", data.getId()); |
| 164 | 220 | OpLogUtil.setExtra(vo); |
| 165 | 221 | } | ... | ... |
| ... | ... | @@ -78,8 +78,7 @@ public class CreateContractDistributorStandardVo implements BaseVo, Serializable |
| 78 | 78 | /** |
| 79 | 79 | * 交付定金信息(包含数额、时间) |
| 80 | 80 | */ |
| 81 | - @ApiModelProperty(value = "交付定金信息(包含数额、时间)", required = true) | |
| 82 | - @NotBlank(message = "请输入交付定金信息(包含数额、时间)!") | |
| 81 | + @ApiModelProperty(value = "交付定金信息(包含数额、时间)") | |
| 83 | 82 | @Length(message = "交付定金信息(包含数额、时间)最多允许500个字符!") |
| 84 | 83 | private String depositInfo; |
| 85 | 84 | ... | ... |
| ... | ... | @@ -25,127 +25,111 @@ public class UpdateContractDistributorLineVo implements BaseVo, Serializable { |
| 25 | 25 | /** |
| 26 | 26 | * ID |
| 27 | 27 | */ |
| 28 | - @ApiModelProperty(value = "ID", required = true) | |
| 29 | - @NotBlank(message = "id不能为空!") | |
| 28 | + @ApiModelProperty(value = "ID") | |
| 30 | 29 | private String id; |
| 31 | 30 | |
| 32 | 31 | /** |
| 33 | 32 | * 合同主表ID |
| 34 | 33 | */ |
| 35 | - @ApiModelProperty(value = "合同主表ID", required = true) | |
| 36 | - @NotBlank(message = "请输入合同主表ID!") | |
| 34 | + @ApiModelProperty(value = "合同主表ID") | |
| 37 | 35 | @Length(message = "合同主表ID最多允许32个字符!") |
| 38 | 36 | private String contractId; |
| 39 | 37 | |
| 40 | 38 | /** |
| 41 | 39 | * 行业 |
| 42 | 40 | */ |
| 43 | - @ApiModelProperty(value = "行业", required = true) | |
| 44 | - @NotBlank(message = "请输入行业!") | |
| 41 | + @ApiModelProperty(value = "行业") | |
| 45 | 42 | @Length(message = "行业最多允许100个字符!") |
| 46 | 43 | private String industry; |
| 47 | 44 | |
| 48 | 45 | /** |
| 49 | 46 | * 品质 |
| 50 | 47 | */ |
| 51 | - @ApiModelProperty(value = "品质", required = true) | |
| 52 | - @NotBlank(message = "请输入品质!") | |
| 48 | + @ApiModelProperty(value = "品质") | |
| 53 | 49 | @Length(message = "品质最多允许100个字符!") |
| 54 | 50 | private String quality; |
| 55 | 51 | |
| 56 | 52 | /** |
| 57 | 53 | * 牌号 |
| 58 | 54 | */ |
| 59 | - @ApiModelProperty(value = "牌号", required = true) | |
| 60 | - @NotBlank(message = "请输入牌号!") | |
| 55 | + @ApiModelProperty(value = "牌号") | |
| 61 | 56 | @Length(message = "牌号最多允许100个字符!") |
| 62 | 57 | private String brand; |
| 63 | 58 | |
| 64 | 59 | /** |
| 65 | 60 | * 厚度 |
| 66 | 61 | */ |
| 67 | - @ApiModelProperty(value = "厚度", required = true) | |
| 62 | + @ApiModelProperty(value = "厚度") | |
| 68 | 63 | @TypeMismatch(message = "厚度格式有误!") |
| 69 | - @NotNull(message = "请输入厚度!") | |
| 70 | 64 | @IsNumberPrecision(message = "厚度最多允许4位小数!", value = 4) |
| 71 | 65 | private BigDecimal thickness; |
| 72 | 66 | |
| 73 | 67 | /** |
| 74 | 68 | * 宽度 |
| 75 | 69 | */ |
| 76 | - @ApiModelProperty(value = "宽度", required = true) | |
| 70 | + @ApiModelProperty(value = "宽度") | |
| 77 | 71 | @TypeMismatch(message = "宽度格式有误!") |
| 78 | - @NotNull(message = "请输入宽度!") | |
| 79 | 72 | @IsNumberPrecision(message = "宽度最多允许4位小数!", value = 4) |
| 80 | 73 | private BigDecimal width; |
| 81 | 74 | |
| 82 | 75 | /** |
| 83 | 76 | * 长度 |
| 84 | 77 | */ |
| 85 | - @ApiModelProperty(value = "长度", required = true) | |
| 78 | + @ApiModelProperty(value = "长度") | |
| 86 | 79 | @TypeMismatch(message = "长度格式有误!") |
| 87 | - @NotNull(message = "请输入长度!") | |
| 88 | 80 | @IsNumberPrecision(message = "长度最多允许4位小数!", value = 4) |
| 89 | 81 | private BigDecimal length; |
| 90 | 82 | |
| 91 | 83 | /** |
| 92 | 84 | * 状态 |
| 93 | 85 | */ |
| 94 | - @ApiModelProperty(value = "状态", required = true) | |
| 95 | - @NotBlank(message = "请输入状态!") | |
| 86 | + @ApiModelProperty(value = "状态") | |
| 96 | 87 | @Length(message = "状态最多允许50个字符!") |
| 97 | 88 | private String status; |
| 98 | 89 | |
| 99 | 90 | /** |
| 100 | 91 | * 数量 |
| 101 | 92 | */ |
| 102 | - @ApiModelProperty(value = "数量", required = true) | |
| 93 | + @ApiModelProperty(value = "数量") | |
| 103 | 94 | @TypeMismatch(message = "数量格式有误!") |
| 104 | - @NotNull(message = "请输入数量!") | |
| 105 | 95 | @IsNumberPrecision(message = "数量最多允许4位小数!", value = 4) |
| 106 | 96 | private BigDecimal quantity; |
| 107 | 97 | |
| 108 | 98 | /** |
| 109 | 99 | * 单价 |
| 110 | 100 | */ |
| 111 | - @ApiModelProperty(value = "单价", required = true) | |
| 101 | + @ApiModelProperty(value = "单价") | |
| 112 | 102 | @TypeMismatch(message = "单价格式有误!") |
| 113 | - @NotNull(message = "请输入单价!") | |
| 114 | 103 | @IsNumberPrecision(message = "单价最多允许4位小数!", value = 4) |
| 115 | 104 | private BigDecimal unitPrice; |
| 116 | 105 | |
| 117 | 106 | /** |
| 118 | 107 | * 不含税金额 |
| 119 | 108 | */ |
| 120 | - @ApiModelProperty(value = "不含税金额", required = true) | |
| 109 | + @ApiModelProperty(value = "不含税金额") | |
| 121 | 110 | @TypeMismatch(message = "不含税金额格式有误!") |
| 122 | - @NotNull(message = "请输入不含税金额!") | |
| 123 | 111 | @IsNumberPrecision(message = "不含税金额最多允许2位小数!", value = 2) |
| 124 | 112 | private BigDecimal amountExcludingTax; |
| 125 | 113 | |
| 126 | 114 | /** |
| 127 | 115 | * 总金额 |
| 128 | 116 | */ |
| 129 | - @ApiModelProperty(value = "总金额", required = true) | |
| 117 | + @ApiModelProperty(value = "总金额") | |
| 130 | 118 | @TypeMismatch(message = "总金额格式有误!") |
| 131 | - @NotNull(message = "请输入总金额!") | |
| 132 | 119 | @IsNumberPrecision(message = "总金额最多允许2位小数!", value = 2) |
| 133 | 120 | private BigDecimal totalAmount; |
| 134 | 121 | |
| 135 | 122 | /** |
| 136 | 123 | * 发货日期 |
| 137 | 124 | */ |
| 138 | - @ApiModelProperty(value = "发货日期", required = true) | |
| 125 | + @ApiModelProperty(value = "发货日期") | |
| 139 | 126 | @TypeMismatch(message = "发货日期格式有误!") |
| 140 | - @NotNull(message = "请输入发货日期!") | |
| 141 | 127 | private LocalDate deliveryDate; |
| 142 | 128 | |
| 143 | 129 | /** |
| 144 | 130 | * 排序 |
| 145 | 131 | */ |
| 146 | - @ApiModelProperty(value = "排序", required = true) | |
| 147 | - @TypeMismatch(message = "排序格式有误!") | |
| 148 | - @NotNull(message = "请输入排序!") | |
| 132 | + @ApiModelProperty(value = "排序") | |
| 149 | 133 | private Integer showOrder; |
| 150 | 134 | |
| 151 | 135 | /** |
| ... | ... | @@ -158,49 +142,43 @@ public class UpdateContractDistributorLineVo implements BaseVo, Serializable { |
| 158 | 142 | /** |
| 159 | 143 | * 厚度公差正 |
| 160 | 144 | */ |
| 161 | - @ApiModelProperty(value = "厚度公差正", required = true) | |
| 145 | + @ApiModelProperty(value = "厚度公差正") | |
| 162 | 146 | @TypeMismatch(message = "厚度公差正格式有误!") |
| 163 | - @NotNull(message = "请输入厚度公差正!") | |
| 164 | 147 | private BigDecimal thicknessTolPos; |
| 165 | 148 | |
| 166 | 149 | /** |
| 167 | 150 | * 厚度公差负 |
| 168 | 151 | */ |
| 169 | - @ApiModelProperty(value = "厚度公差负", required = true) | |
| 152 | + @ApiModelProperty(value = "厚度公差负") | |
| 170 | 153 | @TypeMismatch(message = "厚度公差负格式有误!") |
| 171 | - @NotNull(message = "请输入厚度公差负!") | |
| 172 | 154 | private BigDecimal thicknessTolNeg; |
| 173 | 155 | |
| 174 | 156 | /** |
| 175 | 157 | * 宽度公差正 |
| 176 | 158 | */ |
| 177 | - @ApiModelProperty(value = "宽度公差正", required = true) | |
| 159 | + @ApiModelProperty(value = "宽度公差正") | |
| 178 | 160 | @TypeMismatch(message = "宽度公差正格式有误!") |
| 179 | - @NotNull(message = "请输入宽度公差正!") | |
| 180 | 161 | private BigDecimal widthTolPos; |
| 181 | 162 | |
| 182 | 163 | /** |
| 183 | 164 | * 宽度公差负 |
| 184 | 165 | */ |
| 185 | - @ApiModelProperty(value = "宽度公差负", required = true) | |
| 166 | + @ApiModelProperty(value = "宽度公差负") | |
| 186 | 167 | @TypeMismatch(message = "宽度公差负格式有误!") |
| 187 | - @NotNull(message = "请输入宽度公差负!") | |
| 188 | 168 | private BigDecimal widthTolNeg; |
| 189 | 169 | |
| 190 | 170 | /** |
| 191 | 171 | * 长度公差正 |
| 192 | 172 | */ |
| 193 | - @ApiModelProperty(value = "长度公差正", required = true) | |
| 173 | + @ApiModelProperty(value = "长度公差正") | |
| 194 | 174 | @TypeMismatch(message = "长度公差正格式有误!") |
| 195 | - @NotNull(message = "请输入长度公差正!") | |
| 196 | 175 | private BigDecimal lengthTolPos; |
| 197 | 176 | |
| 198 | 177 | /** |
| 199 | 178 | * 长度公差负 |
| 200 | 179 | */ |
| 201 | - @ApiModelProperty(value = "长度公差负", required = true) | |
| 180 | + @ApiModelProperty(value = "长度公差负") | |
| 202 | 181 | @TypeMismatch(message = "长度公差负格式有误!") |
| 203 | - @NotNull(message = "请输入长度公差负!") | |
| 204 | 182 | private BigDecimal lengthTolNeg; |
| 205 | 183 | |
| 206 | 184 | } | ... | ... |
| ... | ... | @@ -15,6 +15,7 @@ import io.swagger.annotations.ApiModelProperty; |
| 15 | 15 | import org.hibernate.validator.constraints.Length; |
| 16 | 16 | |
| 17 | 17 | import java.io.Serializable; |
| 18 | +import java.util.List; | |
| 18 | 19 | |
| 19 | 20 | @Data |
| 20 | 21 | public class UpdateContractDistributorStandardVo implements BaseVo, Serializable { |
| ... | ... | @@ -79,40 +80,35 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable |
| 79 | 80 | /** |
| 80 | 81 | * 交付定金信息(包含数额、时间) |
| 81 | 82 | */ |
| 82 | - @ApiModelProperty(value = "交付定金信息(包含数额、时间)", required = true) | |
| 83 | - @NotBlank(message = "请输入交付定金信息(包含数额、时间)!") | |
| 83 | + @ApiModelProperty(value = "交付定金信息(包含数额、时间)") | |
| 84 | 84 | @Length(message = "交付定金信息(包含数额、时间)最多允许500个字符!") |
| 85 | 85 | private String depositInfo; |
| 86 | 86 | |
| 87 | 87 | /** |
| 88 | 88 | * 包装要求 |
| 89 | 89 | */ |
| 90 | - @ApiModelProperty(value = "包装要求", required = true) | |
| 91 | - @NotBlank(message = "请输入包装要求!") | |
| 90 | + @ApiModelProperty(value = "包装要求") | |
| 92 | 91 | @Length(message = "包装要求最多允许200个字符!") |
| 93 | 92 | private String packagingRequirements; |
| 94 | 93 | |
| 95 | 94 | /** |
| 96 | 95 | * 付款信息(包含付款方式、付款期限) |
| 97 | 96 | */ |
| 98 | - @ApiModelProperty(value = "付款信息(包含付款方式、付款期限)", required = true) | |
| 99 | - @NotBlank(message = "请输入付款信息(包含付款方式、付款期限)!") | |
| 97 | + @ApiModelProperty(value = "付款信息(包含付款方式、付款期限)") | |
| 100 | 98 | @Length(message = "付款信息(包含付款方式、付款期限)最多允许500个字符!") |
| 101 | 99 | private String paymentTerms; |
| 102 | 100 | |
| 103 | 101 | /** |
| 104 | 102 | * 执行标准 |
| 105 | 103 | */ |
| 106 | - @ApiModelProperty(value = "执行标准", required = true) | |
| 107 | - @NotBlank(message = "请输入执行标准!") | |
| 104 | + @ApiModelProperty(value = "执行标准") | |
| 108 | 105 | @Length(message = "执行标准最多允许50个字符!") |
| 109 | 106 | private String executionStandard; |
| 110 | 107 | |
| 111 | 108 | /** |
| 112 | 109 | * 运输方式 |
| 113 | 110 | */ |
| 114 | - @ApiModelProperty(value = "运输方式", required = true) | |
| 115 | - @NotBlank(message = "请输入运输方式!") | |
| 111 | + @ApiModelProperty(value = "运输方式") | |
| 116 | 112 | @Length(message = "运输方式最多允许100个字符!") |
| 117 | 113 | private String transportMode; |
| 118 | 114 | |
| ... | ... | @@ -126,121 +122,106 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable |
| 126 | 122 | /** |
| 127 | 123 | * 目的地 |
| 128 | 124 | */ |
| 129 | - @ApiModelProperty(value = "目的地", required = true) | |
| 130 | - @NotBlank(message = "请输入目的地!") | |
| 125 | + @ApiModelProperty(value = "目的地") | |
| 131 | 126 | @Length(message = "目的地最多允许200个字符!") |
| 132 | 127 | private String destination; |
| 133 | 128 | |
| 134 | 129 | /** |
| 135 | 130 | * 单价中是否已包含包装费 |
| 136 | 131 | */ |
| 137 | - @ApiModelProperty(value = "单价中是否已包含包装费", required = true) | |
| 132 | + @ApiModelProperty(value = "单价中是否已包含包装费") | |
| 138 | 133 | @TypeMismatch(message = "单价中是否已包含包装费格式有误!") |
| 139 | - @NotNull(message = "请输入单价中是否已包含包装费!") | |
| 140 | 134 | private Boolean includesPackagingFee; |
| 141 | 135 | |
| 142 | 136 | /** |
| 143 | 137 | * 单价中是否已包含运费 |
| 144 | 138 | */ |
| 145 | - @ApiModelProperty(value = "单价中是否已包含运费", required = true) | |
| 139 | + @ApiModelProperty(value = "单价中是否已包含运费") | |
| 146 | 140 | @TypeMismatch(message = "单价中是否已包含运费格式有误!") |
| 147 | - @NotNull(message = "请输入单价中是否已包含运费!") | |
| 148 | 141 | private Boolean includesTransportFee; |
| 149 | 142 | |
| 150 | 143 | /** |
| 151 | 144 | * 件重条头 |
| 152 | 145 | */ |
| 153 | - @ApiModelProperty(value = "件重条头", required = true) | |
| 154 | - @NotBlank(message = "请输入件重条头!") | |
| 146 | + @ApiModelProperty(value = "件重条头") | |
| 155 | 147 | @Length(message = "件重条头最多允许65,535个字符!") |
| 156 | 148 | private String pieceWeightHead; |
| 157 | 149 | |
| 158 | 150 | /** |
| 159 | 151 | * 表面 |
| 160 | 152 | */ |
| 161 | - @ApiModelProperty(value = "表面", required = true) | |
| 162 | - @NotBlank(message = "请输入表面!") | |
| 153 | + @ApiModelProperty(value = "表面") | |
| 163 | 154 | @Length(message = "表面最多允许65,535个字符!") |
| 164 | 155 | private String surface; |
| 165 | 156 | |
| 166 | 157 | /** |
| 167 | 158 | * 公差 |
| 168 | 159 | */ |
| 169 | - @ApiModelProperty(value = "公差", required = true) | |
| 170 | - @NotBlank(message = "请输入公差!") | |
| 160 | + @ApiModelProperty(value = "公差") | |
| 171 | 161 | @Length(message = "公差最多允许65,535个字符!") |
| 172 | 162 | private String tolerance; |
| 173 | 163 | |
| 174 | 164 | /** |
| 175 | 165 | * 性能 |
| 176 | 166 | */ |
| 177 | - @ApiModelProperty(value = "性能", required = true) | |
| 178 | - @NotBlank(message = "请输入性能!") | |
| 167 | + @ApiModelProperty(value = "性能") | |
| 179 | 168 | @Length(message = "性能最多允许65,535个字符!") |
| 180 | 169 | private String performance; |
| 181 | 170 | |
| 182 | 171 | /** |
| 183 | 172 | * 包装 |
| 184 | 173 | */ |
| 185 | - @ApiModelProperty(value = "包装", required = true) | |
| 186 | - @NotBlank(message = "请输入包装!") | |
| 174 | + @ApiModelProperty(value = "包装") | |
| 187 | 175 | @Length(message = "包装最多允许65,535个字符!") |
| 188 | 176 | private String packaging; |
| 189 | 177 | |
| 190 | 178 | /** |
| 191 | 179 | * 特别条款要求 |
| 192 | 180 | */ |
| 193 | - @ApiModelProperty(value = "特别条款要求", required = true) | |
| 194 | - @NotBlank(message = "请输入特别条款要求!") | |
| 181 | + @ApiModelProperty(value = "特别条款要求") | |
| 195 | 182 | @Length(message = "特别条款要求最多允许50个字符!") |
| 196 | 183 | private String specialTerms; |
| 197 | 184 | |
| 198 | 185 | /** |
| 199 | 186 | * 需方指定收货人 |
| 200 | 187 | */ |
| 201 | - @ApiModelProperty(value = "需方指定收货人", required = true) | |
| 202 | - @NotBlank(message = "请输入需方指定收货人!") | |
| 188 | + @ApiModelProperty(value = "需方指定收货人") | |
| 203 | 189 | @Length(message = "需方指定收货人最多允许65,535个字符!") |
| 204 | 190 | private String designatedConsignee; |
| 205 | 191 | |
| 206 | 192 | /** |
| 207 | 193 | * 特别说明 |
| 208 | 194 | */ |
| 209 | - @ApiModelProperty(value = "特别说明", required = true) | |
| 210 | - @NotBlank(message = "请输入特别说明!") | |
| 195 | + @ApiModelProperty(value = "特别说明") | |
| 211 | 196 | @Length(message = "特别说明最多允许65,535个字符!") |
| 212 | 197 | private String specialInstructions; |
| 213 | 198 | |
| 214 | 199 | /** |
| 215 | 200 | * 备注 |
| 216 | 201 | */ |
| 217 | - @ApiModelProperty(value = "备注", required = true) | |
| 218 | - @NotBlank(message = "请输入备注!") | |
| 202 | + @ApiModelProperty(value = "备注") | |
| 219 | 203 | @Length(message = "备注最多允许65,535个字符!") |
| 220 | 204 | private String remarks; |
| 221 | 205 | |
| 222 | 206 | /** |
| 223 | 207 | * 合计数量 |
| 224 | 208 | */ |
| 225 | - @ApiModelProperty(value = "合计数量", required = true) | |
| 209 | + @ApiModelProperty(value = "合计数量") | |
| 226 | 210 | @TypeMismatch(message = "合计数量格式有误!") |
| 227 | - @NotNull(message = "请输入合计数量!") | |
| 228 | 211 | private BigDecimal totalQuantity; |
| 229 | 212 | |
| 230 | 213 | /** |
| 231 | 214 | * 合计不含税金额 |
| 232 | 215 | */ |
| 233 | - @ApiModelProperty(value = "合计不含税金额", required = true) | |
| 216 | + @ApiModelProperty(value = "合计不含税金额") | |
| 234 | 217 | @TypeMismatch(message = "合计不含税金额格式有误!") |
| 235 | - @NotNull(message = "请输入合计不含税金额!") | |
| 236 | 218 | private BigDecimal totalAmountExcludingTax; |
| 237 | 219 | |
| 238 | 220 | /** |
| 239 | 221 | * 合计总金额 |
| 240 | 222 | */ |
| 241 | - @ApiModelProperty(value = "合计总金额", required = true) | |
| 223 | + @ApiModelProperty(value = "合计总金额") | |
| 242 | 224 | @TypeMismatch(message = "合计总金额格式有误!") |
| 243 | - @NotNull(message = "请输入合计总金额!") | |
| 244 | 225 | private BigDecimal totalAmountIncludingTax; |
| 245 | 226 | |
| 246 | 227 | /** |
| ... | ... | @@ -252,8 +233,7 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable |
| 252 | 233 | /** |
| 253 | 234 | * 合同类型 |
| 254 | 235 | */ |
| 255 | - @ApiModelProperty(value = "合同类型", required = true) | |
| 256 | - @NotBlank(message = "请输入合同类型!") | |
| 236 | + @ApiModelProperty(value = "合同类型") | |
| 257 | 237 | private String type; |
| 258 | 238 | |
| 259 | 239 | /** |
| ... | ... | @@ -261,4 +241,11 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable |
| 261 | 241 | */ |
| 262 | 242 | @ApiModelProperty(value = "父合同id") |
| 263 | 243 | private String parentId; |
| 244 | + | |
| 245 | + /** | |
| 246 | + * 经销标准合同物料行 | |
| 247 | + */ | |
| 248 | + @ApiModelProperty(value = "经销标准合同物料行", required = true) | |
| 249 | + @NotNull(message = "经销标准合同物料行不可为空!") | |
| 250 | + private List<UpdateContractDistributorLineVo> contractDistributorLineList; | |
| 264 | 251 | } | ... | ... |