Commit b45a28d5 by 焦凯

提交合同新建相关接口

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