|
|
@@ -1,39 +1,53 @@
|
|
|
package com.sckw.contract.service;
|
|
|
+
|
|
|
+import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.util.Date;
|
|
|
+import java.util.*;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import com.github.pagehelper.PageInfo;
|
|
|
import com.sckw.contract.dao.KwcContractLogisticsMapper;
|
|
|
-import com.sckw.contract.dao.KwcContractLogisticsTrackMapper;
|
|
|
import com.sckw.contract.model.entity.KwcContractLogistics;
|
|
|
+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.ContractLogisticsDetailResVo;
|
|
|
+import com.sckw.contract.model.vo.res.LogisticsBaseInfoResVo;
|
|
|
+import com.sckw.contract.model.vo.res.LogisticsGoodsInfoResVo;
|
|
|
+import com.sckw.contract.model.vo.res.QueryListResVo;
|
|
|
import com.sckw.core.common.enums.enums.DictTypeEnum;
|
|
|
import com.sckw.core.exception.SystemException;
|
|
|
import com.sckw.core.model.constant.Global;
|
|
|
-import com.sckw.core.model.enums.ChargingTypeEnum;
|
|
|
+import com.sckw.core.model.enums.ContractStatusEnum;
|
|
|
+import com.sckw.core.model.enums.CooperateTypeEnum;
|
|
|
import com.sckw.core.model.enums.SigningWayEnum;
|
|
|
+import com.sckw.core.model.page.PageHelperUtil;
|
|
|
+import com.sckw.core.model.page.PageResult;
|
|
|
+import com.sckw.core.utils.CollectionUtils;
|
|
|
import com.sckw.core.utils.IdWorker;
|
|
|
+import com.sckw.core.utils.StringUtils;
|
|
|
import com.sckw.core.web.constant.HttpStatus;
|
|
|
import com.sckw.core.web.context.LoginUserHolder;
|
|
|
+import com.sckw.excel.utils.EasyExcelUtil;
|
|
|
import com.sckw.system.api.RemoteSystemService;
|
|
|
import com.sckw.system.api.model.dto.res.SysDictResDto;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
-import org.bouncycastle.cms.PasswordRecipientId;
|
|
|
-import org.checkerframework.checker.units.qual.A;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
-
|
|
|
/**
|
|
|
-* @author PC
|
|
|
-* @description 针对表【kwc_contract_logistics(物流合同(承运合同/托运合同))】的数据库操作Service实现
|
|
|
-* @createDate 2023-07-13 13:36:19
|
|
|
-*/
|
|
|
+ * @author PC
|
|
|
+ * @description 针对表【kwc_contract_logistics(物流合同(承运合同/托运合同))】的数据库操作Service实现
|
|
|
+ * @createDate 2023-07-13 13:36:19
|
|
|
+ */
|
|
|
@Service
|
|
|
+@Slf4j
|
|
|
public class KwcContractLogisticsService {
|
|
|
|
|
|
@Autowired
|
|
|
@@ -45,6 +59,10 @@ public class KwcContractLogisticsService {
|
|
|
@Autowired
|
|
|
private KwcContractLogisticsTrackService kwcContractLogisticsTrackService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private KwcContractLogisticsUnitService kwcContractLogisticsUnitService;
|
|
|
+
|
|
|
+
|
|
|
@DubboReference(version = "2.0.0", group = "design", check = false)
|
|
|
private RemoteSystemService remoteSystemService;
|
|
|
|
|
|
@@ -55,13 +73,22 @@ public class KwcContractLogisticsService {
|
|
|
* @date: 2023/7/13
|
|
|
*/
|
|
|
@Transactional(rollbackFor = {})
|
|
|
- public void addCheckedContract(ContractLogisticsReqVo reqVo) {
|
|
|
+ public Long addCheckedContract(ContractLogisticsReqVo reqVo) {
|
|
|
LogisticsBaseInfoReqVo baseInfo = reqVo.getBaseInfo();
|
|
|
List<String> contractFileList = reqVo.getContractFile();
|
|
|
List<LogisticsGoodsInfoReqVo> goodsInfoList = reqVo.getGoodsInfo();
|
|
|
|
|
|
//创建合同
|
|
|
- KwcContractLogistics kwcContractLogistics = getKwcContractLogistics(baseInfo, reqVo.getRemark(), reqVo.getId());
|
|
|
+ KwcContractLogistics kwcContractLogistics = getKwcContractLogistics(baseInfo, reqVo.getRemark(), reqVo.getPId());
|
|
|
+ Date date = new Date();
|
|
|
+ long contactId = new IdWorker(1L).nextId();
|
|
|
+ kwcContractLogistics.setId(contactId);
|
|
|
+ kwcContractLogistics.setStatus(ContractStatusEnum.SAVE.getCode());
|
|
|
+ kwcContractLogistics.setCreateBy(LoginUserHolder.getUserId());
|
|
|
+ kwcContractLogistics.setCreateTime(date);
|
|
|
+ kwcContractLogistics.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
+ kwcContractLogistics.setUpdateTime(date);
|
|
|
+ kwcContractLogistics.setDelFlag(Global.NO);
|
|
|
if (kwcContractLogisticsMapper.insert(kwcContractLogistics) <= 0) {
|
|
|
throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
|
|
|
}
|
|
|
@@ -69,25 +96,25 @@ public class KwcContractLogisticsService {
|
|
|
//保存交易合同商品信息
|
|
|
kwcContractLogisticsGoodsService.saveContractLogisticsGoods(kwcContractLogistics.getId(), goodsInfoList);
|
|
|
|
|
|
- //存审批记录
|
|
|
- kwcContractLogisticsTrackService.saveContractLogisticsTrack(kwcContractLogistics.getId());
|
|
|
- }
|
|
|
+ //存单位信息
|
|
|
+ kwcContractLogisticsUnitService.saveContractLogisticsUnit(kwcContractLogistics.getId(), baseInfo);
|
|
|
|
|
|
- private KwcContractLogistics getKwcContractLogistics(LogisticsBaseInfoReqVo baseInfo, String remark, Long pid) {
|
|
|
+ return contactId;
|
|
|
+ }
|
|
|
|
|
|
- Date date = new Date();
|
|
|
+ public KwcContractLogistics getKwcContractLogistics(LogisticsBaseInfoReqVo baseInfo, String remark, Long pid) {
|
|
|
KwcContractLogistics kwcContractLogistics = new KwcContractLogistics();
|
|
|
- long contactId = new IdWorker(1L).nextId();
|
|
|
- kwcContractLogistics.setId(contactId);
|
|
|
kwcContractLogistics.setEntId(LoginUserHolder.getEntId());
|
|
|
kwcContractLogistics.setContractNo(baseInfo.getContractCode());
|
|
|
kwcContractLogistics.setName(baseInfo.getContractName());
|
|
|
kwcContractLogistics.setSigningWay(SigningWayEnum.getName(baseInfo.getSigningWay()).getName());
|
|
|
SysDictResDto sysDictResDto = remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.CHARGING_TYPE.getType(), baseInfo.getCharging());
|
|
|
if (Objects.isNull(sysDictResDto)) {
|
|
|
- kwcContractLogistics.setCharging(sysDictResDto.getId());
|
|
|
+ kwcContractLogistics.setCharging(sysDictResDto.getId());
|
|
|
}
|
|
|
- kwcContractLogistics.setTrading(pid);
|
|
|
+
|
|
|
+// remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.TRADE_TYPE, baseInfo.getT)
|
|
|
+// kwcContractLogistics.setTrading(pid);
|
|
|
kwcContractLogistics.setStartTime(baseInfo.getStartTime());
|
|
|
kwcContractLogistics.setEndTime(baseInfo.getEndTime());
|
|
|
//单位不同怎么汇总?
|
|
|
@@ -96,14 +123,8 @@ public class KwcContractLogisticsService {
|
|
|
kwcContractLogistics.setSigningUrl("");
|
|
|
kwcContractLogistics.setSignedUrl("");
|
|
|
kwcContractLogistics.setSigningNo("");
|
|
|
- kwcContractLogistics.setContractPid(0L);
|
|
|
+ kwcContractLogistics.setContractPid(pid);
|
|
|
kwcContractLogistics.setRemark(remark);
|
|
|
- kwcContractLogistics.setStatus(Global.NO);
|
|
|
- kwcContractLogistics.setCreateBy(LoginUserHolder.getUserId());
|
|
|
- kwcContractLogistics.setCreateTime(date);
|
|
|
- kwcContractLogistics.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
- kwcContractLogistics.setUpdateTime(date);
|
|
|
- kwcContractLogistics.setDelFlag(Global.NO);
|
|
|
return kwcContractLogistics;
|
|
|
}
|
|
|
|
|
|
@@ -115,7 +136,7 @@ public class KwcContractLogisticsService {
|
|
|
* @date: 2023/7/14
|
|
|
*/
|
|
|
public void supplement(ContractLogisticsReqVo reqVo) {
|
|
|
- Long id = reqVo.getId();
|
|
|
+ Long id = reqVo.getPId();
|
|
|
KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectById(id);
|
|
|
if (Objects.isNull(kwcContractLogistics)) {
|
|
|
|
|
|
@@ -123,6 +144,254 @@ public class KwcContractLogisticsService {
|
|
|
|
|
|
addCheckedContract(reqVo);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @return ContractLogisticsDetailResVo
|
|
|
+ * @desc: 合同详情
|
|
|
+ * @param: reqVo id
|
|
|
+ * @author: czh
|
|
|
+ * @date 2023/7/16
|
|
|
+ */
|
|
|
+ public ContractLogisticsDetailResVo detail(Long id) {
|
|
|
+ KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectById(id);
|
|
|
+ if (Objects.isNull(kwcContractLogistics)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ return buildContractLogisticsDetailResVo(kwcContractLogistics);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private ContractLogisticsDetailResVo buildContractLogisticsDetailResVo(KwcContractLogistics kwcContractLogistics) {
|
|
|
+ ContractLogisticsDetailResVo contractLogisticsDetailResVo = new ContractLogisticsDetailResVo();
|
|
|
+ //基础信息
|
|
|
+ List<KwcContractLogisticsUnit> kwcContractLogisticsUnitList = kwcContractLogisticsUnitService.queryByContractId(kwcContractLogistics.getId());
|
|
|
+ if (CollectionUtils.isNotEmpty(kwcContractLogisticsUnitList)) {
|
|
|
+ LogisticsBaseInfoResVo logisticsBaseInfoResVo = new LogisticsBaseInfoResVo();
|
|
|
+ for (KwcContractLogisticsUnit kwcContractLogisticsUnit : kwcContractLogisticsUnitList) {
|
|
|
+ if (kwcContractLogisticsUnit.getUnitType().equals(CooperateTypeEnum.CONSIGN.getCode())) {
|
|
|
+ logisticsBaseInfoResVo.setCheckedEntName(kwcContractLogisticsUnit.getFirmName());
|
|
|
+ logisticsBaseInfoResVo.setCheckedPhone(kwcContractLogisticsUnit.getSignPhone());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (kwcContractLogisticsUnit.getUnitType().equals(CooperateTypeEnum.CARRIAGE.getCode())) {
|
|
|
+ logisticsBaseInfoResVo.setCarrierEntName(kwcContractLogisticsUnit.getFirmName());
|
|
|
+ logisticsBaseInfoResVo.setCarrierPhone(kwcContractLogisticsUnit.getSignPhone());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //logisticsBaseInfoResVo.setChargingName();
|
|
|
+ logisticsBaseInfoResVo.setContractCode(kwcContractLogistics.getContractNo());
|
|
|
+ logisticsBaseInfoResVo.setContractName(kwcContractLogistics.getName());
|
|
|
+ logisticsBaseInfoResVo.setEndTime(kwcContractLogistics.getEndTime());
|
|
|
+ logisticsBaseInfoResVo.setSigningWayName(kwcContractLogistics.getSigningWay());
|
|
|
+ logisticsBaseInfoResVo.setStartTime(kwcContractLogistics.getStartTime());
|
|
|
+ contractLogisticsDetailResVo.setBaseInfo(logisticsBaseInfoResVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ //标的信息
|
|
|
+ List<KwcContractLogisticsGoods> kwcContractLogisticsGoodsList = kwcContractLogisticsGoodsService.queryGoodsInfoByContractId(kwcContractLogistics.getId());
|
|
|
+ if (CollectionUtils.isNotEmpty(kwcContractLogisticsGoodsList)) {
|
|
|
+ List<Long> goodsIdList = kwcContractLogisticsGoodsList.stream().map(KwcContractLogisticsGoods::getGoodsId).toList();
|
|
|
+ List<LogisticsGoodsInfoResVo> goodsInfo = new ArrayList<>();
|
|
|
+ for (KwcContractLogisticsGoods kwcContractLogisticsGoods : kwcContractLogisticsGoodsList) {
|
|
|
+ LogisticsGoodsInfoResVo logisticsGoodsInfoResVo = new LogisticsGoodsInfoResVo();
|
|
|
+ logisticsGoodsInfoResVo.setAmount(kwcContractLogisticsGoods.getAmount());
|
|
|
+ logisticsGoodsInfoResVo.setUnit(kwcContractLogisticsGoods.getUnit());
|
|
|
+ logisticsGoodsInfoResVo.setPrice(kwcContractLogisticsGoods.getPrice());
|
|
|
+ //logisticsGoodsInfoResVo.setPriceUnit();
|
|
|
+ logisticsGoodsInfoResVo.setDeficitPrice(kwcContractLogisticsGoods.getDeficitPrice());
|
|
|
+ logisticsGoodsInfoResVo.setDeficitUnit(kwcContractLogisticsGoods.getDeficitUnit());
|
|
|
+ //logisticsGoodsInfoResVo.setGoodsName();
|
|
|
+ logisticsGoodsInfoResVo.setLoss(kwcContractLogisticsGoods.getLoss());
|
|
|
+ logisticsGoodsInfoResVo.setLossUnit(kwcContractLogisticsGoods.getLossUnit());
|
|
|
+ goodsInfo.add(logisticsGoodsInfoResVo);
|
|
|
+ }
|
|
|
+ contractLogisticsDetailResVo.setGoodsInfo(goodsInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ //合同文件
|
|
|
+ List<String> fileList = new ArrayList<>();
|
|
|
+ fileList.add(kwcContractLogistics.getSignedUrl());
|
|
|
+ fileList.add(kwcContractLogistics.getSigningUrl());
|
|
|
+ contractLogisticsDetailResVo.setContractFile(fileList);
|
|
|
+
|
|
|
+ //补充合同
|
|
|
+ List<KwcContractLogistics> supplementList = getSupplementList(kwcContractLogistics);
|
|
|
+ if (CollectionUtils.isNotEmpty(supplementList)) {
|
|
|
+ List<ContractLogisticsDetailResVo> child = new ArrayList<>();
|
|
|
+ for (KwcContractLogistics supplement : supplementList) {
|
|
|
+ child.add(buildContractLogisticsDetailResVo(supplement));
|
|
|
+ }
|
|
|
+ contractLogisticsDetailResVo.setChild(child);
|
|
|
+ }
|
|
|
+ return contractLogisticsDetailResVo;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private List<KwcContractLogistics> getSupplementList(KwcContractLogistics kwcContractLogistics) {
|
|
|
+ LambdaQueryWrapper<KwcContractLogistics> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(KwcContractLogistics::getContractPid, kwcContractLogistics.getId());
|
|
|
+ wrapper.eq(KwcContractLogistics::getDelFlag, Global.NO);
|
|
|
+ wrapper.eq(KwcContractLogistics::getStatus, Global.NO);
|
|
|
+ List<KwcContractLogistics> supplementList = kwcContractLogisticsMapper.selectList(wrapper);
|
|
|
+ return supplementList;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc: 发起签约
|
|
|
+ * @param: reqVo 入参
|
|
|
+ * @author: czh
|
|
|
+ * @date 2023/7/17
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = {})
|
|
|
+ public void submit(ContractLogisticsReqVo reqVo) {
|
|
|
+ Long id = reqVo.getId();
|
|
|
+ if (Objects.isNull(id)) {
|
|
|
+ //创建合同
|
|
|
+ KwcContractLogistics kwcContractLogistics = getKwcContractLogistics(reqVo.getBaseInfo(), reqVo.getRemark(), reqVo.getPId());
|
|
|
+ Date date = new Date();
|
|
|
+ id = new IdWorker(1L).nextId();
|
|
|
+ kwcContractLogistics.setId(id);
|
|
|
+ kwcContractLogistics.setStatus(ContractStatusEnum.SUBMIT.getCode());
|
|
|
+ kwcContractLogistics.setCreateBy(LoginUserHolder.getUserId());
|
|
|
+ kwcContractLogistics.setCreateTime(date);
|
|
|
+ kwcContractLogistics.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
+ kwcContractLogistics.setUpdateTime(date);
|
|
|
+ kwcContractLogistics.setDelFlag(Global.NO);
|
|
|
+ if (kwcContractLogisticsMapper.insert(kwcContractLogistics) <= 0) {
|
|
|
+ throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
|
|
|
+ }
|
|
|
+
|
|
|
+ //存审批记录
|
|
|
+ kwcContractLogisticsTrackService.saveContractLogisticsTrack(id);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ id = addCheckedContract(reqVo);
|
|
|
+ //存审批记录
|
|
|
+ kwcContractLogisticsTrackService.saveContractLogisticsTrack(id);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc: 修改草稿
|
|
|
+ * @param: reqVo 入参
|
|
|
+ * @author: czh
|
|
|
+ * @date 2023/7/16
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = {})
|
|
|
+ public void update(ContractLogisticsReqVo reqVo) {
|
|
|
+ Long contractId = reqVo.getId();
|
|
|
+ KwcContractLogistics kwcContractLogistics = kwcContractLogisticsMapper.selectById(contractId);
|
|
|
+ if (Objects.isNull(kwcContractLogistics)) {
|
|
|
+ throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.CONTRACT_NOT_EXISTS);
|
|
|
+ }
|
|
|
+
|
|
|
+ KwcContractLogistics param = getKwcContractLogistics(reqVo.getBaseInfo(), reqVo.getRemark(), reqVo.getPId());
|
|
|
+ param.setId(contractId);
|
|
|
+ param.setStatus(ContractStatusEnum.SAVE.getCode());
|
|
|
+ param.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
+ param.setUpdateTime(new Date());
|
|
|
+ if (kwcContractLogisticsMapper.updateById(param) <= 0) {
|
|
|
+ throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //保存交易合同商品信息-先把以前的删除
|
|
|
+ List<KwcContractLogisticsGoods> kwcContractLogisticsGoodsList = kwcContractLogisticsGoodsService.queryGoodsInfoByContractId(contractId);
|
|
|
+ if (CollectionUtils.isNotEmpty(kwcContractLogisticsGoodsList)) {
|
|
|
+ Date date = new Date();
|
|
|
+ kwcContractLogisticsGoodsList.forEach(item -> {
|
|
|
+ item.setDelFlag(Global.YES);
|
|
|
+ item.setCreateBy(LoginUserHolder.getUserId());
|
|
|
+ item.setCreateTime(date);
|
|
|
+ });
|
|
|
+
|
|
|
+ if (kwcContractLogisticsGoodsService.updateBatch(kwcContractLogisticsGoodsList) != kwcContractLogisticsGoodsList.size()) {
|
|
|
+ throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ kwcContractLogisticsGoodsService.saveContractLogisticsGoods(kwcContractLogistics.getId(), reqVo.getGoodsInfo());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc: 手动完结
|
|
|
+ * @param: reqVo ids
|
|
|
+ * @author: czh
|
|
|
+ * @date 2023/7/16
|
|
|
+ * @return HttpResult
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = {})
|
|
|
+ public void complete(String ids) {
|
|
|
+ List<Long> contractIdList = Arrays.asList(ids.split(Global.COMMA)).stream().map(Long::parseLong).toList();
|
|
|
+ List<KwcContractLogistics> kwcContractLogistics = kwcContractLogisticsMapper.selectBatchIds(contractIdList);
|
|
|
+ Date date = new Date();
|
|
|
+ kwcContractLogistics.forEach(item -> {
|
|
|
+ item.setStatus(ContractStatusEnum.COMPLETE.getCode());
|
|
|
+ item.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
+ item.setUpdateTime(date);
|
|
|
+ if (kwcContractLogisticsMapper.updateById(item) <= 0) {
|
|
|
+ throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc: 手动完结
|
|
|
+ * @param: reqVo ids
|
|
|
+ * @author: czh
|
|
|
+ * @date 2023/7/16
|
|
|
+ * @return HttpResult
|
|
|
+ */
|
|
|
+ @Transactional(rollbackFor = {})
|
|
|
+ public void delete(String ids) {
|
|
|
+ List<Long> contractIdList = Arrays.asList(ids.split(Global.COMMA)).stream().map(Long::parseLong).toList();
|
|
|
+ List<KwcContractLogistics> kwcContractLogistics = kwcContractLogisticsMapper.selectBatchIds(contractIdList);
|
|
|
+ Date date = new Date();
|
|
|
+ kwcContractLogistics.forEach(item -> {
|
|
|
+ if (item.getStatus() != ContractStatusEnum.SAVE.getCode()) {
|
|
|
+ throw new SystemException(HttpStatus.CODE_10301, HttpStatus.MSG_022);
|
|
|
+ }
|
|
|
+ item.setStatus(ContractStatusEnum.COMPLETE.getCode());
|
|
|
+ item.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
+ item.setUpdateTime(date);
|
|
|
+ if (kwcContractLogisticsMapper.updateById(item) <= 0) {
|
|
|
+ throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @desc: 分页查询
|
|
|
+ * @param: reqVo
|
|
|
+ * @author: czh
|
|
|
+ * @date 2023/7/17
|
|
|
+ * @return PageResult
|
|
|
+ */
|
|
|
+ public PageResult queryListByPage(QueryListReqVo reqVo) {
|
|
|
+ PageHelper.startPage(reqVo.getPage(), reqVo.getPageSize());
|
|
|
+ List<QueryListResVo> list = kwcContractLogisticsMapper.queryList(reqVo);
|
|
|
+ return PageHelperUtil.getPageResult(new PageInfo<>(list));
|
|
|
+ }
|
|
|
+
|
|
|
+ public void export(QueryListReqVo reqVo) {
|
|
|
+ if (StringUtils.isNotBlank(reqVo.getIds())) {
|
|
|
+ List<Long> idList = Arrays.asList(reqVo.getIds().split(Global.COMMA)).stream().map(Long::parseLong).toList();
|
|
|
+ reqVo.setIdList(idList);
|
|
|
+ }
|
|
|
+ List<QueryListResVo> queryListResVos = kwcContractLogisticsMapper.queryList(reqVo);
|
|
|
+ try {
|
|
|
+ EasyExcelUtil.writeSingleExcel("物流合同.xlsx", "sheet1", queryListResVos, QueryListResVo.class);
|
|
|
+ } catch (IOException e) {
|
|
|
+ log.error("导出失败:", e);
|
|
|
+ throw new SystemException(HttpStatus.CODE_10301, HttpStatus.MSG_014);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|