Commit 528e976d by 杨清松

入账相关接口完善

parent 2d7aebf7
package com.xyst.dinas.finance.constant;
public class ArtificialRechargeConstant {
//人工充值
public static final String ENTITY = "com.xyst.dinas.finance.datamodel.ArtificialRecharge";
}
package com.xyst.dinas.finance.internal.service;
import java.math.BigDecimal;
import java.util.Date;
import java.util.UUID;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import com.beecode.amino.core.Amino;
import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.biz.dao.DinasOrganizationDao;
import com.xyst.dinas.contract.internal.dao.ContractDao;
import com.xyst.dinas.finance.constant.ArtificialRechargeConstant;
import com.xyst.dinas.finance.constant.BankRechargeDetailConstant;
import com.xyst.dinas.finance.constant.ExpenseAdjustConstant;
import com.xyst.dinas.finance.dao.BankRechargeDetailDao;
import com.xyst.dinas.finance.service.BankRechargeDetailService;
import com.xyst.dinas.project.dao.ProjectFiledDao;
import com.xyst.dinas.project.dao.PurchaseSandCompanyDao;
public class BankRechargeDetailServiceImpl implements BankRechargeDetailService {
......@@ -18,6 +30,18 @@ public class BankRechargeDetailServiceImpl implements BankRechargeDetailService
@Autowired
private BankRechargeDetailDao bankRechargeDetailDao;
@Autowired
private ContractDao contractDao;
@Autowired
private ProjectFiledDao projectFiledDao;
@Autowired
private PurchaseSandCompanyDao purchaseSandCompanyDao;
@Autowired
private DinasOrganizationDao dinasOrganizationDao;
@Override
@Transactional
......@@ -41,4 +65,40 @@ public class BankRechargeDetailServiceImpl implements BankRechargeDetailService
}
@Override
@Transactional
public Object createEnterAccount(JSONObject jsonObject) {
try{
KClass artificialRechargeClass = Amino.getApplicationMetadataContext().getBean(ArtificialRechargeConstant.ENTITY, KClass.class);
//KObject expenseAdjust = expenseAdjustClass.newInstance();
KObject artificialRecharge = JSONObjectUtils.toObject(jsonObject.toString(), artificialRechargeClass);
artificialRecharge.set("creator", AminoContextHolder.getContext().getStaff());
artificialRecharge.set("createTime", new Date());
artificialRecharge.set("project", jsonObject.isNull("project") ? null : projectFiledDao.load(UUID.fromString(jsonObject.getJSONObject("project").getString("id"))));
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"))));
if (!jsonObject.isNull("advanceAmount")) {
//生成预付款调整
artificialRecharge.set("id", UUID.randomUUID());
artificialRecharge.set("fundType", "ADVANCE");
artificialRecharge.set("rechargeAmount", jsonObject.getBigDecimal("advanceAmount"));
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"));
bankRechargeDetailDao.save(artificialRechargeTwo);
}
return ResponseObj.success();
} catch(Exception e) {
e.printStackTrace();
return ResponseObj.error();
}
}
}
......@@ -12,13 +12,17 @@ import com.beecode.amino.core.Amino;
import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.Null;
import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.biz.dao.DinasOrganizationDao;
import com.xyst.dinas.contract.internal.dao.ContractDao;
import com.xyst.dinas.finance.constant.BankRechargeDetailConstant;
import com.xyst.dinas.finance.constant.ExpenseAdjustConstant;
import com.xyst.dinas.finance.dao.ExpenseAdjustDao;
import com.xyst.dinas.finance.service.ExpenseAdjustService;
import com.xyst.dinas.project.dao.ProjectFiledDao;
import com.xyst.dinas.project.dao.PurchaseSandCompanyDao;
public class ExpenseAdjustServiceImpl implements ExpenseAdjustService {
......@@ -27,6 +31,15 @@ public class ExpenseAdjustServiceImpl implements ExpenseAdjustService {
@Autowired
private ContractDao contractDao;
@Autowired
private ProjectFiledDao projectFiledDao;
@Autowired
private PurchaseSandCompanyDao purchaseSandCompanyDao;
@Autowired
private DinasOrganizationDao dinasOrganizationDao;
@Override
@Transactional
......@@ -38,7 +51,9 @@ public class ExpenseAdjustServiceImpl implements ExpenseAdjustService {
expenseAdjust.set("creator", AminoContextHolder.getContext().getStaff());
expenseAdjust.set("createTime", new Date());
expenseAdjust.set("id", UUID.randomUUID());
expenseAdjust.set("project", jsonObject.isNull("project") ? null : projectFiledDao.load(UUID.fromString(jsonObject.getJSONObject("project").getString("id"))));
expenseAdjust.set("regionalCompany", jsonObject.isNull("regionalCompany") ? null : dinasOrganizationDao.load(UUID.fromString(jsonObject.getJSONObject("regionalCompany").getString("id"))));
expenseAdjust.set("purchaseSandUnit", jsonObject.isNull("purchaseSandUnit") ? null : purchaseSandCompanyDao.load(UUID.fromString(jsonObject.getJSONObject("purchaseSandUnit").getString("id"))));
//获取关联合同
UUID contractId = UUID.fromString(jsonObject.getJSONObject("contract").getString("id"));
KObject contract = contractDao.load(contractId);
......@@ -50,20 +65,6 @@ public class ExpenseAdjustServiceImpl implements ExpenseAdjustService {
contractDao.update(contract);
expenseAdjust.set("contract", contract);
expenseAdjustDao.save(expenseAdjust);
// if (!jsonObject.isNull("advanceAmount")) {
// //生成预付款调整
// expenseAdjust.set("id", UUID.randomUUID());
// expenseAdjust.set("fundType", "ADVANCE");
// expenseAdjust.set("expenseAdjustAmount", jsonObject.getBigDecimal("advanceAmount"));
// expenseAdjustDao.save(expenseAdjust);
// } else if (!jsonObject.isNull("depositAmount")) {
// //生成保证金调整
// expenseAdjust.set("id", UUID.randomUUID());
// expenseAdjust.set("fundType", "DEPOSIT");
// expenseAdjust.set("expenseAdjustAmount", jsonObject.getBigDecimal("depositAmount"));
// expenseAdjustDao.save(expenseAdjust);
// }
return ResponseObj.success();
} catch (Exception e) {
e.printStackTrace();
......
......@@ -6,4 +6,6 @@ public interface BankRechargeDetailService {
Object createRechargeDetail(JSONObject jsonObject);
Object createEnterAccount(JSONObject jsonObject);
}
......@@ -29,4 +29,11 @@ public class BankRechargeDetailController {
JSONObject jsonObject = new JSONObject(body);
return bankRechargeDetailService.createRechargeDetail(jsonObject);
}
@ResponseBody
@RequestMapping(value = "/finance/bankRechargeDetail/createEnterAccount", method = RequestMethod.POST, consumes = "application/json")
public Object createEnterAccount(@RequestBody String body) {
JSONObject jsonObject = new JSONObject(body);
return bankRechargeDetailService.createEnterAccount(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