Commit 624c66e1 by 王衍超

新增接口:根据购砂单位ID 查询所有合同列表里的项目ID列表;

parent 1dac949b
...@@ -2,7 +2,7 @@ package com.xyst.dinas.contract.config; ...@@ -2,7 +2,7 @@ package com.xyst.dinas.contract.config;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import com.xyst.dinas.contract.internal.dao.ContractDaoImpl; import com.xyst.dinas.contract.internal.dao.ContractInfoDao;
import com.xyst.dinas.contract.internal.service.ContractServiceImpl; import com.xyst.dinas.contract.internal.service.ContractServiceImpl;
import com.xyst.dinas.contract.service.ContractService; import com.xyst.dinas.contract.service.ContractService;
import com.xyst.dinas.contract.web.ContractController; import com.xyst.dinas.contract.web.ContractController;
...@@ -24,8 +24,8 @@ public class ContractConfiguration { ...@@ -24,8 +24,8 @@ public class ContractConfiguration {
return new ContractServiceImpl(); return new ContractServiceImpl();
} }
@Bean @Bean
public ContractDaoImpl contractDaoImpl() { public ContractInfoDao contractInfoDao() {
return new ContractDaoImpl(); return new ContractInfoDao();
} }
} }
...@@ -11,15 +11,19 @@ public enum ContractStateEnum { ...@@ -11,15 +11,19 @@ public enum ContractStateEnum {
/** /**
* 未执行 * 未执行
*/ */
UN_EXECUTE("0","未执行"), UN_EXECUTE("UN_EXECUTE","未执行"),
/** /**
* 执行中 * 执行中
*/ */
EXECUTING("1","执行中"), EXECUTING("EXECUTING","执行中"),
/** /**
* 已完成 * 已完成
*/ */
COMPLETED("2","已完成"), COMPLETED("COMPLETED","已完成"),
/**
* 已变更
*/
MODIFIED("MODIFIED","已变更"),
; ;
String code; String code;
......
package com.xyst.dinas.contract.internal.dao; package com.xyst.dinas.contract.internal.dao;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.UUID; import java.util.UUID;
import org.hibernate.HibernateException; import org.hibernate.HibernateException;
...@@ -13,18 +15,28 @@ import org.springframework.stereotype.Repository; ...@@ -13,18 +15,28 @@ import org.springframework.stereotype.Repository;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.xyst.dinas.contract.constant.ContractConstant; import com.xyst.dinas.contract.constant.ContractConstant;
import com.xyst.dinas.contract.pojo.ContractEntity;
@Repository @Repository
public class ContractDaoImpl { public class ContractInfoDao {
@Autowired @Autowired
private HibernateOperations template; private HibernateOperations template;
public void update(KObject kobject) {
template.update(kobject.getType().getName(), kobject);
}
public KObject load(UUID id) { public KObject load(UUID id) {
return (KObject) template.get(ContractConstant.ENTITY_CONTRACT_INFO, id);
return null;
} }
public UUID create(KObject kObject) {
return (UUID) template.save(kObject.getType().getName(), kObject);
}
/** /**
* 通过合同编号查找合同 * 通过合同编号查找合同
* @param contractCode * @param contractCode
...@@ -41,7 +53,24 @@ public class ContractDaoImpl { ...@@ -41,7 +53,24 @@ public class ContractDaoImpl {
}); });
} }
public Set<String> getProjectListByPurSandId(UUID purchaseSandId) {
HashSet<String> projectSet = new HashSet<>();
List<KObject> contracts = template.execute(new HibernateCallback<List<KObject>>() {
@Override
public List<KObject> doInHibernate(Session session) throws HibernateException {
Query<KObject> query = session.createQuery("from " + ContractConstant.ENTITY_CONTRACT + " where valid = 1 and purchaseSandUnit.id =:purchaseSandUnit", KObject.class);
query.setParameter("purchaseSandUnit", purchaseSandId);
return query.getResultList();
}
});
if(contracts==null ||contracts.isEmpty()) return projectSet;
for (KObject contract : contracts) {
UUID projectId = contract.getUuid(ContractEntity.PROJECT);
projectSet.add(projectId.toString());
}
return projectSet;
}
......
package com.xyst.dinas.contract.internal.service; package com.xyst.dinas.contract.internal.service;
import java.util.Set;
import java.util.UUID; import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -9,7 +10,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -9,7 +10,7 @@ import org.springframework.transaction.annotation.Transactional;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.beecode.inz.workflow.service.InzWorkflowService; import com.beecode.inz.workflow.service.InzWorkflowService;
import com.xyst.dinas.contract.constant.ContractConstant; import com.xyst.dinas.contract.constant.ContractConstant;
import com.xyst.dinas.contract.internal.dao.ContractDaoImpl; import com.xyst.dinas.contract.internal.dao.ContractInfoDao;
import com.xyst.dinas.contract.service.ContractService; import com.xyst.dinas.contract.service.ContractService;
@Service @Service
...@@ -20,12 +21,11 @@ public class ContractServiceImpl implements ContractService{ ...@@ -20,12 +21,11 @@ public class ContractServiceImpl implements ContractService{
private InzWorkflowService inzWorkflowService; private InzWorkflowService inzWorkflowService;
@Autowired @Autowired
private ContractDaoImpl contractDao; private ContractInfoDao contractInfoDao;
@Override @Override
public void submitFlow(UUID id) { public void submitFlow(UUID id) {
KObject kobject = contractDao.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);
...@@ -43,12 +43,20 @@ public class ContractServiceImpl implements ContractService{ ...@@ -43,12 +43,20 @@ public class ContractServiceImpl implements ContractService{
ContractConstant.BIZ_TYPE, data); ContractConstant.BIZ_TYPE, data);
} }
@Override
public Set<String> getProjectListByPurSandId(UUID purchaseSandId) {
return contractInfoDao.getProjectListByPurSandId(purchaseSandId);
}
public void bill() { public void bill() {
String billDefineName = "com.beecode.inz.property.bill.Equipment"; String billDefineName = ContractConstant.ENTITY_CONTRACT;
// BillDefine billDefine = Amino.getApplicationMetadataContext().getBean(billDefineName, BillDefine.class); // BillDefine billDefine = Amino.getApplicationMetadataContext().getBean(billDefineName, BillDefine.class);
// Bill equipmentBill = billService.createBill(billDefine); // Bill equipmentBill = billService.createBill(billDefine);
// BillData equipmentBillData = equipmentBill.getData(); // BillData equipmentBillData = equipmentBill.getData();
} }
} }
package com.xyst.dinas.contract.pojo;
public class ContractEntity {
/** 实体名:合同表 */
public static final String ENTITY_CONTRACT = "com.xyst.dinas.contract.datamodel.Contract";
/** 项目 */
public static final String PROJECT = "project";
}
package com.xyst.dinas.contract.service; package com.xyst.dinas.contract.service;
import java.util.Set;
import java.util.UUID; import java.util.UUID;
public interface ContractService { public interface ContractService {
void submitFlow(UUID id); void submitFlow(UUID id);
/**
* 根据购砂单位ID 查询所有合同列表里的项目ID列表
* @param purchaseSandId 购砂单位ID
* @return
*/
Set<String> getProjectListByPurSandId(UUID purchaseSandId);
} }
package com.xyst.dinas.contract.web; package com.xyst.dinas.contract.web;
import java.util.Set;
import java.util.UUID; import java.util.UUID;
import org.json.JSONObject; import org.json.JSONObject;
...@@ -32,13 +33,15 @@ public class ContractController { ...@@ -32,13 +33,15 @@ public class ContractController {
//根据购砂单位ID 查询所有合同列表里的项目ID列表 //根据购砂单位ID 查询所有合同列表里的项目ID列表
@GetMapping("/sand/user/projectList/{regionId}") @GetMapping("/sand/user/projectList/{purchaseSandId}")
public String getProjectListByRegionId(@PathVariable String regionId) { public String getProjectListByPurSandId(@PathVariable String purchaseSandId) {
UUID id = UUID.fromString(purchaseSandId);
return "test"; Set<String> projectList = contractService.getProjectListByPurSandId(id);
JSONObject jsonObject = new JSONObject(projectList);
return jsonObject.toString();
} }
} }
\ No newline at end of file
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