Commit 00b0f2d2 by 杨清松

人工充值入账调整合同相关金额

parent a418a7cf
......@@ -8,15 +8,18 @@ import com.xyst.dinas.finance.dao.StatementAccountDao;
import com.xyst.dinas.finance.internal.dao.BankRechargeDetailDaoImpl;
import com.xyst.dinas.finance.internal.dao.ExpenseAdjustDaoImpl;
import com.xyst.dinas.finance.internal.dao.StatementAccountDaoImpl;
import com.xyst.dinas.finance.internal.service.ArtificialRechargeServiceImpl;
import com.xyst.dinas.finance.internal.service.BankRechargeDetailServiceImpl;
import com.xyst.dinas.finance.internal.service.ExpenseAdjustServiceImpl;
import com.xyst.dinas.finance.internal.service.FinanceRefundServiceImpl;
import com.xyst.dinas.finance.internal.service.StatementAccountServiceImpl;
import com.xyst.dinas.finance.processor.FinanceRefundProcessor;
import com.xyst.dinas.finance.service.ArtificialRechargeService;
import com.xyst.dinas.finance.service.BankRechargeDetailService;
import com.xyst.dinas.finance.service.ExpenseAdjustService;
import com.xyst.dinas.finance.service.FinanceRefundService;
import com.xyst.dinas.finance.service.StatementAccountService;
import com.xyst.dinas.finance.web.ArtificialRechargeController;
import com.xyst.dinas.finance.web.BankRechargeDetailController;
import com.xyst.dinas.finance.web.ExpenseAdjustController;
import com.xyst.dinas.finance.web.RefundController;
......@@ -90,5 +93,14 @@ public class FinanceConfiguration {
return new StatementAccountDaoImpl();
}
@Bean
public ArtificialRechargeController artificialRechargeController() {
return new ArtificialRechargeController();
}
@Bean
public ArtificialRechargeService artificialRechargeService() {
return new ArtificialRechargeServiceImpl();
}
}
package com.xyst.dinas.finance.internal.service;
import java.math.BigDecimal;
import java.util.UUID;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.jiuqi.np.syntax.parser.ANTLRParser.ifthen_eval_return;
import com.xyst.dinas.contract.internal.dao.ContractDao;
import com.xyst.dinas.finance.enumeration.FundTypeEnum;
import com.xyst.dinas.finance.service.ArtificialRechargeService;
public class ArtificialRechargeServiceImpl implements ArtificialRechargeService {
@Autowired
private ContractDao contractDao;
@Override
@Transactional
public Object adjustContractBalance(JSONObject jsonObject) {
try{
UUID contractId = UUID.fromString(jsonObject.getString("contractId"));
KObject contract = contractDao.load(contractId);
if (FundTypeEnum.ADVANCE.name().equals(jsonObject.getString("fundType"))) {
contract.set("advanceBalance", contract.getBigDecimal("advanceBalance") == null ? new BigDecimal("0").add(jsonObject.getBigDecimal("rechargeAmount")) : contract.getBigDecimal("advanceBalance").add(jsonObject.getBigDecimal("rechargeAmount")));
} else if(FundTypeEnum.DEPOSIT.name().equals(jsonObject.getString("fundType"))){
contract.set("depositBalance", contract.getBigDecimal("depositBalance") == null ? new BigDecimal("0").add(jsonObject.getBigDecimal("rechargeAmount")) : contract.getBigDecimal("depositBalance").add(jsonObject.getBigDecimal("rechargeAmount")));
}
contractDao.update(contract);
return ResponseObj.success();
} catch(Exception e){
return ResponseObj.error();
}
}
}
......@@ -79,19 +79,28 @@ public class BankRechargeDetailServiceImpl implements BankRechargeDetailService
artificialRecharge.set("regionalCompany", jsonObject.isNull("regionalCompany") ? null : dinasOrganizationDao.load(UUID.fromString(jsonObject.getJSONObject("regionalCompany").getString("id"))));
artificialRecharge.set("purchaseSandUnit", jsonObject.isNull("purchaseSandUnit") ? null : purchaseSandCompanyDao.load(UUID.fromString(jsonObject.getJSONObject("purchaseSandUnit").getString("id"))));
artificialRecharge.set("contract", jsonObject.isNull("contract") ? null : contractDao.load(UUID.fromString(jsonObject.getJSONObject("contract").getString("id"))));
//获取关联合同
UUID contractId = UUID.fromString(jsonObject.getJSONObject("contract").getString("id"));
KObject contract = contractDao.load(contractId);
if (!jsonObject.isNull("advanceAmount")) {
//生成预付款调整
//生成预付款入账
artificialRecharge.set("id", UUID.randomUUID());
artificialRecharge.set("fundType", "ADVANCE");
artificialRecharge.set("rechargeAmount", jsonObject.getBigDecimal("advanceAmount"));
contract.set("advanceBalance", contract.getBigDecimal("advanceBalance") == null ? new BigDecimal("0").add(jsonObject.getBigDecimal("advanceAmount")) : contract.getBigDecimal("advanceBalance").add(jsonObject.getBigDecimal("advanceAmount")));
contractDao.update(contract);
artificialRecharge.set("contract", contract);
bankRechargeDetailDao.save(artificialRecharge);
}
if (!jsonObject.isNull("depositAmount")) {
//生成保证金调整
//生成保证金入账
KObject artificialRechargeTwo = artificialRechargeClass.newInstance(artificialRecharge);
artificialRechargeTwo.set("id", UUID.randomUUID());
artificialRechargeTwo.set("fundType", "DEPOSIT");
artificialRechargeTwo.set("rechargeAmount", jsonObject.getBigDecimal("depositAmount"));
contract.set("depositBalance", contract.getBigDecimal("depositBalance") == null ? new BigDecimal("0").add(jsonObject.getBigDecimal("depositAmount")) : contract.getBigDecimal("depositBalance").add(jsonObject.getBigDecimal("depositAmount")));
contractDao.update(contract);
artificialRecharge.set("contract", contract);
bankRechargeDetailDao.save(artificialRechargeTwo);
}
return ResponseObj.success();
......
package com.xyst.dinas.finance.service;
import org.json.JSONObject;
public interface ArtificialRechargeService {
Object adjustContractBalance(JSONObject jsonObject);
}
package com.xyst.dinas.finance.web;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.xyst.dinas.finance.service.ArtificialRechargeService;
import com.xyst.dinas.finance.service.BankRechargeDetailService;
import com.xyst.dinas.finance.service.ExpenseAdjustService;
/**
* 人工充值
*
* @author yangqingsong
* @date 2021年4月29日
*/
@RestController
public class ArtificialRechargeController {
@Autowired
private ArtificialRechargeService artificialRechargeService;
@ResponseBody
@RequestMapping(value = "/finance/artificialRecharge/adjustContractBalance", method = RequestMethod.POST, consumes = "application/json")
public Object adjustContractBalance(@RequestBody String body) {
JSONObject jsonObject = new JSONObject(body);
return artificialRechargeService.adjustContractBalance(jsonObject);
}
}
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