Commit 7d3bff18 by kangxiaoshan

先回款待录入

parent 631fe086
...@@ -28,12 +28,21 @@ public interface ContractMoneyRepository extends JpaRepository<ContractMoney, Lo ...@@ -28,12 +28,21 @@ public interface ContractMoneyRepository extends JpaRepository<ContractMoney, Lo
List<ContractMoney> findByDsAllContract(String startDate, String endDate, String platfrom); 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) // @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);
@Query(value = "select a.id,a.company,a.contract_code,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,a.salse,a.price_level,u.name create_name from contract_money a 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 a.price_level = ?5 order by a.ds desc",nativeQuery = true)
List<ContractMoney> findByDsAllContractAll(String startDate, String endDate, String platfrom, String moneyType, String packageTypeSearch); 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) @Query(value = "select a.id,a.company,a.contract_code,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,a.salse,a.price_level,u.name create_name from contract_money a 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); 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) @Query(value = "select a.id,a.company,a.contract_code,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,a.salse,a.price_level,u.name create_name from contract_money a left join user u on a.create_account = u.id where a.ds >= ?1 and a.ds <= ?2 and a.platform = ?3 and a.price_level = ?4 order by a.ds desc",nativeQuery = true)
List<ContractMoney> findByDsAllContractPkSearch(String startDate, String endDate, String platfrom, String pkType); List<ContractMoney> findByDsAllContractPkSearch(String startDate, String endDate, String platfrom, String pkType);
} }
...@@ -888,19 +888,22 @@ public class ContractServiceImpl implements ContractService { ...@@ -888,19 +888,22 @@ public class ContractServiceImpl implements ContractService {
private void dealContractStatus(Contract resource, User loginUser, String type) { private void dealContractStatus(Contract resource, User loginUser, String type) {
if (resource.getPayMoney() != null) { if (resource.getPayMoney() != null) {
if (resource.getMoney() == null) { if (resource.getMoney() == null) {
resource.setMoney(0L); resource.setMoney(0L);
} }
String first_back = null;
if (ContractStatusEnum.MONEY_BACK_FIRST.getKey().equals(resource.getStatus())) { if (ContractStatusEnum.MONEY_BACK_FIRST.getKey().equals(resource.getStatus())) {
first_back = resource.getStatus(); resource.setStatus(ContractStatusEnum.MONEY_BACK_FIRST.getKey());
} //记录收款记录
ContractMoney money = new ContractMoney();
money.setType("pay");
saveContractMoney(money, loginUser, resource, type);
if (resource.getPayMoney().longValue() <= 0) { }else if (resource.getPayMoney().longValue() <= 0) {
//未回款 //未回款
resource.setStatus(ContractStatusEnum.MONEY_BACK_NONE.getKey()); resource.setStatus(ContractStatusEnum.MONEY_BACK_NONE.getKey());
...@@ -922,11 +925,6 @@ public class ContractServiceImpl implements ContractService { ...@@ -922,11 +925,6 @@ public class ContractServiceImpl implements ContractService {
saveContractMoney(money, loginUser, resource, type); saveContractMoney(money, loginUser, resource, type);
} }
if (!StringUtils.isEmpty(first_back)) {
//先回款待录入
resource.setStatus(first_back);
}
} else { } else {
//未回款 //未回款
...@@ -975,13 +973,26 @@ public class ContractServiceImpl implements ContractService { ...@@ -975,13 +973,26 @@ public class ContractServiceImpl implements ContractService {
return; return;
} }
if (money.getType().equals("pay")) { if(ContractStatusEnum.MONEY_BACK_FIRST.getKey().equals(contract.getStatus())){
money.setMoney(contract.getPayMoney());
}else if (money.getType().equals("pay")) {
money.setMoney(contract.getMoney()); money.setMoney(contract.getMoney());
} else { } else {
money.setMoney(contract.getInvoiceMoney().longValue()); money.setMoney(contract.getInvoiceMoney().longValue());
} }
money.setCompany(contract.getMyBodyName());
money.setSalse(contract.getSale());
money.setPriceLevel(contract.getPriceLevel());
// if(ContractStatusEnum.MONEY_BACK_FIRST.getKey().equals(contract.getStatus())){
// money.setCompany(contract.getMyBodyName());
// }else{
// money.setCompany(contract.getCustomerBody());
// }
money.setCompany(contract.getCustomerBody());
money.setContractCode(contract.getContractCode()); money.setContractCode(contract.getContractCode());
money.setPlatform(contract.getPlatform()); money.setPlatform(contract.getPlatform());
money.setEmail(contract.getEmail()); money.setEmail(contract.getEmail());
...@@ -1111,6 +1122,10 @@ public class ContractServiceImpl implements ContractService { ...@@ -1111,6 +1122,10 @@ public class ContractServiceImpl implements ContractService {
c.setRelationContract(-1L); c.setRelationContract(-1L);
} }
if(ContractStatusEnum.MONEY_BACK_FIRST.getKey().equals(c.getStatus())){
c.setStartDate(null);
}
// if (c.getType().equals(ContractTypeEnum.MAIN.getKey()) && platform.contains("io")) { // if (c.getType().equals(ContractTypeEnum.MAIN.getKey()) && platform.contains("io")) {
// //
...@@ -1329,22 +1344,27 @@ public class ContractServiceImpl implements ContractService { ...@@ -1329,22 +1344,27 @@ public class ContractServiceImpl implements ContractService {
@Override @Override
public ContractMoney pay(User loginUser, ContractMoney resource) { public ContractMoney pay(User loginUser, ContractMoney resource) {
Contract contract = contractRepository.findByCode(resource.getContractCode()); // Contract contract = contractRepository.findByCode(resource.getContractCode());
Contract contract = contractRepository.findOne(resource.getId());
if (resource.getType().equals("pay")) { if (resource.getType().equals("pay")) {
contract.setPayMoney(contract.getPayMoney() + resource.getMoney()); contract.setPayMoney(contract.getPayMoney() + resource.getMoney());
//判断回款状态 //判断回款状态
this.dealContractStatus(contract, loginUser, "update"); this.dealContractStatus(contract, loginUser, "update");
} else { } else {
contract.setInvoiceMoney(contract.getInvoiceMoney().add(new BigDecimal(resource.getMoney().toString()))); contract.setInvoiceMoney(contract.getInvoiceMoney().add(new BigDecimal(resource.getMoney().toString())));
} }
if (contract.getType().equals(ContractTypeEnum.INCREMENT.getKey())) { if (ContractTypeEnum.INCREMENT.getKey().equals(contract.getType())) {
contract.setStatus("end"); contract.setStatus("end");
} }
contractRepository.save(contract); contractRepository.save(contract);
resource.setPriceLevel(contract.getPriceLevel());
resource.setSalse(contract.getSale());
resource.setCompany(contract.getCustomerBody());
resource.setCreateName(loginUser.getName());
resource.setPlatform(contract.getPlatform()); resource.setPlatform(contract.getPlatform());
resource.setCreateAccount(loginUser.getId()); resource.setCreateAccount(loginUser.getId());
resource.setCreateTime(new Date()); resource.setCreateTime(new Date());
......
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