|
|
@@ -18,6 +18,7 @@ import com.sckw.contract.model.entity.KwcContractLogisticsGoods;
|
|
|
import com.sckw.contract.model.entity.KwcContractLogisticsUnit;
|
|
|
import com.sckw.contract.model.vo.req.ContractLogisticsReqVo;
|
|
|
import com.sckw.contract.model.vo.req.LogisticsBaseInfoReqVo;
|
|
|
+import com.sckw.contract.model.vo.req.LogisticsGoodsInfoReqVo;
|
|
|
import com.sckw.contract.model.vo.req.QueryListReqVo;
|
|
|
import com.sckw.contract.model.vo.res.*;
|
|
|
import com.sckw.core.common.enums.enums.DictEnum;
|
|
|
@@ -84,9 +85,9 @@ public class KwcContractLogisticsService {
|
|
|
@Transactional(rollbackFor = {})
|
|
|
public Long addCheckedContract(ContractLogisticsReqVo reqVo) {
|
|
|
LogisticsBaseInfoReqVo baseInfo = reqVo.getBaseInfo();
|
|
|
-
|
|
|
+
|
|
|
//创建合同
|
|
|
- KwcContractLogistics kwcContractLogistics = getKwcContractLogistics(baseInfo, reqVo.getRemark(), reqVo.getPId());
|
|
|
+ KwcContractLogistics kwcContractLogistics = getKwcContractLogistics(baseInfo, reqVo.getGoodsInfo(), reqVo.getRemark(), reqVo.getPId());
|
|
|
long contactId = new IdWorker(1L).nextId();
|
|
|
kwcContractLogistics.setId(contactId);
|
|
|
kwcContractLogistics.setStatus(ContractStatusEnum.SAVE.getCode());
|
|
|
@@ -104,7 +105,7 @@ public class KwcContractLogisticsService {
|
|
|
return contactId;
|
|
|
}
|
|
|
|
|
|
- public KwcContractLogistics getKwcContractLogistics(LogisticsBaseInfoReqVo baseInfo, String remark, Long pid) {
|
|
|
+ public KwcContractLogistics getKwcContractLogistics(LogisticsBaseInfoReqVo baseInfo, List<LogisticsGoodsInfoReqVo> goodsInfo, String remark, Long pid) {
|
|
|
Date date = new Date();
|
|
|
KwcContractLogistics kwcContractLogistics = new KwcContractLogistics();
|
|
|
kwcContractLogistics.setEntId(LoginUserHolder.getEntId());
|
|
|
@@ -114,7 +115,6 @@ public class KwcContractLogisticsService {
|
|
|
kwcContractLogistics.setCharging(baseInfo.getCharging());
|
|
|
kwcContractLogistics.setStartTime(baseInfo.getStartTime());
|
|
|
kwcContractLogistics.setEndTime(baseInfo.getEndTime());
|
|
|
- kwcContractLogistics.setAmount(new BigDecimal("0"));
|
|
|
kwcContractLogistics.setPerformedAmount(new BigDecimal("0"));
|
|
|
kwcContractLogistics.setContractPid(pid);
|
|
|
kwcContractLogistics.setRemark(remark);
|
|
|
@@ -123,6 +123,16 @@ public class KwcContractLogisticsService {
|
|
|
kwcContractLogistics.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
kwcContractLogistics.setUpdateTime(date);
|
|
|
kwcContractLogistics.setDelFlag(Global.NO);
|
|
|
+
|
|
|
+ BigDecimal amountTotal = new BigDecimal(Global.NUMERICAL_ZERO);
|
|
|
+ if (CollectionUtils.isNotEmpty(goodsInfo)) {
|
|
|
+ for (LogisticsGoodsInfoReqVo logisticsGoodsInfoReqVo : goodsInfo) {
|
|
|
+ if (Objects.nonNull(logisticsGoodsInfoReqVo.getAmount())) {
|
|
|
+ amountTotal = amountTotal.add(logisticsGoodsInfoReqVo.getAmount());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ kwcContractLogistics.setAmount(amountTotal);
|
|
|
return kwcContractLogistics;
|
|
|
}
|
|
|
|
|
|
@@ -170,11 +180,13 @@ public class KwcContractLogisticsService {
|
|
|
if (kwcContractLogisticsUnit.getUnitType().equals(CooperateTypeEnum.CONSIGN.getCode())) {
|
|
|
logisticsBaseInfoResVo.setCheckedEntName(kwcContractLogisticsUnit.getFirmName());
|
|
|
logisticsBaseInfoResVo.setCheckedPhone(kwcContractLogisticsUnit.getSignPhone());
|
|
|
+ logisticsBaseInfoResVo.setCheckedEntId(kwcContractLogisticsUnit.getEntId());
|
|
|
}
|
|
|
|
|
|
if (kwcContractLogisticsUnit.getUnitType().equals(CooperateTypeEnum.CARRIAGE.getCode())) {
|
|
|
logisticsBaseInfoResVo.setCarrierEntName(kwcContractLogisticsUnit.getFirmName());
|
|
|
logisticsBaseInfoResVo.setCarrierPhone(kwcContractLogisticsUnit.getSignPhone());
|
|
|
+ logisticsBaseInfoResVo.setCarrierEntId(kwcContractLogisticsUnit.getEntId());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -190,18 +202,15 @@ public class KwcContractLogisticsService {
|
|
|
//标的信息
|
|
|
List<KwcContractLogisticsGoods> kwcContractLogisticsGoodsList = kwcContractLogisticsGoodsService.queryGoodsInfoByContractId(kwcContractLogistics.getId());
|
|
|
if (CollectionUtils.isNotEmpty(kwcContractLogisticsGoodsList)) {
|
|
|
- List<Long> goodsIdList = kwcContractLogisticsGoodsList.stream().map(KwcContractLogisticsGoods::getGoodsId).toList();
|
|
|
-// Map<Long, KwpGoods> goodsMap = goodsInfoService.getGoodsByIds(goodsIdList);
|
|
|
-
|
|
|
- String keys = "";
|
|
|
- for (KwcContractLogisticsGoods item :kwcContractLogisticsGoodsList){
|
|
|
- keys += DictTypeEnum.UNIT_TYPE.getType() + Global.POUND + item.getUnit() + Global.COMMA;
|
|
|
- keys += DictTypeEnum.PRICE_TYPE.getType() + Global.POUND + item.getPriceUnit() + Global.COMMA;
|
|
|
- keys += DictTypeEnum.WEIGHT_CAR.getType() + Global.POUND + item.getLossUnit() + Global.COMMA;
|
|
|
- keys += DictTypeEnum.WEIGHT_CAR.getType() + Global.POUND + item.getDeficitUnit() + Global.COMMA;
|
|
|
- };
|
|
|
+ StringBuilder keys = new StringBuilder();
|
|
|
+ for (KwcContractLogisticsGoods item : kwcContractLogisticsGoodsList) {
|
|
|
+ keys.append(DictTypeEnum.UNIT_TYPE.getType()).append(Global.POUND).append(item.getUnit()).append(Global.COMMA);
|
|
|
+ keys.append(DictTypeEnum.PRICE_TYPE.getType()).append(Global.POUND).append(item.getPriceUnit()).append(Global.COMMA);
|
|
|
+ keys.append(DictTypeEnum.WEIGHT_CAR.getType()).append(Global.POUND).append(item.getLossUnit()).append(Global.COMMA);
|
|
|
+ keys.append(DictTypeEnum.WEIGHT_CAR.getType()).append(Global.POUND).append(item.getDeficitUnit()).append(Global.COMMA);
|
|
|
+ }
|
|
|
|
|
|
- Map<String, SysDictResDto> stringSysDictResDtoMap = remoteSystemService.queryDictMapByTypeValues(keys);
|
|
|
+ Map<String, SysDictResDto> stringSysDictResDtoMap = remoteSystemService.queryDictMapByTypeValues(keys.toString());
|
|
|
|
|
|
List<LogisticsGoodsInfoResVo> goodsInfo = new ArrayList<>();
|
|
|
for (KwcContractLogisticsGoods kwcContractLogisticsGoods : kwcContractLogisticsGoodsList) {
|
|
|
@@ -224,22 +233,22 @@ public class KwcContractLogisticsService {
|
|
|
|
|
|
SysDictResDto unitType = stringSysDictResDtoMap.get(DictTypeEnum.UNIT_TYPE.getType() + Global.POUND + kwcContractLogisticsGoods.getUnit());
|
|
|
if (Objects.nonNull(unitType)) {
|
|
|
- logisticsGoodsInfoResVo.setUnitName(unitType.getValue());
|
|
|
+ logisticsGoodsInfoResVo.setUnitName(unitType.getLabel());
|
|
|
}
|
|
|
|
|
|
SysDictResDto priceType = stringSysDictResDtoMap.get(DictTypeEnum.PRICE_TYPE.getType() + Global.POUND + kwcContractLogisticsGoods.getPriceUnit());
|
|
|
if (Objects.nonNull(priceType)) {
|
|
|
- logisticsGoodsInfoResVo.setPriceUnitName(priceType.getValue());
|
|
|
+ logisticsGoodsInfoResVo.setPriceUnitName(priceType.getLabel());
|
|
|
}
|
|
|
|
|
|
SysDictResDto weightCar1 = stringSysDictResDtoMap.get(DictTypeEnum.WEIGHT_CAR.getType() + Global.POUND + kwcContractLogisticsGoods.getLossUnit());
|
|
|
if (Objects.nonNull(weightCar1)) {
|
|
|
- logisticsGoodsInfoResVo.setLossUnitName(weightCar1.getValue());
|
|
|
+ logisticsGoodsInfoResVo.setLossUnitName(weightCar1.getLabel());
|
|
|
}
|
|
|
|
|
|
SysDictResDto weightCar2 = stringSysDictResDtoMap.get(DictTypeEnum.WEIGHT_CAR.getType() + Global.POUND + kwcContractLogisticsGoods.getDeficitUnit());
|
|
|
if (Objects.nonNull(weightCar2)) {
|
|
|
- logisticsGoodsInfoResVo.setDeficitUnitName(weightCar2.getValue());
|
|
|
+ logisticsGoodsInfoResVo.setDeficitUnitName(weightCar2.getLabel());
|
|
|
}
|
|
|
|
|
|
goodsInfo.add(logisticsGoodsInfoResVo);
|
|
|
@@ -324,7 +333,7 @@ public class KwcContractLogisticsService {
|
|
|
throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.CONTRACT_NOT_EXISTS);
|
|
|
}
|
|
|
|
|
|
- KwcContractLogistics param = getKwcContractLogistics(reqVo.getBaseInfo(), reqVo.getRemark(), reqVo.getPId());
|
|
|
+ KwcContractLogistics param = getKwcContractLogistics(reqVo.getBaseInfo(), reqVo.getGoodsInfo(), reqVo.getRemark(), reqVo.getPId());
|
|
|
param.setId(contractId);
|
|
|
param.setSigningUrl(reqVo.getContractFile());
|
|
|
param.setStatus(ContractStatusEnum.SAVE.getCode());
|
|
|
@@ -429,11 +438,13 @@ public class KwcContractLogisticsService {
|
|
|
private List<QueryListResVo> getQueryListResVos(List<QueryListResDto> queryListResDtos) {
|
|
|
Map<Long, UserCacheResDto> longUserCacheResDtoMap = new HashMap<>();
|
|
|
List<Long> initiateByList = queryListResDtos.stream().map(QueryListResDto::getInitiateBy).toList();
|
|
|
+ List<Long> idList = queryListResDtos.stream().map(QueryListResDto::getId).toList();
|
|
|
if (CollectionUtils.isNotEmpty(initiateByList)) {
|
|
|
longUserCacheResDtoMap = remoteSystemService.queryUserCacheMapByIds(initiateByList);
|
|
|
}
|
|
|
|
|
|
List<QueryListResVo> list = new ArrayList<>();
|
|
|
+// Map<Long, BigDecimal> amountByIdList = kwcContractLogisticsGoodsService.getAmountByIdList(idList);
|
|
|
for (QueryListResDto queryListResDto : queryListResDtos) {
|
|
|
QueryListResVo queryListResVo = new QueryListResVo();
|
|
|
BeanUtils.copyProperties(queryListResDto, queryListResVo);
|
|
|
@@ -447,8 +458,13 @@ public class KwcContractLogisticsService {
|
|
|
}
|
|
|
queryListResVo.setChargingName(DictEnum.getLabel(DictTypeEnum.CHARGING_TYPE.getType(), String.valueOf(queryListResDto.getCharging())));
|
|
|
queryListResVo.setStatusName(ContractStatusEnum.getName(queryListResDto.getStatus()).getName());
|
|
|
-
|
|
|
- queryListResVo.setPerformedAmount(new BigDecimal("0"));
|
|
|
+ queryListResVo.setSigningWayName(DictEnum.getLabel(DictTypeEnum.SIGNING_TYPE.getType(), String.valueOf(queryListResDto.getSigningWay())));
|
|
|
+ queryListResVo.setPerformedAmount(queryListResDto.getPerformedAmount());
|
|
|
+// BigDecimal amount = amountByIdList.get(queryListResDto.getId());
|
|
|
+// if (Objects.nonNull(amount)) {
|
|
|
+// queryListResVo.setAmount(amount);
|
|
|
+// }
|
|
|
+ queryListResVo.setAmount(queryListResDto.getAmount());
|
|
|
list.add(queryListResVo);
|
|
|
}
|
|
|
return list;
|