mirror of https://github.com/elunez/eladmin
委外公司
parent
153c7d8a82
commit
4c198b9f18
|
@ -34,7 +34,6 @@ public class CreateOutSourceCompanyInfoRequest implements Serializable {
|
|||
// 委外公司联系人[{“sort”:””,”name”:””,”mobile”:””,”phone”:””,”email”:””,”qq”:””,”weixin”:””,”firstTag”:””}]firstTag 0:非首要联系人 1:首要联系人
|
||||
private List<OutSourceCompanyContact> outSourceCompanyContact;
|
||||
|
||||
// @Column(name = "status")
|
||||
private Boolean status;
|
||||
|
||||
public void copy(OutSourceCompanyInfo source){
|
||||
|
|
|
@ -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.OutSourceCompanyInfo;
|
||||
import org.hibernate.annotations.CreationTimestamp;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import java.io.Serializable;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author 黄星星
|
||||
* @date 2019-08-24
|
||||
*/
|
||||
@Data
|
||||
public class UpdateOutSourceCompanyInfoRequest implements Serializable {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "id")
|
||||
private Long id;
|
||||
|
||||
// 委外公司名称
|
||||
private String outSourceCompanyName;
|
||||
|
||||
// 期初预收款
|
||||
private Long initialPreMoney;
|
||||
|
||||
// 委外公司编号
|
||||
private String outSourceCompanyCode;
|
||||
|
||||
// 创建时间
|
||||
private Timestamp createTime;
|
||||
|
||||
// 更新时间
|
||||
private Timestamp updateTime;
|
||||
|
||||
// 备注
|
||||
private String remark;
|
||||
|
||||
// 委外公司地址数组[{“province”:””,”city”:””,”area”:””,”address_detail”:””,”sort”:””}]
|
||||
private List<OutSourceCompanyAddress> outSourceCompanyAddress;
|
||||
|
||||
// 委外公司联系人[{“sort”:””,”name”:””,”mobile”:””,”phone”:””,”email”:””,”qq”:””,”weixin”:””,”firstTag”:””}]firstTag 0:非首要联系人 1:首要联系人
|
||||
private List<OutSourceCompanyContact> outSourceCompanyContact;
|
||||
|
||||
private Boolean status;
|
||||
|
||||
public void copy(OutSourceCompanyInfo 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.OutSourceCompanyInfo;
|
||||
import me.zhengjie.modules.wms.bd.request.CreateOutSourceCompanyInfoRequest;
|
||||
import me.zhengjie.modules.wms.bd.request.UpdateOutSourceCompanyInfoRequest;
|
||||
import me.zhengjie.modules.wms.bd.service.OutSourceCompanyInfoService;
|
||||
import me.zhengjie.modules.wms.bd.service.dto.OutSourceCompanyInfoDTO;
|
||||
import me.zhengjie.modules.wms.bd.service.dto.OutSourceCompanyInfoQueryCriteria;
|
||||
|
@ -15,6 +16,9 @@ import org.springframework.validation.annotation.Validated;
|
|||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
/**
|
||||
* @author jie
|
||||
* @date 2019-08-03
|
||||
|
@ -27,6 +31,16 @@ public class OutSourceCompanyInfoController {
|
|||
@Autowired
|
||||
private OutSourceCompanyInfoService outSourceCompanyInfoService;
|
||||
|
||||
@Log("初始化委外公司编号")
|
||||
@ApiOperation(value = "初始化委外公司编号")
|
||||
@GetMapping(value = "/initOutSourceCompanyCode")
|
||||
@PreAuthorize("hasAnyRole('ADMIN','BDSUPPLIERINFO_ALL','BDSUPPLIERINFO_SELECT')")
|
||||
public ResponseEntity initOutSourceCompanyCode(){
|
||||
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");//设置日期格式
|
||||
String supplierCode = "WW"+ LocalDateTime.now().format(fmt);
|
||||
return new ResponseEntity(supplierCode,HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("分页查询委外公司资料列表")
|
||||
@ApiOperation(value = "分页查询委外公司资料列表")
|
||||
@GetMapping(value = "/queryOutSourceCompanyInfoPage")
|
||||
|
@ -67,8 +81,8 @@ public class OutSourceCompanyInfoController {
|
|||
@ApiOperation(value = "修改委外公司资料")
|
||||
@PutMapping(value = "/outSourceCompanyInfo")
|
||||
@PreAuthorize("hasAnyRole('ADMIN','BDOUTSOURCECOMPANYINFO_ALL','BDOUTSOURCECOMPANYINFO_EDIT')")
|
||||
public ResponseEntity update(@Validated @RequestBody OutSourceCompanyInfo resources){
|
||||
outSourceCompanyInfoService.update(resources);
|
||||
public ResponseEntity update(@RequestBody UpdateOutSourceCompanyInfoRequest updateOutSourceCompanyInfoRequest){
|
||||
outSourceCompanyInfoService.update(updateOutSourceCompanyInfoRequest);
|
||||
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,9 @@ package me.zhengjie.modules.wms.bd.service;
|
|||
|
||||
import me.zhengjie.modules.wms.bd.domain.OutSourceCompanyInfo;
|
||||
import me.zhengjie.modules.wms.bd.request.CreateOutSourceCompanyInfoRequest;
|
||||
import me.zhengjie.modules.wms.bd.request.UpdateOutSourceCompanyInfoRequest;
|
||||
import me.zhengjie.modules.wms.bd.service.dto.OutSourceCompanyInfoDTO;
|
||||
import me.zhengjie.modules.wms.bd.service.dto.OutSourceCompanyInfoDetailDTO;
|
||||
import me.zhengjie.modules.wms.bd.service.dto.OutSourceCompanyInfoQueryCriteria;
|
||||
//import org.springframework.cache.annotation.CacheConfig;
|
||||
//import org.springframework.cache.annotation.CacheEvict;
|
||||
|
@ -39,7 +41,7 @@ public interface OutSourceCompanyInfoService {
|
|||
* @return
|
||||
*/
|
||||
//@Cacheable(key = "#p0")
|
||||
OutSourceCompanyInfoDTO findById(Long id);
|
||||
OutSourceCompanyInfoDetailDTO findById(Long id);
|
||||
|
||||
/**
|
||||
* create
|
||||
|
@ -47,14 +49,14 @@ public interface OutSourceCompanyInfoService {
|
|||
* @return
|
||||
*/
|
||||
//@CacheEvict(allEntries = true)
|
||||
OutSourceCompanyInfoDTO create(CreateOutSourceCompanyInfoRequest createOutSourceCompanyInfoRequest);
|
||||
OutSourceCompanyInfoDetailDTO create(CreateOutSourceCompanyInfoRequest createOutSourceCompanyInfoRequest);
|
||||
|
||||
/**
|
||||
* update
|
||||
* @param resources
|
||||
* @param updateOutSourceCompanyInfoRequest
|
||||
*/
|
||||
//@CacheEvict(allEntries = true)
|
||||
void update(OutSourceCompanyInfo resources);
|
||||
void update(UpdateOutSourceCompanyInfoRequest updateOutSourceCompanyInfoRequest);
|
||||
|
||||
/**
|
||||
* delete
|
||||
|
|
|
@ -32,6 +32,14 @@ public class OutSourceCompanyInfoDTO implements Serializable {
|
|||
// 备注
|
||||
private String remark;
|
||||
|
||||
// 首要联系人姓名
|
||||
private String firstContactName;
|
||||
|
||||
// 首要联系人手机
|
||||
private String firstContactMobile;
|
||||
|
||||
// 首要联系人地址
|
||||
private String firstContactAddress;
|
||||
|
||||
private Boolean status;
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
package me.zhengjie.modules.wms.bd.service.impl;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import me.zhengjie.exception.BadRequestException;
|
||||
import me.zhengjie.modules.wms.bd.domain.CustomerInfo;
|
||||
import me.zhengjie.modules.wms.bd.domain.OutSourceCompanyInfo;
|
||||
|
@ -18,7 +19,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;
|
||||
|
@ -80,7 +84,32 @@ public class OutSourceCompanyInfoServiceImpl implements OutSourceCompanyInfoServ
|
|||
}
|
||||
};
|
||||
Page<OutSourceCompanyInfo> page = outSourceCompanyInfoRepository.findAll(specification, pageable);
|
||||
return PageUtil.toPage(page.map(outSourceCompanyInfoMapper::toDto));
|
||||
Page<OutSourceCompanyInfoDTO> outSourceCompanyInfoDTOPage = page.map(outSourceCompanyInfoMapper::toDto);
|
||||
if(null != outSourceCompanyInfoDTOPage){
|
||||
List<OutSourceCompanyInfoDTO> outSourceCompanyInfoDTOList = outSourceCompanyInfoDTOPage.getContent();
|
||||
if(!CollectionUtils.isEmpty(outSourceCompanyInfoDTOList)){
|
||||
for(OutSourceCompanyInfoDTO outSourceCompanyInfoDTO : outSourceCompanyInfoDTOList){
|
||||
Long outSourceCompanyInfoDTOId = outSourceCompanyInfoDTO.getId();
|
||||
Optional<OutSourceCompanyInfo> outSourceCompanyInfoOptional = outSourceCompanyInfoRepository.findById(outSourceCompanyInfoDTOId);
|
||||
if(null != outSourceCompanyInfoOptional){
|
||||
OutSourceCompanyInfo outSourceCompanyInfo = outSourceCompanyInfoOptional.get();
|
||||
if(null != outSourceCompanyInfo){
|
||||
String outSourceCompanyJsonStr = outSourceCompanyInfo.getOutSourceCompanyContact();
|
||||
List<OutSourceCompanyContact> outSourceCompanyContactList = new Gson().fromJson(outSourceCompanyJsonStr,new TypeToken<ArrayList<CustomerContact>>() {}.getType());
|
||||
if(!CollectionUtils.isEmpty(outSourceCompanyContactList)){
|
||||
for(OutSourceCompanyContact outSourceCompanyContact : outSourceCompanyContactList){
|
||||
if(outSourceCompanyContact.getFirstTag() == 1){
|
||||
outSourceCompanyInfoDTO.setFirstContactMobile(outSourceCompanyContact.getMobile());
|
||||
outSourceCompanyInfoDTO.setFirstContactName(outSourceCompanyContact.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return PageUtil.toPage(outSourceCompanyInfoDTOPage);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -119,15 +148,33 @@ public class OutSourceCompanyInfoServiceImpl implements OutSourceCompanyInfoServ
|
|||
}
|
||||
|
||||
@Override
|
||||
public OutSourceCompanyInfoDTO findById(Long id) {
|
||||
Optional<OutSourceCompanyInfo> bdOutSourceCompanyInfo = outSourceCompanyInfoRepository.findById(id);
|
||||
ValidationUtil.isNull(bdOutSourceCompanyInfo,"OutSourceCompanyInfo","id",id);
|
||||
return outSourceCompanyInfoMapper.toDto(bdOutSourceCompanyInfo.get());
|
||||
public OutSourceCompanyInfoDetailDTO findById(Long id) {
|
||||
OutSourceCompanyInfoDetailDTO outSourceCompanyInfoDetailDTO = new OutSourceCompanyInfoDetailDTO();
|
||||
|
||||
Optional<OutSourceCompanyInfo> outSourceCompanyInfoOptional = outSourceCompanyInfoRepository.findById(id);
|
||||
OutSourceCompanyInfo outSourceCompanyInfo = outSourceCompanyInfoOptional.get();
|
||||
OutSourceCompanyInfoDTO outSourceCompanyInfoDTO = outSourceCompanyInfoMapper.toDto(outSourceCompanyInfo);
|
||||
if(null != outSourceCompanyInfoDTO){
|
||||
BeanUtils.copyProperties( outSourceCompanyInfoDTO, outSourceCompanyInfoDetailDTO);
|
||||
String outSourceCompanyAddressJsonStr = outSourceCompanyInfo.getOutSourceCompanyAddress();
|
||||
if(StringUtils.hasLength(outSourceCompanyAddressJsonStr)){
|
||||
List<OutSourceCompanyAddress> outSourceCompanyAddressList = new Gson().fromJson(outSourceCompanyAddressJsonStr,new TypeToken<ArrayList<OutSourceCompanyAddress>>() {}.getType());
|
||||
outSourceCompanyInfoDetailDTO.setOutSourceCompanyAddress(outSourceCompanyAddressList);
|
||||
}
|
||||
|
||||
|
||||
String outSourceCompanyContactJsonStr = outSourceCompanyInfo.getOutSourceCompanyContact();
|
||||
if(StringUtils.hasLength(outSourceCompanyContactJsonStr)){
|
||||
List<OutSourceCompanyContact> outSourceCompanyContactList = new Gson().fromJson(outSourceCompanyContactJsonStr,new TypeToken<ArrayList<OutSourceCompanyContact>>() {}.getType());
|
||||
outSourceCompanyInfoDetailDTO.setOutSourceCompanyContact(outSourceCompanyContactList);
|
||||
}
|
||||
}
|
||||
return outSourceCompanyInfoDetailDTO;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public OutSourceCompanyInfoDTO create(CreateOutSourceCompanyInfoRequest createOutSourceCompanyInfoRequest) {
|
||||
public OutSourceCompanyInfoDetailDTO create(CreateOutSourceCompanyInfoRequest createOutSourceCompanyInfoRequest) {
|
||||
OutSourceCompanyInfoDetailDTO outSourceCompanyInfoDetailDTO = new OutSourceCompanyInfoDetailDTO();
|
||||
|
||||
OutSourceCompanyInfo outSourceCompanyInfo = new OutSourceCompanyInfo();
|
||||
|
@ -154,11 +201,48 @@ public class OutSourceCompanyInfoServiceImpl implements OutSourceCompanyInfoServ
|
|||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(OutSourceCompanyInfo resources) {
|
||||
Optional<OutSourceCompanyInfo> optionalBdOutSourceCompanyInfo = outSourceCompanyInfoRepository.findById(resources.getId());
|
||||
ValidationUtil.isNull( optionalBdOutSourceCompanyInfo,"BdOutSourceCompanyInfo","id",resources.getId());
|
||||
OutSourceCompanyInfo outSourceCompanyInfo = optionalBdOutSourceCompanyInfo.get();
|
||||
outSourceCompanyInfo.copy(resources);
|
||||
public void update(UpdateOutSourceCompanyInfoRequest updateOutSourceCompanyInfoRequest) {
|
||||
Long outSourceCompanyInfoId = updateOutSourceCompanyInfoRequest.getId();
|
||||
if(null == outSourceCompanyInfoId){
|
||||
throw new BadRequestException("委外公司主键不能为空!");
|
||||
}
|
||||
|
||||
// 委外公司资料-客户联系地址修改目标
|
||||
List<OutSourceCompanyAddress> outSourceCompanyInfoAddressListUpdateTarget = updateOutSourceCompanyInfoRequest.getOutSourceCompanyAddress();
|
||||
// 委外公司资料-供应商联系方式修改目标
|
||||
List<OutSourceCompanyContact> outSourceCompanyInfoContactListUpdateTarget = updateOutSourceCompanyInfoRequest.getOutSourceCompanyContact();
|
||||
|
||||
OutSourceCompanyInfo outSourceCompanyInfo = outSourceCompanyInfoRepository.findByIdAndStatusTrue(outSourceCompanyInfoId);
|
||||
|
||||
if(null == outSourceCompanyInfo){
|
||||
throw new BadRequestException("委外公司不存在");
|
||||
}
|
||||
|
||||
Timestamp createTime = outSourceCompanyInfo.getCreateTime();
|
||||
|
||||
// 将需要修改的值复制到数据库对象中
|
||||
BeanUtils.copyProperties(updateOutSourceCompanyInfoRequest, outSourceCompanyInfo);
|
||||
|
||||
// 判断提前获取的供应商联系地址和联系方式是否是空
|
||||
if(CollectionUtils.isEmpty(outSourceCompanyInfoAddressListUpdateTarget)){
|
||||
outSourceCompanyInfo.setOutSourceCompanyAddress(null);
|
||||
}else{
|
||||
String supplierAddressStr = new Gson().toJson(outSourceCompanyInfoAddressListUpdateTarget);
|
||||
outSourceCompanyInfo.setOutSourceCompanyAddress(supplierAddressStr);
|
||||
}
|
||||
|
||||
if(CollectionUtils.isEmpty(outSourceCompanyInfoContactListUpdateTarget)){
|
||||
outSourceCompanyInfo.setOutSourceCompanyContact(null);
|
||||
}else{
|
||||
String supplierContactStr = new Gson().toJson(outSourceCompanyInfoContactListUpdateTarget);
|
||||
outSourceCompanyInfo.setOutSourceCompanyContact(supplierContactStr);
|
||||
}
|
||||
|
||||
outSourceCompanyInfo.setCreateTime(createTime);
|
||||
outSourceCompanyInfo.setStatus(true);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
outSourceCompanyInfo.setUpdateTime(Timestamp.valueOf(sdf.format(new Date())));
|
||||
// 修改委外资料
|
||||
outSourceCompanyInfoRepository.save(outSourceCompanyInfo);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue