Commit 78a4980ea2a81e9dbad219f142e87e11520a1f80

Authored by 房远帅
1 parent e331ef77

订货单:上传质保书,发货单可下载

... ... @@ -1438,3 +1438,8 @@ ALTER TABLE tbl_contract_distributor_line
1438 1438 ALTER TABLE tbl_contract_std_processing_line
1439 1439 ADD COLUMN material_code varchar(100) COMMENT '物料编码';
1440 1440
  1441 +ALTER TABLE purchase_order_info
  1442 + ADD COLUMN warranty_certificate_file_id varchar(100) COMMENT '质保书ID';
  1443 +
  1444 +ALTER TABLE purchase_order_info
  1445 + ADD COLUMN warranty_certificate_file_name varchar(200) COMMENT '质保书名称';
... ...
... ... @@ -326,6 +326,18 @@ public class GetPurchaseOrderInfoBo extends BaseBo<PurchaseOrderInfo> {
326 326 @ApiModelProperty("是否为试样订单")
327 327 private boolean sampleOrder;
328 328
  329 + /**
  330 + * 质保书ID
  331 + */
  332 + @ApiModelProperty("质保书ID")
  333 + private String warrantyCertificateFileId;
  334 +
  335 + /**
  336 + * 质保书名称
  337 + */
  338 + @ApiModelProperty("质保书名称")
  339 + private String warrantyCertificateFileName;
  340 +
329 341
330 342 public GetPurchaseOrderInfoBo() {
331 343
... ...
... ... @@ -254,6 +254,20 @@ public class PurchaseOrderInfoController extends DefaultBaseController {
254 254 }
255 255
256 256 /**
  257 + * 修改
  258 + */
  259 + @ApiOperation("上传质保书")
  260 + @HasPermission({"order-manage:order-list:upload"})
  261 + @PutMapping("/uploadWarrantyCertificate")
  262 + public InvokeResult<Void> uploadWarrantyCertificate(@Valid @RequestBody UpdatePurchaseOrderInfoVo vo) {
  263 +
  264 + purchaseOrderInfoService.uploadWarrantyCertificate(vo);
  265 +
  266 + return InvokeResultBuilder.success();
  267 + }
  268 +
  269 +
  270 + /**
257 271 * 取消
258 272 */
259 273 @ApiOperation("取消")
... ...
... ... @@ -291,6 +291,16 @@ public class PurchaseOrderInfo extends BaseEntity implements BaseDto {
291 291 private Boolean sampleOrder;
292 292
293 293 /**
  294 + * 质保书ID
  295 + */
  296 + private String warrantyCertificateFileId;
  297 +
  298 + /**
  299 + * 质保书名称
  300 + */
  301 + private String warrantyCertificateFileName;
  302 +
  303 + /**
294 304 * 下单人(非持久化字段)
295 305 */
296 306 @TableField(exist = false)
... ...
... ... @@ -9,6 +9,7 @@ import java.util.List;
9 9 import com.baomidou.mybatisplus.annotation.FieldFill;
10 10 import com.lframework.starter.web.core.entity.BaseEntity;
11 11 import com.baomidou.mybatisplus.annotation.TableField;
  12 +import com.lframework.xingyun.sc.vo.shipments.order.WarrantyCertificateVo;
12 13 import lombok.Data;
13 14
14 15 /**
... ... @@ -149,6 +150,12 @@ public class ShipmentsOrderInfo extends BaseEntity implements BaseDto {
149 150 private List<ShipmentsPlanDetail> detailList;
150 151
151 152 /**
  153 + * 质保书
  154 + */
  155 + @TableField(exist = false)
  156 + private List<WarrantyCertificateVo> warrantyCertificateList;
  157 +
  158 + /**
152 159 * 创建人ID
153 160 */
154 161 @TableField(fill = FieldFill.INSERT)
... ...
... ... @@ -818,6 +818,26 @@ public class PurchaseOrderInfoServiceImpl extends BaseMpServiceImpl<PurchaseOrde
818 818 getBaseMapper().update(updateWrapper);
819 819 }
820 820
  821 + @OpLog(type = OtherOpLogType.class, name = "上传质保书,ID:{}", params = {"#id"})
  822 + @Transactional(rollbackFor = Exception.class)
  823 + @Override
  824 + public void uploadWarrantyCertificate(UpdatePurchaseOrderInfoVo vo) {
  825 + PurchaseOrderInfo data = getBaseMapper().selectById(vo.getId());
  826 + if (ObjectUtil.isNull(data)) {
  827 + throw new DefaultClientException("订货单表不存在!");
  828 + }
  829 +
  830 + LambdaUpdateWrapper<PurchaseOrderInfo> updateWrapper = Wrappers.lambdaUpdate(PurchaseOrderInfo.class)
  831 + .set(PurchaseOrderInfo::getWarrantyCertificateFileId, StringUtil.isBlank(vo.getWarrantyCertificateFileId()) ? null : vo.getWarrantyCertificateFileId())
  832 + .set(PurchaseOrderInfo::getWarrantyCertificateFileName, StringUtil.isBlank(vo.getWarrantyCertificateFileName()) ? null : vo.getWarrantyCertificateFileName())
  833 + .eq(PurchaseOrderInfo::getId, vo.getId());
  834 +
  835 + getBaseMapper().update(updateWrapper);
  836 +
  837 + OpLogUtil.setVariable("id", data.getId());
  838 + OpLogUtil.setExtra(vo);
  839 + }
  840 +
821 841
822 842 @Override
823 843 public void cleanCacheByKey(Serializable key) {
... ...
... ... @@ -257,6 +257,22 @@ public class ShipmentsOrderInfoServiceImpl extends BaseMpServiceImpl<ShipmentsOr
257 257 // 获取发货单明细数据
258 258 List<ShipmentsPlanDetail> detailList = shipmentsPlanDetailService.listByShipmentOrderId(id);
259 259 orderInfo.setDetailList(detailList);
  260 + //质保书
  261 + if (CollectionUtils.isNotEmpty(detailList)) {
  262 + List<String> orderIds = detailList.stream()
  263 + .map(ShipmentsPlanDetail::getOrderId)
  264 + .distinct()
  265 + .collect(Collectors.toList());
  266 + List<PurchaseOrderInfo> purchaseOrderInfos = purchaseOrderInfoService.listByIds(orderIds);
  267 + List<WarrantyCertificateVo> warrantyCertificateList = new ArrayList<>();
  268 + for (PurchaseOrderInfo info : purchaseOrderInfos) {
  269 + WarrantyCertificateVo vo = new WarrantyCertificateVo();
  270 + vo.setFileId(info.getWarrantyCertificateFileId());
  271 + vo.setFileName(info.getWarrantyCertificateFileName());
  272 + warrantyCertificateList.add(vo);
  273 + }
  274 + orderInfo.setWarrantyCertificateList(warrantyCertificateList);
  275 + }
260 276
261 277 return orderInfo;
262 278 }
... ...
... ... @@ -154,4 +154,11 @@ public interface PurchaseOrderInfoService extends BaseMpService<PurchaseOrderInf
154 154 * @param ids 主键ID集合
155 155 */
156 156 void freeze(List<String> ids);
  157 +
  158 + /**
  159 + * 上传质保书
  160 + *
  161 + * @param vo
  162 + */
  163 + void uploadWarrantyCertificate(UpdatePurchaseOrderInfoVo vo);
157 164 }
... ...
... ... @@ -214,4 +214,16 @@ public class UpdatePurchaseOrderInfoVo implements BaseVo, Serializable {
214 214 @ApiModelProperty("包装费")
215 215 private String packagingFee;
216 216
  217 + /**
  218 + * 质保书ID
  219 + */
  220 + @ApiModelProperty("质保书ID")
  221 + private String warrantyCertificateFileId;
  222 +
  223 + /**
  224 + * 质保书名称
  225 + */
  226 + @ApiModelProperty("质保书名称")
  227 + private String warrantyCertificateFileName;
  228 +
217 229 }
... ...
  1 +package com.lframework.xingyun.sc.vo.shipments.order;
  2 +
  3 +import com.lframework.starter.web.core.vo.BaseVo;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import java.io.Serializable;
  7 +
  8 +@Data
  9 +public class WarrantyCertificateVo implements BaseVo, Serializable {
  10 +
  11 + private static final long serialVersionUID = 1L;
  12 +
  13 + /**
  14 + * 文件ID
  15 + */
  16 + @ApiModelProperty(value = "文件ID")
  17 + private String fileId;
  18 +
  19 + /**
  20 + * 文件名称
  21 + */
  22 + @ApiModelProperty(value = "文件名称")
  23 + private String fileName;
  24 +
  25 +}
... ...
... ... @@ -48,6 +48,8 @@
48 48 <result column="contract_create_by_id" property="contractCreateById"/>
49 49 <result column="contract_create_by_name" property="contractCreateByName"/>
50 50 <result column="sample_order" property="sampleOrder"/>
  51 + <result column="warranty_certificate_file_id" property="warrantyCertificateFileId"/>
  52 + <result column="warranty_certificate_file_name" property="warrantyCertificateFileName"/>
51 53 <result column="create_by_id" property="createById"/>
52 54 <result column="create_by" property="createBy"/>
53 55 <result column="update_by_id" property="updateById"/>
... ... @@ -104,6 +106,8 @@
104 106 su.name as contract_create_by_name,
105 107 tb.freeze,
106 108 tb.sample_order,
  109 + tb.warranty_certificate_file_id,
  110 + tb.warranty_certificate_file_name,
107 111 tb.create_by_id,
108 112 tb.create_by,
109 113 tb.update_by_id,
... ...