zxc 3 years ago
parent
commit
5b3dde38ed
  1. 16
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/ReportEditFormDTO.java
  2. 3
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/CustomerFunctionConstant.java
  3. 5
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcCustomerReportDao.java
  4. 40
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcCustomerReportServiceImpl.java
  5. 21
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcCustomerReportDao.xml

16
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/ReportEditFormDTO.java

@ -2,6 +2,7 @@ package com.epmet.dto.form;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
@ -27,7 +28,18 @@ public class ReportEditFormDTO implements Serializable {
@NotBlank(message = "reportId不能为空", groups = ReportEditForm.class)
private String reportId;
private List<String> customerIds;
@Valid
private List<CustomerReportEditForm> customerList;
private List<String> categoryKeys;
@Data
public static class CustomerReportEditForm implements Serializable{
private static final long serialVersionUID = 8154093835160706134L;
private List<String> categoryKeys;
@NotBlank(message = "customerId不能为空", groups = ReportEditForm.class)
private String customerId;
}
}

3
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/CustomerFunctionConstant.java

@ -25,5 +25,8 @@ public interface CustomerFunctionConstant {
String REPORT_CATEGORY = "jmreport_category";
String REPORT_EDIT = "edit";
String REPORT_ADD = "add";
}

5
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcCustomerReportDao.java

@ -4,6 +4,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.ReportResultDTO;
import com.epmet.entity.IcCustomerReportEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -24,4 +25,8 @@ public interface IcCustomerReportDao extends BaseDao<IcCustomerReportEntity> {
*/
List<ReportResultDTO> reportList();
void delCustomerReport(@Param("customerIds") List<String> customerIds);
void delCustomerReportFun(@Param("reportIds") List<String> reportIds);
}

40
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcCustomerReportServiceImpl.java

@ -19,9 +19,11 @@ import com.epmet.dto.form.ReportEditFormDTO;
import com.epmet.dto.result.PreviewReportResDTO;
import com.epmet.dto.result.ReportResultDTO;
import com.epmet.entity.IcCustomerReportEntity;
import com.epmet.entity.IcReportFunEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.OperCrmOpenFeignClient;
import com.epmet.service.IcCustomerReportService;
import com.epmet.service.IcReportFunService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -29,6 +31,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -48,6 +51,8 @@ public class IcCustomerReportServiceImpl extends BaseServiceImpl<IcCustomerRepor
private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Autowired
private OperCrmOpenFeignClient operCrmOpenFeignClient;
@Autowired
private IcReportFunService reportFunService;
private QueryWrapper<IcCustomerReportEntity> getWrapper(Map<String, Object> params){
@ -124,7 +129,42 @@ public class IcCustomerReportServiceImpl extends BaseServiceImpl<IcCustomerRepor
@Transactional(rollbackFor = Exception.class)
@Override
public void reportEdit(ReportEditFormDTO formDTO) {
if (formDTO.getType().equals(CustomerFunctionConstant.REPORT_EDIT)){
// 单个编辑
baseDao.delCustomerReport(Arrays.asList(formDTO.getCustomerList().get(NumConstant.ZERO).getCustomerId()));
}else if (formDTO.getType().equals(CustomerFunctionConstant.REPORT_ADD)){
baseDao.delCustomerReport(null);
}
baseDao.delCustomerReportFun(Arrays.asList(formDTO.getReportId()));
if (CollectionUtils.isNotEmpty(formDTO.getCustomerList())){
List<IcCustomerReportEntity> entities = new ArrayList<>();
List<IcReportFunEntity> funEntities = new ArrayList<>();
formDTO.getCustomerList().forEach(c -> {
IcCustomerReportEntity reportEntity = new IcCustomerReportEntity();
reportEntity.setReportId(formDTO.getReportId());
reportEntity.setCustomerId(c.getCustomerId());
if (CollectionUtils.isNotEmpty(c.getCategoryKeys())){
c.getCategoryKeys().forEach(key -> {
IcReportFunEntity funEntity = new IcReportFunEntity();
funEntity.setCustomerReportId(formDTO.getReportId());
funEntity.setFunCategoryKey(key);
funEntities.add(funEntity);
});
}
entities.add(reportEntity);
});
insetCustomerReportAndFun(entities,funEntities);
}
}
@Transactional(rollbackFor = Exception.class)
public void insetCustomerReportAndFun(List<IcCustomerReportEntity> reportEntities,List<IcReportFunEntity> funEntities){
if (CollectionUtils.isNotEmpty(reportEntities)){
insertBatch(reportEntities);
}
if (CollectionUtils.isNotEmpty(funEntities)){
reportFunService.insertBatch(funEntities);
}
}
}

21
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcCustomerReportDao.xml

@ -3,6 +3,27 @@
<mapper namespace="com.epmet.dao.IcCustomerReportDao">
<delete id="delCustomerReport">
DELETE FROM ic_customer_report
<if test="null != customerIds">
WHERE CUSTOMER_ID IN (
<foreach collection="customerIds" item="c" separator=",">
#{c}
</foreach>
)
</if>
</delete>
<delete id="delCustomerReportFun">
DELETE FROM ic_report_fun
<if test="null != reportIds">
WHERE CUSTOMER_REPORT_ID IN (
<foreach collection="reportIds" item="r" separator=",">
#{r}
</foreach>
)
</if>
</delete>
<!-- 报表集合 -->
<select id="reportList" resultType="com.epmet.dto.result.ReportResultDTO">
SELECT

Loading…
Cancel
Save