Commit e547156f5517ab46d5601c5eb682b22414fcf429

Authored by 杨鸣坤
1 parent 51e046e6

楚江ERP:修改合同内容

@@ -143,6 +143,42 @@ public class GetContractDistributorStandardBo extends BaseBo<ContractDistributor @@ -143,6 +143,42 @@ public class GetContractDistributorStandardBo extends BaseBo<ContractDistributor
143 private String destination; 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 @ApiModelProperty("单价中是否已包含包装费") 184 @ApiModelProperty("单价中是否已包含包装费")
@@ -80,6 +80,42 @@ public class QueryContractDistributorStandardBo extends BaseBo<ContractDistribut @@ -80,6 +80,42 @@ public class QueryContractDistributorStandardBo extends BaseBo<ContractDistribut
80 private String destination; 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 @ApiModelProperty("合计总金额") 121 @ApiModelProperty("合计总金额")
@@ -76,4 +76,9 @@ public interface GenerateCodeTypePool { @@ -76,4 +76,9 @@ public interface GenerateCodeTypePool {
76 * 框架合同 76 * 框架合同
77 */ 77 */
78 Integer CONTRACT_FRAMEWORK = 401; 78 Integer CONTRACT_FRAMEWORK = 401;
  79 +
  80 + /**
  81 + * 合同
  82 + */
  83 + Integer CONTRACT = 402;
79 } 84 }
@@ -11,9 +11,12 @@ import com.lframework.starter.web.core.components.security.SecurityUtil; @@ -11,9 +11,12 @@ import com.lframework.starter.web.core.components.security.SecurityUtil;
11 import com.lframework.starter.web.core.controller.DefaultBaseController; 11 import com.lframework.starter.web.core.controller.DefaultBaseController;
12 import com.lframework.starter.web.core.utils.PageResultUtil; 12 import com.lframework.starter.web.core.utils.PageResultUtil;
13 import com.lframework.starter.web.inner.bo.system.user.GetSysUserBo; 13 import com.lframework.starter.web.inner.bo.system.user.GetSysUserBo;
  14 +import com.lframework.starter.web.inner.dto.dic.city.DicCityDto;
14 import com.lframework.starter.web.inner.entity.SysDataDicItem; 15 import com.lframework.starter.web.inner.entity.SysDataDicItem;
15 import com.lframework.starter.web.inner.entity.SysDept; 16 import com.lframework.starter.web.inner.entity.SysDept;
16 import com.lframework.starter.web.inner.entity.SysUser; 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 import com.lframework.starter.web.inner.service.system.SysDataDicItemService; 20 import com.lframework.starter.web.inner.service.system.SysDataDicItemService;
18 import com.lframework.starter.web.inner.service.system.SysDeptService; 21 import com.lframework.starter.web.inner.service.system.SysDeptService;
19 import com.lframework.starter.web.inner.service.system.SysUserService; 22 import com.lframework.starter.web.inner.service.system.SysUserService;
@@ -23,6 +26,7 @@ import com.lframework.xingyun.basedata.vo.customer.QueryCustomerVo; @@ -23,6 +26,7 @@ import com.lframework.xingyun.basedata.vo.customer.QueryCustomerVo;
23 import com.lframework.xingyun.sc.bo.contract.GetContractDistributorLineBo; 26 import com.lframework.xingyun.sc.bo.contract.GetContractDistributorLineBo;
24 import com.lframework.xingyun.sc.bo.contract.GetContractDistributorStandardBo; 27 import com.lframework.xingyun.sc.bo.contract.GetContractDistributorStandardBo;
25 import com.lframework.xingyun.sc.bo.contract.QueryContractDistributorStandardBo; 28 import com.lframework.xingyun.sc.bo.contract.QueryContractDistributorStandardBo;
  29 +import com.lframework.xingyun.sc.components.code.GenerateCodeTypePool;
26 import com.lframework.xingyun.sc.entity.ContractDistributorLine; 30 import com.lframework.xingyun.sc.entity.ContractDistributorLine;
27 import com.lframework.xingyun.sc.entity.ContractDistributorStandard; 31 import com.lframework.xingyun.sc.entity.ContractDistributorStandard;
28 import com.lframework.xingyun.sc.service.contract.ContractDistributorLineService; 32 import com.lframework.xingyun.sc.service.contract.ContractDistributorLineService;
@@ -68,6 +72,11 @@ public class ContractDistributorStandardController extends DefaultBaseController @@ -68,6 +72,11 @@ public class ContractDistributorStandardController extends DefaultBaseController
68 private SysUserService sysUserService; 72 private SysUserService sysUserService;
69 @Autowired 73 @Autowired
70 private SysDataDicItemService sysDataDicItemService; 74 private SysDataDicItemService sysDataDicItemService;
  75 + @Autowired
  76 + private GenerateCodeService generateCodeService;
  77 + @Autowired
  78 + private DicCityService dicCityService;
  79 +
71 80
72 public static final String SUPPLIER_DIC_CODE = "SUPPLIER"; // 所属单位/供方 81 public static final String SUPPLIER_DIC_CODE = "SUPPLIER"; // 所属单位/供方
73 public static final String UNIT_DIC_CODE = "UNIT"; // 单位 82 public static final String UNIT_DIC_CODE = "UNIT"; // 单位
@@ -143,6 +152,18 @@ public class ContractDistributorStandardController extends DefaultBaseController @@ -143,6 +152,18 @@ public class ContractDistributorStandardController extends DefaultBaseController
143 Customer customer = customerMap.get(bo.getBuyer()); 152 Customer customer = customerMap.get(bo.getBuyer());
144 bo.setBuyerName(customer == null ? "" : customer.getName()); 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 boPageResult.setDatas(boList); 169 boPageResult.setDatas(boList);
@@ -184,6 +205,16 @@ public class ContractDistributorStandardController extends DefaultBaseController @@ -184,6 +205,16 @@ public class ContractDistributorStandardController extends DefaultBaseController
184 SysDataDicItem standardDicItem = sysDataDicItemService.findByCode(APPLICABLE_STANDARD_DIC_CODE, result.getExecutionStandard()); 205 SysDataDicItem standardDicItem = sysDataDicItemService.findByCode(APPLICABLE_STANDARD_DIC_CODE, result.getExecutionStandard());
185 result.setExecutionStandardName(standardDicItem == null ? "" : standardDicItem.getName()); 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 List<SysDataDicItem> productDicItemList = sysDataDicItemService.findByDicCode(CONTRACT_PRODUCT_DIC_CODE); 218 List<SysDataDicItem> productDicItemList = sysDataDicItemService.findByDicCode(CONTRACT_PRODUCT_DIC_CODE);
188 Map<String, String> productCodeAndNameMap = productDicItemList.stream().collect(Collectors.toMap(SysDataDicItem::getCode, SysDataDicItem::getName)); 219 Map<String, String> productCodeAndNameMap = productDicItemList.stream().collect(Collectors.toMap(SysDataDicItem::getCode, SysDataDicItem::getName));
189 List<GetContractDistributorLineBo> lineBoList = new ArrayList<>(contractDistributorLineList.size()); 220 List<GetContractDistributorLineBo> lineBoList = new ArrayList<>(contractDistributorLineList.size());
@@ -232,7 +263,7 @@ public class ContractDistributorStandardController extends DefaultBaseController @@ -232,7 +263,7 @@ public class ContractDistributorStandardController extends DefaultBaseController
232 @ApiOperation("修改") 263 @ApiOperation("修改")
233 @HasPermission({"contract:contractDistributorStandard:modify"}) 264 @HasPermission({"contract:contractDistributorStandard:modify"})
234 @PutMapping 265 @PutMapping
235 - public InvokeResult<Void> update(@Valid UpdateContractDistributorStandardVo vo) { 266 + public InvokeResult<Void> update(@Valid @RequestBody UpdateContractDistributorStandardVo vo) {
236 267
237 contractDistributorStandardService.update(vo); 268 contractDistributorStandardService.update(vo);
238 269
@@ -240,4 +271,27 @@ public class ContractDistributorStandardController extends DefaultBaseController @@ -240,4 +271,27 @@ public class ContractDistributorStandardController extends DefaultBaseController
240 271
241 return InvokeResultBuilder.success(); 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 package com.lframework.xingyun.sc.impl.contract; 1 package com.lframework.xingyun.sc.impl.contract;
2 2
  3 +import com.baomidou.mybatisplus.core.conditions.Wrapper;
3 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 4 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
4 import com.baomidou.mybatisplus.core.toolkit.Wrappers; 5 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
5 import com.github.pagehelper.PageInfo; 6 import com.github.pagehelper.PageInfo;
  7 +import com.lframework.xingyun.sc.entity.ContractDistributorLine;
6 import com.lframework.xingyun.sc.entity.ContractDistributorStandard; 8 import com.lframework.xingyun.sc.entity.ContractDistributorStandard;
7 import com.lframework.starter.web.core.impl.BaseMpServiceImpl; 9 import com.lframework.starter.web.core.impl.BaseMpServiceImpl;
8 import com.lframework.starter.web.core.utils.PageResultUtil; 10 import com.lframework.starter.web.core.utils.PageResultUtil;
@@ -21,7 +23,10 @@ import com.lframework.xingyun.sc.service.contract.ContractDistributorStandardSer @@ -21,7 +23,10 @@ import com.lframework.xingyun.sc.service.contract.ContractDistributorStandardSer
21 import com.lframework.xingyun.sc.vo.contract.createVo.CreateContractDistributorLineVo; 23 import com.lframework.xingyun.sc.vo.contract.createVo.CreateContractDistributorLineVo;
22 import com.lframework.xingyun.sc.vo.contract.createVo.CreateContractDistributorStandardVo; 24 import com.lframework.xingyun.sc.vo.contract.createVo.CreateContractDistributorStandardVo;
23 import com.lframework.xingyun.sc.vo.contract.queryVo.QueryContractDistributorStandardVo; 25 import com.lframework.xingyun.sc.vo.contract.queryVo.QueryContractDistributorStandardVo;
  26 +import com.lframework.xingyun.sc.vo.contract.updateVo.UpdateContractDistributorLineVo;
24 import com.lframework.xingyun.sc.vo.contract.updateVo.UpdateContractDistributorStandardVo; 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 import org.springframework.beans.factory.annotation.Autowired; 30 import org.springframework.beans.factory.annotation.Autowired;
26 import org.springframework.cache.annotation.CacheEvict; 31 import org.springframework.cache.annotation.CacheEvict;
27 import org.springframework.cache.annotation.Cacheable; 32 import org.springframework.cache.annotation.Cacheable;
@@ -29,7 +34,9 @@ import org.springframework.stereotype.Service; @@ -29,7 +34,9 @@ import org.springframework.stereotype.Service;
29 import org.springframework.transaction.annotation.Transactional; 34 import org.springframework.transaction.annotation.Transactional;
30 35
31 import java.io.Serializable; 36 import java.io.Serializable;
  37 +import java.util.ArrayList;
32 import java.util.List; 38 import java.util.List;
  39 +import java.util.stream.Collectors;
33 40
34 @Service 41 @Service
35 public class ContractDistributorStandardServiceImpl extends 42 public class ContractDistributorStandardServiceImpl extends
@@ -160,6 +167,55 @@ public class ContractDistributorStandardServiceImpl extends @@ -160,6 +167,55 @@ public class ContractDistributorStandardServiceImpl extends
160 167
161 getBaseMapper().update(updateWrapper); 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 OpLogUtil.setVariable("id", data.getId()); 219 OpLogUtil.setVariable("id", data.getId());
164 OpLogUtil.setExtra(vo); 220 OpLogUtil.setExtra(vo);
165 } 221 }
@@ -78,8 +78,7 @@ public class CreateContractDistributorStandardVo implements BaseVo, Serializable @@ -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 @Length(message = "交付定金信息(包含数额、时间)最多允许500个字符!") 82 @Length(message = "交付定金信息(包含数额、时间)最多允许500个字符!")
84 private String depositInfo; 83 private String depositInfo;
85 84
@@ -25,127 +25,111 @@ public class UpdateContractDistributorLineVo implements BaseVo, Serializable { @@ -25,127 +25,111 @@ public class UpdateContractDistributorLineVo implements BaseVo, Serializable {
25 /** 25 /**
26 * ID 26 * ID
27 */ 27 */
28 - @ApiModelProperty(value = "ID", required = true)  
29 - @NotBlank(message = "id不能为空!") 28 + @ApiModelProperty(value = "ID")
30 private String id; 29 private String id;
31 30
32 /** 31 /**
33 * 合同主表ID 32 * 合同主表ID
34 */ 33 */
35 - @ApiModelProperty(value = "合同主表ID", required = true)  
36 - @NotBlank(message = "请输入合同主表ID!") 34 + @ApiModelProperty(value = "合同主表ID")
37 @Length(message = "合同主表ID最多允许32个字符!") 35 @Length(message = "合同主表ID最多允许32个字符!")
38 private String contractId; 36 private String contractId;
39 37
40 /** 38 /**
41 * 行业 39 * 行业
42 */ 40 */
43 - @ApiModelProperty(value = "行业", required = true)  
44 - @NotBlank(message = "请输入行业!") 41 + @ApiModelProperty(value = "行业")
45 @Length(message = "行业最多允许100个字符!") 42 @Length(message = "行业最多允许100个字符!")
46 private String industry; 43 private String industry;
47 44
48 /** 45 /**
49 * 品质 46 * 品质
50 */ 47 */
51 - @ApiModelProperty(value = "品质", required = true)  
52 - @NotBlank(message = "请输入品质!") 48 + @ApiModelProperty(value = "品质")
53 @Length(message = "品质最多允许100个字符!") 49 @Length(message = "品质最多允许100个字符!")
54 private String quality; 50 private String quality;
55 51
56 /** 52 /**
57 * 牌号 53 * 牌号
58 */ 54 */
59 - @ApiModelProperty(value = "牌号", required = true)  
60 - @NotBlank(message = "请输入牌号!") 55 + @ApiModelProperty(value = "牌号")
61 @Length(message = "牌号最多允许100个字符!") 56 @Length(message = "牌号最多允许100个字符!")
62 private String brand; 57 private String brand;
63 58
64 /** 59 /**
65 * 厚度 60 * 厚度
66 */ 61 */
67 - @ApiModelProperty(value = "厚度", required = true) 62 + @ApiModelProperty(value = "厚度")
68 @TypeMismatch(message = "厚度格式有误!") 63 @TypeMismatch(message = "厚度格式有误!")
69 - @NotNull(message = "请输入厚度!")  
70 @IsNumberPrecision(message = "厚度最多允许4位小数!", value = 4) 64 @IsNumberPrecision(message = "厚度最多允许4位小数!", value = 4)
71 private BigDecimal thickness; 65 private BigDecimal thickness;
72 66
73 /** 67 /**
74 * 宽度 68 * 宽度
75 */ 69 */
76 - @ApiModelProperty(value = "宽度", required = true) 70 + @ApiModelProperty(value = "宽度")
77 @TypeMismatch(message = "宽度格式有误!") 71 @TypeMismatch(message = "宽度格式有误!")
78 - @NotNull(message = "请输入宽度!")  
79 @IsNumberPrecision(message = "宽度最多允许4位小数!", value = 4) 72 @IsNumberPrecision(message = "宽度最多允许4位小数!", value = 4)
80 private BigDecimal width; 73 private BigDecimal width;
81 74
82 /** 75 /**
83 * 长度 76 * 长度
84 */ 77 */
85 - @ApiModelProperty(value = "长度", required = true) 78 + @ApiModelProperty(value = "长度")
86 @TypeMismatch(message = "长度格式有误!") 79 @TypeMismatch(message = "长度格式有误!")
87 - @NotNull(message = "请输入长度!")  
88 @IsNumberPrecision(message = "长度最多允许4位小数!", value = 4) 80 @IsNumberPrecision(message = "长度最多允许4位小数!", value = 4)
89 private BigDecimal length; 81 private BigDecimal length;
90 82
91 /** 83 /**
92 * 状态 84 * 状态
93 */ 85 */
94 - @ApiModelProperty(value = "状态", required = true)  
95 - @NotBlank(message = "请输入状态!") 86 + @ApiModelProperty(value = "状态")
96 @Length(message = "状态最多允许50个字符!") 87 @Length(message = "状态最多允许50个字符!")
97 private String status; 88 private String status;
98 89
99 /** 90 /**
100 * 数量 91 * 数量
101 */ 92 */
102 - @ApiModelProperty(value = "数量", required = true) 93 + @ApiModelProperty(value = "数量")
103 @TypeMismatch(message = "数量格式有误!") 94 @TypeMismatch(message = "数量格式有误!")
104 - @NotNull(message = "请输入数量!")  
105 @IsNumberPrecision(message = "数量最多允许4位小数!", value = 4) 95 @IsNumberPrecision(message = "数量最多允许4位小数!", value = 4)
106 private BigDecimal quantity; 96 private BigDecimal quantity;
107 97
108 /** 98 /**
109 * 单价 99 * 单价
110 */ 100 */
111 - @ApiModelProperty(value = "单价", required = true) 101 + @ApiModelProperty(value = "单价")
112 @TypeMismatch(message = "单价格式有误!") 102 @TypeMismatch(message = "单价格式有误!")
113 - @NotNull(message = "请输入单价!")  
114 @IsNumberPrecision(message = "单价最多允许4位小数!", value = 4) 103 @IsNumberPrecision(message = "单价最多允许4位小数!", value = 4)
115 private BigDecimal unitPrice; 104 private BigDecimal unitPrice;
116 105
117 /** 106 /**
118 * 不含税金额 107 * 不含税金额
119 */ 108 */
120 - @ApiModelProperty(value = "不含税金额", required = true) 109 + @ApiModelProperty(value = "不含税金额")
121 @TypeMismatch(message = "不含税金额格式有误!") 110 @TypeMismatch(message = "不含税金额格式有误!")
122 - @NotNull(message = "请输入不含税金额!")  
123 @IsNumberPrecision(message = "不含税金额最多允许2位小数!", value = 2) 111 @IsNumberPrecision(message = "不含税金额最多允许2位小数!", value = 2)
124 private BigDecimal amountExcludingTax; 112 private BigDecimal amountExcludingTax;
125 113
126 /** 114 /**
127 * 总金额 115 * 总金额
128 */ 116 */
129 - @ApiModelProperty(value = "总金额", required = true) 117 + @ApiModelProperty(value = "总金额")
130 @TypeMismatch(message = "总金额格式有误!") 118 @TypeMismatch(message = "总金额格式有误!")
131 - @NotNull(message = "请输入总金额!")  
132 @IsNumberPrecision(message = "总金额最多允许2位小数!", value = 2) 119 @IsNumberPrecision(message = "总金额最多允许2位小数!", value = 2)
133 private BigDecimal totalAmount; 120 private BigDecimal totalAmount;
134 121
135 /** 122 /**
136 * 发货日期 123 * 发货日期
137 */ 124 */
138 - @ApiModelProperty(value = "发货日期", required = true) 125 + @ApiModelProperty(value = "发货日期")
139 @TypeMismatch(message = "发货日期格式有误!") 126 @TypeMismatch(message = "发货日期格式有误!")
140 - @NotNull(message = "请输入发货日期!")  
141 private LocalDate deliveryDate; 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 private Integer showOrder; 133 private Integer showOrder;
150 134
151 /** 135 /**
@@ -158,49 +142,43 @@ public class UpdateContractDistributorLineVo implements BaseVo, Serializable { @@ -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 @TypeMismatch(message = "厚度公差正格式有误!") 146 @TypeMismatch(message = "厚度公差正格式有误!")
163 - @NotNull(message = "请输入厚度公差正!")  
164 private BigDecimal thicknessTolPos; 147 private BigDecimal thicknessTolPos;
165 148
166 /** 149 /**
167 * 厚度公差负 150 * 厚度公差负
168 */ 151 */
169 - @ApiModelProperty(value = "厚度公差负", required = true) 152 + @ApiModelProperty(value = "厚度公差负")
170 @TypeMismatch(message = "厚度公差负格式有误!") 153 @TypeMismatch(message = "厚度公差负格式有误!")
171 - @NotNull(message = "请输入厚度公差负!")  
172 private BigDecimal thicknessTolNeg; 154 private BigDecimal thicknessTolNeg;
173 155
174 /** 156 /**
175 * 宽度公差正 157 * 宽度公差正
176 */ 158 */
177 - @ApiModelProperty(value = "宽度公差正", required = true) 159 + @ApiModelProperty(value = "宽度公差正")
178 @TypeMismatch(message = "宽度公差正格式有误!") 160 @TypeMismatch(message = "宽度公差正格式有误!")
179 - @NotNull(message = "请输入宽度公差正!")  
180 private BigDecimal widthTolPos; 161 private BigDecimal widthTolPos;
181 162
182 /** 163 /**
183 * 宽度公差负 164 * 宽度公差负
184 */ 165 */
185 - @ApiModelProperty(value = "宽度公差负", required = true) 166 + @ApiModelProperty(value = "宽度公差负")
186 @TypeMismatch(message = "宽度公差负格式有误!") 167 @TypeMismatch(message = "宽度公差负格式有误!")
187 - @NotNull(message = "请输入宽度公差负!")  
188 private BigDecimal widthTolNeg; 168 private BigDecimal widthTolNeg;
189 169
190 /** 170 /**
191 * 长度公差正 171 * 长度公差正
192 */ 172 */
193 - @ApiModelProperty(value = "长度公差正", required = true) 173 + @ApiModelProperty(value = "长度公差正")
194 @TypeMismatch(message = "长度公差正格式有误!") 174 @TypeMismatch(message = "长度公差正格式有误!")
195 - @NotNull(message = "请输入长度公差正!")  
196 private BigDecimal lengthTolPos; 175 private BigDecimal lengthTolPos;
197 176
198 /** 177 /**
199 * 长度公差负 178 * 长度公差负
200 */ 179 */
201 - @ApiModelProperty(value = "长度公差负", required = true) 180 + @ApiModelProperty(value = "长度公差负")
202 @TypeMismatch(message = "长度公差负格式有误!") 181 @TypeMismatch(message = "长度公差负格式有误!")
203 - @NotNull(message = "请输入长度公差负!")  
204 private BigDecimal lengthTolNeg; 182 private BigDecimal lengthTolNeg;
205 183
206 } 184 }
@@ -15,6 +15,7 @@ import io.swagger.annotations.ApiModelProperty; @@ -15,6 +15,7 @@ import io.swagger.annotations.ApiModelProperty;
15 import org.hibernate.validator.constraints.Length; 15 import org.hibernate.validator.constraints.Length;
16 16
17 import java.io.Serializable; 17 import java.io.Serializable;
  18 +import java.util.List;
18 19
19 @Data 20 @Data
20 public class UpdateContractDistributorStandardVo implements BaseVo, Serializable { 21 public class UpdateContractDistributorStandardVo implements BaseVo, Serializable {
@@ -79,40 +80,35 @@ 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 @Length(message = "交付定金信息(包含数额、时间)最多允许500个字符!") 84 @Length(message = "交付定金信息(包含数额、时间)最多允许500个字符!")
85 private String depositInfo; 85 private String depositInfo;
86 86
87 /** 87 /**
88 * 包装要求 88 * 包装要求
89 */ 89 */
90 - @ApiModelProperty(value = "包装要求", required = true)  
91 - @NotBlank(message = "请输入包装要求!") 90 + @ApiModelProperty(value = "包装要求")
92 @Length(message = "包装要求最多允许200个字符!") 91 @Length(message = "包装要求最多允许200个字符!")
93 private String packagingRequirements; 92 private String packagingRequirements;
94 93
95 /** 94 /**
96 * 付款信息(包含付款方式、付款期限) 95 * 付款信息(包含付款方式、付款期限)
97 */ 96 */
98 - @ApiModelProperty(value = "付款信息(包含付款方式、付款期限)", required = true)  
99 - @NotBlank(message = "请输入付款信息(包含付款方式、付款期限)!") 97 + @ApiModelProperty(value = "付款信息(包含付款方式、付款期限)")
100 @Length(message = "付款信息(包含付款方式、付款期限)最多允许500个字符!") 98 @Length(message = "付款信息(包含付款方式、付款期限)最多允许500个字符!")
101 private String paymentTerms; 99 private String paymentTerms;
102 100
103 /** 101 /**
104 * 执行标准 102 * 执行标准
105 */ 103 */
106 - @ApiModelProperty(value = "执行标准", required = true)  
107 - @NotBlank(message = "请输入执行标准!") 104 + @ApiModelProperty(value = "执行标准")
108 @Length(message = "执行标准最多允许50个字符!") 105 @Length(message = "执行标准最多允许50个字符!")
109 private String executionStandard; 106 private String executionStandard;
110 107
111 /** 108 /**
112 * 运输方式 109 * 运输方式
113 */ 110 */
114 - @ApiModelProperty(value = "运输方式", required = true)  
115 - @NotBlank(message = "请输入运输方式!") 111 + @ApiModelProperty(value = "运输方式")
116 @Length(message = "运输方式最多允许100个字符!") 112 @Length(message = "运输方式最多允许100个字符!")
117 private String transportMode; 113 private String transportMode;
118 114
@@ -126,121 +122,106 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable @@ -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 @Length(message = "目的地最多允许200个字符!") 126 @Length(message = "目的地最多允许200个字符!")
132 private String destination; 127 private String destination;
133 128
134 /** 129 /**
135 * 单价中是否已包含包装费 130 * 单价中是否已包含包装费
136 */ 131 */
137 - @ApiModelProperty(value = "单价中是否已包含包装费", required = true) 132 + @ApiModelProperty(value = "单价中是否已包含包装费")
138 @TypeMismatch(message = "单价中是否已包含包装费格式有误!") 133 @TypeMismatch(message = "单价中是否已包含包装费格式有误!")
139 - @NotNull(message = "请输入单价中是否已包含包装费!")  
140 private Boolean includesPackagingFee; 134 private Boolean includesPackagingFee;
141 135
142 /** 136 /**
143 * 单价中是否已包含运费 137 * 单价中是否已包含运费
144 */ 138 */
145 - @ApiModelProperty(value = "单价中是否已包含运费", required = true) 139 + @ApiModelProperty(value = "单价中是否已包含运费")
146 @TypeMismatch(message = "单价中是否已包含运费格式有误!") 140 @TypeMismatch(message = "单价中是否已包含运费格式有误!")
147 - @NotNull(message = "请输入单价中是否已包含运费!")  
148 private Boolean includesTransportFee; 141 private Boolean includesTransportFee;
149 142
150 /** 143 /**
151 * 件重条头 144 * 件重条头
152 */ 145 */
153 - @ApiModelProperty(value = "件重条头", required = true)  
154 - @NotBlank(message = "请输入件重条头!") 146 + @ApiModelProperty(value = "件重条头")
155 @Length(message = "件重条头最多允许65,535个字符!") 147 @Length(message = "件重条头最多允许65,535个字符!")
156 private String pieceWeightHead; 148 private String pieceWeightHead;
157 149
158 /** 150 /**
159 * 表面 151 * 表面
160 */ 152 */
161 - @ApiModelProperty(value = "表面", required = true)  
162 - @NotBlank(message = "请输入表面!") 153 + @ApiModelProperty(value = "表面")
163 @Length(message = "表面最多允许65,535个字符!") 154 @Length(message = "表面最多允许65,535个字符!")
164 private String surface; 155 private String surface;
165 156
166 /** 157 /**
167 * 公差 158 * 公差
168 */ 159 */
169 - @ApiModelProperty(value = "公差", required = true)  
170 - @NotBlank(message = "请输入公差!") 160 + @ApiModelProperty(value = "公差")
171 @Length(message = "公差最多允许65,535个字符!") 161 @Length(message = "公差最多允许65,535个字符!")
172 private String tolerance; 162 private String tolerance;
173 163
174 /** 164 /**
175 * 性能 165 * 性能
176 */ 166 */
177 - @ApiModelProperty(value = "性能", required = true)  
178 - @NotBlank(message = "请输入性能!") 167 + @ApiModelProperty(value = "性能")
179 @Length(message = "性能最多允许65,535个字符!") 168 @Length(message = "性能最多允许65,535个字符!")
180 private String performance; 169 private String performance;
181 170
182 /** 171 /**
183 * 包装 172 * 包装
184 */ 173 */
185 - @ApiModelProperty(value = "包装", required = true)  
186 - @NotBlank(message = "请输入包装!") 174 + @ApiModelProperty(value = "包装")
187 @Length(message = "包装最多允许65,535个字符!") 175 @Length(message = "包装最多允许65,535个字符!")
188 private String packaging; 176 private String packaging;
189 177
190 /** 178 /**
191 * 特别条款要求 179 * 特别条款要求
192 */ 180 */
193 - @ApiModelProperty(value = "特别条款要求", required = true)  
194 - @NotBlank(message = "请输入特别条款要求!") 181 + @ApiModelProperty(value = "特别条款要求")
195 @Length(message = "特别条款要求最多允许50个字符!") 182 @Length(message = "特别条款要求最多允许50个字符!")
196 private String specialTerms; 183 private String specialTerms;
197 184
198 /** 185 /**
199 * 需方指定收货人 186 * 需方指定收货人
200 */ 187 */
201 - @ApiModelProperty(value = "需方指定收货人", required = true)  
202 - @NotBlank(message = "请输入需方指定收货人!") 188 + @ApiModelProperty(value = "需方指定收货人")
203 @Length(message = "需方指定收货人最多允许65,535个字符!") 189 @Length(message = "需方指定收货人最多允许65,535个字符!")
204 private String designatedConsignee; 190 private String designatedConsignee;
205 191
206 /** 192 /**
207 * 特别说明 193 * 特别说明
208 */ 194 */
209 - @ApiModelProperty(value = "特别说明", required = true)  
210 - @NotBlank(message = "请输入特别说明!") 195 + @ApiModelProperty(value = "特别说明")
211 @Length(message = "特别说明最多允许65,535个字符!") 196 @Length(message = "特别说明最多允许65,535个字符!")
212 private String specialInstructions; 197 private String specialInstructions;
213 198
214 /** 199 /**
215 * 备注 200 * 备注
216 */ 201 */
217 - @ApiModelProperty(value = "备注", required = true)  
218 - @NotBlank(message = "请输入备注!") 202 + @ApiModelProperty(value = "备注")
219 @Length(message = "备注最多允许65,535个字符!") 203 @Length(message = "备注最多允许65,535个字符!")
220 private String remarks; 204 private String remarks;
221 205
222 /** 206 /**
223 * 合计数量 207 * 合计数量
224 */ 208 */
225 - @ApiModelProperty(value = "合计数量", required = true) 209 + @ApiModelProperty(value = "合计数量")
226 @TypeMismatch(message = "合计数量格式有误!") 210 @TypeMismatch(message = "合计数量格式有误!")
227 - @NotNull(message = "请输入合计数量!")  
228 private BigDecimal totalQuantity; 211 private BigDecimal totalQuantity;
229 212
230 /** 213 /**
231 * 合计不含税金额 214 * 合计不含税金额
232 */ 215 */
233 - @ApiModelProperty(value = "合计不含税金额", required = true) 216 + @ApiModelProperty(value = "合计不含税金额")
234 @TypeMismatch(message = "合计不含税金额格式有误!") 217 @TypeMismatch(message = "合计不含税金额格式有误!")
235 - @NotNull(message = "请输入合计不含税金额!")  
236 private BigDecimal totalAmountExcludingTax; 218 private BigDecimal totalAmountExcludingTax;
237 219
238 /** 220 /**
239 * 合计总金额 221 * 合计总金额
240 */ 222 */
241 - @ApiModelProperty(value = "合计总金额", required = true) 223 + @ApiModelProperty(value = "合计总金额")
242 @TypeMismatch(message = "合计总金额格式有误!") 224 @TypeMismatch(message = "合计总金额格式有误!")
243 - @NotNull(message = "请输入合计总金额!")  
244 private BigDecimal totalAmountIncludingTax; 225 private BigDecimal totalAmountIncludingTax;
245 226
246 /** 227 /**
@@ -252,8 +233,7 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable @@ -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 private String type; 237 private String type;
258 238
259 /** 239 /**
@@ -261,4 +241,11 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable @@ -261,4 +241,11 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable
261 */ 241 */
262 @ApiModelProperty(value = "父合同id") 242 @ApiModelProperty(value = "父合同id")
263 private String parentId; 243 private String parentId;
  244 +
  245 + /**
  246 + * 经销标准合同物料行
  247 + */
  248 + @ApiModelProperty(value = "经销标准合同物料行", required = true)
  249 + @NotNull(message = "经销标准合同物料行不可为空!")
  250 + private List<UpdateContractDistributorLineVo> contractDistributorLineList;
264 } 251 }