Commit 2490414664427a99e9f3f8e0fc8369f4367c5e8f

Authored by 杨鸣坤
1 parent c9b38876

楚江ERP:加工标准合同

... ... @@ -312,6 +312,12 @@ public class GetContractDistributorStandardBo extends BaseBo<ContractDistributor
312 312 private List<GetContractDistributorLineBo> contractDistributorLineList;
313 313
314 314 /**
  315 + * 加工合同物料行
  316 + */
  317 + @ApiModelProperty("经销标准合同物料行")
  318 + private List<GetContractStdProcessingLineBo> contractStdProcessingLineList;
  319 +
  320 + /**
315 321 * 正式合同文件ID
316 322 */
317 323 @ApiModelProperty("正式合同文件ID")
... ...
... ... @@ -30,14 +30,17 @@ import com.lframework.xingyun.basedata.service.workshop.WorkshopService;
30 30 import com.lframework.xingyun.basedata.vo.customer.QueryCustomerVo;
31 31 import com.lframework.xingyun.sc.bo.contract.GetContractDistributorLineBo;
32 32 import com.lframework.xingyun.sc.bo.contract.GetContractDistributorStandardBo;
  33 +import com.lframework.xingyun.sc.bo.contract.GetContractStdProcessingLineBo;
33 34 import com.lframework.xingyun.sc.bo.contract.QueryContractDistributorStandardBo;
34 35 import com.lframework.xingyun.sc.components.code.GenerateCodeTypePool;
35 36 import com.lframework.xingyun.sc.entity.ContractDistributorLine;
36 37 import com.lframework.xingyun.sc.entity.ContractDistributorStandard;
37 38 import com.lframework.xingyun.sc.entity.ContractFramework;
  39 +import com.lframework.xingyun.sc.entity.ContractStdProcessingLine;
38 40 import com.lframework.xingyun.sc.service.contract.ContractDistributorLineService;
39 41 import com.lframework.xingyun.sc.service.contract.ContractDistributorStandardService;
40 42 import com.lframework.xingyun.sc.service.contract.ContractFrameworkService;
  43 +import com.lframework.xingyun.sc.service.contract.ContractStdProcessingLineService;
41 44 import com.lframework.xingyun.sc.utils.LatexFormulaExcelExporterUtil;
42 45 import com.lframework.xingyun.sc.vo.contract.createVo.CreateContractDistributorStandardVo;
43 46 import com.lframework.xingyun.sc.vo.contract.queryVo.QueryContractDistributorStandardVo;
... ... @@ -105,6 +108,8 @@ public class ContractDistributorStandardController extends DefaultBaseController
105 108 private ContractFrameworkService contractFrameworkService;
106 109 @Autowired
107 110 private ProductVarietyService productVarietyService;
  111 + @Autowired
  112 + private ContractStdProcessingLineService contractStdProcessingLineService;
108 113
109 114
110 115 public static final String SUPPLIER_DIC_CODE = "SUPPLIER"; // 所属单位/供方
... ... @@ -113,6 +118,7 @@ public class ContractDistributorStandardController extends DefaultBaseController
113 118 public static final String CONDITIONS_REQUIRED_DIC_CODE = "CONDITIONS_REQUIRED"; // 特别条款要求
114 119 public static final String APPLICABLE_STANDARD_DIC_CODE = "APPLICABLE_STANDARD"; // 执行标准
115 120 public static final String AUDIT_STATUS_DIC_CODE = "AUDIT_STATUS"; // 审核状态
  121 + public static final String RAW_TO_PROD_RATIO_DIC_CODE = "RAW_TO_PROD_RATIO"; // 原材料与产品数量比
116 122
117 123 /**
118 124 * 查询列表
... ... @@ -232,8 +238,13 @@ public class ContractDistributorStandardController extends DefaultBaseController
232 238 .eq(ContractDistributorLine::getContractId, id)
233 239 .orderByAsc(ContractDistributorLine::getShowOrder);
234 240 List<ContractDistributorLine> contractDistributorLineList = contractDistributorLineService.list(lineWrapper);
235   - if (CollectionUtils.isEmpty(contractDistributorLineList)) {
236   - throw new DefaultClientException("经销标准合同物料行为空!");
  241 +
  242 + Wrapper<ContractStdProcessingLine> stdLineWrapper = Wrappers.lambdaQuery(ContractStdProcessingLine.class)
  243 + .eq(ContractStdProcessingLine::getContractId, id)
  244 + .orderByAsc(ContractStdProcessingLine::getShowOrder);
  245 + List<ContractStdProcessingLine> contractStdProcessingLineList = contractStdProcessingLineService.list(stdLineWrapper);
  246 + if (CollectionUtils.isEmpty(contractDistributorLineList) && CollectionUtils.isEmpty(contractStdProcessingLineList)) {
  247 + throw new DefaultClientException("合同物料行为空!");
237 248 }
238 249
239 250 String buyerId = result.getBuyer();
... ... @@ -262,15 +273,36 @@ public class ContractDistributorStandardController extends DefaultBaseController
262 273
263 274 List<SysDataDicItem> productDicItemList = sysDataDicItemService.findByDicCode(CONTRACT_PRODUCT_DIC_CODE);
264 275 Map<String, String> productCodeAndNameMap = productDicItemList.stream().collect(Collectors.toMap(SysDataDicItem::getCode, SysDataDicItem::getName));
265   - List<GetContractDistributorLineBo> lineBoList = new ArrayList<>(contractDistributorLineList.size());
266   - contractDistributorLineList.forEach(contractDistributorLine -> {
267   - GetContractDistributorLineBo contractDistributorLineBo = new GetContractDistributorLineBo(contractDistributorLine);
268   - String productName = productCodeAndNameMap.get(contractDistributorLineBo.getProductId());
269   - contractDistributorLineBo.setProductName(productName);
270   - lineBoList.add(contractDistributorLineBo);
271   - });
  276 + if (CollectionUtils.isNotEmpty(contractDistributorLineList)) {
  277 + List<GetContractDistributorLineBo> lineBoList = new ArrayList<>(contractDistributorLineList.size());
  278 + contractDistributorLineList.forEach(contractDistributorLine -> {
  279 + GetContractDistributorLineBo contractDistributorLineBo = new GetContractDistributorLineBo(contractDistributorLine);
  280 + String productName = productCodeAndNameMap.get(contractDistributorLineBo.getProductId());
  281 + contractDistributorLineBo.setProductName(productName);
  282 + lineBoList.add(contractDistributorLineBo);
  283 + });
  284 +
  285 + result.setContractDistributorLineList(lineBoList);
  286 + }
  287 +
  288 + if (CollectionUtils.isNotEmpty(contractStdProcessingLineList)) {
  289 + List<GetContractStdProcessingLineBo> lineBoList = new ArrayList<>(contractStdProcessingLineList.size());
  290 + List<SysDataDicItem> rawToProdRatioDiciItemList = sysDataDicItemService.findByDicCode(RAW_TO_PROD_RATIO_DIC_CODE);
  291 + Map<String, String> rawToProdRatioCodeAndNameMap = rawToProdRatioDiciItemList.stream().collect(Collectors.toMap(SysDataDicItem::getCode, SysDataDicItem::getName));
  292 + contractStdProcessingLineList.forEach(contractStdProcessingLine -> {
  293 + GetContractStdProcessingLineBo contractStdProcessingLineBo = new GetContractStdProcessingLineBo(contractStdProcessingLine);
  294 + String rawProductName = productCodeAndNameMap.get(contractStdProcessingLineBo.getRawProductId());
  295 + String productName = productCodeAndNameMap.get(contractStdProcessingLineBo.getProductId());
  296 + String materialProductRatioName = rawToProdRatioCodeAndNameMap.get(contractStdProcessingLineBo.getMaterialProductRatio());
  297 + contractStdProcessingLineBo.setRawProductName(rawProductName);
  298 + contractStdProcessingLineBo.setProductName(productName);
  299 + contractStdProcessingLine.setMaterialProductRatio(materialProductRatioName);
  300 + lineBoList.add(contractStdProcessingLineBo);
  301 + });
  302 +
  303 + result.setContractStdProcessingLineList(lineBoList);
  304 + }
272 305
273   - result.setContractDistributorLineList(lineBoList);
274 306 return InvokeResultBuilder.success(result);
275 307 }
276 308
... ... @@ -281,8 +313,12 @@ public class ContractDistributorStandardController extends DefaultBaseController
281 313 @HasPermission({"contract:contractDistributorStandard:add"})
282 314 @PostMapping
283 315 public InvokeResult<Void> create(@Valid @RequestBody CreateContractDistributorStandardVo vo) {
284   - if (CollectionUtils.isEmpty(vo.getContractDistributorLineList())) {
285   - throw new DefaultClientException("经销标准合同物料行不可为空");
  316 + if (CollectionUtils.isEmpty(vo.getContractDistributorLineList()) && CollectionUtils.isEmpty(vo.getContractStdProcessingLineList())) {
  317 + throw new DefaultClientException("合同物料行不可为空!");
  318 + }
  319 +
  320 + if (StringUtils.isBlank(vo.getType())) {
  321 + throw new DefaultClientException("合同类型不可为空!");
286 322 }
287 323
288 324 //获取当前人员ID
... ... @@ -297,7 +333,11 @@ public class ContractDistributorStandardController extends DefaultBaseController
297 333 }
298 334 }
299 335
300   - contractDistributorStandardService.create(vo);
  336 + if("PROCESS_STD_AGMT".equals(vo.getType())) {
  337 + contractDistributorStandardService.createStdContract(vo);
  338 + } else {
  339 + contractDistributorStandardService.create(vo);
  340 + }
301 341
302 342 return InvokeResultBuilder.success();
303 343 }
... ...
... ... @@ -8,6 +8,7 @@ import com.lframework.starter.bpm.dto.FlowTaskDto;
8 8 import com.lframework.starter.bpm.mappers.FlowTaskWrapperMapper;
9 9 import com.lframework.starter.bpm.service.FlowInstanceWrapperService;
10 10 import com.lframework.starter.bpm.vo.flow.task.QueryTodoTaskListVo;
  11 +import com.lframework.starter.common.utils.StringUtil;
11 12 import com.lframework.starter.web.core.components.security.SecurityUtil;
12 13 import com.lframework.xingyun.sc.entity.ContractDistributorLine;
13 14 import com.lframework.xingyun.sc.entity.ContractDistributorStandard;
... ... @@ -22,15 +23,19 @@ import com.lframework.starter.web.inner.components.oplog.OtherOpLogType;
22 23 import com.lframework.starter.web.core.components.resp.PageResult;
23 24 import com.lframework.starter.common.utils.ObjectUtil;
24 25 import com.lframework.starter.common.utils.Assert;
  26 +import com.lframework.xingyun.sc.entity.ContractStdProcessingLine;
25 27 import com.lframework.xingyun.sc.enums.CustomerDevelopStatus;
26 28 import com.lframework.xingyun.sc.mappers.ContractDistributorStandardMapper;
27 29 import com.lframework.xingyun.sc.service.contract.ContractDistributorLineService;
28 30 import com.lframework.xingyun.sc.service.contract.ContractDistributorStandardService;
  31 +import com.lframework.xingyun.sc.service.contract.ContractStdProcessingLineService;
29 32 import com.lframework.xingyun.sc.vo.contract.createVo.CreateContractDistributorLineVo;
30 33 import com.lframework.xingyun.sc.vo.contract.createVo.CreateContractDistributorStandardVo;
  34 +import com.lframework.xingyun.sc.vo.contract.createVo.CreateContractStdProcessingLineVo;
31 35 import com.lframework.xingyun.sc.vo.contract.queryVo.QueryContractDistributorStandardVo;
32 36 import com.lframework.xingyun.sc.vo.contract.updateVo.UpdateContractDistributorLineVo;
33 37 import com.lframework.xingyun.sc.vo.contract.updateVo.UpdateContractDistributorStandardVo;
  38 +import com.lframework.xingyun.sc.vo.contract.updateVo.UpdateContractStdProcessingLineVo;
34 39 import org.apache.commons.collections4.CollectionUtils;
35 40 import org.apache.commons.lang3.StringUtils;
36 41 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -64,6 +69,8 @@ public class ContractDistributorStandardServiceImpl extends
64 69 private FlowInstanceWrapperService flowInstanceWrapperService;
65 70 @Resource
66 71 private FlowTaskWrapperMapper flowTaskWrapperMapper;
  72 + @Resource
  73 + private ContractStdProcessingLineService contractStdProcessingLineService;
67 74
68 75
69 76 @Override
... ... @@ -118,6 +125,42 @@ public class ContractDistributorStandardServiceImpl extends
118 125 @Override
119 126 public String create(CreateContractDistributorStandardVo vo) {
120 127
  128 + ContractDistributorStandard data = createContractBase(vo);
  129 +
  130 + OpLogUtil.setVariable("id", data.getId());
  131 + OpLogUtil.setExtra(vo);
  132 +
  133 + for (int i = 0; i < vo.getContractDistributorLineList().size(); i++) {
  134 + CreateContractDistributorLineVo createContractDistributorLineVo = vo.getContractDistributorLineList().get(i);
  135 + createContractDistributorLineVo.setContractId(data.getId());
  136 + createContractDistributorLineVo.setShowOrder(i);
  137 + contractDistributorLineService.create(createContractDistributorLineVo);
  138 + }
  139 +
  140 + return data.getId();
  141 + }
  142 +
  143 + @OpLog(type = OtherOpLogType.class, name = "新增合同,ID:{}", params = {"#id"})
  144 + @Transactional(rollbackFor = Exception.class)
  145 + @Override
  146 + public String createStdContract(CreateContractDistributorStandardVo vo) {
  147 +
  148 + ContractDistributorStandard data = createContractBase(vo);
  149 +
  150 + OpLogUtil.setVariable("id", data.getId());
  151 + OpLogUtil.setExtra(vo);
  152 +
  153 + for (int i = 0; i < vo.getContractStdProcessingLineList().size(); i++) {
  154 + CreateContractStdProcessingLineVo createContractStdProcessingLineVo = vo.getContractStdProcessingLineList().get(i);
  155 + createContractStdProcessingLineVo.setContractId(data.getId());
  156 + createContractStdProcessingLineVo.setShowOrder(i);
  157 + contractStdProcessingLineService.create(createContractStdProcessingLineVo);
  158 + }
  159 +
  160 + return data.getId();
  161 + }
  162 +
  163 + private ContractDistributorStandard createContractBase(CreateContractDistributorStandardVo vo) {
121 164 ContractDistributorStandard data = new ContractDistributorStandard();
122 165 data.setId(IdUtil.getUUID());
123 166 data.setCode(vo.getCode());
... ... @@ -154,18 +197,7 @@ public class ContractDistributorStandardServiceImpl extends
154 197 data.setType(vo.getType());
155 198
156 199 getBaseMapper().insert(data);
157   -
158   - OpLogUtil.setVariable("id", data.getId());
159   - OpLogUtil.setExtra(vo);
160   -
161   - for (int i = 0; i < vo.getContractDistributorLineList().size(); i++) {
162   - CreateContractDistributorLineVo createContractDistributorLineVo = vo.getContractDistributorLineList().get(i);
163   - createContractDistributorLineVo.setContractId(data.getId());
164   - createContractDistributorLineVo.setShowOrder(i);
165   - contractDistributorLineService.create(createContractDistributorLineVo);
166   - }
167   -
168   - return data.getId();
  200 + return data;
169 201 }
170 202
171 203 @OpLog(type = OtherOpLogType.class, name = "修改合同,ID:{}", params = {"#id"})
... ... @@ -214,6 +246,129 @@ public class ContractDistributorStandardServiceImpl extends
214 246
215 247 getBaseMapper().update(updateWrapper);
216 248
  249 + if ("PROCESS_STD_AGMT".equals(data.getType())) {
  250 + dealWithStdProcessingLine(data, vo);
  251 + } else {
  252 + dealWithDistributorLine(data, vo);
  253 + }
  254 +
  255 +
  256 + OpLogUtil.setVariable("id", data.getId());
  257 + OpLogUtil.setExtra(vo);
  258 + }
  259 +
  260 + private void dealWithStdProcessingLine(ContractDistributorStandard data, UpdateContractDistributorStandardVo vo) {
  261 + Wrapper<ContractStdProcessingLine> lineWrapper = Wrappers.lambdaQuery(ContractStdProcessingLine.class)
  262 + .eq(ContractStdProcessingLine::getContractId, data.getId());
  263 + List<ContractStdProcessingLine> oldContractStdProcessingLineList = contractStdProcessingLineService.list(lineWrapper);
  264 + List<String> oldlineIdList = CollectionUtils.emptyIfNull(oldContractStdProcessingLineList)
  265 + .stream()
  266 + .map(ContractStdProcessingLine::getId).collect(Collectors.toList());
  267 + List<String> existIdList = new ArrayList<>(oldlineIdList.size());
  268 + for (int i = 0; i < vo.getContractStdProcessingLineList().size(); i++) {
  269 + UpdateContractStdProcessingLineVo updateContractStdProcessingLineVo = vo.getContractStdProcessingLineList().get(i);
  270 + updateContractStdProcessingLineVo.setShowOrder(i);
  271 + if (StringUtils.isNotBlank(updateContractStdProcessingLineVo.getId())) {
  272 + existIdList.add(updateContractStdProcessingLineVo.getId());
  273 + contractStdProcessingLineService.update(updateContractStdProcessingLineVo);
  274 + } else {
  275 + CreateContractStdProcessingLineVo createContractStdProcessingLineVo = new CreateContractStdProcessingLineVo();
  276 + createContractStdProcessingLineVo.setContractId(data.getId());
  277 + if (!StringUtil.isBlank(updateContractStdProcessingLineVo.getRawProductId())) {
  278 + createContractStdProcessingLineVo.setRawProductId(updateContractStdProcessingLineVo.getRawProductId());
  279 + }
  280 + if (!StringUtil.isBlank(updateContractStdProcessingLineVo.getRawProductGrade())) {
  281 + createContractStdProcessingLineVo.setRawProductGrade(updateContractStdProcessingLineVo.getRawProductGrade());
  282 + }
  283 + if (!StringUtil.isBlank(updateContractStdProcessingLineVo.getIndustry())) {
  284 + createContractStdProcessingLineVo.setIndustry(updateContractStdProcessingLineVo.getIndustry());
  285 + }
  286 + if (!StringUtil.isBlank(updateContractStdProcessingLineVo.getQuality())) {
  287 + createContractStdProcessingLineVo.setQuality(updateContractStdProcessingLineVo.getQuality());
  288 + }
  289 + if (!StringUtil.isBlank(updateContractStdProcessingLineVo.getLossRate())) {
  290 + createContractStdProcessingLineVo.setLossRate(updateContractStdProcessingLineVo.getLossRate());
  291 + }
  292 + if (updateContractStdProcessingLineVo.getSupplyTime() != null) {
  293 + createContractStdProcessingLineVo.setSupplyTime(updateContractStdProcessingLineVo.getSupplyTime());
  294 + }
  295 + if (!StringUtil.isBlank(updateContractStdProcessingLineVo.getMaterialProductRatio())) {
  296 + createContractStdProcessingLineVo.setMaterialProductRatio(updateContractStdProcessingLineVo.getMaterialProductRatio());
  297 + }
  298 + if (!StringUtil.isBlank(updateContractStdProcessingLineVo.getMaterialProductRatioRemarks())) {
  299 + createContractStdProcessingLineVo.setMaterialProductRatioRemarks(updateContractStdProcessingLineVo.getMaterialProductRatioRemarks());
  300 + }
  301 + if (!StringUtil.isBlank(updateContractStdProcessingLineVo.getProductId())) {
  302 + createContractStdProcessingLineVo.setProductId(updateContractStdProcessingLineVo.getProductId());
  303 + }
  304 + if (!StringUtil.isBlank(updateContractStdProcessingLineVo.getProductGrade())) {
  305 + createContractStdProcessingLineVo.setProductGrade(updateContractStdProcessingLineVo.getProductGrade());
  306 + }
  307 + if (!StringUtil.isBlank(updateContractStdProcessingLineVo.getProductStatus())) {
  308 + createContractStdProcessingLineVo.setProductStatus(updateContractStdProcessingLineVo.getProductStatus());
  309 + }
  310 + if (updateContractStdProcessingLineVo.getProductQuantity() != null) {
  311 + createContractStdProcessingLineVo.setProductQuantity(updateContractStdProcessingLineVo.getProductQuantity());
  312 + }
  313 + if (updateContractStdProcessingLineVo.getThickness() != null) {
  314 + createContractStdProcessingLineVo.setThickness(updateContractStdProcessingLineVo.getThickness());
  315 + }
  316 + if (updateContractStdProcessingLineVo.getThicknessTolPos() != null) {
  317 + createContractStdProcessingLineVo.setThicknessTolPos(updateContractStdProcessingLineVo.getThicknessTolPos());
  318 + }
  319 + if (updateContractStdProcessingLineVo.getThicknessTolNeg() != null) {
  320 + createContractStdProcessingLineVo.setThicknessTolNeg(updateContractStdProcessingLineVo.getThicknessTolNeg());
  321 + }
  322 + if (updateContractStdProcessingLineVo.getWidth() != null) {
  323 + createContractStdProcessingLineVo.setWidth(updateContractStdProcessingLineVo.getWidth());
  324 + }
  325 + if (updateContractStdProcessingLineVo.getWidthTolPos() != null) {
  326 + createContractStdProcessingLineVo.setWidthTolPos(updateContractStdProcessingLineVo.getWidthTolPos());
  327 + }
  328 + if (updateContractStdProcessingLineVo.getWidthTolNeg() != null) {
  329 + createContractStdProcessingLineVo.setWidthTolNeg(updateContractStdProcessingLineVo.getWidthTolNeg());
  330 + }
  331 + if (updateContractStdProcessingLineVo.getLength() != null) {
  332 + createContractStdProcessingLineVo.setLength(updateContractStdProcessingLineVo.getLength());
  333 + }
  334 + if (updateContractStdProcessingLineVo.getLengthTolPos() != null) {
  335 + createContractStdProcessingLineVo.setLengthTolPos(updateContractStdProcessingLineVo.getLengthTolPos());
  336 + }
  337 + if (updateContractStdProcessingLineVo.getLengthTolNeg() != null) {
  338 + createContractStdProcessingLineVo.setLengthTolNeg(updateContractStdProcessingLineVo.getLengthTolNeg());
  339 + }
  340 + if (updateContractStdProcessingLineVo.getUnitPrice() != null) {
  341 + createContractStdProcessingLineVo.setUnitPrice(updateContractStdProcessingLineVo.getUnitPrice());
  342 + }
  343 + if (updateContractStdProcessingLineVo.getAmountExcludingTax() != null) {
  344 + createContractStdProcessingLineVo.setAmountExcludingTax(updateContractStdProcessingLineVo.getAmountExcludingTax());
  345 + }
  346 + if (updateContractStdProcessingLineVo.getTotalAmount() != null) {
  347 + createContractStdProcessingLineVo.setTotalAmount(updateContractStdProcessingLineVo.getTotalAmount());
  348 + }
  349 + if (updateContractStdProcessingLineVo.getDeliveryDate() != null) {
  350 + createContractStdProcessingLineVo.setDeliveryDate(updateContractStdProcessingLineVo.getDeliveryDate());
  351 + }
  352 + if (updateContractStdProcessingLineVo.getShowOrder() != null) {
  353 + createContractStdProcessingLineVo.setShowOrder(updateContractStdProcessingLineVo.getShowOrder());
  354 + }
  355 + if (!StringUtil.isBlank(updateContractStdProcessingLineVo.getItemId())) {
  356 + createContractStdProcessingLineVo.setItemId(updateContractStdProcessingLineVo.getItemId());
  357 + }
  358 +
  359 + contractStdProcessingLineService.create(createContractStdProcessingLineVo);
  360 + }
  361 + }
  362 +
  363 + List<String> needDeleteLineIdList = oldlineIdList.stream()
  364 + .filter(oldLineId -> !existIdList.contains(oldLineId))
  365 + .collect(Collectors.toList());
  366 + if (CollectionUtils.isNotEmpty(needDeleteLineIdList)) {
  367 + contractStdProcessingLineService.removeByIds(needDeleteLineIdList);
  368 + }
  369 + }
  370 +
  371 + private void dealWithDistributorLine(ContractDistributorStandard data, UpdateContractDistributorStandardVo vo) {
217 372 Wrapper<ContractDistributorLine> lineWrapper = Wrappers.lambdaQuery(ContractDistributorLine.class)
218 373 .eq(ContractDistributorLine::getContractId, data.getId());
219 374 List<ContractDistributorLine> oldContractDistributorLineList = contractDistributorLineService.list(lineWrapper);
... ... @@ -264,9 +419,6 @@ public class ContractDistributorStandardServiceImpl extends
264 419 if (CollectionUtils.isNotEmpty(needDeleteLineIdList)) {
265 420 contractDistributorLineService.removeByIds(needDeleteLineIdList);
266 421 }
267   -
268   - OpLogUtil.setVariable("id", data.getId());
269   - OpLogUtil.setExtra(vo);
270 422 }
271 423
272 424 @OpLog(type = OtherOpLogType.class, name = "上传合同附件,ID:{}", params = {"#id"})
... ...
... ... @@ -45,6 +45,8 @@ public interface ContractDistributorStandardService extends BaseMpService<Contra
45 45 */
46 46 String create(CreateContractDistributorStandardVo vo);
47 47
  48 + String createStdContract(CreateContractDistributorStandardVo vo);
  49 +
48 50 /**
49 51 * 修改
50 52 *
... ...
... ... @@ -253,10 +253,15 @@ public class CreateContractDistributorStandardVo implements BaseVo, Serializable
253 253 * 合同物料行
254 254 */
255 255 @ApiModelProperty(value = "合同物料行", required = true)
256   - @NotNull(message = "合同物料行不可为空!")
257 256 private List<CreateContractDistributorLineVo> contractDistributorLineList;
258 257
259 258 /**
  259 + * 合同物料行
  260 + */
  261 + @ApiModelProperty(value = "合同物料行")
  262 + private List<CreateContractStdProcessingLineVo> contractStdProcessingLineList;
  263 +
  264 + /**
260 265 * 正式合同文件ID
261 266 */
262 267 @ApiModelProperty(value = "正式合同文件ID")
... ...
... ... @@ -255,10 +255,15 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable
255 255 * 合同物料行
256 256 */
257 257 @ApiModelProperty(value = "合同物料行")
258   - @NotNull(message = "合同物料行不可为空!")
259 258 private List<UpdateContractDistributorLineVo> contractDistributorLineList;
260 259
261 260 /**
  261 + * 合同物料行
  262 + */
  263 + @ApiModelProperty(value = "合同物料行")
  264 + private List<UpdateContractStdProcessingLineVo> contractStdProcessingLineList;
  265 +
  266 + /**
262 267 * 正式合同文件ID
263 268 */
264 269 @ApiModelProperty(value = "正式合同文件ID")
... ...