From 03896b6014319db973ca2fd4280747295c1520c1 Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Wed, 14 Jun 2023 09:15:17 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=94=80=E5=94=AE=E5=8F=B0=E8=B4=A6?= =?UTF-8?q?=E6=9D=A1=E6=95=B0=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseVehicleOutApplyMapper.java | 3 +++ .../BaseVehicleOutApplyMapper.xml | 19 +++++++++++++++++++ .../BaseVehicleOutApplyService.java | 3 ++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyMapper.java index 8e26c4395f..307bea6158 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyMapper.java @@ -26,6 +26,7 @@ package com.yxt.anrui.base.biz.basevehicleoutapply; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; @@ -63,4 +64,6 @@ public interface BaseVehicleOutApplyMapper extends BaseMapper selectListVo(); + + int selectPageVoCount(@Param(Constants.WRAPPER) QueryWrapper qw); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyMapper.xml index c337328a07..89dfeaba43 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyMapper.xml @@ -56,4 +56,23 @@ ${ew.sqlSegment} + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyService.java index b9ed987580..e2b0d98513 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyService.java @@ -124,6 +124,7 @@ public class BaseVehicleOutApplyService extends MybatisBaseService qw = createQueryWrapper(query); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); + int countTotal = baseMapper.selectPageVoCount(qw); List records = pagging.getRecords(); for (BaseVehicleOutApplyVoNew record : records) { String createOrgSid = record.getCreateOrgSid(); @@ -134,8 +135,8 @@ public class BaseVehicleOutApplyService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); + p.setTotal(countTotal); return p; } From 63f940aac08904c11a302883bb818c70dd2fa5bc Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Wed, 14 Jun 2023 09:22:06 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E9=94=80=E5=94=AE=E5=8F=B0=E8=B4=A6?= =?UTF-8?q?=E6=9D=A1=E6=95=B0=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/biz/basevehicleoutapply/BaseVehicleOutApplyMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyMapper.xml index 89dfeaba43..d99f2a4deb 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleoutapply/BaseVehicleOutApplyMapper.xml @@ -59,7 +59,7 @@ + SELECT * FROM base_trailer_out_apply ${ew.sqlSegment} + + + + + + + + + + UPDATE base_trailer_out_apply + SET nodeState=#{nodeState}, nodeSid=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstSid=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid=#{sid} + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyRest.java new file mode 100644 index 0000000000..71299eb873 --- /dev/null +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyRest.java @@ -0,0 +1,140 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.base.biz.basetraileroutapply; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.base.api.basetraileroutapply.*; +import com.yxt.anrui.base.api.basetraileroutapply.flowable.*; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: anrui-base(挂车出库申请)
+ * File: BaseTrailerOutApplyFeignFallback.java
+ * Class: com.yxt.anrui.base.biz.basetraileroutapply.BaseTrailerOutApplyRest
+ * Description: 挂车出库申请表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-06-13 14:37:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "挂车出库申请表") +@RestController("com.yxt.anrui.base.biz.basetraileroutapply.BaseTrailerOutApplyRest") +@RequestMapping("v1/basetraileroutapply") +public class BaseTrailerOutApplyRest implements BaseTrailerOutApplyFeign { + + @Autowired + private BaseTrailerOutApplyService baseTrailerOutApplyService; + + @Override + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = baseTrailerOutApplyService.listPageVo(pq); + return rb.success().setData(pv); + } + + @Override + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody BaseTrailerOutApplyDto dto){ + ResultBean rb = ResultBean.fireFail(); + baseTrailerOutApplyService.saveOrUpdateDto(dto); + return rb.success(); + } + + @Override + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids){ + return baseTrailerOutApplyService.delAllBySids(sids); + } + + @Override + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchDetailsBySid/{sid}") + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ + ResultBean rb = ResultBean.fireFail(); + BaseTrailerOutApplyDetailsVo vo = baseTrailerOutApplyService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } + + @Override + public ResultBean init(BaseTrailerOutApplyInitQuery query) { + return baseTrailerOutApplyService.init(query); + } + + @Override + public ResultBean submitFinBillApplication(SubmitBaseTrailerOutApplyDto dto) { + return baseTrailerOutApplyService.submitFinBillApplication(dto); + } + + @Override + public ResultBean complete(BaseTrailerOutApplyCompleteDto query) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.BASETRAILEROUTAPPLY.getProDefId()); + return baseTrailerOutApplyService.complete(bv); + } + + @Override + public ResultBean> getPreviousNodesForReject(BaseTrailerOutApplyNodeQuery query) { + return baseTrailerOutApplyService.getPreviousNodesForReject(query); + } + + @Override + public ResultBean> getNextNodesForSubmit(BaseTrailerOutApplyNodeQuery query) { + return baseTrailerOutApplyService.getNextNodesForSubmit(query); + } + + @Override + public ResultBean taskReject(BaseTrailerOutApplyTaskQuery query) { + return baseTrailerOutApplyService.taskReject(query); + } + + @Override + public ResultBean revokeProcess(BaseTrailerOutApplyTaskQuery query) { + return baseTrailerOutApplyService.revokeProcess(query); + } + + @Override + public ResultBean breakProcess(BaseTrailerOutApplyTaskQuery query) { + return baseTrailerOutApplyService.breakProcess(query); + } +} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyService.java new file mode 100644 index 0000000000..60c4e068d3 --- /dev/null +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyService.java @@ -0,0 +1,638 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.base.biz.basetraileroutapply; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.basetrailer.BaseTrailer; +import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo; +import com.yxt.anrui.base.api.basetraileroutapply.*; +import com.yxt.anrui.base.api.basetraileroutapply.flowable.BaseTrailerOutApplyNodeQuery; +import com.yxt.anrui.base.api.basetraileroutapply.flowable.BaseTrailerOutApplyNodeVo; +import com.yxt.anrui.base.api.basetraileroutapply.flowable.BaseTrailerOutApplyTaskQuery; +import com.yxt.anrui.base.api.basetraileroutapply.flowable.SubmitBaseTrailerOutApplyDto; +import com.yxt.anrui.base.api.basevehicle.BaseVehicle; +import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo; +import com.yxt.anrui.base.biz.basetrailer.BaseTrailerService; +import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService; +import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService; +import com.yxt.anrui.base.common.enums.BillTypeEnum; +import com.yxt.anrui.base.common.utils.Rule; +import com.yxt.anrui.base.common.utils.domain.BillNo; +import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyVo; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; +import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; +import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication; +import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDetailsVo; +import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationFeign; +import com.yxt.anrui.fin.api.finbillapplication.SubmitFinBillApplicationDto; +import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeVo; +import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo; +import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDetailsVo; +import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleFeign; +import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo; +import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; +import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto; +import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery; +import com.yxt.anrui.flowable.api.flow.FlowableFeign; +import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; +import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.anrui.portal.api.sysorganization.SysOrganization; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoFeign; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.messagecenter.api.message.MessageFeign; +import com.yxt.messagecenter.api.message.MessageFlowVo; +import com.yxt.messagecenter.api.message.MessageFlowableQuery; +import org.apache.commons.lang3.StringUtils; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Project: anrui-base(挂车出库申请)
+ * File: BaseTrailerOutApplyService.java
+ * Class: com.yxt.anrui.base.biz.basetraileroutapply.BaseTrailerOutApplyService
+ * Description: 挂车出库申请表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-06-13 14:37:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class BaseTrailerOutApplyService extends MybatisBaseService { + + @Autowired + private BaseTrailerService baseTrailerService; + @Autowired + private BaseVehicleService baseVehicleService; + @Autowired + private FinBillVehicleFeign finBillVehicleFeign; + @Autowired + private FinBillApplicationFeign finBillApplicationFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private FlowableFeign flowableFeign; + @Autowired + private MessageFeign messageFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + @Autowired + private BusSalesOrderFeign busSalesOrderFeign; + @Autowired + private CommonAppendixService commonAppendixService; + @Autowired + private FileUploadComponent fileUploadComponent; + + private QueryWrapper createQueryWrapper(BaseTrailerOutApplyQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + BaseTrailerOutApplyQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getBillNo())) { + qw.like("billNo", query.getBillNo()); + } + if (StringUtils.isNotBlank(query.getContractNo())) { + qw.like("contractNo", query.getContractNo()); + } + if (StringUtils.isNotBlank(query.getCustomerName())) { + qw.like("customerName", query.getCustomerName()); + } + if (StringUtils.isNotBlank(query.getZcVinNo())) { + qw.like("zcVinNo", query.getZcVinNo()); + } + if (StringUtils.isNotBlank(query.getGcVinNo())) { + qw.like("gcVinNo", query.getGcVinNo()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public String saveOrUpdateDto(BaseTrailerOutApplyDto dto) { + String dtoSid = dto.getSid(); + if (StringUtils.isBlank(dtoSid)) { + dto.setNodeState("待提交"); + String sid = this.insertByDto(dto); + return sid; + } + this.updateByDto(dto); + return dtoSid; + } + + public String insertByDto(BaseTrailerOutApplyDto dto) { + BaseTrailerOutApply entity = new BaseTrailerOutApply(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + return entity.getSid(); + } + + public void updateByDto(BaseTrailerOutApplyDto dto) { + String dtoSid = dto.getSid(); + if (StringUtils.isBlank(dtoSid)) { + return; + } + BaseTrailerOutApply entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + + public BaseTrailerOutApplyDetailsVo fetchDetailsVoBySid(String sid) { + BaseTrailerOutApply entity = fetchBySid(sid); + BaseTrailer baseTrailer = baseTrailerService.fetchBySid(entity.getGcSid()); + BaseTrailerOutApplyDetailsVo vo = new BaseTrailerOutApplyDetailsVo(); + BeanUtil.copyProperties(entity, vo); + //销售订单sid + BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(vo.getContractNo()).getData(); + vo.setOrderSid(busSalesOrder.getSid()); + //合格证附件 + List appAppendixList = commonAppendixService.getAppAppendixList(baseTrailer.getSid(), "挂车合格证照片"); + List hgzFiles = new ArrayList<>(); + if (!appAppendixList.isEmpty()){ + for (CommonAppendixVo commonAppendixVo : appAppendixList) { + String filePath = commonAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + hgzFiles.add(filePath); + } + } + vo.setHgzFiles(hgzFiles); + return vo; + } + + public ResultBean init(BaseTrailerOutApplyInitQuery query) { + ResultBean rb = ResultBean.fireFail(); + //挂车信息 + BaseTrailer baseTrailer = baseTrailerService.fetchBySid(query.getSid()); + if (baseTrailer.getStockStateKey().equals("0002")) { + return rb.setMsg("该挂车已出库"); + } + String vehSid = baseTrailer.getVehSid(); + BaseVehicle baseVehicle = baseVehicleService.fetchBySid(vehSid); + String vehicleState = baseVehicle.getVehicleState(); + if (!vehicleState.equals("0002")) { + return rb.setMsg("此主车车辆库存状态不是出库,请重新选择"); + } + FinBillVehicleDetailsVo finBillVehicleDetailsVo = finBillVehicleFeign.fetchByVehSid(vehSid).getData(); + FinBillApplicationDetailsVo finBillApplicationDetailsVo = null; + if (finBillVehicleDetailsVo == null) { + return rb.setMsg("关联的主车开票申请未审批通过,不可出库"); + } else { + String billAppSid = finBillVehicleDetailsVo.getBillAppSid(); + finBillApplicationDetailsVo = finBillApplicationFeign.fetchDetailsBySid(billAppSid).getData(); + if (!finBillApplicationDetailsVo.getNodeState().equals("已办结")) { + return rb.setMsg("关联的主车开票申请未审批通过,不可出库"); + } + } + BaseTrailerOutApplyDetailsVo baseTrailerOutApplyDetailsVo = new BaseTrailerOutApplyDetailsVo(); + String userSid = query.getUserSid(); + String orgSidPath = query.getOrgSidPath(); + //分公司信息 + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgSidPath).getData(); + //发起部门信息 + SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.selectByOrgSidPath(orgSidPath).getData(); + baseTrailerOutApplyDetailsVo.setInitiateDeptSid(sysOrganizationVo.getSid()); + baseTrailerOutApplyDetailsVo.setInitiateDeptName(sysOrganizationVo.getName()); + //发起人信息 + SysUserVo sysUserVo = sysUserFeign.fetchBySid(userSid).getData(); + baseTrailerOutApplyDetailsVo.setCreateBySid(userSid); + baseTrailerOutApplyDetailsVo.setInitiatePeoName(sysUserVo.getName()); + //发起日期 + baseTrailerOutApplyDetailsVo.setCreateTime(DateUtil.formatDate(new Date())); + //合同编号 + baseTrailerOutApplyDetailsVo.setContractNo(finBillApplicationDetailsVo.getContractNo()); + //客户信息 + baseTrailerOutApplyDetailsVo.setCustomerSid(finBillApplicationDetailsVo.getCustomerSid()); + baseTrailerOutApplyDetailsVo.setCustomerName(finBillApplicationDetailsVo.getCustomerName()); + //销售类型 + baseTrailerOutApplyDetailsVo.setSaleTypeKey(finBillApplicationDetailsVo.getSaleTypeKey()); + baseTrailerOutApplyDetailsVo.setSaleTypeValue(finBillApplicationDetailsVo.getSaleTypeValue()); + //主车信息 + baseTrailerOutApplyDetailsVo.setZcSid(vehSid); + baseTrailerOutApplyDetailsVo.setZcVinNo(baseVehicle.getVinNo()); + //挂车信息 + baseTrailerOutApplyDetailsVo.setGcSid(query.getSid()); + baseTrailerOutApplyDetailsVo.setGcVinNo(baseTrailer.getVinNo()); + //业务状态 + baseTrailerOutApplyDetailsVo.setBusinessState(finBillApplicationDetailsVo.getBillStateValue()); + //开票单位 + baseTrailerOutApplyDetailsVo.setInvoiceTitle(finBillApplicationDetailsVo.getOpenTickUnitName()); + //开票类型 + baseTrailerOutApplyDetailsVo.setBillTypeKey(finBillApplicationDetailsVo.getOpenTickTypeKey()); + baseTrailerOutApplyDetailsVo.setBillTypeValue(finBillApplicationDetailsVo.getOpenTickTypeValue()); + //销售合同价 + baseTrailerOutApplyDetailsVo.setOneBillMoney(baseTrailer.getDealPrice().toString()); + //开票信息 + baseTrailerOutApplyDetailsVo.setOpenTickRemarks(finBillVehicleDetailsVo.getOpenTickRemarks()); + //分公司信息 + baseTrailerOutApplyDetailsVo.setUseOrgSid(useOrgSid); + baseTrailerOutApplyDetailsVo.setOrgSidPath(orgSidPath); + //单据编号 + String billNo = getApplyCode(baseVehicle.getPurchaseSystemSid()); + baseTrailerOutApplyDetailsVo.setBillNo(billNo); + //销售订单sid + BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(finBillApplicationDetailsVo.getContractNo()).getData(); + baseTrailerOutApplyDetailsVo.setOrderSid(busSalesOrder.getSid()); + //合格证附件 + List appAppendixList = commonAppendixService.getAppAppendixList(baseTrailer.getSid(), "挂车合格证照片"); + List hgzFiles = new ArrayList<>(); + if (!appAppendixList.isEmpty()){ + for (CommonAppendixVo commonAppendixVo : appAppendixList) { + String filePath = commonAppendixVo.getFilePath(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + filePath = urlPrefix + filePath; + hgzFiles.add(filePath); + } + } + baseTrailerOutApplyDetailsVo.setHgzFiles(hgzFiles); + return rb.success().setData(baseTrailerOutApplyDetailsVo); + } + + public String getApplyCode(String orgSid) { + //获取分公司sid + ResultBean resultBean1 = sysOrganizationFeign.fetchBySid(orgSid); + String orgCode = resultBean1.getData().getOrgCode(); + BillNo b = new BillNo(); + b.setOrgCode(orgCode); + b.setBillType(BillTypeEnum.GCCKSQ.getBillType()); + String bill = Rule.getBill(b); + int i = baseMapper.selectNum(bill); + String billNo = Rule.getBillNo(bill, i); + return billNo; + } + + public ResultBean delAllBySids(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + //查询该sid中是否有流程不是待提交的 + int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); + if (count > 0) { + return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败"); + } + delBySids(sids); + return rb.success().setMsg("删除成功"); + } + + public ResultBean submitFinBillApplication(SubmitBaseTrailerOutApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + BaseTrailerOutApply baseTrailerOutApply = fetchBySid(dto.getSid()); + int r = submitBusinessDataPc(dto, baseTrailerOutApply); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + //新增修改保存 + String businessSid = saveOrUpdateDto(dto); + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + //用户的部门全路径sid + bv.setOrgSidPath(dto.getOrgSidPath()); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(dto.getCreateBySid()); + bv.setModelId(ProcDefEnum.BASETRAILEROUTAPPLY.getProDefId()); + //======================================== + baseTrailerOutApply = fetchBySid(businessSid); + FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); + flowProcessMapQuery.setProDefKey(bv.getModelId()); + flowProcessMapQuery.setVariables(variables); + flowProcessMapQuery.setContractNo(baseTrailerOutApply.getContractNo()); + variables = flowableFeign.getMap(flowProcessMapQuery).getData(); + //======================================= + bv.setFormVariables(variables); + if (r == 1) { + ResultBean voResultBean = flowableFeign.startProcess(bv); + if (!voResultBean.getSuccess()) { + return rb.setMsg(voResultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = voResultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(ufVo)); + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("挂车出库申请"); + messageFlowableQuery.setMsgContent(baseTrailerOutApply.getInitiatePeoName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("挂车出库申请"); + messageFeign.pushMessage(messageFlowableQuery); + return voResultBean; + } + if (r == 2) { + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + bv.setTaskId(baseTrailerOutApply.getTaskId()); + bv.setTaskDefKey(baseTrailerOutApply.getNodeSid()); + bv.setComment("重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return null; + } + + private synchronized int submitBusinessDataPc(SubmitBaseTrailerOutApplyDto dto, BaseTrailerOutApply baseTrailerOutApply) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (baseTrailerOutApply != null) { + String businessTaskId = baseTrailerOutApply.getTaskId(); + if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { + //新提交 + r = 1; + } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { + //二次提交//只有数据一致的时候才能进行下一步 + r = 2; + } + } else { + r = 3; + } + + } + return r; + } + + /** + * 更新流程相关的状态 + * + * @param map + * @return + */ + private int updateFlowFiled(Map map) { + return baseMapper.updateFlowFiled(map); + } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = bv.getBusinessSid(); + BaseTrailerOutApply baseTrailerOutApply = fetchBySid(businessSid); + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); + flowProcessMapQuery.setProDefKey(baseTrailerOutApply.getProcDefId()); + flowProcessMapQuery.setVariables(variables); + flowProcessMapQuery.setContractNo(baseTrailerOutApply.getContractNo()); + variables = flowableFeign.getMap(flowProcessMapQuery).getData(); + //======================================= + bv.setFormVariables(variables); + bv.setOrgSidPath(baseTrailerOutApply.getOrgSidPath()); + if (bv.getTaskId().equals(baseTrailerOutApply.getTaskId())) { + ResultBean resultBean = flowableFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + } else { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + ufVo.setProcDefId(baseTrailerOutApply.getProcDefId()); + ufVo.setProcInsId(baseTrailerOutApply.getProcInstSid()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("挂车开票申请"); + messageFlowableQuery.setMsgContent(baseTrailerOutApply.getInitiatePeoName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("挂车开票申请"); + messageFeign.pushMessage(messageFlowableQuery); + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + public ResultBean> getPreviousNodesForReject(BaseTrailerOutApplyNodeQuery query) { + ResultBean rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //查询业务信息 + BaseTrailerOutApply baseTrailerOutApply = fetchBySid(query.getBusinessSid()); + bv.setModelId(ProcDefEnum.BASETRAILEROUTAPPLY.getProDefId()); + FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); + flowProcessMapQuery.setProDefKey(baseTrailerOutApply.getProcDefId()); + flowProcessMapQuery.setVariables(variables); + flowProcessMapQuery.setContractNo(baseTrailerOutApply.getContractNo()); + variables = flowableFeign.getMap(flowProcessMapQuery).getData(); + bv.setFormVariables(variables); + //======================================= + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BaseTrailerOutApplyNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean> getNextNodesForSubmit(BaseTrailerOutApplyNodeQuery query) { + ResultBean rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //查询业务信息 + BaseTrailerOutApply baseTrailerOutApply = fetchBySid(query.getBusinessSid()); + bv.setModelId(ProcDefEnum.BASETRAILEROUTAPPLY.getProDefId()); + FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); + flowProcessMapQuery.setProDefKey(baseTrailerOutApply.getProcDefId()); + flowProcessMapQuery.setVariables(variables); + flowProcessMapQuery.setContractNo(baseTrailerOutApply.getContractNo()); + variables = flowableFeign.getMap(flowProcessMapQuery).getData(); + bv.setFormVariables(variables); + //======================================= + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BaseTrailerOutApplyNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean taskReject(BaseTrailerOutApplyTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = query.getBusinessSid(); + BaseTrailerOutApply baseTrailerOutApply = fetchBySid(businessSid); + if (baseTrailerOutApply == null) { + return rb.setMsg("该申请不存在"); + } + String businessTaskId = baseTrailerOutApply.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); + flowProcessMapQuery.setProDefKey(baseTrailerOutApply.getProcDefId()); + flowProcessMapQuery.setVariables(variables); + flowProcessMapQuery.setContractNo(baseTrailerOutApply.getContractNo()); + variables = flowableFeign.getMap(flowProcessMapQuery).getData(); + //======================================= + flowTaskVo.setValues(variables); + ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + Map map = BeanUtil.beanToMap(ufVo); + //更新业务中的流程相关的参数 + updateFlowFiled(map); + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + String procId = baseTrailerOutApply.getProcInstSid(); + ufVo.setProcInsId(procId); + ufVo.setProcDefId(baseTrailerOutApply.getProcDefId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("挂车开票申请"); + ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); + if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(baseTrailerOutApply.getCreateBySid())) { + messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); + } else { + messageFlowableQuery.setMsgContent(baseTrailerOutApply.getInitiatePeoName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + messageFlowableQuery.setMsgTitle("挂车开票申请"); + messageFeign.pushMessage(messageFlowableQuery); + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean revokeProcess(BaseTrailerOutApplyTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + BaseTrailerOutApply baseTrailerOutApply = fetchBySid(query.getBusinessSid()); + String businessTaskId = baseTrailerOutApply.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败,提交的数据不一致!"); + } + + public ResultBean breakProcess(BaseTrailerOutApplyTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + BaseTrailerOutApply baseTrailerOutApply = fetchBySid(query.getBusinessSid()); + String businessTaskId = baseTrailerOutApply.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } +} \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java index 80a9fb0e95..17831e7a2d 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java @@ -1760,8 +1760,8 @@ public class BaseVehicleService extends MybatisBaseService wrapper.eq("bv.vehicleState", VehicleState.StockEnum.STOCK.getCode()).or().eq("bv.vehicleState", VehicleState.StockEnum.DC_STOCK.getCode()).or().eq("bv.vehicleState", VehicleState.StockEnum.NX_STOCK.getCode())); + //库存状态:库存或调出或内销或在途 + qw.and(wrapper -> wrapper.eq("bv.vehicleState", VehicleState.StockEnum.STOCK.getCode()).or().eq("bv.vehicleState", VehicleState.StockEnum.DC_STOCK.getCode()).or().eq("bv.vehicleState", VehicleState.StockEnum.NX_STOCK.getCode()).or().eq("bv.vehicleState", VehicleState.StockEnum.ING_STOCK.getCode())); //买断状态:未买断 qw.eq("bv.settlementStatus", VehicleState.BuyoutEnum.UN_BUYOUT.getCode()); //订单类型 diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusRecordsInvoiceHgzVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusRecordsInvoiceHgzVo.java index 39ee03a29a..821b0c6c45 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusRecordsInvoiceHgzVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusRecordsInvoiceHgzVo.java @@ -1,5 +1,6 @@ package com.yxt.anrui.buscenter.api.bustransferrecords; +import com.fasterxml.jackson.annotation.JsonFormat; import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -21,9 +22,9 @@ public class BusRecordsInvoiceHgzVo implements Vo { @ApiModelProperty("物品名称") private String invoiceTitle; @ApiModelProperty("移交数量") - private String invoiceType; + private String transferNum; @ApiModelProperty("物品单位") - private String invoicingName; + private String goodsUnit; @ApiModelProperty("移交部门") private String transferDept; @ApiModelProperty("移交人") @@ -39,7 +40,8 @@ public class BusRecordsInvoiceHgzVo implements Vo { @ApiModelProperty("接收人") private String receiveName; @ApiModelProperty("接收时间") - private String receiveTime; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date receiveTime; @ApiModelProperty("接收状态:0待接收,1已接收") private String receiveState; @ApiModelProperty("接收备注") diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsHgzVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsHgzVo.java index 2c1dcac5c7..71a35b1143 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsHgzVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsHgzVo.java @@ -1,10 +1,12 @@ package com.yxt.anrui.buscenter.api.bustransferrecords; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.Date; import java.util.List; /** @@ -26,7 +28,8 @@ public class BusTransferRecordsHgzVo implements Vo { @ApiModelProperty("接收人") private String receiveName; @ApiModelProperty("移交时间") - private String createTime; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date createTime; @ApiModelProperty("接收状态:0待接收,1已接收") private String receiveState; @ApiModelProperty("车架号") diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java index 76b7597c5d..02b9e16a11 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java @@ -46,6 +46,7 @@ public enum ProcDefEnum { CONTRACTAPPLY("合同审核", "process_gd8c9xd5:2:932504"), BASEDISPACKAGEAPPLY("优惠包申请流程", "process_ncifet6k:3:1412548"), BUSSALESORDERRETURNVEHAPPLY("销售订单退车申请", "process_tzjjs03y:1:1012504"), + BASETRAILEROUTAPPLY("挂车出库申请", "process_tkw6vhfw:1:1705004"), /******************************测试流程id*********************************************/ From 170c48da1a5001c81e77f2f1d77f7dcb2709e2a7 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Wed, 14 Jun 2023 14:56:44 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=8E=82=E5=AE=B6=E8=AE=A4=E6=AC=BE=E4=BD=9C?= =?UTF-8?q?=E5=BA=9F=E3=80=81=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95=E4=BD=9C?= =?UTF-8?q?=E5=BA=9F=E3=80=81=E4=BB=A5=E5=8F=8A=E5=85=A5=E5=BA=93=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E7=BB=88=E6=AD=A2=E4=BD=9C=E5=BA=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseManufactorSubscriptionFeign.java | 3 ++ ...seManufactorSubscriptionFeignFallback.java | 5 +++ .../api/busvehicleorder/BusVehicleOrder.java | 2 + .../busvehicleorder/BusVehicleOrderFeign.java | 5 +++ .../BusVehicleOrderFeignFallback.java | 5 +++ .../BaseManufactorSubscriptionRest.java | 5 +++ .../BaseManufactorSubscriptionService.java | 20 +++++++++- .../busvehicleorder/BusVehicleOrderRest.java | 5 +++ .../BusVehicleOrderService.java | 34 +++++++---------- .../bussalesorder/BusSalesOrderService.java | 25 +++++++++++++ .../scmapplyinbound/ScmApplyInboundFeign.java | 3 ++ .../ScmApplyInboundFeignFallback.java | 5 +++ .../scmapplyinbound/ScmApplyInboundRest.java | 10 ++++- .../ScmApplyInboundService.java | 37 ++++++++++++++----- 14 files changed, 130 insertions(+), 34 deletions(-) diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeign.java index 80eb561494..e76f8b8d30 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeign.java @@ -82,4 +82,7 @@ public interface BaseManufactorSubscriptionFeign { @PostMapping("/pictureUpload") public ResultBean pictureUpload(@RequestParam("sid") String sid, @RequestParam(value = "file") MultipartFile file); + @ApiOperation("作废") + @PostMapping("/cancel") + ResultBean cancel(@RequestParam("sid") String sid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeignFallback.java index 1a9aaa8cf2..2990f76696 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeignFallback.java @@ -93,4 +93,9 @@ public class BaseManufactorSubscriptionFeignFallback implements BaseManufactorSu public ResultBean pictureUpload(String sid, MultipartFile file) { return null; } + + @Override + public ResultBean cancel(String sid) { + return null; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrder.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrder.java index 0d063eada3..8715a3dab5 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrder.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrder.java @@ -122,4 +122,6 @@ public class BusVehicleOrder extends BaseEntity { @ApiModelProperty(value = "认款日期") private String subscriptionDate; + + private String lockingNum; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java index 388b237dd1..357c37020c 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java @@ -139,4 +139,9 @@ public interface BusVehicleOrderFeign { @ResponseBody ResultBean selectApplySz(@RequestParam("sid")String sid); + @ApiOperation("作废采购订单") + @PostMapping("/cancal") + @ResponseBody + ResultBean cancal(@RequestParam("sid")String sid); + } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java index 546b744ce1..aed6676aae 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java @@ -134,5 +134,10 @@ public class BusVehicleOrderFeignFallback implements BusVehicleOrderFeign { return null; } + @Override + public ResultBean cancal(String sid) { + return null; + } + } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionRest.java index 2bf6924633..d6a523c512 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionRest.java @@ -145,4 +145,9 @@ public class BaseManufactorSubscriptionRest implements BaseManufactorSubscriptio baseManufactorSubscriptionService.updateWitMatUrl(data.getFilePath(), sid); return rb.success().setMsg("上传成功"); } + + @Override + public ResultBean cancel(String sid) { + return baseManufactorSubscriptionService.cancel(sid); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java index adbebb308e..3bc4b01d00 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java @@ -43,7 +43,6 @@ import com.yxt.anrui.base.common.enums.ManPurOrderType; import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.base.common.utils.domain.BillNo; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; -import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; @@ -149,6 +148,9 @@ public class BaseManufactorSubscriptionService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); @@ -330,4 +333,19 @@ public class BaseManufactorSubscriptionService extends MybatisBaseService> sysStaffOrgListByStaffSid = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(staffSid); - List data = sysStaffOrgListByStaffSid.getData(); - String orgSidPath = ""; - for (SysStaffOrgVo datum : data) { - orgSidPath = datum.getOrgSidPath(); - String[] split = orgSidPath.split("/"); - for (String s : split) { - ResultBean sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(s); - SysOrganizationVo data1 = sysOrganizationVoResultBean.getData(); - Integer isDept = data1.getIsDept(); - String psid = data1.getPsid(); - if (isDept != null) { - if (isDept == 0 && !psid.equals(0)) { - orgSidPath = s; - break; - } - } - } - } - query.setUseOrgSid(orgSidPath);*/ QueryWrapper qw = createQueryWrapper(query); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); @@ -572,4 +551,17 @@ public class BusVehicleOrderService extends MybatisBaseService appReadyCarList) { + Boolean isCheck = false; + for (AppReadyCarListVo order : appReadyCarList) { + String orderId = order.getOrderId(); + //根据订单sid查询订单是否已作废 + ResultBean busVehicleOrderResultBean = busVehicleOrderFeign.fetchBySid(order.getSid()); + if(busVehicleOrderResultBean.getData() != null){ + BusVehicleOrderVo busVehicleOrderVo = busVehicleOrderResultBean.getData(); + if("已作废".equals(busVehicleOrderVo.getOrderStatus())){ + isCheck = true; + break; + } + } + } + return isCheck; + } + /** * 根据车型及配置跳转至的车型确认信息 * @@ -3162,6 +3183,10 @@ public class BusSalesOrderService extends MybatisBaseService resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + }else{ + scmApplyInbound.setNodeState("终止"); + scmApplyInbound.setTaskDefKey("Event_end"); + baseMapper.updateById(scmApplyInbound); + } + return rb.success(); + } } \ No newline at end of file