Commit 942c2079 by kangxiaoshan

开票收款列表

parent 5afbd597
...@@ -122,21 +122,38 @@ public class ContractController { ...@@ -122,21 +122,38 @@ public class ContractController {
@RequestMapping(value = "pay/export", method = RequestMethod.GET,produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) @RequestMapping(value = "pay/export", method = RequestMethod.GET,produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@ResponseBody @ResponseBody
public ResponseEntity<byte[]> exportPay(@CurrentAccount User loginAccount, @RequestParam String startDate, @RequestParam String endDate, public ResponseEntity<byte[]> exportPay(@CurrentAccount User loginAccount, @RequestParam String startDate, @RequestParam String endDate,
HttpServletRequest request, HttpServletResponse response, @PathVariable String platform) { HttpServletRequest request, HttpServletResponse response, @PathVariable String platform ,String moneyType,String packageTypeSearch) {
List<ContractMoney> moneyList = service.findPayAll(startDate, endDate, platform); List<ContractMoney> moneyList = service.findPayAll(startDate, endDate, platform, moneyType, packageTypeSearch);
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("pay", "收款"); map.put("pay", "收款");
map.put("invoice", "收票"); map.put("invoice", "收票");
byte[] content = new byte[0]; byte[] content = new byte[0];
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("合同编号 ,客户账号 ,签约方 ,事项 ,金额 ,日期 ,修改人 \r\n"); // sb.append("合同编号 ,客户账号 ,签约方 ,事项 ,金额 ,日期 ,修改人 \r\n");
// if(ValidateUtil.isValid(moneyList)){
// for (ContractMoney c : moneyList){
// sb.append(c.getContractCode()).append(",").append(c.getEmail()).append(",").append(c.getCompany()).append(",").append(map.get(c.getType())).append(",")
// .append(c.getMoney()).append(",").append(c.getDs()).append(",").append(c.getCreateName()).append("\r\n");
// }
// }
sb.append("日期, 合同编号 ,客户账号 ,签约方名称 ,套餐类型, 销售, 事项 ,金额 ,日期 ,操作人 \r\n");
if(ValidateUtil.isValid(moneyList)){ if(ValidateUtil.isValid(moneyList)){
for (ContractMoney c : moneyList){ for (ContractMoney c : moneyList){
sb.append(c.getContractCode()).append(",").append(c.getEmail()).append(",").append(c.getCompany()).append(",").append(map.get(c.getType())).append(",") sb.append(c.getDs()).append(",")
.append(c.getMoney()).append(",").append(c.getDs()).append(",").append(c.getCreateName()).append("\r\n"); .append(c.getContractCode()).append(",")
.append(c.getEmail()).append(",")
.append(c.getCompany()).append(",")
.append(c.getPackageName()).append(",")
.append(c.getSalseName()).append(",")
.append(map.get(c.getType())).append(",")
.append(c.getMoney()).append(",")
.append(c.getCreateName()).append("\r\n");
} }
} }
InputStream in = new ByteArrayInputStream(sb.toString().getBytes()); InputStream in = new ByteArrayInputStream(sb.toString().getBytes());
try { try {
content = IOUtils.toByteArray(in); content = IOUtils.toByteArray(in);
...@@ -301,8 +318,9 @@ public class ContractController { ...@@ -301,8 +318,9 @@ public class ContractController {
@RequestMapping(value = "find/payall", method = RequestMethod.GET) @RequestMapping(value = "find/payall", method = RequestMethod.GET)
@ResponseBody @ResponseBody
public ResultModel findPayAll(@CurrentAccount User loginAccount, @RequestParam String startDate, public ResultModel findPayAll(@CurrentAccount User loginAccount, @RequestParam String startDate,
@RequestParam String endDate, @PathVariable String platform) { @RequestParam String endDate, @PathVariable String platform,String moneyType,String packageTypeSearch) {
return ResultModel.OK(service.findPayAll(startDate, endDate, platform)); return ResultModel.OK(service.findPayAll(startDate, endDate, platform,moneyType,packageTypeSearch));
} }
@RequestMapping(value = "build", method = RequestMethod.POST) @RequestMapping(value = "build", method = RequestMethod.POST)
......
...@@ -3,6 +3,7 @@ package common.model; ...@@ -3,6 +3,7 @@ package common.model;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Transient;
import java.util.Date; import java.util.Date;
/** /**
...@@ -20,12 +21,16 @@ public class ContractMoney { ...@@ -20,12 +21,16 @@ public class ContractMoney {
private Long user; private Long user;
private String createName; private String createName;
private String platform; private String platform;
private Long priceLevel;
private Long salse;
private Long modifyAccount; private Long modifyAccount;
private Long createAccount; private Long createAccount;
private Date modifyTime; private Date modifyTime;
private Date createTime; private Date createTime;
private int delFlag = 0; private int delFlag = 0;
private String salseName;
private String packageName;
@Id @Id
@GeneratedValue @GeneratedValue
...@@ -141,6 +146,22 @@ public class ContractMoney { ...@@ -141,6 +146,22 @@ public class ContractMoney {
this.platform = platform; this.platform = platform;
} }
public Long getPriceLevel() {
return priceLevel;
}
public void setPriceLevel(Long priceLevel) {
this.priceLevel = priceLevel;
}
public Long getSalse() {
return salse;
}
public void setSalse(Long salse) {
this.salse = salse;
}
public int getDelFlag() { public int getDelFlag() {
return delFlag; return delFlag;
} }
...@@ -148,4 +169,22 @@ public class ContractMoney { ...@@ -148,4 +169,22 @@ public class ContractMoney {
public void setDelFlag(int delFlag) { public void setDelFlag(int delFlag) {
this.delFlag = delFlag; this.delFlag = delFlag;
} }
@Transient
public String getSalseName() {
return salseName;
}
public void setSalseName(String salseName) {
this.salseName = salseName;
}
@Transient
public String getPackageName() {
return packageName;
}
public void setPackageName(String packageName) {
this.packageName = packageName;
}
} }
...@@ -23,4 +23,17 @@ public interface ContractMoneyRepository extends JpaRepository<ContractMoney, Lo ...@@ -23,4 +23,17 @@ public interface ContractMoneyRepository extends JpaRepository<ContractMoney, Lo
@Query(value="select * from contract_money where email = ?1 and platform = ?2 and type = 'pay' order by ds desc",nativeQuery=true) @Query(value="select * from contract_money where email = ?1 and platform = ?2 and type = 'pay' order by ds desc",nativeQuery=true)
List<ContractMoney> findByEmail(String email, String platform); List<ContractMoney> findByEmail(String email, String platform);
@Query(value = "select a.id,b.customer_body company,a.contract_code,u.name create_name,a.create_account,a.create_time,a.ds,a.email,a.modify_account,a.modify_time,a.money,a.platform,a.type,a.user,a.del_flag,b.sale salse,b.price_level from contract_money a left join contract b on a.contract_code = b.contract_code left join user u on a.create_account = u.id where a.ds >= ?1 and a.ds <= ?2 and a.platform = ?3 order by a.ds desc",nativeQuery = true)
List<ContractMoney> findByDsAllContract(String startDate, String endDate, String platfrom);
@Query(value = "select a.id,b.customer_body company,a.contract_code,u.name create_name,a.create_account,a.create_time,a.ds,a.email,a.modify_account,a.modify_time,a.money,a.platform,a.type,a.user,a.del_flag,b.sale salse,b.price_level from contract_money a left join contract b on a.contract_code = b.contract_code left join user u on a.create_account = u.id where a.ds >= ?1 and a.ds <= ?2 and a.platform = ?3 and a.type = ?4 and b.price_level = ?5 order by a.ds desc",nativeQuery = true)
List<ContractMoney> findByDsAllContractAll(String startDate, String endDate, String platfrom, String moneyType, String packageTypeSearch);
@Query(value = "select a.id,b.customer_body company,a.contract_code,u.name create_name,a.create_account,a.create_time,a.ds,a.email,a.modify_account,a.modify_time,a.money,a.platform,a.type,a.user,a.del_flag,b.sale salse,b.price_level from contract_money a left join contract b on a.contract_code = b.contract_code left join user u on a.create_account = u.id where a.ds >= ?1 and a.ds <= ?2 and a.platform = ?3 and a.type = ?4 order by a.ds desc",nativeQuery = true)
List<ContractMoney> findByDsAllContractMoneyType(String startDate, String endDate, String platfrom, String moneyType);
@Query(value = "select a.id,b.customer_body company,a.contract_code,u.name create_name,a.create_account,a.create_time,a.ds,a.email,a.modify_account,a.modify_time,a.money,a.platform,a.type,a.user,a.del_flag,b.sale salse,b.price_level from contract_money a left join contract b on a.contract_code = b.contract_code left join user u on a.create_account = u.id where a.ds >= ?1 and a.ds <= ?2 and a.platform = ?3 and b.price_level = ?4 order by a.ds desc",nativeQuery = true)
List<ContractMoney> findByDsAllContractPkSearch(String startDate, String endDate, String platfrom, String pkType);
} }
...@@ -72,4 +72,6 @@ public interface ContractService { ...@@ -72,4 +72,6 @@ public interface ContractService {
ChangeDelInfo changesDelRecover(String id, String type, User loginAccount); ChangeDelInfo changesDelRecover(String id, String type, User loginAccount);
Contract findOne(User loginAccount, String startDate, String endDate, String platform, String contractId); Contract findOne(User loginAccount, String startDate, String endDate, String platform, String contractId);
List<ContractMoney> findPayAll(String startDate, String endDate, String platform, String moneyType, String packageType);
} }
\ No newline at end of file
...@@ -1067,7 +1067,7 @@ public class ContractServiceImpl implements ContractService { ...@@ -1067,7 +1067,7 @@ public class ContractServiceImpl implements ContractService {
Map<String, String> saleMap = new HashMap(); Map<String, String> saleMap = new HashMap();
Map<String, String> typeMap = new HashMap(); Map<String, PackageType> typeMap = new HashMap();
Map<String, PackageBase> packageBaseMap = new HashMap<>(); Map<String, PackageBase> packageBaseMap = new HashMap<>();
...@@ -1101,8 +1101,9 @@ public class ContractServiceImpl implements ContractService { ...@@ -1101,8 +1101,9 @@ public class ContractServiceImpl implements ContractService {
// } // }
c.setSaleName(saleMap.containsKey(c.getSale()) ? saleMap.get(c.getSale()) : ""); c.setSaleName(saleMap.containsKey(c.getSale()) ? saleMap.get(c.getSale()) : "");
if ("tkio".equals(platform)) { if ("tkio".equals(platform)) {
c.setPriceLevelName(typeMap.containsKey(c.getPriceLevel()) ? typeMap.get(c.getPriceLevel()) : ""); c.setPriceLevelName(typeMap.containsKey(c.getPriceLevel()) ? typeMap.get(c.getPriceLevel()).getPackageName() : "");
} else { } else {
c.setPriceLevelName(packageBaseMap.get(c.getPriceLevel()) == null ? "" : packageBaseMap.get(c.getPriceLevel()).getPackageName()); c.setPriceLevelName(packageBaseMap.get(c.getPriceLevel()) == null ? "" : packageBaseMap.get(c.getPriceLevel()).getPackageName());
...@@ -1133,7 +1134,7 @@ public class ContractServiceImpl implements ContractService { ...@@ -1133,7 +1134,7 @@ public class ContractServiceImpl implements ContractService {
List<PackageType> typeList = packageTypeRepository.findAll(); List<PackageType> typeList = packageTypeRepository.findAll();
if (ValidateUtil.isValid(typeList)) { if (ValidateUtil.isValid(typeList)) {
for (PackageType s : typeList) { for (PackageType s : typeList) {
typeMap.put(s.getId(), s.getPackageName()); typeMap.put(s.getId(), s);
} }
} }
} }
...@@ -1176,7 +1177,7 @@ public class ContractServiceImpl implements ContractService { ...@@ -1176,7 +1177,7 @@ public class ContractServiceImpl implements ContractService {
Map<String, String> saleMap = new HashMap(); Map<String, String> saleMap = new HashMap();
Map<String, String> typeMap = new HashMap(); Map<String, PackageType> typeMap = new HashMap();
Map<String, PackageBase> packageBaseMap = new HashMap<>(); Map<String, PackageBase> packageBaseMap = new HashMap<>();
...@@ -1185,7 +1186,7 @@ public class ContractServiceImpl implements ContractService { ...@@ -1185,7 +1186,7 @@ public class ContractServiceImpl implements ContractService {
contract.setSaleName(saleMap.containsKey(contract.getSale()) ? saleMap.get(contract.getSale()) : ""); contract.setSaleName(saleMap.containsKey(contract.getSale()) ? saleMap.get(contract.getSale()) : "");
if ("tkio".equals(platform)) { if ("tkio".equals(platform)) {
contract.setPriceLevelName(typeMap.containsKey(contract.getPriceLevel()) ? typeMap.get(contract.getPriceLevel()) : ""); contract.setPriceLevelName(typeMap.containsKey(contract.getPriceLevel()) ? typeMap.get(contract.getPriceLevel()).getPackageName() : "");
} else { } else {
contract.setPriceLevelName(packageBaseMap.get(contract.getPriceLevel()) == null ? "" : packageBaseMap.get(contract.getPriceLevel()).getPackageName()); contract.setPriceLevelName(packageBaseMap.get(contract.getPriceLevel()) == null ? "" : packageBaseMap.get(contract.getPriceLevel()).getPackageName());
...@@ -1644,25 +1645,63 @@ public class ContractServiceImpl implements ContractService { ...@@ -1644,25 +1645,63 @@ public class ContractServiceImpl implements ContractService {
return save; return save;
} }
@Override @Override
public List<ContractMoney> findPayAll(String startDate, String endDate, String platfrom) { public List<ContractMoney> findPayAll(String startDate, String endDate, String platfrom) {
List<User> sales = userRepository.findAll();
return this.findPayAll(startDate,endDate,platfrom,"all","all");
}
@Override
public List<ContractMoney> findPayAll(String startDate, String endDate, String platfrom, String moneyType, String packageTypeSearch) {
Map<Long,PackageType> packageTypeMap = new HashMap<>();
Map<Long, String> saleMap = new HashMap<>(); Map<Long, String> saleMap = new HashMap<>();
if (ValidateUtil.isValid(sales)) { Map<Long, String> packageBaseMap = new HashMap<>();
for (User s : sales) {
saleMap.put(s.getId(), s.getName());
} this.getDicMapDatas(saleMap,packageTypeMap,null,null,packageBaseMap,platfrom);
}
List<ContractMoney> result = new ArrayList<>(); List<ContractMoney> result = new ArrayList<>();
List<ContractMoney> list = contractMoneyRepository.findByDsAll(startDate, endDate, platfrom);
List<ContractMoney> list;
if(!"all".equals(moneyType) && !"all".equals(packageTypeSearch) ){
list = contractMoneyRepository.findByDsAllContractAll(startDate, endDate, platfrom,moneyType,packageTypeSearch);
}else if(!"all".equals(moneyType)){
list = contractMoneyRepository.findByDsAllContractMoneyType(startDate, endDate, platfrom,moneyType);
}else if(!"all".equals(packageTypeSearch)){
list = contractMoneyRepository.findByDsAllContractPkSearch(startDate, endDate, platfrom,packageTypeSearch);
}else{
list = contractMoneyRepository.findByDsAllContract(startDate, endDate, platfrom);
}
if (ValidateUtil.isValid(list)) { if (ValidateUtil.isValid(list)) {
for (ContractMoney cm : list) { for (ContractMoney cm : list) {
cm.setCreateName(saleMap.containsKey(cm.getUser()) ? saleMap.get(cm.getUser()) : "");
result.add(cm); cm.setSalseName(saleMap.get(cm.getSalse()));
if ("tkio".equals(platfrom)) {
PackageType packageType = packageTypeMap.get(cm.getPriceLevel());
if(packageType!=null){
String flow = packageType.getTrackFlow().intValue()<0?"无限制": packageType.getTrackFlow().intValue()/10000+"万/年";
cm.setPackageName(packageType.getPackageName()+" 流量"+flow+" APP"+packageType.getAppNum()+"个");
}else{
cm.setPackageName("");
}
} else {
cm.setPackageName(packageBaseMap.get(cm.getPriceLevel()) == null ? "" : packageBaseMap.get(cm.getPriceLevel()));
}
} }
} }
return result; return list;
} }
@Override @Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment