Commit 1a9fc019 by 闫恒

Merge branch 'feature/dibang_compatibility' into 'develop'

[修改] 异常数据及地磅bug修复

See merge request kunlun/xyst_dinas/xyst_dinas_backend!94
parents 8af102a9 e4acb037
...@@ -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,UUID contractId); List<KObject> getByCarAndPlanningCycle(String carNum, KObject planningCycleObj,List<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,UUID contractId) { public List<KObject> getSaleTempByCarNum(String carNum, KObject station,List<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);
...@@ -363,7 +363,7 @@ public class SalesPlanDao { ...@@ -363,7 +363,7 @@ public class SalesPlanDao {
detachedCriteria.add(Restrictions.eq("station.id", station.getUuid("id"))); detachedCriteria.add(Restrictions.eq("station.id", station.getUuid("id")));
// modify by 销售计划车辆撤销不维护 from yanH start // modify by 销售计划车辆撤销不维护 from yanH start
// detachedCriteria.add(Restrictions.like("carNumber", "%"+carNum+"%")); // detachedCriteria.add(Restrictions.like("carNumber", "%"+carNum+"%"));
detachedCriteria.add(Restrictions.eq("contract.id", contractId)); detachedCriteria.add(Restrictions.in("contract.id", contractId));
return (List<KObject>) template.findByCriteria(detachedCriteria); return (List<KObject>) template.findByCriteria(detachedCriteria);
} }
...@@ -400,11 +400,11 @@ public class SalesPlanDao { ...@@ -400,11 +400,11 @@ public class SalesPlanDao {
* @param station * @param station
* @return * @return
*/ */
public List<KObject> getSaleByCarNum(String carNum, KObject station,UUID contractId) { public List<KObject> getSaleByCarNum(String carNum, KObject station,List<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());
dinasTypeDao.addRegionalCompanyFilter(detachedCriteria); // dinasTypeDao.addRegionalCompanyFilter(detachedCriteria);
detachedCriteria.createAlias("master", "master"); detachedCriteria.createAlias("master", "master");
detachedCriteria.createAlias(BaseConstants.MASTER+".planningCycle", "planningCycle"); detachedCriteria.createAlias(BaseConstants.MASTER+".planningCycle", "planningCycle");
detachedCriteria.createAlias("station", "station"); detachedCriteria.createAlias("station", "station");
...@@ -415,7 +415,7 @@ public class SalesPlanDao { ...@@ -415,7 +415,7 @@ public class SalesPlanDao {
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()));
// modify by 销售计划车辆撤销不维护 from yanH start // modify by 销售计划车辆撤销不维护 from yanH start
// detachedCriteria.add(Restrictions.like("contract.carInfo", "%"+carNum+"%")); // detachedCriteria.add(Restrictions.like("contract.carInfo", "%"+carNum+"%"));
detachedCriteria.add(Restrictions.eq("contract.id", contractId)); detachedCriteria.add(Restrictions.in("contract.id", contractId));
return (List<KObject>) template.findByCriteria(detachedCriteria); return (List<KObject>) template.findByCriteria(detachedCriteria);
} }
} }
......
...@@ -161,7 +161,7 @@ public class NeedPlanDaoImpl implements NeedPlanDao, NeedPlanConstant { ...@@ -161,7 +161,7 @@ public class NeedPlanDaoImpl implements NeedPlanDao, NeedPlanConstant {
} }
@Override @Override
public List<KObject> getByCarAndPlanningCycle(String carNum, KObject planningCycleObj,UUID contractId) { public List<KObject> getByCarAndPlanningCycle(String carNum, KObject planningCycleObj,List<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);
...@@ -169,7 +169,7 @@ public class NeedPlanDaoImpl implements NeedPlanDao, NeedPlanConstant { ...@@ -169,7 +169,7 @@ public class NeedPlanDaoImpl implements NeedPlanDao, NeedPlanConstant {
detachedCriteria.add(Restrictions.eq("planningCycle.id", planningCycleObj.getUuid("id"))); detachedCriteria.add(Restrictions.eq("planningCycle.id", planningCycleObj.getUuid("id")));
// modify by 销售计划车辆撤销不维护 from yanH start // modify by 销售计划车辆撤销不维护 from yanH start
// detachedCriteria.add(Restrictions.like("transportLicensePlateNumber", "%"+carNum+"%")); // detachedCriteria.add(Restrictions.like("transportLicensePlateNumber", "%"+carNum+"%"));
detachedCriteria.add(Restrictions.eq("contract.id", contractId)); detachedCriteria.add(Restrictions.in("contract.id", contractId));
return (List<KObject>)template.findByCriteria(detachedCriteria); return (List<KObject>)template.findByCriteria(detachedCriteria);
} }
......
...@@ -177,7 +177,7 @@ public class NeedPlanServiceImpl implements NeedPlanService { ...@@ -177,7 +177,7 @@ public class NeedPlanServiceImpl implements NeedPlanService {
} }
@Override @Override
public List<KObject> queryNeedPlanByCarNumAndPlanningCycle(KObject station, String carNum, Date date,UUID contractId) { public List<KObject> queryNeedPlanByCarNumAndPlanningCycle(KObject station, String carNum, Date date,List<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);
......
...@@ -540,7 +540,7 @@ public class SalesPlanServiceImpl implements SalesPlanService { ...@@ -540,7 +540,7 @@ public class SalesPlanServiceImpl implements SalesPlanService {
} }
@Override @Override
public List<Map<String, Object>> querySalesPlanByCarNum(KObject station, String carNum ,UUID contractId) { public List<Map<String, Object>> querySalesPlanByCarNum(KObject station, String carNum ,List<UUID> contractId) {
//根据车牌号获取需用计划,每个车牌可能有多个需用计划 //根据车牌号获取需用计划,每个车牌可能有多个需用计划
List<KObject> plans = needPlanService.queryNeedPlanByCarNumAndPlanningCycle(station, carNum, new Date(),contractId); List<KObject> plans = needPlanService.queryNeedPlanByCarNumAndPlanningCycle(station, carNum, new Date(),contractId);
//根据计划周期和合同编号获取本次购砂单位实际可以分配的砂石类型 //根据计划周期和合同编号获取本次购砂单位实际可以分配的砂石类型
......
...@@ -526,9 +526,9 @@ public class SalesRecordServiceImpl implements SalesRecordService { ...@@ -526,9 +526,9 @@ public class SalesRecordServiceImpl implements SalesRecordService {
//查询合同余额,如果扣减后小于0则不允许交易 //查询合同余额,如果扣减后小于0则不允许交易
KObject kObject = contractService.queryContract(contractId); KObject kObject = contractService.queryContract(contractId);
BigDecimal advanceBalance = kObject.getBigDecimal("advanceBalance"); BigDecimal advanceBalance = kObject.getBigDecimal("advanceBalance");
if (advanceBalance == null || advanceBalance.compareTo(new BigDecimal(kObject.getString(SalesRecordConstant.AMOUNT))) == -1) { if (advanceBalance == null || advanceBalance.compareTo(new BigDecimal(salesRecordInfo.getString(SalesRecordConstant.AMOUNT))) == -1) {
return ResponseObj.error(400,"合同名称为:"+salesRecordInfo.get("contract").getUuid("contractName") +"的预付款余额不足"); return ResponseObj.error(400,"合同名称为:"+salesRecordInfo.get("contract").getUuid("contractName") +"的预付款余额不足");
} }
//获取当前异常数据的总价 //获取当前异常数据的总价
amount = BigDecimal.ZERO.subtract(BigDecimal.valueOf(salesRecordInfo.getDouble(SalesRecordConstant.AMOUNT))); amount = BigDecimal.ZERO.subtract(BigDecimal.valueOf(salesRecordInfo.getDouble(SalesRecordConstant.AMOUNT)));
}else { }else {
...@@ -537,7 +537,7 @@ public class SalesRecordServiceImpl implements SalesRecordService { ...@@ -537,7 +537,7 @@ public class SalesRecordServiceImpl implements SalesRecordService {
//查询合同余额,如果扣减后小于0则不允许交易 //查询合同余额,如果扣减后小于0则不允许交易
KObject kObject = contractService.queryContract(contractId); KObject kObject = contractService.queryContract(contractId);
BigDecimal advanceBalance = kObject.getBigDecimal("advanceBalance"); BigDecimal advanceBalance = kObject.getBigDecimal("advanceBalance");
if (advanceBalance == null || advanceBalance.compareTo(new BigDecimal(kObject.getString(SalesRecordConstant.AMOUNT))) == -1) { if (advanceBalance == null || advanceBalance.compareTo(new BigDecimal(salesRecordInfo.getString(SalesRecordConstant.AMOUNT))) == -1) {
return ResponseObj.error(400,"合同名称为:"+salesRecordInfo.get("contract").getUuid("contractName") +"的预付款余额不足"); return ResponseObj.error(400,"合同名称为:"+salesRecordInfo.get("contract").getUuid("contractName") +"的预付款余额不足");
} }
//获取当前异常数据的总价 //获取当前异常数据的总价
......
...@@ -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,UUID contractId); List<KObject> queryNeedPlanByCarNumAndPlanningCycle(KObject station, String carNum, Date date,List<UUID> contractId);
} }
...@@ -87,6 +87,6 @@ public interface SalesPlanService { ...@@ -87,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,UUID contractId); List<Map<String, Object>> querySalesPlanByCarNum(KObject station, String carNum,List<UUID> contractId);
} }
...@@ -23,6 +23,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -23,6 +23,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.*; import java.io.*;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
@RestController @RestController
/** /**
...@@ -100,7 +101,9 @@ public class WeighbridgeSyncController { ...@@ -100,7 +101,9 @@ public class WeighbridgeSyncController {
if(carInfoKObject.size() > 0){ //如果有数据则为自提数据 if(carInfoKObject.size() > 0){ //如果有数据则为自提数据
//根据车牌查询所属合同和销售计划 //根据车牌查询所属合同和销售计划
//获取自提车辆对应的合同id //获取自提车辆对应的合同id
UUID contractId = carInfoKObject.get(0).get("contract").getUuid("id"); // UUID contractId = carInfoKObject.get(0).get("contract").getUuid("id");
List<UUID> contractId = carInfoKObject.stream().map(e -> e.get("contract").getUuid("id")).collect(Collectors.toList());
List<Map<String, Object>> salesPlan = salesPlanService.querySalesPlanByCarNum(station, carNum,contractId); List<Map<String, Object>> salesPlan = salesPlanService.querySalesPlanByCarNum(station, carNum,contractId);
Collection<? extends Map<String, Object>> maps = vehicleDispatchService.vehicleDispatchService(station, carNum); Collection<? extends Map<String, Object>> maps = vehicleDispatchService.vehicleDispatchService(station, carNum);
if (maps != null) { if (maps != null) {
......
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