Showing
11 changed files
with
132 additions
and
0 deletions
| ... | ... | @@ -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 | ... | ... |
xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/order/PurchaseOrderInfoController.java
| ... | ... | @@ -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) { | ... | ... |
xingyun-sc/src/main/java/com/lframework/xingyun/sc/impl/shipments/ShipmentsOrderInfoServiceImpl.java
| ... | ... | @@ -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 | } | ... | ... |
xingyun-sc/src/main/java/com/lframework/xingyun/sc/vo/shipments/order/WarrantyCertificateVo.java
0 → 100644
| 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, | ... | ... |