Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 2 years ago
parent
commit
e882078073
  1. 1
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busmaindeposit/BusMainDeposit.java
  2. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSalesOrderVo.java
  3. 14
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/OrderQuery.java
  4. 137
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  5. 7
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java
  6. 1
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml
  7. 75
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  8. 15
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  9. 7
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowableQuery.java
  10. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  11. 14
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  12. 38
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableRest.java
  13. 11
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/AppFlowableRecordVo.java
  14. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/BusOrderSalesVo.java
  15. 32
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppService.java

1
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busmaindeposit/BusMainDeposit.java

@ -90,4 +90,5 @@ public class BusMainDeposit extends BaseEntity {
@ApiModelProperty(value = "环节定义的ID")
private String taskDefKey;
private String orgSidPath;
}

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSalesOrderVo.java

@ -164,4 +164,6 @@ public class AppBusSalesOrderVo implements Vo {
@ApiModelProperty("审批结束时间")
private String endTime;
@ApiModelProperty("车架号显示")
private String vinNo;
}

14
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/OrderQuery.java

@ -3,7 +3,6 @@ package com.yxt.anrui.buscenter.api.bussalesorder.app.order;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
/**
* @Author dimengzhe
@ -23,4 +22,17 @@ public class OrderQuery implements Query {
private String menuUrl;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("订单状态")
private String nodeState;
@ApiModelProperty("车型")
private String modelName;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("发起人")
private String createByName;
@ApiModelProperty("发起部门")
private String createByDept;
@ApiModelProperty("销售类型")
private String saleTypeKey;
}

137
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java

@ -61,6 +61,7 @@ import com.yxt.anrui.buscenter.api.busdiscountpackagehandover.BusDiscountpackage
import com.yxt.anrui.buscenter.api.busdiscountpackagehandoverlist.BusDiscountpackageHandoverListDto;
import com.yxt.anrui.buscenter.api.bushandoverprepare.BusHandoverPrepareAddDto;
import com.yxt.anrui.buscenter.api.bushandoverpreparevehicle.AppBusHandoverPrepareVehicleDto;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscount;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.SubmitVo;
@ -103,6 +104,8 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
@ -195,6 +198,8 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
private BusVehicleInformationHandoverService busVehicleInformationHandoverService;
@Autowired
private BusHandoverPrepareService busHandoverPrepareService;
@Autowired
private LoanSolutionsFeign loanSolutionsFeign;
/**
* 构造出库申请的查询条件
@ -717,7 +722,27 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
appMap.put("contractId", busDeliveredApply.getContractNo());
appMap.put("contract_id", busDeliveredApply.getContractNo());
variables.put("app", appMap);
variables.put("isDanBao","2".equals(busDeliveredApply.getPaymentMethodKey()));
// variables.put("isDanBao","2".equals(busDeliveredApply.getPaymentMethodKey()));
//根据合同号查询销售订单
if(!"2".equals(busDeliveredApply.getPaymentMethodKey())){
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo());
if("2".equals(busSalesOrder.getFinancePlan())){
//查询是否是自营非担保
ResultBean<SolutionsDetailsVo> detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid());
if(detailsVoResultBean.getData() != null){
if("01".equals(detailsVoResultBean.getData().getTypeKey())){
//自营非担保
variables.put("isDanBao",true);
}else{
variables.put("isDanBao",false);
}
}
}else{
variables.put("isDanBao",false);
}
}else{
variables.put("isDanBao",true);
}
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
@ -1152,7 +1177,27 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
appMap.put("contractId", busDeliveredApply.getContractNo());
appMap.put("contract_id", busDeliveredApply.getContractNo());
variables.put("app", appMap);
variables.put("isDanBao","2".equals(busDeliveredApply.getPaymentMethodKey()));
// variables.put("isDanBao","2".equals(busDeliveredApply.getPaymentMethodKey()));
//根据合同号查询销售订单
if(!"2".equals(busDeliveredApply.getPaymentMethodKey())){
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo());
if("2".equals(busSalesOrder.getFinancePlan())){
//查询是否是自营非担保
ResultBean<SolutionsDetailsVo> detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid());
if(detailsVoResultBean.getData() != null){
if("01".equals(detailsVoResultBean.getData().getTypeKey())){
//自营非担保
variables.put("isDanBao",true);
}else{
variables.put("isDanBao",false);
}
}
}else{
variables.put("isDanBao",false);
}
}else{
variables.put("isDanBao",true);
}
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
@ -1190,7 +1235,27 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
appMap.put("contractId", busDeliveredApply.getContractNo());
appMap.put("contract_id", busDeliveredApply.getContractNo());
variables.put("app", appMap);
variables.put("isDanBao","2".equals(busDeliveredApply.getPaymentMethodKey()));
// variables.put("isDanBao","2".equals(busDeliveredApply.getPaymentMethodKey()));
//根据合同号查询销售订单
if(!"2".equals(busDeliveredApply.getPaymentMethodKey())){
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo());
if("2".equals(busSalesOrder.getFinancePlan())){
//查询是否是自营非担保
ResultBean<SolutionsDetailsVo> detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid());
if(detailsVoResultBean.getData() != null){
if("01".equals(detailsVoResultBean.getData().getTypeKey())){
//自营非担保
variables.put("isDanBao",true);
}else{
variables.put("isDanBao",false);
}
}
}else{
variables.put("isDanBao",false);
}
}else{
variables.put("isDanBao",true);
}
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
@ -1231,7 +1296,27 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
appMap.put("contractId", busDeliveredApply.getContractNo());
appMap.put("contract_id", busDeliveredApply.getContractNo());
variables.put("app", appMap);
variables.put("isDanBao","2".equals(busDeliveredApply.getPaymentMethodKey()));
// variables.put("isDanBao","2".equals(busDeliveredApply.getPaymentMethodKey()));
//根据合同号查询销售订单
if(!"2".equals(busDeliveredApply.getPaymentMethodKey())){
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo());
if("2".equals(busSalesOrder.getFinancePlan())){
//查询是否是自营非担保
ResultBean<SolutionsDetailsVo> detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid());
if(detailsVoResultBean.getData() != null){
if("01".equals(detailsVoResultBean.getData().getTypeKey())){
//自营非担保
variables.put("isDanBao",true);
}else{
variables.put("isDanBao",false);
}
}
}else{
variables.put("isDanBao",false);
}
}else{
variables.put("isDanBao",true);
}
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
@ -1312,7 +1397,27 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
appMap.put("contractId", busDeliveredApply.getContractNo());
appMap.put("contract_id", busDeliveredApply.getContractNo());
variables.put("app", appMap);
variables.put("isDanBao","2".equals(busDeliveredApply.getPaymentMethodKey()));
// variables.put("isDanBao","2".equals(busDeliveredApply.getPaymentMethodKey()));
//根据合同号查询销售订单
if(!"2".equals(busDeliveredApply.getPaymentMethodKey())){
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo());
if("2".equals(busSalesOrder.getFinancePlan())){
//查询是否是自营非担保
ResultBean<SolutionsDetailsVo> detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid());
if(detailsVoResultBean.getData() != null){
if("01".equals(detailsVoResultBean.getData().getTypeKey())){
//自营非担保
variables.put("isDanBao",true);
}else{
variables.put("isDanBao",false);
}
}
}else{
variables.put("isDanBao",false);
}
}else{
variables.put("isDanBao",true);
}
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
@ -1987,7 +2092,27 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
appMap.put("contractId", busDeliveredApply.getContractNo());
appMap.put("contract_id", busDeliveredApply.getContractNo());
variables.put("app", appMap);
variables.put("isDanBao","2".equals(busDeliveredApply.getPaymentMethodKey()));
//根据合同号查询销售订单
if(!"2".equals(busDeliveredApply.getPaymentMethodKey())){
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo());
if("2".equals(busSalesOrder.getFinancePlan())){
//查询是否是自营非担保
ResultBean<SolutionsDetailsVo> detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid());
if(detailsVoResultBean.getData() != null){
if("01".equals(detailsVoResultBean.getData().getTypeKey())){
//自营非担保
variables.put("isDanBao",true);
}else{
variables.put("isDanBao",false);
}
}
}else{
variables.put("isDanBao",false);
}
}else{
variables.put("isDanBao",true);
}
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(bv.getModelId());
flowProcessMapQuery.setVariables(variables);

7
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java

@ -775,6 +775,7 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
busMainDeposit.setCreateBySid(dto.getUserSid());
busMainDeposit.setDepositBillType("订金收取");
busMainDeposit.setDepositBillTypeKey("01");
busMainDeposit.setOrgSidPath(dto.getOrgPath());
busMainDeposit.setCreateDate(dateFormat.format(new Date()));
baseMapper.insert(busMainDeposit);
BusDeposit busDeposit = new BusDeposit();
@ -2116,16 +2117,12 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BusMainDeposit busMainDeposit = fetchBySid(bv.getBusinessSid());
/*
String userSid = bv.getUserSid();
SysOrganizationVo data = sysOrganizationFeign.getUseOrgByUserSid(userSid).getData();
bv.setOrgSidPath(data.getOrgSidPath());
*/
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("virtualOrderSid", bv.getBusinessSid());
variables.put("app", appMap);
bv.setFormVariables(variables);
bv.setOrgSidPath(busMainDeposit.getOrgSidPath());
if (bv.getTaskId().equals(busMainDeposit.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
log.info("流程返回:{}", JSONObject.toJSONString(resultBean));

1
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml

@ -68,6 +68,7 @@
FROM bus_sales_order bo
left join bus_sales_order_price bp on bp.salesOrderSid = bo.sid
left join bus_sales_order_deposit bd on bd.salesOrderSid = bo.sid
left join bus_sales_order_model bm on bm.salesOrderSid = bo.sid
<where>
${ew.sqlSegment}
<if test="name != null and name != ''">

75
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -4620,6 +4620,28 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
ResultBean<AppOrderDetailsVo> resultBean = getSaleOrderDetails(businessSid);
AppOrderDetailsVo vo = resultBean.getData();
if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getRemarks().equals(vo.getOrderType())) {
//更新已选择的车架号的状态为审批中
List<String> list = busSalesOrderVehicleService.selectVehicleSid(businessSid);
BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery();
busMainDepositUpdateQuery.setVinSidList(list);
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.CONDUCT_LOCK.getCode());
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.CONDUCT_LOCK.getRemarks());
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery);
}
if (BusSalesOrderConstantUtils.TypeEnum.PURCHASE_ORDER.getCode().equals(busSalesOrderOne.getType())) {
List<BusSalesVehicleOrderDetailsVo> list = busSalesVehicleOrderService.detailsList(busSalesOrderOne.getSid());
for (BusSalesVehicleOrderDetailsVo busSalesVehicleOrderDetailsVo : list) {
String linkSid = busSalesVehicleOrderDetailsVo.getLinkSid();
//查询该采购订单的已使用台数
int count = busSalesVehicleOrderService.selectByLinkSid1(linkSid);
count = count + busSalesVehicleOrderDetailsVo.getUsingNum();
//更新该采购订单的锁定台数
ResultBean resultBeanOrder = busVehicleOrderFeign.updateLockNum(linkSid, String.valueOf(count));
}
}
//如果创建人与部门主管一样,则自动到下一环节。
if(busSalesOrder.get().getCreateBySid().equals(nextNodeUserSids_)){
busSalesOrderOne = fetchBySid(businessSid);
@ -4635,7 +4657,6 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
bv.setOrgSidPath(busSalesOrderOne.getOrgSidPath());
bv.setComment("因与申请人相同,系统自动处理,需以下一级审批人审批意见为准!");
return complete(bv);
}
//极光推送
busSalesOrder.set(fetchBySid(businessSid));
@ -4649,28 +4670,6 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
messageFlowableQuery.setMsgContent(busSalesOrder.get().getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("销售订单");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
ResultBean<AppOrderDetailsVo> resultBean = getSaleOrderDetails(businessSid);
AppOrderDetailsVo vo = resultBean.getData();
if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getRemarks().equals(vo.getOrderType())) {
//更新已选择的车架号的状态为审批中
List<String> list = busSalesOrderVehicleService.selectVehicleSid(businessSid);
BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery();
busMainDepositUpdateQuery.setVinSidList(list);
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.CONDUCT_LOCK.getCode());
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.CONDUCT_LOCK.getRemarks());
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery);
}
if (BusSalesOrderConstantUtils.TypeEnum.PURCHASE_ORDER.getCode().equals(busSalesOrderOne.getType())) {
List<BusSalesVehicleOrderDetailsVo> list = busSalesVehicleOrderService.detailsList(busSalesOrderOne.getSid());
for (BusSalesVehicleOrderDetailsVo busSalesVehicleOrderDetailsVo : list) {
String linkSid = busSalesVehicleOrderDetailsVo.getLinkSid();
//查询该采购订单的已使用台数
int count = busSalesVehicleOrderService.selectByLinkSid1(linkSid);
count = count + busSalesVehicleOrderDetailsVo.getUsingNum();
//更新该采购订单的锁定台数
ResultBean resultBeanOrder = busVehicleOrderFeign.updateLockNum(linkSid, String.valueOf(count));
}
}
return voResultBean;
}
if (r == 2) {
@ -5724,12 +5723,36 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
return p;
}
//=======================
/* String orgSidPath = pagerQuery.getOrgPath();
orgSidPath = sysOrganizationFeign.selectByCJOrgPath(orgSidPath).getData();
qw.like("bo.orgSidPath", orgSidPath);*/
//节点状态
if(StringUtils.isNotBlank(pagerQuery.getNodeState())){
qw.like("bo.nodeState",pagerQuery.getNodeState());
}
//车型
if(StringUtils.isNotBlank(pagerQuery.getModelName())){
qw.like("bm.modelName",pagerQuery.getModelName());
}
//合同编号
if(StringUtils.isNotBlank(pagerQuery.getContractNo())){
qw.like("bo.contractNo",pagerQuery.getContractNo());
}
//发起人
if(StringUtils.isNotBlank(pagerQuery.getCreateByName())){
qw.like("bo.staffName",pagerQuery.getCreateByName());
}
//发起部门
if(StringUtils.isNotBlank(pagerQuery.getCreateByDept())){
qw.like("bo.orgName",pagerQuery.getCreateByDept());
}
//销售类型
if(StringUtils.isNotBlank(pagerQuery.getSaleTypeKey())){
qw.eq("bo.payTypeKey",pagerQuery.getSaleTypeKey());
}
String typeState = "getSaleOrdersByOrgPath";//查询接口的标识
IPage<AppBusSalesOrderVo> pagging = baseMapper.getSaleOrders(page, qw, pq.getParams().getName(), typeState);
for (AppBusSalesOrderVo record : pagging.getRecords()) {
List<String> vinList = busSalesOrderVehicleService.selectList(record.getSaleOrderSid());
record.setVinNo(String.join(",",vinList));
record.setShowStopBtn(false);
record.setShowContractBtn(false);
if (StringUtils.isNotBlank(record.getCustomerImage())) {

15
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -47,6 +47,7 @@ import com.yxt.anrui.buscenter.api.busdelivered.BusDeliveredFeign;
import com.yxt.anrui.buscenter.api.busdeposit.AppBusDepositBuscenterDetailVo;
import com.yxt.anrui.buscenter.api.busdeposit.BusDepositFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDepositInfoVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderModelInfoVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderPriceInfoVo;
@ -2207,6 +2208,20 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
AppOrderDetailsVo vo = orderDetails.getData();
if (vo != null) {
AppOrderPriceInfoVo priceInfoVo = vo.getPriceInfo();
AppOrderDepositInfoVo depositInfo = vo.getDepositInfo();
if(depositInfo != null){
if("02".equals(depositInfo.getDepositTypeKey())){//订金结转
BigDecimal decimalDeposit = BigDecimal.ZERO;
if(StringUtils.isNotBlank(depositInfo.getDepositTotal())){
decimalDeposit = new BigDecimal(depositInfo.getDepositTotal());
}
if(StringUtils.isNotBlank(depositInfo.getMakeUpDeposit())){
decimalDeposit = decimalDeposit.subtract(new BigDecimal(depositInfo.getMakeUpDeposit()));
}
decimalDeposit = decimalDeposit.divide(new BigDecimal(priceInfoVo.getNumber()), BigDecimal.ROUND_CEILING);
bigDecimalVinAll = bigDecimalVinAll.add(decimalDeposit);
}
}
//单台整体成交价
BigDecimal singleFinalPrice = new BigDecimal(priceInfoVo.getSingleFinalPrice());
BigDecimal leftAll = BigDecimal.ZERO;

7
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowableQuery.java

@ -1,5 +1,6 @@
package com.yxt.anrui.flowable.api.flowtask;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.HashMap;
@ -12,10 +13,10 @@ import java.util.Map;
**/
@Data
public class FlowableQuery {
@ApiModelProperty("列表中的procDefId")
private String modelId;
@ApiModelProperty("列表中的processVariables")
private Map<String,Object> map = new HashMap<>();
@ApiModelProperty("列表中的taskDefKey")
private String taskDefKey;
}

2
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -33,7 +33,7 @@ public enum ProcDefEnum {
BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:7:722512"),
BASEINTERNALPURCHASE("调车申请", "process_i6luw5xq:3:722516"),
BASEACCADJAPPLY("调账申请", "process_r6pyzqoz:4:1362508"),
BUSDELIVEREDAPPLY("出库申请", "process_wgt1n66l:9:1632516"),
BUSDELIVEREDAPPLY("出库申请", "process_wgt1n66l:10:1700004"),
BASESHUNINVOICAPPLY("调车开票申请", "process_u4xrvaso:1:400008"),
BASEVEHINSTALLMODPRICE("上装调价申请", "process_s0a0svth:1:492508"),
SCMVEHREBATEWITHAPPLY("单车返利预提申请", "process_qegarc7r:1:535004"),

14
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -304,8 +304,9 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
List<HistoricActivityInstance> list = historyService
.createHistoricActivityInstanceQuery()
.processInstanceId(procInsId)
.orderByHistoricActivityInstanceStartTime()
.desc().list();
// .orderByHistoricActivityInstanceStartTime()
// .desc().list();
.list();
Map<String,String> processInstance=processService.getProcessInstanceById(procInsId);
List<FlowTask> hisFlowList = new ArrayList<>();
for (HistoricActivityInstance histIns : list) {
@ -314,6 +315,11 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
flowTask.setTaskId(histIns.getTaskId());
flowTask.setTaskName(histIns.getActivityName());
flowTask.setTaskDefKey(histIns.getActivityId());
flowTask.setProcDefId(histIns.getProcessDefinitionId());
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery()
.includeProcessVariables().taskId(histIns.getTaskId()).singleResult();
Map<String, Object> processVariables = historicTaskInstance.getProcessVariables();
flowTask.setProcVars(processVariables);
Date startTime = histIns.getStartTime();
flowTask.setCreateTime(startTime);
Date endTime = histIns.getEndTime();
@ -323,9 +329,6 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
//processInstance.get("END_TIME_") timestap类型不能转string
String end_time_ = processInstance.get("END_TIME_") == null ? "" : "end";
flowTask.setProcessEndTime(end_time_);
/*
flowTask.setCreateTime(histIns.getStartTime());
flowTask.setFinishTime(histIns.getEndTime());*/
if (StringUtils.isNotBlank(histIns.getAssignee())) {
ResultBean<List<SysUserVo>> sysUserVoResultBean = sysUserFeign.fetchBySids(histIns.getAssignee());// sysUserService.selectUserById(Long.parseLong(histIns.getAssignee()));
List<SysUserVo> data1 = sysUserVoResultBean.getData();
@ -2108,6 +2111,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}else{
if(flowableQuery.getTaskDefKey().equals(item.getId())){
taskKeyTrue = true;
continue;
}
if(taskKeyTrue){
log.info("flowElement:{}", item);

38
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableRest.java

@ -29,6 +29,8 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowableQuery;
import com.yxt.anrui.flowable.api.processcomment.ProcessCommentFeign;
import com.yxt.anrui.portal.api.flow.*;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoQuery;
@ -46,6 +48,7 @@ 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 org.apache.commons.collections4.comparators.NullComparator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
@ -84,6 +87,10 @@ public class FlowableRest implements FlowableFeign {
private SysUrlConfigService sysUrlConfigService;
@Value("${config.url.prefix}")
private String urlPrefix;
private static final NullComparator<Date> nullComparator = new NullComparator<>();
@Autowired
private FlowTaskFeign flowTaskFeign;
/*
@Override
@ -159,7 +166,6 @@ public class FlowableRest implements FlowableFeign {
public ResultBean<List<PCHistTaskListAndCommentList>> flowRecordAndComment(String procInsId, String deployId) {
ResultBean<com.yxt.anrui.flowable.api.flowtask.FlowRecordVo> flowRecordVoResultBean = flowableService.flowRecord(procInsId, deployId);
com.yxt.anrui.flowable.api.flowtask.FlowRecordVo flowRecordVo = flowRecordVoResultBean.getData();
// private List<com.yxt.anrui.flowable.api.flowtask.FlowTask> flowList = new ArrayList<>();
List<PCHistTaskListAndCommentList> flowList = new ArrayList<>();
//流转记录
List<com.yxt.anrui.flowable.api.flowtask.FlowTask> flowList1 = flowRecordVo.getFlowList();
@ -184,8 +190,34 @@ public class FlowableRest implements FlowableFeign {
a.setState(1+"");
flowList.add(a);
});
flowList.sort((t1, t2) -> t2.getTime().compareTo(t1.getTime()));
//flowRecordVo.setFlowList(flowList);
if(flowList1.size()>0){
com.yxt.anrui.flowable.api.flowtask.FlowTask appFlowableRecordVo = flowList1.get(flowList1.size()-1);
if(!"Event_end".equals(appFlowableRecordVo.getTaskDefKey())){
String proDefId = appFlowableRecordVo.getProcDefId();
Map<String,Object> map = (Map<String, Object>) appFlowableRecordVo.getProcVars();
FlowableQuery flowableQuery = new FlowableQuery();
flowableQuery.setModelId(proDefId);
flowableQuery.setTaskDefKey(appFlowableRecordVo.getTaskDefKey());
flowableQuery.setMap(map);
ResultBean<List<Map<String,Object>>> resultBean = flowTaskFeign.yuyanTest(flowableQuery);
if(!resultBean.getData().isEmpty()){
List<Map<String,Object>> mapList = resultBean.getData();
mapList.forEach(f->{
PCHistTaskListAndCommentList a = new PCHistTaskListAndCommentList();
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(f);
stringObjectMap.put("taskName",f.get("nodeName").toString());
stringObjectMap.put("finishTime",null);
stringObjectMap.put("createTime","");
stringObjectMap.put("taskUserInfos",new ArrayList<>());
a.setFlowableRecordVo(stringObjectMap);
a.setState(3 + "");
flowList.add(a);
});
}
}
}
flowList.sort(Comparator.nullsLast(Comparator.comparing(PCHistTaskListAndCommentList::getTime,nullComparator)));
// flowList.sort((t1, t2) -> t2.getTime().compareTo(t1.getTime()));
ResultBean<List<PCHistTaskListAndCommentList>> resultBean = new ResultBean<List<PCHistTaskListAndCommentList>>().success();
resultBean.setData(flowList);
return resultBean;

11
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/AppFlowableRecordVo.java

@ -9,6 +9,7 @@ import lombok.Data;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @Author dimengzhe
@ -53,4 +54,14 @@ public class AppFlowableRecordVo implements Vo {
@JsonIgnore
private AppFlowCommentVo comment;
@ApiModelProperty("任务编号")
private String taskId;
@ApiModelProperty("任务Key")
private String taskDefKey;
@ApiModelProperty("流程ID")
private String procDefId;
private Map<String,Object> procVars;
}

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/BusOrderSalesVo.java

@ -114,4 +114,6 @@ public class BusOrderSalesVo implements Vo {
private String contractId;
@ApiModelProperty("销售专员")
private String saler;
@ApiModelProperty("车架号的展示")
private String vinNo;
}

32
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppService.java

@ -7,12 +7,14 @@ import com.yxt.anrui.flowable.api.flow.FlowableShareQuery;
import com.yxt.anrui.flowable.api.flowcomment.FlowComment;
import com.yxt.anrui.flowable.api.flowtask.FlowRecordVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowableQuery;
import com.yxt.anrui.flowable.api.processcomment.ProcessCommentDto;
import com.yxt.anrui.flowable.api.processcomment.ProcessCommentFeign;
import com.yxt.anrui.terminal.api.app.ShareMessageQuery;
import com.yxt.anrui.terminal.api.app.flowable.*;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean;
import org.apache.commons.collections4.comparators.NullComparator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -34,12 +36,12 @@ public class AppService {
private ProcessCommentFeign processCommentFeign;
@Autowired
private FlowableFeign flowableFeign;
private static final NullComparator<Date> nullComparator = new NullComparator<>();
public ResultBean<List<AppFlowableRecordVo>> getProgressList(AppFlowableRecordQuery appFlowableRecordQuery) {
ResultBean<List<AppFlowableRecordVo>> rb = ResultBean.fireFail();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String procInsId = appFlowableRecordQuery.getProgressId();
// String deployId = appFlowableRecordQuery.getDeployId();
ResultBean<FlowRecordVo> resultBean = flowTaskFeign.businessFlowRecord(procInsId);
List<AppFlowableRecordVo> voList = Optional.ofNullable(resultBean.getData().getFlowList()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), AppFlowableRecordVo.class)).collect(Collectors.toList());
voList.removeAll(Collections.singleton(null));
@ -82,8 +84,6 @@ public class AppService {
progressList.forEach(f -> {
AppFlowableRecordAndCommentVo a = new AppFlowableRecordAndCommentVo();
a.setTime(f.getFinishTime() == null ? new Date() : f.getFinishTime());
// a.setTime(f.getCreateTime());
a.setFlowableRecordVo(f);
a.setState(0 + "");
list.add(a);
@ -98,7 +98,31 @@ public class AppService {
a.setState(1 + "");
list.add(a);
});
list.sort((t1, t2) -> t2.getTime().compareTo(t1.getTime()));
// list.sort((t1, t2) -> t2.getTime().compareTo(t1.getTime()));
if(progressList.size()>0){
AppFlowableRecordVo appFlowableRecordVo = progressList.get(progressList.size()-1);
if(!"Event_end".equals(appFlowableRecordVo.getTaskDefKey())){
String proDefId = appFlowableRecordVo.getProcDefId();
Map<String,Object> map = appFlowableRecordVo.getProcVars();
FlowableQuery flowableQuery = new FlowableQuery();
flowableQuery.setModelId(proDefId);
flowableQuery.setTaskDefKey(appFlowableRecordVo.getTaskDefKey());
flowableQuery.setMap(map);
ResultBean<List<Map<String,Object>>> resultBean = flowTaskFeign.yuyanTest(flowableQuery);
if(!resultBean.getData().isEmpty()){
List<Map<String,Object>> mapList = resultBean.getData();
mapList.forEach(f->{
AppFlowableRecordAndCommentVo a = new AppFlowableRecordAndCommentVo();
AppFlowableRecordVo app = new AppFlowableRecordVo();
app.setTaskName(f.get("nodeName").toString());
a.setFlowableRecordVo(app);
a.setState(3 + "");
list.add(a);
});
}
}
}
list.sort(Comparator.nullsLast(Comparator.comparing(AppFlowableRecordAndCommentVo::getTime,nullComparator)));
return rb.success().setData(list);
}

Loading…
Cancel
Save