Commit f682dcb2 by 杨清松

需用计划接口补充

parent 5cddffd6
...@@ -40,6 +40,7 @@ public class NeedPlanDaoImpl implements NeedPlanDao, NeedPlanConstant { ...@@ -40,6 +40,7 @@ public class NeedPlanDaoImpl implements NeedPlanDao, NeedPlanConstant {
Query<KObject> query = session.createQuery("from " + NEED_PLAN_ENTITY + " where planningCycle.id=:planningCycleId and contract.id=:contractId and submitState=:submitState", KObject.class); Query<KObject> query = session.createQuery("from " + NEED_PLAN_ENTITY + " where planningCycle.id=:planningCycleId and contract.id=:contractId and submitState=:submitState", KObject.class);
query.setParameter("planningCycleId", planningCycleId); query.setParameter("planningCycleId", planningCycleId);
query.setParameter("contractId", contractId); query.setParameter("contractId", contractId);
query.setParameter("submitState", "SUBMITTED");
List<KObject> resultList = query.getResultList(); List<KObject> resultList = query.getResultList();
if(resultList.isEmpty()) return null; if(resultList.isEmpty()) return null;
return resultList.get(0); return resultList.get(0);
......
...@@ -4,6 +4,7 @@ import java.math.BigDecimal; ...@@ -4,6 +4,7 @@ import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.h2.util.New;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
...@@ -113,43 +114,55 @@ public class NeedPlanServiceImpl implements NeedPlanService { ...@@ -113,43 +114,55 @@ public class NeedPlanServiceImpl implements NeedPlanService {
public Object queryNeedPlanAmountByCycleId(UUID planningCycleId, UUID projectId) { public Object queryNeedPlanAmountByCycleId(UUID planningCycleId, UUID projectId) {
KObject needPlanKObject = needPlanDao.queryNeedPlanAmountByCycleId(planningCycleId, projectId); KObject needPlanKObject = needPlanDao.queryNeedPlanAmountByCycleId(planningCycleId, projectId);
KObject salesPlanKObject = salesPlanDao.querySalesPlanAmountByCycleId(planningCycleId); KObject salesPlanKObject = salesPlanDao.querySalesPlanAmountByCycleId(planningCycleId);
Map<String, Object> map = new HashMap<String, Object>(); //Map<String, Object> map = new HashMap<String, Object>();
List<Map<String, Object>> planList = new ArrayList<>();
List<UUID> dinasTypeIdList = new ArrayList<>();
if (needPlanKObject != null) { if (needPlanKObject != null) {
List<KObject> needPlanDetails = needPlanKObject.get("NeedPlanDetails").toList(); List<KObject> needPlanDetails = needPlanKObject.get("NeedPlanDetails").toList();
if (needPlanDetails != null && needPlanDetails.size() > 0) { if (needPlanDetails != null && needPlanDetails.size() > 0) {
List<Map<String, Object>> needPlanList = new ArrayList<>(); //List<Map<String, Object>> needPlanList = new ArrayList<>();
for (int i = 0; i < needPlanDetails.size(); i++) { for (int i = 0; i < needPlanDetails.size(); i++) {
Map<String, Object> needPlanMap = new HashMap<String, Object>(); Map<String, Object> needPlanMap = new HashMap<String, Object>();
KObject needPlanDetail = needPlanDetails.get(i); KObject needPlanDetail = needPlanDetails.get(i);
needPlanMap.put("dinasTypeId", needPlanDetail.get("dinasType").getUuid("id")); needPlanMap.put("dinasTypeId", needPlanDetail.get("dinasType").getUuid("id"));
needPlanMap.put("dinasTypeName", needPlanDetail.get("dinasType").getString("dinasTypeName")); needPlanMap.put("dinasTypeName", needPlanDetail.get("dinasType").getString("dinasTypeName"));
needPlanMap.put("effectiveSale", needPlanDetail.getBigDecimal("effectiveSale")); needPlanMap.put("actualSaleAmount", needPlanDetail.getBigDecimal("effectiveSale"));
needPlanMap.put("needPlanAmount", needPlanDetail.getBigDecimal("needPlanAmount")); needPlanMap.put("needPlanAmount", needPlanDetail.getBigDecimal("needPlanAmount")); //需用计划量
needPlanList.add(needPlanMap); needPlanMap.put("salesPlanAmount", new BigDecimal("0"));
planList.add(needPlanMap);
dinasTypeIdList.add(needPlanDetail.get("dinasType").getUuid("id"));
} }
map.put("needPlanDetails", needPlanList); //map.put("needPlanDetails", needPlanList);
} }
} }
if (salesPlanKObject != null) { if (salesPlanKObject != null) {
List<KObject> salesPlanDetails = salesPlanKObject.get("SalesPlanDetails").toList(); List<KObject> salesPlanDetails = salesPlanKObject.get("SalesPlanDetails").toList();
if (salesPlanDetails != null && salesPlanDetails.size() > 0) { if (salesPlanDetails != null && salesPlanDetails.size() > 0) {
salesPlanDetails = salesPlanDetails.stream().filter(salesPlanDetail -> salesPlanDetail.get("project").getUuid("id").equals(projectId)).collect(Collectors.toList()); salesPlanDetails = salesPlanDetails.stream().filter(salesPlanDetail -> salesPlanDetail.get("project").getUuid("id").equals(projectId)).collect(Collectors.toList());
if (salesPlanDetails.size() > 0) { List<Map<String, Object>> removeList = new ArrayList<>();
List<Map<String, Object>> salesPlanList = new ArrayList<>(); if (salesPlanDetails.size() > 0) {
//List<Map<String, Object>> salesPlanList = new ArrayList<>();
for (int i = 0; i < salesPlanDetails.size(); i++) { for (int i = 0; i < salesPlanDetails.size(); i++) {
Map<String, Object> salesPlanMap = new HashMap<String, Object>(); Map<String, Object> salesPlanMap = new HashMap<String, Object>();
KObject salesPlanDetail = salesPlanDetails.get(i); KObject salesPlanDetail = salesPlanDetails.get(i);
salesPlanMap.put("dinasTypId", salesPlanDetail.get("dinasType").getUuid("id")); salesPlanMap.put("dinasTypeId", salesPlanDetail.get("dinasType").getUuid("id"));
salesPlanMap.put("dinasTypeName", salesPlanDetail.getString("dinasTypeName")); salesPlanMap.put("dinasTypeName", salesPlanDetail.getString("dinasTypeName"));
salesPlanMap.put("actualSaleAmount", salesPlanDetail.getBigDecimal("actualSaleAmount")); salesPlanMap.put("actualSaleAmount", salesPlanDetail.getBigDecimal("actualSaleAmount"));
salesPlanMap.put("planAmount", salesPlanDetail.getBigDecimal("planAmount")); salesPlanMap.put("salesPlanAmount", salesPlanDetail.getBigDecimal("planAmount")); //销售计划量
salesPlanList.add(salesPlanMap); Map<String, Object> filterMap = planList.stream().filter(detail -> detail.get("dinasTypeId").toString().equals(salesPlanDetail.get("dinasType").getUuid("id").toString())).findAny().orElse(null);
if (null != filterMap) {
salesPlanMap.put("needPlanAmount", filterMap.get("needPlanAmount"));
removeList.add(filterMap);
//planList.remove(filterMap);
}
planList.add(salesPlanMap);
} }
map.put("salesPlanDetails", salesPlanList);
} }
planList.removeAll(removeList);
} }
} }
return map; return planList;
} }
} }
...@@ -53,10 +53,23 @@ public class NeedPlanController { ...@@ -53,10 +53,23 @@ public class NeedPlanController {
* @return * @return
*/ */
@ResponseBody @ResponseBody
@RequestMapping(value = "/needplan/queryPlanDetailsByCycleId", method = RequestMethod.GET) @RequestMapping(value = "/sand/user/needplan/queryPlanDetailsByCycleId", method = RequestMethod.GET)
public Object queryNeedPlanAmountByCycleId(@RequestParam("planningCycleId") String planningCycleId, @RequestParam("projectId") String projectId) { public Object queryNeedPlanAmountByCycleId(@RequestParam("planningCycleId") String planningCycleId, @RequestParam("projectId") String projectId) {
Object object = needPlanService.queryNeedPlanAmountByCycleId(UUID.fromString(planningCycleId), UUID.fromString(projectId)); Object object = needPlanService.queryNeedPlanAmountByCycleId(UUID.fromString(planningCycleId), UUID.fromString(projectId));
return ResponseObj.success("success", object); return ResponseObj.success("success", object);
} }
/**
* 根据计划周期和项目查询本期分配量和实际销售量
* @param planningCycleId
* @param projectId
* @return
*/
@ResponseBody
@RequestMapping(value = "/needplan/queryPlanDetailsByCycleId", method = RequestMethod.GET)
public Object queryNeedPlanAmountByCycleId2(@RequestParam("planningCycleId") String planningCycleId, @RequestParam("projectId") String projectId) {
Object object = needPlanService.queryNeedPlanAmountByCycleId(UUID.fromString(planningCycleId), UUID.fromString(projectId));
return ResponseObj.success("success", object);
}
} }
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