mirror of https://github.com/elunez/eladmin
修改供应商资料
parent
0bf76d58d3
commit
79c1bd01fc
|
@ -0,0 +1,57 @@
|
|||
package me.zhengjie.modules.wms.bd.request;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.bean.copier.CopyOptions;
|
||||
import lombok.Data;
|
||||
import me.zhengjie.modules.wms.bd.domain.SupplierInfo;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author 黄星星
|
||||
* @date 2019-08-18
|
||||
*/
|
||||
@Data
|
||||
public class UpdateSupplierInfoRequest implements Serializable {
|
||||
|
||||
|
||||
private Long id;
|
||||
|
||||
// 供应商名称
|
||||
private String supplierName;
|
||||
|
||||
// 期初预收款
|
||||
private Long initialPreMoney;
|
||||
|
||||
// 供应商编号
|
||||
private String supplierCode;
|
||||
|
||||
// 创建时间
|
||||
private Timestamp createTime;
|
||||
|
||||
// 更新时间
|
||||
private Timestamp updateTime;
|
||||
|
||||
// 备注
|
||||
private String remark;
|
||||
|
||||
// 供应商地址地址数组[{“province”:””,”city”:””,”area”:””,”address_detail”:””,”sort”:””}]
|
||||
private List<SupplierAddress> supplierAddress;
|
||||
|
||||
// 供应商联系人[{“sort”:””,”name”:””,”mobile”:””,”phone”:””,”email”:””,”qq”:””,”weixin”:””,”firstTag”:””}]firstTag 0:非首要联系人 1:首要联系人
|
||||
private List<SupplierContact> supplierContact;
|
||||
|
||||
private Boolean status;
|
||||
|
||||
// 供应商类别主键
|
||||
private Long supplierCategoryId;
|
||||
|
||||
// 供应商类别名称
|
||||
private String supplierCategoryName;
|
||||
|
||||
public void copy(SupplierInfo source){
|
||||
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
|
||||
}
|
||||
}
|
|
@ -3,6 +3,7 @@ package me.zhengjie.modules.wms.bd.rest;
|
|||
import me.zhengjie.aop.log.Log;
|
||||
import me.zhengjie.modules.wms.bd.domain.SupplierInfo;
|
||||
import me.zhengjie.modules.wms.bd.request.CreateSupplierInfoRequest;
|
||||
import me.zhengjie.modules.wms.bd.request.UpdateSupplierInfoRequest;
|
||||
import me.zhengjie.modules.wms.bd.service.SupplierInfoService;
|
||||
import me.zhengjie.modules.wms.bd.service.dto.SupplierInfoQueryCriteria;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -48,7 +49,6 @@ public class SupplierInfoController {
|
|||
return new ResponseEntity(supplierCode,HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@Log("查询供应商资料列表")
|
||||
@ApiOperation(value = "查询供应商资料列表")
|
||||
@GetMapping(value = "/querySupplierInfoList")
|
||||
|
@ -75,10 +75,10 @@ public class SupplierInfoController {
|
|||
|
||||
@Log("修改供应商资料")
|
||||
@ApiOperation(value = "修改供应商资料")
|
||||
@PutMapping(value = "/supplierInfo")
|
||||
@PostMapping(value = "/updateSupplierInfo")
|
||||
@PreAuthorize("hasAnyRole('ADMIN','BDSUPPLIERINFO_ALL','BDSUPPLIERINFO_EDIT')")
|
||||
public ResponseEntity update(@Validated @RequestBody SupplierInfo resources){
|
||||
supplierInfoService.update(resources);
|
||||
public ResponseEntity updateSupplierInfo(@RequestBody UpdateSupplierInfoRequest updateSupplierInfoRequest){
|
||||
supplierInfoService.updateSupplierInfo(updateSupplierInfoRequest);
|
||||
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package me.zhengjie.modules.wms.bd.service;
|
|||
|
||||
import me.zhengjie.modules.wms.bd.domain.SupplierInfo;
|
||||
import me.zhengjie.modules.wms.bd.request.CreateSupplierInfoRequest;
|
||||
import me.zhengjie.modules.wms.bd.request.UpdateSupplierInfoRequest;
|
||||
import me.zhengjie.modules.wms.bd.service.dto.SupplierInfoDTO;
|
||||
import me.zhengjie.modules.wms.bd.service.dto.SupplierInfoDetailDTO;
|
||||
import me.zhengjie.modules.wms.bd.service.dto.SupplierInfoQueryCriteria;
|
||||
|
@ -52,10 +53,10 @@ public interface SupplierInfoService {
|
|||
|
||||
/**
|
||||
* update
|
||||
* @param resources
|
||||
* @param updateSupplierInfoRequest
|
||||
*/
|
||||
//@CacheEvict(allEntries = true)
|
||||
void update(SupplierInfo resources);
|
||||
void updateSupplierInfo(UpdateSupplierInfoRequest updateSupplierInfoRequest);
|
||||
|
||||
/**
|
||||
* delete
|
||||
|
|
|
@ -10,6 +10,7 @@ import me.zhengjie.modules.wms.bd.repository.SupplierCategoryRepository;
|
|||
import me.zhengjie.modules.wms.bd.request.CreateSupplierInfoRequest;
|
||||
import me.zhengjie.modules.wms.bd.request.SupplierAddress;
|
||||
import me.zhengjie.modules.wms.bd.request.SupplierContact;
|
||||
import me.zhengjie.modules.wms.bd.request.UpdateSupplierInfoRequest;
|
||||
import me.zhengjie.modules.wms.bd.service.dto.SupplierInfoDetailDTO;
|
||||
import me.zhengjie.modules.wms.bd.service.mapper.SupplierCategoryMapper;
|
||||
import me.zhengjie.utils.ValidationUtil;
|
||||
|
@ -25,7 +26,10 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import org.springframework.data.domain.Page;
|
||||
|
@ -189,13 +193,60 @@ public class SupplierInfoServiceImpl implements SupplierInfoService {
|
|||
return supplierInfoDetailDTO;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(SupplierInfo resources) {
|
||||
Optional<SupplierInfo> optionalBdSupplierInfo = supplierInfoRepository.findById(resources.getId());
|
||||
ValidationUtil.isNull( optionalBdSupplierInfo,"BdSupplierInfo","id",resources.getId());
|
||||
SupplierInfo supplierInfo = optionalBdSupplierInfo.get();
|
||||
supplierInfo.copy(resources);
|
||||
public void updateSupplierInfo(UpdateSupplierInfoRequest updateSupplierInfoRequest) {
|
||||
Long supplierInfoId = updateSupplierInfoRequest.getId();
|
||||
if(null == supplierInfoId){
|
||||
throw new BadRequestException("供应商主键不能为空!");
|
||||
}
|
||||
|
||||
Long supplierCategoryId = updateSupplierInfoRequest.getSupplierCategoryId();
|
||||
if(null == supplierCategoryId){
|
||||
throw new BadRequestException("供应商类别不存在!");
|
||||
}
|
||||
|
||||
Optional<SupplierCategory> supplierCategoryOptional = supplierCategoryRepository.findById(supplierCategoryId);
|
||||
SupplierCategory supplierCategory = supplierCategoryOptional.get();
|
||||
|
||||
// 供应商资料-供应商给你联系地址修改目标
|
||||
List<SupplierAddress> supplierAddressListUpdateTarget = updateSupplierInfoRequest.getSupplierAddress();
|
||||
// 供应商资料-供应商联系方式修改目标
|
||||
List<SupplierContact> supplierContactListUpdateTarget = updateSupplierInfoRequest.getSupplierContact();
|
||||
|
||||
SupplierInfo supplierInfo = supplierInfoRepository.findByIdAndStatusTrue(supplierInfoId);
|
||||
|
||||
if(null == supplierInfo){
|
||||
throw new BadRequestException("供应商不存在");
|
||||
}
|
||||
|
||||
Timestamp createTime = supplierInfo.getCreateTime();
|
||||
|
||||
// 将需要修改的值复制到数据库对象中
|
||||
BeanUtils.copyProperties(updateSupplierInfoRequest, supplierInfo);
|
||||
|
||||
// 判断提前获取的供应商联系地址和联系方式是否是空
|
||||
if(CollectionUtils.isEmpty(supplierAddressListUpdateTarget)){
|
||||
supplierInfo.setSupplierAddress(null);
|
||||
}else{
|
||||
String supplierAddressStr = new Gson().toJson(supplierAddressListUpdateTarget);
|
||||
supplierInfo.setSupplierAddress(supplierAddressStr);
|
||||
}
|
||||
|
||||
if(CollectionUtils.isEmpty(supplierContactListUpdateTarget)){
|
||||
supplierInfo.setSupplierContact(null);
|
||||
}else{
|
||||
String supplierContactStr = new Gson().toJson(supplierContactListUpdateTarget);
|
||||
supplierInfo.setSupplierContact(supplierContactStr);
|
||||
}
|
||||
|
||||
supplierInfo.setCreateTime(createTime);
|
||||
supplierInfo.setStatus(true);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
supplierInfo.setUpdateTime(Timestamp.valueOf(sdf.format(new Date())));
|
||||
supplierInfo.setSupplierCategoryName(supplierCategory.getName());
|
||||
// 修改供应商资料
|
||||
supplierInfoRepository.save(supplierInfo);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue