Commit 3d03f6c2 by 王衍超

增加临时销售计划接口;

parent b7938a2d
...@@ -79,9 +79,13 @@ public class PlanningCycleDao { ...@@ -79,9 +79,13 @@ public class PlanningCycleDao {
}); });
} }
@SuppressWarnings("deprecation")
public List<KObject> getPlanningCycleListByDay(Date startTime,Date endTime) { public List<KObject> getPlanningCycleListByDay(Date startTime,Date endTime) {
String dayName = PlanningCycleEnum.DAY.name(); String dayName = PlanningCycleEnum.DAY.name();
endTime.setHours(23);
endTime.setMinutes(59);
endTime.setSeconds(59);
String hql = "from "+PlanningCycleConstant.ENTITY+" where cycleType=:cycleType and startTime >=:startTime and endTime <=:endTime"; String hql = "from "+PlanningCycleConstant.ENTITY+" where cycleType=:cycleType and startTime >=:startTime and endTime <=:endTime";
return template.execute(session -> { return template.execute(session -> {
......
package com.xyst.dinas.biz.internal.service; package com.xyst.dinas.biz.internal.service;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -38,7 +37,7 @@ public class PlanningCycleServiceImpl implements PlanningCycleService{ ...@@ -38,7 +37,7 @@ public class PlanningCycleServiceImpl implements PlanningCycleService{
* @param endTime * @param endTime
* @return * @return
*/ */
public List<KObject> getPlanningCycleListByDay(LocalDateTime startTime,LocalDateTime endTime) { public List<KObject> getPlanningCycleListByDay(Date startTime,Date endTime) {
return planningCycleDao.getPlanningCycleListByDay(startTime, endTime); return planningCycleDao.getPlanningCycleListByDay(startTime, endTime);
} }
......
package com.xyst.dinas.biz.service; package com.xyst.dinas.biz.service;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -25,7 +24,7 @@ public interface PlanningCycleService { ...@@ -25,7 +24,7 @@ public interface PlanningCycleService {
* @param endTime * @param endTime
* @return * @return
*/ */
public List<KObject> getPlanningCycleListByDay(LocalDateTime startTime,LocalDateTime endTime) ; public List<KObject> getPlanningCycleListByDay(Date startTime,Date endTime) ;
public void initData() ; public void initData() ;
......
package com.xyst.dinas.biz.web; package com.xyst.dinas.biz.web;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -94,7 +93,8 @@ public class DinasCommonController { ...@@ -94,7 +93,8 @@ public class DinasCommonController {
* @return * @return
*/ */
@GetMapping("/planningCycleListByDay/{startTime}/{endTime}") @GetMapping("/planningCycleListByDay/{startTime}/{endTime}")
public List<KObject> getPlanningCycleListByDay(@PathVariable LocalDateTime startTime,@PathVariable LocalDateTime endTime) { public List<KObject> getPlanningCycleListByDay(@DateTimeFormat(pattern = "yyyy-MM-dd") @PathVariable Date startTime,
@DateTimeFormat(pattern = "yyyy-MM-dd") @PathVariable Date endTime) {
return planningCycleService.getPlanningCycleListByDay(startTime, endTime); return planningCycleService.getPlanningCycleListByDay(startTime, endTime);
} }
} }
...@@ -11,6 +11,7 @@ import org.hibernate.Session; ...@@ -11,6 +11,7 @@ import org.hibernate.Session;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import org.json.JSONObject; import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.lang.Nullable;
import org.springframework.orm.hibernate5.HibernateCallback; import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations; import org.springframework.orm.hibernate5.HibernateOperations;
...@@ -70,23 +71,41 @@ public class ContractDao { ...@@ -70,23 +71,41 @@ public class ContractDao {
} }
/** /**
* 查询区域公司下所有执行中的合同 * 查询指定时间范围内有效的执行中合同
* @param infoid *
* @param regionCompanyId 区域公司
* @param startDate 开始时间
* @param endDate 结束时间
* @return * @return
*/ */
public List<KObject> getExecutingContractByRegionCompany(UUID regionCompanyId) { public List<KObject> queryExeContractListInLife(UUID regionCompanyId,@Nullable Date startDate,@Nullable Date endDate){
return (List<KObject>)template.execute(new HibernateCallback<List<KObject>>() { return (List<KObject>)template.execute(new HibernateCallback<List<KObject>>() {
@Override @Override
public List<KObject> doInHibernate(Session session) throws HibernateException { public List<KObject> doInHibernate(Session session) throws HibernateException {
Query<KObject> query = session.createQuery("from " + ContractConstant.ENTITY_CONTRACT + " where (discard is null or discard = 0) and regionCompany.id =:regionCompanyId and contractState =:contractState", KObject.class); StringBuilder hql = new StringBuilder("from " + ContractConstant.ENTITY_CONTRACT + " where (discard is null or discard = 0) and regionCompany.id =:regionCompanyId and contractState =:contractState ");
if(startDate!=null) hql.append(" and startDate <=:startDate");
if(endDate!=null) hql.append(" and endDate >=:endDate");
Query<KObject> query = session.createQuery(hql.toString(), KObject.class);
query.setParameter("regionCompanyId", regionCompanyId); query.setParameter("regionCompanyId", regionCompanyId);
query.setParameter("contractState", ContractStateEnum.EXECUTING.name()); query.setParameter("contractState", ContractStateEnum.EXECUTING.name());
if(startDate!=null) query.setParameter("startDate", startDate);
if(endDate!=null) query.setParameter("endDate", endDate);
return query.getResultList(); return query.getResultList();
} }
}); });
} }
/** /**
* 查询区域公司下所有执行中的合同
* @param infoid
* @return
*/
public List<KObject> queryExeContractByRegionCompany(UUID regionCompanyId) {
return queryExeContractListInLife(regionCompanyId, null, null);
}
/**
* 合同统计查询 * 合同统计查询
* @param contractStatisticsQuery * @param contractStatisticsQuery
* @return * @return
...@@ -166,5 +185,5 @@ public class ContractDao { ...@@ -166,5 +185,5 @@ public class ContractDao {
return dinasAmount; return dinasAmount;
} }
} }
...@@ -11,6 +11,7 @@ import org.json.JSONObject; ...@@ -11,6 +11,7 @@ import org.json.JSONObject;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.lang.Nullable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -306,5 +307,7 @@ public class ContractServiceImpl implements ContractService { ...@@ -306,5 +307,7 @@ public class ContractServiceImpl implements ContractService {
return ResponseObj.success("查询成功", staffIds); return ResponseObj.success("查询成功", staffIds);
} }
public List<KObject> queryExeContractListInLife(UUID regionCompanyId,@Nullable Date startDate,@Nullable Date endDate){
return contractDao.queryExeContractListInLife(regionCompanyId, startDate, endDate);
}
} }
package com.xyst.dinas.contract.service; package com.xyst.dinas.contract.service;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import org.json.JSONArray; import org.json.JSONArray;
import org.springframework.lang.Nullable;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
...@@ -70,5 +72,7 @@ public interface ContractService { ...@@ -70,5 +72,7 @@ public interface ContractService {
* @param object afterApprovedForUpdate * @param object afterApprovedForUpdate
*/ */
void afterApprovedForUpdate(KObject object); void afterApprovedForUpdate(KObject object);
public List<KObject> queryExeContractListInLife(UUID regionCompanyId,@Nullable Date startDate,@Nullable Date endDate);
} }
package com.xyst.dinas.contract.web; package com.xyst.dinas.contract.web;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
...@@ -9,6 +10,7 @@ import org.json.JSONObject; ...@@ -9,6 +10,7 @@ import org.json.JSONObject;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -199,8 +201,20 @@ public class ContractController { ...@@ -199,8 +201,20 @@ public class ContractController {
*/ */
@GetMapping("/contract/queryWarnSettingStaffByContractId/{contractId}") @GetMapping("/contract/queryWarnSettingStaffByContractId/{contractId}")
public Object queryWarnSettingStaffByContractId(@PathVariable String contractId) { public Object queryWarnSettingStaffByContractId(@PathVariable String contractId) {
Assert.notNull(contractId,"The id must not be null"); Assert.notNull(contractId,"The contractId must not be null");
return contractService.queryWarnSettingStaffByContractId(contractId); return contractService.queryWarnSettingStaffByContractId(contractId);
} }
/**
* 查询某区域公司下执行中的合同(指定时间范围内有效的)
* @param regionCompanyId
* @param startDate
* @param endDate
* @return
*/
@GetMapping("/contract/exeContractListInLife/{regionCompanyId}/{startDate}/{endDate}")
public List<KObject> queryExeContractListInLife(@PathVariable UUID regionCompanyId,
@DateTimeFormat(pattern="yyyy-MM-dd") @PathVariable Date startDate,@DateTimeFormat(pattern="yyyy-MM-dd") @PathVariable Date endDate){
return contractService.queryExeContractListInLife(regionCompanyId, startDate, endDate);
}
} }
\ No newline at end of file
...@@ -67,7 +67,7 @@ public class SalesPlanAutoCreateTask implements Task{ ...@@ -67,7 +67,7 @@ public class SalesPlanAutoCreateTask implements Task{
KObject salesPlan = salesPlanDao.querySalesPlanByPlan(regionCompanyId, planningCycleId); KObject salesPlan = salesPlanDao.querySalesPlanByPlan(regionCompanyId, planningCycleId);
//1. 新增销售计划 //1. 新增销售计划
if (salesPlan==null) { if (salesPlan==null) {
List<KObject> executingContracts = contractDao.getExecutingContractByRegionCompany(regionCompanyId); List<KObject> executingContracts = contractDao.queryExeContractByRegionCompany(regionCompanyId);
if (executingContracts.isEmpty()) continue; if (executingContracts.isEmpty()) continue;
KObject salesPlanMaster = salesPlanService.createSalesPlanMaster(regionCompany, planningCycleObj); KObject salesPlanMaster = salesPlanService.createSalesPlanMaster(regionCompany, planningCycleObj);
int detailCount = 0; int detailCount = 0;
...@@ -93,7 +93,7 @@ public class SalesPlanAutoCreateTask implements Task{ ...@@ -93,7 +93,7 @@ public class SalesPlanAutoCreateTask implements Task{
List<KObject> contractForAddInPlan = new ArrayList<>(); List<KObject> contractForAddInPlan = new ArrayList<>();
HashSet<UUID> contractForDelInPlan = new HashSet<>(); HashSet<UUID> contractForDelInPlan = new HashSet<>();
List<KObject> executingContracts = contractDao.getExecutingContractByRegionCompany(regionCompanyId); List<KObject> executingContracts = contractDao.queryExeContractByRegionCompany(regionCompanyId);
List<KObject> salesPlanDetails = salesPlan.get("SalesPlanDetails").toList(); List<KObject> salesPlanDetails = salesPlan.get("SalesPlanDetails").toList();
for (KObject executingContract : executingContracts) { for (KObject executingContract : executingContracts) {
......
...@@ -5,6 +5,7 @@ import java.util.UUID; ...@@ -5,6 +5,7 @@ import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj; import com.beecode.inz.basis.team.pojo.ResponseObj;
...@@ -17,8 +18,22 @@ public class SalesPlanController { ...@@ -17,8 +18,22 @@ public class SalesPlanController {
@Autowired @Autowired
private SalesPlanService salesPlanService; private SalesPlanService salesPlanService;
@PostMapping("/salesplan/submit")
public Object submitSalesPlan(@RequestBody String boday) {
//校验数据
return ResponseObj.success();
}
/**
* 日常销售计划审批: 同意/驳回
* @param saleaPlanApprove
* @return
*/
@PostMapping("/salesplan/approve") @PostMapping("/salesplan/approve")
public ResponseObj approveSalesPlan(SaleaPlanApprove saleaPlanApprove) { public Object approveSalesPlan(SaleaPlanApprove saleaPlanApprove) {
UUID id = saleaPlanApprove.getId(); UUID id = saleaPlanApprove.getId();
Integer approveState = saleaPlanApprove.getApproveState(); Integer approveState = saleaPlanApprove.getApproveState();
...@@ -27,9 +42,13 @@ public class SalesPlanController { ...@@ -27,9 +42,13 @@ public class SalesPlanController {
salesPlanService.approveSalesPlanForDaily(id, approveState, saleaPlanApprove.getApproveMemo()); salesPlanService.approveSalesPlanForDaily(id, approveState, saleaPlanApprove.getApproveMemo());
return ResponseObj.success(); return ResponseObj.success();
} }
/**
* 临时销售计划审批: 同意/驳回
* @param saleaPlanApprove
* @return
*/
@PostMapping("/salesplan/temp/approve") @PostMapping("/salesplan/temp/approve")
public ResponseObj approveSalesPlanForTemp(SaleaPlanApprove saleaPlanApprove) { public Object approveSalesPlanForTemp(SaleaPlanApprove saleaPlanApprove) {
UUID id = saleaPlanApprove.getId(); UUID id = saleaPlanApprove.getId();
Integer approveState = saleaPlanApprove.getApproveState(); Integer approveState = saleaPlanApprove.getApproveState();
......
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