Commit 7d3bff18 by kangxiaoshan

先回款待录入

parent 631fe086
......@@ -28,12 +28,21 @@ public interface ContractMoneyRepository extends JpaRepository<ContractMoney, Lo
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);
@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);
@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);
}
......@@ -888,19 +888,22 @@ public class ContractServiceImpl implements ContractService {
private void dealContractStatus(Contract resource, User loginUser, String type) {
if (resource.getPayMoney() != null) {
if (resource.getMoney() == null) {
resource.setMoney(0L);
}
String first_back = null;
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());
......@@ -922,11 +925,6 @@ public class ContractServiceImpl implements ContractService {
saveContractMoney(money, loginUser, resource, type);
}
if (!StringUtils.isEmpty(first_back)) {
//先回款待录入
resource.setStatus(first_back);
}
} else {
//未回款
......@@ -975,13 +973,26 @@ public class ContractServiceImpl implements ContractService {
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());
} else {
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.setPlatform(contract.getPlatform());
money.setEmail(contract.getEmail());
......@@ -1111,6 +1122,10 @@ public class ContractServiceImpl implements ContractService {
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")) {
//
......@@ -1329,22 +1344,27 @@ public class ContractServiceImpl implements ContractService {
@Override
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")) {
contract.setPayMoney(contract.getPayMoney() + resource.getMoney());
//判断回款状态
this.dealContractStatus(contract, loginUser, "update");
} else {
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");
}
contractRepository.save(contract);
resource.setPriceLevel(contract.getPriceLevel());
resource.setSalse(contract.getSale());
resource.setCompany(contract.getCustomerBody());
resource.setCreateName(loginUser.getName());
resource.setPlatform(contract.getPlatform());
resource.setCreateAccount(loginUser.getId());
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