Commit b81f98f8 by 闫恒

Merge branch 'feature/dibang_compatibility' into 'develop'

Feature/dibang compatibility

See merge request kunlun/xyst_dinas/xyst_dinas_backend!88
parents 42bc3c0e c9812931
package com.xyst.dinas.contract.dao; package com.xyst.dinas.contract.dao;
import java.util.UUID;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import java.util.List;
import java.util.UUID;
public interface SelfPickupCarDao { public interface SelfPickupCarDao {
void update(KObject kobject); void update(KObject kobject);
...@@ -13,4 +14,7 @@ public interface SelfPickupCarDao { ...@@ -13,4 +14,7 @@ public interface SelfPickupCarDao {
KObject load(UUID id); KObject load(UUID id);
KObject getCarInfoByContractId(UUID contractId); KObject getCarInfoByContractId(UUID contractId);
List<KObject> queryListByCar(String carNum);
} }
package com.xyst.dinas.contract.internal.dao; package com.xyst.dinas.contract.internal.dao;
import java.util.UUID; import com.beecode.amino.core.Amino;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.contract.constant.SelfPickupCarConstant;
import com.xyst.dinas.contract.dao.SelfPickupCarDao;
import com.xyst.dinas.contract.enumeration.ContractStateEnum;
import org.hibernate.HibernateException; import org.hibernate.HibernateException;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateCallback; import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations; import org.springframework.orm.hibernate5.HibernateOperations;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.beecode.bcp.type.KObject; import java.util.List;
import com.xyst.dinas.contract.constant.SelfPickupCarConstant; import java.util.UUID;
import com.xyst.dinas.contract.dao.SelfPickupCarDao;
@Repository @Repository
public class SelfPickupCarDaoImpl implements SelfPickupCarDao { public class SelfPickupCarDaoImpl implements SelfPickupCarDao {
...@@ -43,4 +48,15 @@ public class SelfPickupCarDaoImpl implements SelfPickupCarDao { ...@@ -43,4 +48,15 @@ public class SelfPickupCarDaoImpl implements SelfPickupCarDao {
} }
}); });
} }
@Override
public List<KObject> queryListByCar(String carNum) {
KClass bean = Amino.getStaticMetadataContext().getBean(SelfPickupCarConstant.ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.createAlias("contract", "contract");
detachedCriteria.add(Restrictions.like("carInfo", "%"+carNum+"%"));
detachedCriteria.add(Restrictions.eq("contract.contractState", ContractStateEnum.EXECUTING.name()));
detachedCriteria.add(Restrictions.eq("discard", false));
return (List<KObject>)template.findByCriteria(detachedCriteria);
}
} }
package com.xyst.dinas.contract.internal.service; package com.xyst.dinas.contract.internal.service;
import java.util.Date;
import java.util.UUID;
import org.json.JSONObject;
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.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.common.BaseConstants;
...@@ -18,6 +10,14 @@ import com.xyst.dinas.contract.internal.dao.ContractDao; ...@@ -18,6 +10,14 @@ import com.xyst.dinas.contract.internal.dao.ContractDao;
import com.xyst.dinas.contract.service.SelfPickupCarService; import com.xyst.dinas.contract.service.SelfPickupCarService;
import com.xyst.dinas.project.dao.ProjectFiledDao; import com.xyst.dinas.project.dao.ProjectFiledDao;
import com.xyst.dinas.project.dao.PurchaseSandCompanyDao; import com.xyst.dinas.project.dao.PurchaseSandCompanyDao;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.UUID;
@Service @Service
public class SelfPickupCarServiceImpl implements SelfPickupCarService { public class SelfPickupCarServiceImpl implements SelfPickupCarService {
...@@ -86,4 +86,9 @@ public class SelfPickupCarServiceImpl implements SelfPickupCarService { ...@@ -86,4 +86,9 @@ public class SelfPickupCarServiceImpl implements SelfPickupCarService {
return carInfo; return carInfo;
} }
@Override
public List<KObject> queryListByCar(String carNum) {
return selfPickupCarDao.queryListByCar(carNum);
}
} }
package com.xyst.dinas.contract.service; package com.xyst.dinas.contract.service;
import java.util.UUID;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import java.util.List;
import java.util.UUID;
public interface SelfPickupCarService { public interface SelfPickupCarService {
UUID create(KObject kobject); UUID create(KObject kobject);
...@@ -11,4 +12,6 @@ public interface SelfPickupCarService { ...@@ -11,4 +12,6 @@ public interface SelfPickupCarService {
void update(String param); void update(String param);
String getCarInfoByContractId(String contractId); String getCarInfoByContractId(String contractId);
List<KObject> queryListByCar(String carNum);
} }
package com.xyst.dinas.sales.dao; package com.xyst.dinas.sales.dao;
import com.beecode.bcp.type.KObject;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import com.beecode.bcp.type.KObject;
public interface NeedPlanDao { public interface NeedPlanDao {
KObject queryNeedPlanByContractIdAndCycleId(UUID planningCycleId, UUID contractId); KObject queryNeedPlanByContractIdAndCycleId(UUID planningCycleId, UUID contractId);
...@@ -28,7 +28,7 @@ public interface NeedPlanDao { ...@@ -28,7 +28,7 @@ public interface NeedPlanDao {
KObject queryNeedPlanAmountByCycleId(UUID planningCycleId, UUID projectId); KObject queryNeedPlanAmountByCycleId(UUID planningCycleId, UUID projectId);
List<KObject> getByCarAndPlanningCycle(String carNum, KObject planningCycleObj); List<KObject> getByCarAndPlanningCycle(String carNum, KObject planningCycleObj,UUID contractId);
KObject queryDetailById(UUID fromString); KObject queryDetailById(UUID fromString);
} }
...@@ -351,7 +351,7 @@ public class SalesPlanDao { ...@@ -351,7 +351,7 @@ public class SalesPlanDao {
* @param station * @param station
* @return * @return
*/ */
public List<KObject> getSaleTempByCarNum(String carNum, KObject station) { public List<KObject> getSaleTempByCarNum(String carNum, KObject station,UUID contractId) {
KClass bean = Amino.getStaticMetadataContext().getBean(SalesPlanConstant.ENTITY_TEMP, KClass.class); KClass bean = Amino.getStaticMetadataContext().getBean(SalesPlanConstant.ENTITY_TEMP, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
dinasTypeDao.addRegionalCompanyFilter(detachedCriteria); dinasTypeDao.addRegionalCompanyFilter(detachedCriteria);
...@@ -361,7 +361,9 @@ public class SalesPlanDao { ...@@ -361,7 +361,9 @@ public class SalesPlanDao {
detachedCriteria.add(Restrictions.le("planningCycle.startTime", new Date())); detachedCriteria.add(Restrictions.le("planningCycle.startTime", new Date()));
detachedCriteria.add(Restrictions.ge("planningCycle.endTime", new Date())); detachedCriteria.add(Restrictions.ge("planningCycle.endTime", new Date()));
detachedCriteria.add(Restrictions.eq("station.id", station.getUuid("id"))); detachedCriteria.add(Restrictions.eq("station.id", station.getUuid("id")));
detachedCriteria.add(Restrictions.like("carNumber", "%"+carNum+"%")); // modify by 销售计划车辆撤销不维护 from yanH start
// detachedCriteria.add(Restrictions.like("carNumber", "%"+carNum+"%"));
detachedCriteria.add(Restrictions.eq("contract.id", contractId));
return (List<KObject>) template.findByCriteria(detachedCriteria); return (List<KObject>) template.findByCriteria(detachedCriteria);
} }
...@@ -398,7 +400,7 @@ public class SalesPlanDao { ...@@ -398,7 +400,7 @@ public class SalesPlanDao {
* @param station * @param station
* @return * @return
*/ */
public List<KObject> getSaleByCarNum(String carNum, KObject station) { public List<KObject> getSaleByCarNum(String carNum, KObject station,UUID contractId) {
KClass bean = Amino.getStaticMetadataContext().getBean(SalesPlanConstant.ENTITY_DETAIL, KClass.class); KClass bean = Amino.getStaticMetadataContext().getBean(SalesPlanConstant.ENTITY_DETAIL, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
...@@ -411,7 +413,9 @@ public class SalesPlanDao { ...@@ -411,7 +413,9 @@ public class SalesPlanDao {
detachedCriteria.add(Restrictions.ge("planningCycle.endTime", new Date())); detachedCriteria.add(Restrictions.ge("planningCycle.endTime", new Date()));
detachedCriteria.add(Restrictions.eq("station.id", station.getUuid("id"))); detachedCriteria.add(Restrictions.eq("station.id", station.getUuid("id")));
detachedCriteria.add(Restrictions.eq(BaseConstants.MASTER+"."+SalesPlanConstant.APPROVE_STATE, BizProcessState.DONE_WITH_AGREE.getValue())); detachedCriteria.add(Restrictions.eq(BaseConstants.MASTER+"."+SalesPlanConstant.APPROVE_STATE, BizProcessState.DONE_WITH_AGREE.getValue()));
detachedCriteria.add(Restrictions.like("contract.carInfo", "%"+carNum+"%")); // modify by 销售计划车辆撤销不维护 from yanH start
// detachedCriteria.add(Restrictions.like("contract.carInfo", "%"+carNum+"%"));
detachedCriteria.add(Restrictions.eq("contract.id", contractId));
return (List<KObject>) template.findByCriteria(detachedCriteria); return (List<KObject>) template.findByCriteria(detachedCriteria);
} }
} }
......
...@@ -161,13 +161,15 @@ public class NeedPlanDaoImpl implements NeedPlanDao, NeedPlanConstant { ...@@ -161,13 +161,15 @@ public class NeedPlanDaoImpl implements NeedPlanDao, NeedPlanConstant {
} }
@Override @Override
public List<KObject> getByCarAndPlanningCycle(String carNum, KObject planningCycleObj) { public List<KObject> getByCarAndPlanningCycle(String carNum, KObject planningCycleObj,UUID contractId) {
KClass bean = Amino.getStaticMetadataContext().getBean(NEED_PLAN_ENTITY, KClass.class); KClass bean = Amino.getStaticMetadataContext().getBean(NEED_PLAN_ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
dinasTypeDao.addRegionalCompanyFilter(detachedCriteria); dinasTypeDao.addRegionalCompanyFilter(detachedCriteria);
detachedCriteria.add(Restrictions.eq("submitState", SubmitStateEnum.SUBMITTED.name())); detachedCriteria.add(Restrictions.eq("submitState", SubmitStateEnum.SUBMITTED.name()));
detachedCriteria.add(Restrictions.eq("planningCycle.id", planningCycleObj.getUuid("id"))); detachedCriteria.add(Restrictions.eq("planningCycle.id", planningCycleObj.getUuid("id")));
detachedCriteria.add(Restrictions.like("transportLicensePlateNumber", "%"+carNum+"%")); // modify by 销售计划车辆撤销不维护 from yanH start
// detachedCriteria.add(Restrictions.like("transportLicensePlateNumber", "%"+carNum+"%"));
detachedCriteria.add(Restrictions.eq("contract.id", contractId));
return (List<KObject>)template.findByCriteria(detachedCriteria); return (List<KObject>)template.findByCriteria(detachedCriteria);
} }
......
package com.xyst.dinas.sales.internal.service; package com.xyst.dinas.sales.internal.service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
import com.xyst.dinas.biz.enumeration.PlanningCycleEnum;
import org.springframework.beans.factory.annotation.Autowired;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.constant.PlanningCycleConstant; import com.xyst.dinas.biz.constant.PlanningCycleConstant;
import com.xyst.dinas.biz.enumeration.PlanningCycleEnum;
import com.xyst.dinas.biz.service.PlanningCycleService; import com.xyst.dinas.biz.service.PlanningCycleService;
import com.xyst.dinas.contract.service.ContractService; import com.xyst.dinas.contract.service.ContractService;
import com.xyst.dinas.sales.dao.NeedPlanDao; import com.xyst.dinas.sales.dao.NeedPlanDao;
import com.xyst.dinas.sales.dao.SalesPlanDao; import com.xyst.dinas.sales.dao.SalesPlanDao;
import com.xyst.dinas.sales.entity.ContractExecuteDetail; import com.xyst.dinas.sales.entity.ContractExecuteDetail;
import com.xyst.dinas.sales.service.NeedPlanService; import com.xyst.dinas.sales.service.NeedPlanService;
import org.springframework.beans.factory.annotation.Autowired;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
public class NeedPlanServiceImpl implements NeedPlanService { public class NeedPlanServiceImpl implements NeedPlanService {
...@@ -183,11 +177,11 @@ public class NeedPlanServiceImpl implements NeedPlanService { ...@@ -183,11 +177,11 @@ public class NeedPlanServiceImpl implements NeedPlanService {
} }
@Override @Override
public List<KObject> queryNeedPlanByCarNumAndPlanningCycle(KObject station, String carNum, Date date) { public List<KObject> queryNeedPlanByCarNumAndPlanningCycle(KObject station, String carNum, Date date,UUID contractId) {
// //
String planningCycle = station.get("regionalCompany").getString("planningCycle"); String planningCycle = station.get("regionalCompany").getString("planningCycle");
PlanningCycleEnum planningCycleEnum = PlanningCycleEnum.valueOf(planningCycle); PlanningCycleEnum planningCycleEnum = PlanningCycleEnum.valueOf(planningCycle);
KObject planningCycleObj = planningCycleService.getPlanningCycleObj(planningCycleEnum, date); KObject planningCycleObj = planningCycleService.getPlanningCycleObj(planningCycleEnum, date);
return needPlanDao.getByCarAndPlanningCycle(carNum,planningCycleObj); return needPlanDao.getByCarAndPlanningCycle(carNum,planningCycleObj, contractId);
} }
} }
...@@ -540,15 +540,15 @@ public class SalesPlanServiceImpl implements SalesPlanService { ...@@ -540,15 +540,15 @@ public class SalesPlanServiceImpl implements SalesPlanService {
} }
@Override @Override
public List<Map<String, Object>> querySalesPlanByCarNum(KObject station, String carNum) { public List<Map<String, Object>> querySalesPlanByCarNum(KObject station, String carNum ,UUID contractId) {
//根据车牌号获取需用计划,每个车牌可能有多个需用计划 //根据车牌号获取需用计划,每个车牌可能有多个需用计划
List<KObject> plans = needPlanService.queryNeedPlanByCarNumAndPlanningCycle(station, carNum, new Date()); List<KObject> plans = needPlanService.queryNeedPlanByCarNumAndPlanningCycle(station, carNum, new Date(),contractId);
//根据计划周期和合同编号获取本次购砂单位实际可以分配的砂石类型 //根据计划周期和合同编号获取本次购砂单位实际可以分配的砂石类型
//根据需用计划中计划周期和合同获取销售计划 //根据需用计划中计划周期和合同获取销售计划
ArrayList<Map<String, Object>> maps = new ArrayList<>(); ArrayList<Map<String, Object>> maps = new ArrayList<>();
List<KObject> saleTempByCarNum = salesPlanDao.getSaleTempByCarNum(carNum, station); List<KObject> saleTempByCarNum = salesPlanDao.getSaleTempByCarNum(carNum, station,contractId);
//没有需用计划却提了销售计划的可能,线下提销售计划 //没有需用计划却提了销售计划的可能,线下提销售计划
List<KObject> saleDetails = salesPlanDao.getSaleByCarNum(carNum, station); List<KObject> saleDetails = salesPlanDao.getSaleByCarNum(carNum, station,contractId);
for (KObject saleDetail : saleDetails) { for (KObject saleDetail : saleDetails) {
KObject sale = saleDetail.get("master"); KObject sale = saleDetail.get("master");
......
package com.xyst.dinas.sales.service; package com.xyst.dinas.sales.service;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.entity.ContractExecuteDetail;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.entity.ContractExecuteDetail;
public interface NeedPlanService { public interface NeedPlanService {
...@@ -31,5 +31,5 @@ public interface NeedPlanService { ...@@ -31,5 +31,5 @@ public interface NeedPlanService {
KObject querySalePlanByCycleId(UUID fromString); KObject querySalePlanByCycleId(UUID fromString);
List<KObject> queryNeedPlanByCarNumAndPlanningCycle(KObject station, String carNum, Date date); List<KObject> queryNeedPlanByCarNumAndPlanningCycle(KObject station, String carNum, Date date,UUID contractId);
} }
package com.xyst.dinas.sales.service; package com.xyst.dinas.sales.service;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery;
import org.json.JSONObject;
import org.springframework.lang.Nullable;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import org.json.JSONObject;
import org.springframework.lang.Nullable;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.web.request.SaleaPlanDetailQuery;
public interface SalesPlanService { public interface SalesPlanService {
/** /**
...@@ -88,6 +87,6 @@ public interface SalesPlanService { ...@@ -88,6 +87,6 @@ public interface SalesPlanService {
List<KObject> getSealTempDinasTypeListByNeedPlanInfo(UUID purchaseSandUnitId, UUID planningCycleId, UUID projectId); List<KObject> getSealTempDinasTypeListByNeedPlanInfo(UUID purchaseSandUnitId, UUID planningCycleId, UUID projectId);
List<Map<String, Object>> querySalesPlanByCarNum(KObject station, String carNum); List<Map<String, Object>> querySalesPlanByCarNum(KObject station, String carNum,UUID contractId);
} }
...@@ -9,6 +9,7 @@ import com.beecode.bcp.type.KObject; ...@@ -9,6 +9,7 @@ import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.team.pojo.ResponseObj; import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.beecode.util.Base64; import com.beecode.util.Base64;
import com.xyst.dinas.biz.service.StationService; import com.xyst.dinas.biz.service.StationService;
import com.xyst.dinas.contract.service.SelfPickupCarService;
import com.xyst.dinas.sales.service.InventoryService; import com.xyst.dinas.sales.service.InventoryService;
import com.xyst.dinas.sales.service.SalesPlanService; import com.xyst.dinas.sales.service.SalesPlanService;
import com.xyst.dinas.sales.service.SalesRecordService; import com.xyst.dinas.sales.service.SalesRecordService;
...@@ -45,6 +46,8 @@ public class WeighbridgeSyncController { ...@@ -45,6 +46,8 @@ public class WeighbridgeSyncController {
private InventoryService inventoryService; private InventoryService inventoryService;
@Autowired @Autowired
private AttachmentService attachmentService; private AttachmentService attachmentService;
@Autowired
private SelfPickupCarService selfPickupCarService;
/** /**
...@@ -88,23 +91,30 @@ public class WeighbridgeSyncController { ...@@ -88,23 +91,30 @@ public class WeighbridgeSyncController {
if (station == null) { if (station == null) {
return ResponseObj.error(500, "没有查询到地磅匹配的场站"); return ResponseObj.error(500, "没有查询到地磅匹配的场站");
} }
HashMap<String, Object> returnMap = new HashMap<>(4); HashMap<String, Object> returnMap = new HashMap<>(4);
returnMap.put("code",200); returnMap.put("code",200);
returnMap.put("message","查询成功"); returnMap.put("message","查询成功");
if(StringUtils.isNotBlank(carNum)){ if(StringUtils.isNotBlank(carNum)){
//根据车牌查询所属合同和销售计划 //查询合同内自提车辆信息是否为自提
List<Map<String, Object>> salesPlan = salesPlanService.querySalesPlanByCarNum(station, carNum); List<KObject> carInfoKObject = selfPickupCarService.queryListByCar(carNum);
Collection<? extends Map<String, Object>> maps = vehicleDispatchService.vehicleDispatchService(station, carNum); if(carInfoKObject.size() > 0){ //如果有数据则为自提数据
if (maps != null) { //根据车牌查询所属合同和销售计划
salesPlan.addAll(maps); //获取自提车辆对应的合同id
} UUID contractId = carInfoKObject.get(0).get("contract").getUuid("id");
if(salesPlan == null || salesPlan.isEmpty()){ List<Map<String, Object>> salesPlan = salesPlanService.querySalesPlanByCarNum(station, carNum,contractId);
Collection<? extends Map<String, Object>> maps = vehicleDispatchService.vehicleDispatchService(station, carNum);
if (maps != null) {
salesPlan.addAll(maps);
}
if(salesPlan.size() > 0 ){
returnMap.put("saleType",1);
returnMap.put("data",salesPlan);
return returnMap;
}else {//否则认为是散户
return getDinasReturn(station, returnMap);
}
}else {//否则认为是散户
return getDinasReturn(station, returnMap); return getDinasReturn(station, returnMap);
}else{
returnMap.put("saleType",1);
returnMap.put("data",salesPlan);
return returnMap;
} }
}else{ }else{
return getDinasReturn(station, returnMap); return getDinasReturn(station, returnMap);
......
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