Commit b45a28d5 by 焦凯

提交合同新建相关接口

parent 7e829d5b
......@@ -5,6 +5,7 @@ package com.beecode.inz.common;
*
* @author tanshuqiang
*2017年10月12日
* @version Joker add creator modifier and datetime
*/
public interface BaseConstants {
......@@ -53,6 +54,25 @@ public interface BaseConstants {
*/
String DEL = "del";
/**
* 创建人
*/
String CREATOR = "creator";
/**
* 创建时间
*/
String CREATE_TIME = "createTime";
/**
* 修改时间
*/
String MODIFY_TIME = "modifyTime";
/**
* 修改人
*/
String MODIFIER = "modifier";
/**
* 费用项目元数据
......
......@@ -20,6 +20,7 @@ dependencies {
compile project(":inz.workflow")
compile project(":inz.basis")
compile project(":xyst.dinas.biz")
compile project(":xyst.dinas.project")
testCompile lib.amino_boot_web
......
package com.xyst.dinas.contract.internal.service;
import java.util.Date;
import java.util.UUID;
import org.json.JSONArray;
......@@ -7,48 +8,95 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.common.BaseConstants;
import com.beecode.inz.workflow.service.InzWorkflowService;
import com.xyst.dinas.biz.dao.DinasOrganizationDao;
import com.xyst.dinas.contract.constant.ContractConstant;
import com.xyst.dinas.contract.internal.dao.ContractInfoDao;
import com.xyst.dinas.contract.service.ContractService;
import com.xyst.dinas.project.dao.ProjectFiledDao;
import com.xyst.dinas.project.dao.PurchaseSandCompanyDao;
@Service
@Transactional(rollbackFor = Exception.class)
public class ContractServiceImpl implements ContractService{
// @Transactional(rollbackFor = Exception.class)
public class ContractServiceImpl implements ContractService {
@Autowired
private InzWorkflowService inzWorkflowService;
@Autowired
private ContractInfoDao contractInfoDao;
@Autowired
private ProjectFiledDao projectFiledDao;
@Autowired
private DinasOrganizationDao dinasOrganizationDao;
@Autowired
private PurchaseSandCompanyDao purchaseSandCompanyDao;
@Override
@Transactional
public UUID create(KObject kObject) {
KObject staff = AminoContextHolder.getContext().getStaff();
kObject.set(BaseConstants.CREATOR, staff);
kObject.set(BaseConstants.CREATE_TIME, new Date());
kObject.set(BaseConstants.DISCARD, false);
KObject projectKobj = projectFiledDao.load(kObject.get(ContractConstant.PROJECT).getUuid("id"));
kObject.set(ContractConstant.PROJECT, projectKobj);
KObject organizationKobj = dinasOrganizationDao
.load(kObject.get(ContractConstant.REGION_COMPANY).getUuid("id"));
kObject.set(ContractConstant.REGION_COMPANY, organizationKobj);
KObject companyKobj = purchaseSandCompanyDao
.load(kObject.get(ContractConstant.PURCHASE_SAND_UNIT).getUuid("id"));
kObject.set(ContractConstant.PURCHASE_SAND_UNIT, companyKobj);
return contractInfoDao.create(kObject);
}
public void update(KObject kobject) {
contractInfoDao.update(kobject);
@Override
@Transactional
public void update(KObject kObject) {
KObject staff = AminoContextHolder.getContext().getStaff();
kObject.set(BaseConstants.MODIFIER, staff);
kObject.set(BaseConstants.MODIFY_TIME, new Date());
KObject projectKobj = projectFiledDao.load(kObject.get(ContractConstant.PROJECT).getUuid("id"));
kObject.set(ContractConstant.PROJECT, projectKobj);
KObject organizationKobj = dinasOrganizationDao
.load(kObject.get(ContractConstant.REGION_COMPANY).getUuid("id"));
kObject.set(ContractConstant.REGION_COMPANY, organizationKobj);
KObject companyKobj = purchaseSandCompanyDao
.load(kObject.get(ContractConstant.PURCHASE_SAND_UNIT).getUuid("id"));
kObject.set(ContractConstant.PURCHASE_SAND_UNIT, companyKobj);
contractInfoDao.update(kObject);
}
public KObject queryContractInfo(UUID id) {
KObject obj = contractInfoDao.load(id);
// ContractInfoEntity contractInfoobject = obj.toObject(ContractInfoEntity.class);
// ContractInfoEntity contractInfoobject =
// obj.toObject(ContractInfoEntity.class);
return obj;
}
@Override
@Transactional
public void submitFlow(UUID id) {
KObject kobject = contractInfoDao.load(id);
if (needSubmitFlow(kobject)) {
// 调用流程接口发起流程
inzWorkflowService.startWorkflow("SUBMIT", ContractConstant.BIZ_TYPE, kobject.getString("lendReason"), kobject);
inzWorkflowService.startWorkflow("SUBMIT", ContractConstant.BIZ_TYPE, kobject.getString("lendReason"),
kobject);
}
}
/**
* 判断提交是否需要走流程
*
......@@ -56,22 +104,23 @@ public class ContractServiceImpl implements ContractService{
* @return
*/
private boolean needSubmitFlow(KObject data) {
return inzWorkflowService.canStartWotkflow("SUBMIT",
ContractConstant.BIZ_TYPE, data);
return inzWorkflowService.canStartWotkflow("SUBMIT", ContractConstant.BIZ_TYPE, data);
}
@Override
public JSONArray getProjectListByPurSandId(UUID purchaseSandId,UUID projectType,String projectName) {
return contractInfoDao.getProjectListByPurSandId(purchaseSandId,projectType,projectName);
public JSONArray getProjectListByPurSandId(UUID purchaseSandId, UUID projectType, String projectName) {
return contractInfoDao.getProjectListByPurSandId(purchaseSandId, projectType, projectName);
}
public void bill() {
String billDefineName = ContractConstant.ENTITY_CONTRACT;
// BillDefine billDefine = Amino.getApplicationMetadataContext().getBean(billDefineName, BillDefine.class);
// Bill equipmentBill = billService.createBill(billDefine);
// BillData equipmentBillData = equipmentBill.getData();
// BillDefine billDefine =
// Amino.getApplicationMetadataContext().getBean(billDefineName,
// BillDefine.class);
// Bill equipmentBill = billService.createBill(billDefine);
// BillData equipmentBillData = equipmentBill.getData();
}
@Override
......@@ -80,6 +129,4 @@ public class ContractServiceImpl implements ContractService{
return kobject;
}
}
......@@ -34,14 +34,14 @@ public class ContractController {
@Autowired
private ContractInfoDao contractInfoDao;
@PostMapping("/contract/create")
@PostMapping("/contractInfo/create")
public UUID create(@RequestBody String contractInfo) {
KClass type = Amino.getApplicationMetadataContext().getBean(ContractConstant.ENTITY_CONTRACT_INFO, KClass.class);
KObject kObject = JSONObjectUtils.toObject(contractInfo, type);
return contractService.create(kObject);
}
@PostMapping("/contract/update")
@PostMapping("/contractInfo/update")
public CommonResult update(@RequestBody String contractInfo) {
KClass type = Amino.getApplicationMetadataContext().getBean(ContractConstant.ENTITY_CONTRACT_INFO, KClass.class);
KObject kObject = JSONObjectUtils.toObject(contractInfo, type);
......@@ -49,10 +49,10 @@ public class ContractController {
return CommonResult.SUCCESS_RESULT;
}
@GetMapping("/contract/{contractId}")
public KObject queryContractInfo(@PathVariable UUID contractId) {
@GetMapping("/contractInfo/{contractInfoId}")
public KObject queryContractInfo(@PathVariable UUID contractInfoId) {
KObject contractInfo = contractService.queryContractInfo(contractId);
KObject contractInfo = contractService.queryContractInfo(contractInfoId);
return contractInfo;
}
......
package com.xyst.dinas.project.dao;
import java.util.List;
import java.util.UUID;
import com.beecode.bcp.type.KObject;
public interface PurchaseSandCompanyDao {
KObject load(UUID id);
List<KObject> queryPurchaseSandCompanyByName(String name);
......
package com.xyst.dinas.project.internal.dao;
import java.util.List;
import java.util.UUID;
import org.hibernate.HibernateException;
import org.hibernate.Session;
......@@ -30,4 +31,9 @@ public class PurchaseSandCompanyDaoImpl implements PurchaseSandCompanyDao, Purch
}
});
}
@Override
public KObject load(UUID id) {
return (KObject) template.load(PURCHASE_SAND_COMPANY_NTITY, id);
}
}
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