Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
fanzongzhe 2 years ago
parent
commit
f6ea21e25d
  1. 1
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AppDeliveredDetailsQuery.java
  2. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AppDeliveredDetailsVo.java
  3. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredQuery.java
  4. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredVo.java
  5. 69
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredService.java
  6. 7
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml
  7. 130
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  8. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivereddetailsdiscount/BusDeliveredDetailsDiscountMapper.java
  9. 12
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivereddetailsdiscount/BusDeliveredDetailsDiscountMapper.xml
  10. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivereddetailsdiscount/BusDeliveredDetailsDiscountService.java
  11. 11
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  12. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationIInfoVo.java
  13. 46
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  14. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  15. 5
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java
  16. 2
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.xml
  17. 217
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  18. 4
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowTaskAllQuery.java
  19. 10
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableRest.java
  20. 18
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java
  21. 32
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java
  22. 14
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java
  23. 32
      anrui-system-ui/src/views/flow/doneList.vue
  24. 8
      anrui-system-ui/src/views/flow/todoList.vue
  25. 133
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoDto.java
  26. 137
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java
  27. 6
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/FinBillTrailerVo.java
  28. 27
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/VinListDto.java
  29. 26
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/VinListVo.java
  30. 12
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredDetailsVo.java
  31. 38
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java
  32. 88
      工作内容需要的文档/单据模板/销售订单审批下载模板/xsddsp.ftl

1
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AppDeliveredDetailsQuery.java

@ -4,6 +4,7 @@ import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AppDeliveredDetailsVo.java

@ -73,7 +73,8 @@ public class AppDeliveredDetailsVo implements Vo {
@ApiModelProperty(value = "任务id") @ApiModelProperty(value = "任务id")
private String taskId; private String taskId;
@ApiModelProperty("销售专员sid")
private String pcStaffSid;
@ApiModelProperty("PC发起人") @ApiModelProperty("PC发起人")
private String pcApplyName; private String pcApplyName;
@ApiModelProperty("PC发起人sid") @ApiModelProperty("PC发起人sid")

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredQuery.java

@ -32,6 +32,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -61,7 +62,7 @@ public class BusDeliveredQuery implements Query {
private String vinNo; private String vinNo;
@ApiModelProperty("用户sid") @ApiModelProperty("用户sid")
private String userSid; private String userSid;
@ApiModelProperty("车架号集合") @ApiModelProperty("车辆sid集合")
private List<String> vinNoList; private List<String> vinSid = new ArrayList<>();
} }

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredVo.java

@ -66,6 +66,8 @@ public class BusDeliveredVo implements Vo {
private String busVinSid; private String busVinSid;
@ApiModelProperty("车辆sid") @ApiModelProperty("车辆sid")
private String vinSid; private String vinSid;
@ApiModelProperty("销售类型")
private String paymentMethod;
/* @ApiModelProperty(value = "联系电话") /* @ApiModelProperty(value = "联系电话")
private String mobile; private String mobile;
@ApiModelProperty(value = "证件号码") @ApiModelProperty(value = "证件号码")

69
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredService.java

@ -122,38 +122,6 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
@Autowired @Autowired
private BusDeliveredUseMessageService busDeliveredUseMessageService; private BusDeliveredUseMessageService busDeliveredUseMessageService;
/**
* 构造出库车辆分页列表查询条件
*
* @param query 查询条件
* @return
*/
private QueryWrapper<BusDelivered> createQueryWrapper(BusDeliveredQuery query) {
QueryWrapper<BusDelivered> qw = new QueryWrapper<>();
if (query != null) {
//合同编号
if (StringUtils.isNotBlank(query.getContractNo())) {
qw.like("bd.contractNo", query.getContractNo());
}
//客户名称
if (StringUtils.isNotBlank(query.getName())) {
qw.like("bd.name", query.getName());
}
//车架号
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("bd.vinNo", query.getVinNo());
}
//车架号集合
if (query.getVinNoList().size() > 0) {
qw.notIn("bd.vinNo", query.getVinNoList());
}
//待出库:1,出库申请:0
qw.eq("bd.state", 1);
}
return qw;
}
/** /**
* 待出库车辆分页列表 * 待出库车辆分页列表
* *
@ -177,8 +145,8 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
qw.like("bv.linkNo", query.getVinNo()); qw.like("bv.linkNo", query.getVinNo());
} }
//车架号集合 //车架号集合
if (query.getVinNoList().size() > 0) { if (query.getVinSid().size() > 0) {
qw.notIn("bv.linkNo", query.getVinNoList()); qw.notIn("bv.linkSid", query.getVinSid());
} }
//待出库:1,出库申请:0 //待出库:1,出库申请:0
qw.eq("bd.state", 1); qw.eq("bd.state", 1);
@ -262,6 +230,7 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
if (StringUtils.isBlank(query.getOutboundSid())) { if (StringUtils.isBlank(query.getOutboundSid())) {
appDeliveredDetailsVo.setOrgPath(query.getOrgPath()); appDeliveredDetailsVo.setOrgPath(query.getOrgPath());
List<String> list = query.getList(); List<String> list = query.getList();
list.removeAll(Collections.singleton(null));
if (list.isEmpty()) { if (list.isEmpty()) {
return rb.setMsg("请选择要出库的车辆"); return rb.setMsg("请选择要出库的车辆");
} }
@ -299,6 +268,7 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
appDeliveredDetailsVo.setPcApplyName(userVoResultBean.getData().getName()); appDeliveredDetailsVo.setPcApplyName(userVoResultBean.getData().getName());
appDeliveredDetailsVo.setPcApplyDept(deptName); appDeliveredDetailsVo.setPcApplyDept(deptName);
appDeliveredDetailsVo.setPcApplyDeptSid(deptSid); appDeliveredDetailsVo.setPcApplyDeptSid(deptSid);
appDeliveredDetailsVo.setPcStaffSid(userVoResultBean.getData().getStaffSid());
//=================== //===================
deptName = deptName + "-" + userVoResultBean.getData().getName(); deptName = deptName + "-" + userVoResultBean.getData().getName();
@ -387,6 +357,9 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
ResultBean<List<DictCommonVo>> listResultBean = dictCommonFeign.getTypeValues("buyerType", "0"); ResultBean<List<DictCommonVo>> listResultBean = dictCommonFeign.getTypeValues("buyerType", "0");
List<DictCommonVo> dictCommonVoList = listResultBean.getData(); List<DictCommonVo> dictCommonVoList = listResultBean.getData();
List<DeliveredDictVo> voList = Optional.ofNullable(dictCommonVoList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), DeliveredDictVo.class)).collect(Collectors.toList()); List<DeliveredDictVo> voList = Optional.ofNullable(dictCommonVoList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), DeliveredDictVo.class)).collect(Collectors.toList());
if("1".equals(appOrderDetailsVo.getPayTypeKey())){//贷款
voList.remove(1);
}
appDeliveredDetailsVo.setBuyerType(voList); appDeliveredDetailsVo.setBuyerType(voList);
//中介人 //中介人
SubmitVo intermediary1 = appOrderDetailsVo.getIntermediary1(); SubmitVo intermediary1 = appOrderDetailsVo.getIntermediary1();
@ -421,18 +394,35 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
if (busDeliveredApply == null) { if (busDeliveredApply == null) {
return rb.setMsg("该出库申请不存在"); return rb.setMsg("该出库申请不存在");
} }
BeanUtil.copyProperties(busDeliveredApply, appDeliveredDetailsVo, "sid");
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(busDeliveredApply.getStaffUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//pc发起人
appDeliveredDetailsVo.setPcApplyName(busDeliveredApply.getApplyName());
appDeliveredDetailsVo.setPcApplySid(busDeliveredApply.getApplySid());
appDeliveredDetailsVo.setPcApplyDept(busDeliveredApply.getApplyDept());
appDeliveredDetailsVo.setPcApplyDeptSid(busDeliveredApply.getApplyDeptSid());
appDeliveredDetailsVo.setPcStaffSid(userVoResultBean.getData().getStaffSid());
appDeliveredDetailsVo.setUserSid(busDeliveredApply.getApplySid()); appDeliveredDetailsVo.setUserSid(busDeliveredApply.getApplySid());
appDeliveredDetailsVo.setOrgPath(busDeliveredApply.getOrgSidPath()); appDeliveredDetailsVo.setOrgPath(busDeliveredApply.getOrgSidPath());
appDeliveredDetailsVo.setSid(query.getOutboundSid()); appDeliveredDetailsVo.setSid(query.getOutboundSid());
BeanUtil.copyProperties(busDeliveredApply, appDeliveredDetailsVo, "sid");
appDeliveredDetailsVo.setContractId(busDeliveredApply.getContractNo()); appDeliveredDetailsVo.setContractId(busDeliveredApply.getContractNo());
appDeliveredDetailsVo.setPublishInfo(busDeliveredApply.getApplyDept() + "-" + busDeliveredApply.getApplyName()); appDeliveredDetailsVo.setPublishInfo(busDeliveredApply.getApplyDept() + "-" + busDeliveredApply.getApplyName());
appDeliveredDetailsVo.setCreateTime(DateUtil.format(busDeliveredApply.getCreateTime(), "yyyy-MM-dd")); appDeliveredDetailsVo.setCreateTime(DateUtil.format(busDeliveredApply.getCreateTime(), "yyyy-MM-dd"));
if (StringUtils.isNotBlank(busDeliveredApply.getDistributorPrice())) { if (StringUtils.isNotBlank(busDeliveredApply.getDistributorPrice())) {
appDeliveredDetailsVo.setDistributorName(busDeliveredApply.getDistributorName() + ",单车中介费:" + busDeliveredApply.getDistributorPrice() + "元"); appDeliveredDetailsVo.setDistributorName(busDeliveredApply.getDistributorName() + ",单车中介费:" + busDeliveredApply.getDistributorPrice() + "元");
appDeliveredDetailsVo.setPcDistributorName(busDeliveredApply.getDistributorName());
appDeliveredDetailsVo.setPcDistributorPrice(busDeliveredApply.getDistributorPrice());
appDeliveredDetailsVo.setPcDistributorPriceAll(new BigDecimal(busDeliveredApply.getDistributorPrice()).multiply(new BigDecimal(query.getList().size())).toString());
} }
if (StringUtils.isNotBlank(busDeliveredApply.getDistributorPriceTwo())) { if (StringUtils.isNotBlank(busDeliveredApply.getDistributorPriceTwo())) {
appDeliveredDetailsVo.setDistributorNameTwo(busDeliveredApply.getDistributorNameTwo() + ",单车中介费:" + busDeliveredApply.getDistributorPriceTwo() + "元"); appDeliveredDetailsVo.setDistributorNameTwo(busDeliveredApply.getDistributorNameTwo() + ",单车中介费:" + busDeliveredApply.getDistributorPriceTwo() + "元");
appDeliveredDetailsVo.setDistributorNameTwo(busDeliveredApply.getDistributorNameTwo());
appDeliveredDetailsVo.setPcDistributorPriceTwo(busDeliveredApply.getDistributorPriceTwo());
appDeliveredDetailsVo.setPcDistributorPriceTwoAll(new BigDecimal(busDeliveredApply.getDistributorPriceTwo()).multiply(new BigDecimal(query.getList().size())).toString());
} }
List<AppCarListVo> carList = new ArrayList<>(); List<AppCarListVo> carList = new ArrayList<>();
List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(query.getOutboundSid()); List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(query.getOutboundSid());
@ -465,10 +455,8 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
appCarListVo.setDiscountUse(discountUse); appCarListVo.setDiscountUse(discountUse);
//使用人信息 //使用人信息
BusDeliveredUseMessagesVo realBuyer = new BusDeliveredUseMessagesVo(); BusDeliveredUseMessagesVo realBuyer = new BusDeliveredUseMessagesVo();
if ("0".equals(busDeliveredApply.getTypeKey()) || "1".equals(busDeliveredApply.getTypeKey())) { BusDeliveredUseMessage busDeliveredUseMessage = busDeliveredUseMessageService.fetchBySid(busDeliveredApplyDetails.getUseMessageSid());
BusDeliveredUseMessage busDeliveredUseMessage = busDeliveredUseMessageService.fetchBySid(busDeliveredApplyDetails.getUseMessageSid()); BeanUtil.copyProperties(busDeliveredUseMessage, realBuyer);
BeanUtil.copyProperties(busDeliveredUseMessage, realBuyer);
}
realBuyer.setVin(busDeliveredApplyDetails.getVinNo()); realBuyer.setVin(busDeliveredApplyDetails.getVinNo());
appCarListVo.setRealBuyer(realBuyer); appCarListVo.setRealBuyer(realBuyer);
carList.add(appCarListVo); carList.add(appCarListVo);
@ -496,6 +484,9 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
ResultBean<List<DictCommonVo>> listResultBean = dictCommonFeign.getTypeValues("buyerType", "0"); ResultBean<List<DictCommonVo>> listResultBean = dictCommonFeign.getTypeValues("buyerType", "0");
List<DictCommonVo> dictCommonVoList = listResultBean.getData(); List<DictCommonVo> dictCommonVoList = listResultBean.getData();
List<DeliveredDictVo> voList = Optional.ofNullable(dictCommonVoList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), DeliveredDictVo.class)).collect(Collectors.toList()); List<DeliveredDictVo> voList = Optional.ofNullable(dictCommonVoList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), DeliveredDictVo.class)).collect(Collectors.toList());
if("1".equals(busDeliveredApply.getPaymentMethodKey())){//全款
voList.remove(1);
}
appDeliveredDetailsVo.setBuyerType(voList); appDeliveredDetailsVo.setBuyerType(voList);

7
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml

@ -11,9 +11,12 @@
bd.taskId, bd.taskId,
bd.procInstId, bd.procInstId,
bd.procDefId, bd.procDefId,
DATE_FORMAT(bd.applyDate, '%Y-%m-%d') as applyDate, DATE_FORMAT(bd.createTime, '%Y-%m-%d') as applyDate,
bd.applyName, bd.applyName,
bd.modelName bd.modelName,
bd.billNo,
bd.paymentMethod,
(select count(*) from bus_delivered_apply_details bad where bad.applySid = bd.sid) as num
FROM bus_delivered_apply bd FROM bus_delivered_apply bd
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}

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

@ -50,13 +50,20 @@ import com.yxt.anrui.buscenter.api.busdelivereddetailsdiscount.BusDeliveredDetai
import com.yxt.anrui.buscenter.api.busdeliveredusemessage.BusDeliveredUseMessage; import com.yxt.anrui.buscenter.api.busdeliveredusemessage.BusDeliveredUseMessage;
import com.yxt.anrui.buscenter.api.busdeliveredusemessage.BusDeliveredUseMessageVo; import com.yxt.anrui.buscenter.api.busdeliveredusemessage.BusDeliveredUseMessageVo;
import com.yxt.anrui.buscenter.api.busdeliveredusemessage.BusDeliveredUseMessagesVo; import com.yxt.anrui.buscenter.api.busdeliveredusemessage.BusDeliveredUseMessagesVo;
import com.yxt.anrui.buscenter.api.busdiscountpackagehandover.BusDiscountpackageHandoverDto;
import com.yxt.anrui.buscenter.api.busdiscountpackagehandoverlist.BusDiscountpackageHandoverListDto;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; 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; import com.yxt.anrui.buscenter.api.bussalesordersubmit.SubmitVo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.biz.busdelivered.BusDeliveredService; import com.yxt.anrui.buscenter.biz.busdelivered.BusDeliveredService;
import com.yxt.anrui.buscenter.biz.busdeliveredapplydetails.BusDeliveredApplyDetailsService; import com.yxt.anrui.buscenter.biz.busdeliveredapplydetails.BusDeliveredApplyDetailsService;
import com.yxt.anrui.buscenter.biz.busdelivereddetailsdiscount.BusDeliveredDetailsDiscountService; import com.yxt.anrui.buscenter.biz.busdelivereddetailsdiscount.BusDeliveredDetailsDiscountService;
import com.yxt.anrui.buscenter.biz.busdeliveredusemessage.BusDeliveredUseMessageService; import com.yxt.anrui.buscenter.biz.busdeliveredusemessage.BusDeliveredUseMessageService;
import com.yxt.anrui.buscenter.biz.busdiscountpackagehandover.BusDiscountpackageHandoverService;
import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService;
import com.yxt.anrui.buscenter.biz.bussalesorderdiscount.BusSalesOrderDiscountService;
import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDto; import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDto;
@ -148,6 +155,12 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
private BaseVehicleCertificateFeign baseVehicleCertificateFeign; private BaseVehicleCertificateFeign baseVehicleCertificateFeign;
@Autowired @Autowired
private FinBillApplicationFeign finBillApplicationFeign; private FinBillApplicationFeign finBillApplicationFeign;
@Autowired
private BusSalesOrderDiscountService busSalesOrderDiscountService;
@Autowired
private BusSalesOrderVehicleService busSalesOrderVehicleService;
@Autowired
private BusDiscountpackageHandoverService busDiscountpackageHandoverService;
/** /**
* 构造出库申请的查询条件 * 构造出库申请的查询条件
@ -167,7 +180,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
qw.eq("bd.name", query.getName()); qw.eq("bd.name", query.getName());
} }
if (StringUtils.isNotBlank(query.getApplyDateStart()) && StringUtils.isNotBlank(query.getApplyDateEnd())) { if (StringUtils.isNotBlank(query.getApplyDateStart()) && StringUtils.isNotBlank(query.getApplyDateEnd())) {
qw.between("bd.applyDate", query.getApplyDateStart(), query.getApplyDateEnd()); qw.between("bd.createTime", query.getApplyDateStart(), query.getApplyDateEnd());
} }
if (StringUtils.isNotBlank(query.getApplyName())) { if (StringUtils.isNotBlank(query.getApplyName())) {
qw.like("bd.applyName", query.getApplyName()); qw.like("bd.applyName", query.getApplyName());
@ -593,7 +606,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
} }
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
baseMapper.updateStateBySid(3, bv.getBusinessSid()); baseMapper.updateStateBySid(3, bv.getBusinessSid());
//推送开票申请 //推送开票申请=======
List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(busDeliveredApply.getSid()); List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(busDeliveredApply.getSid());
FinBillApplicationDto finBillApplicationDto = new FinBillApplicationDto(); FinBillApplicationDto finBillApplicationDto = new FinBillApplicationDto();
finBillApplicationDto.setUseOrgSid(busDeliveredApply.getUseOrgSid()); finBillApplicationDto.setUseOrgSid(busDeliveredApply.getUseOrgSid());
@ -642,13 +655,58 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
if (baseVehicleCertificate == null) { if (baseVehicleCertificate == null) {
finBillVehicleDto.setCertificateStateKey(baseVehicleCertificate.getCertificateState()); finBillVehicleDto.setCertificateStateKey(baseVehicleCertificate.getCertificateState());
finBillVehicleDto.setCertificateStateValue(baseVehicleCertificate.getCertificateSituationValue()); finBillVehicleDto.setCertificateStateValue(baseVehicleCertificate.getCertificateSituationValue());
} }
finBillVehicles.add(finBillVehicleDto); finBillVehicles.add(finBillVehicleDto);
} }
finBillApplicationDto.setFinBillVehicles(finBillVehicles); finBillApplicationDto.setFinBillVehicles(finBillVehicles);
finBillApplicationDto.setArrearsMoney("0"); finBillApplicationDto.setArrearsMoney("0");
ResultBean finBillResult = finBillApplicationFeign.save(finBillApplicationDto); ResultBean finBillResult = finBillApplicationFeign.save(finBillApplicationDto);
//====================推送开票结束
//推送优惠包待准备开始
//查询该是否有优惠包信息
List<BusDeliveredDetailsDiscount> discountList = busDeliveredDetailsDiscountService.selectByApplySid(busDeliveredApply.getSid());
BusDiscountpackageHandoverDto busDiscountpackageHandoverDto = new BusDiscountpackageHandoverDto();
//合同编号
busDiscountpackageHandoverDto.setContractNo(busDeliveredApply.getContractNo());
//车型名称
busDiscountpackageHandoverDto.setVehModel(busDeliveredApply.getModelName());
//出库台数
busDiscountpackageHandoverDto.setVehCount(String.valueOf(detailsList.size()));
List<String> vinList = detailsList.stream().map(v -> v.getVinNo()).collect(Collectors.toList());
String vins = String.join(",", vinList);
busDiscountpackageHandoverDto.setVins(vins);
busDiscountpackageHandoverDto.setRecUserSid(busDeliveredApply.getApplySid());
busDiscountpackageHandoverDto.setCustomerName(busDeliveredApply.getName());
busDiscountpackageHandoverDto.setRecName(busDeliveredApply.getApplyName());
busDiscountpackageHandoverDto.setRecTime(new Date());
//根据用户sid查询电话
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(busDeliveredApply.getApplySid());
if (sysUserVoResultBean.getData() != null) {
busDiscountpackageHandoverDto.setRecPhone(sysUserVoResultBean.getData().getMobile());
}
busDiscountpackageHandoverDto.setBusSid(busDeliveredApply.getSid());
busDiscountpackageHandoverDto.setCreateOrgSid(busDeliveredApply.getUseOrgSid());
busDiscountpackageHandoverDto.setUseOrgSid(busDeliveredApply.getUseOrgSid());
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(busDeliveredApply.getUseOrgSid());
if (sysOrganizationVoResultBean.getData() != null) {
busDiscountpackageHandoverDto.setCreateOrgName(sysOrganizationVoResultBean.getData().getName());
busDiscountpackageHandoverDto.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
}
List<BusDiscountpackageHandoverListDto> busDiscountpackageHandoverLists = new ArrayList<>();
for (int i = 0; i < discountList.size(); i++) {
BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = discountList.get(i);
BusDiscountpackageHandoverListDto busDiscountpackageHandoverListDto = new BusDiscountpackageHandoverListDto();
busDiscountpackageHandoverListDto.setPrice(new BigDecimal(busDeliveredDetailsDiscount.getPrice()));
busDiscountpackageHandoverListDto.setNumber(String.valueOf(busDeliveredDetailsDiscount.getGiveNum()));
busDiscountpackageHandoverListDto.setDiscountName(busDeliveredDetailsDiscount.getName());
busDiscountpackageHandoverListDto.setExplain(busDeliveredDetailsDiscount.getDiscountExplain());
busDiscountpackageHandoverListDto.setRemarks(busDeliveredDetailsDiscount.getRemarks());
busDiscountpackageHandoverListDto.setTotalPrice(new BigDecimal(busDeliveredDetailsDiscount.getPrice()).multiply(new BigDecimal(busDeliveredDetailsDiscount.getGiveNum())));
busDiscountpackageHandoverLists.add(busDiscountpackageHandoverListDto);
}
busDiscountpackageHandoverDto.setBusDiscountpackageHandoverLists(busDiscountpackageHandoverLists);
busDiscountpackageHandoverService.saveOrUpdateDto(busDiscountpackageHandoverDto);
} }
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData()); return rb.success().setData(resultBean.getData());
@ -971,7 +1029,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey()); busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey());
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid()); busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid());
busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts()); busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts());
busDeliveredUseMessage.setIsConfirmRealBuyer("0"); busDeliveredUseMessage.setIsConfirmRealBuyer("1");
busDeliveredUseMessageService.insert(busDeliveredUseMessage); busDeliveredUseMessageService.insert(busDeliveredUseMessage);
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid()); busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid());
} }
@ -993,7 +1051,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey()); busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey());
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid()); busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid());
busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts()); busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts());
busDeliveredUseMessage.setIsConfirmRealBuyer("0"); busDeliveredUseMessage.setIsConfirmRealBuyer("1");
busDeliveredUseMessageService.insert(busDeliveredUseMessage); busDeliveredUseMessageService.insert(busDeliveredUseMessage);
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid()); busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid());
} }
@ -1018,6 +1076,13 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
if (StringUtils.isBlank(dto.getStaffUserSid())) { if (StringUtils.isBlank(dto.getStaffUserSid())) {
dto.setStaffUserSid(busDeliveredApply.getStaffUserSid()); dto.setStaffUserSid(busDeliveredApply.getStaffUserSid());
} }
if (StringUtils.isBlank(dto.getCustomerSid())) {
dto.setCustomerSid(busDeliveredApply.getCustomerSid());
}
if (StringUtils.isBlank(dto.getPaymentMethodKey())) {
dto.setPaymentMethodKey(busDeliveredApply.getPaymentMethodKey());
}
BeanUtil.copyProperties(dto, busDeliveredApply, "sid"); BeanUtil.copyProperties(dto, busDeliveredApply, "sid");
//根据合同编号查询销售订单的信息 //根据合同编号查询销售订单的信息
@ -1077,7 +1142,9 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
//优惠包项目说明 //优惠包项目说明
busDeliveredDetailsDiscount.setDiscountExplain(busDeliveredDetailsDiscountsVo.getDiscountInfo()); busDeliveredDetailsDiscount.setDiscountExplain(busDeliveredDetailsDiscountsVo.getDiscountInfo());
//数量 //数量
busDeliveredDetailsDiscount.setNum(busDeliveredDetailsDiscountsVo.getTotalNum()); BusSalesOrderDiscount busSalesOrderDiscount = busSalesOrderDiscountService.fetchBySid(busDeliveredDetailsDiscountsVo.getDiscountSid());
// busDeliveredDetailsDiscount.setNum(busDeliveredDetailsDiscountsVo.getTotalNum());
busDeliveredDetailsDiscount.setNum(busSalesOrderDiscount.getNum());
//本次赠送数量 //本次赠送数量
busDeliveredDetailsDiscount.setGiveNum(busDeliveredDetailsDiscountsVo.getDiscountNum()); busDeliveredDetailsDiscount.setGiveNum(busDeliveredDetailsDiscountsVo.getDiscountNum());
//销售订单中主车优惠的sid //销售订单中主车优惠的sid
@ -1102,6 +1169,49 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
busDeliveredUseMessageService.insert(busDeliveredUseMessage); busDeliveredUseMessageService.insert(busDeliveredUseMessage);
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid()); busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid());
} }
if ("0".equals(busDeliveredApply.getTypeKey())) {
//客户的信息
String customerSid = busDeliveredApply.getCustomerSid();
ResultBean<CrmCustomerTempVo> crmCustomerTempResultBean = crmCustomerTempFeign.fetchSid(customerSid);
if (crmCustomerTempResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempResultBean.getData();
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage();
busDeliveredUseMessage.setAddress(crmCustomerTempVo.getAddress());
busDeliveredUseMessage.setName(crmCustomerTempVo.getName());
busDeliveredUseMessage.setMobile(crmCustomerTempVo.getMobile());
busDeliveredUseMessage.setIdNo(crmCustomerTempVo.getIDNumber());
busDeliveredUseMessage.setCustomerType(crmCustomerTempVo.getCustomerType());
busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey());
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid());
busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts());
busDeliveredUseMessage.setIsConfirmRealBuyer("0");
busDeliveredUseMessageService.insert(busDeliveredUseMessage);
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid());
}
}
if ("1".equals(busDeliveredApply.getTypeKey())) {
//贷款人的信息
String loanSid = busDeliveredApply.getLoanSid();
ResultBean<CrmCustomerTempVo> crmCustomerTempResultBean = crmCustomerTempFeign.fetchSid(loanSid);
if (crmCustomerTempResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempResultBean.getData();
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage();
busDeliveredUseMessage.setAddress(crmCustomerTempVo.getAddress());
busDeliveredUseMessage.setName(crmCustomerTempVo.getName());
busDeliveredUseMessage.setMobile(crmCustomerTempVo.getMobile());
busDeliveredUseMessage.setIdNo(crmCustomerTempVo.getIDNumber());
busDeliveredUseMessage.setCustomerType(crmCustomerTempVo.getCustomerType());
busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey());
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid());
busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts());
busDeliveredUseMessage.setIsConfirmRealBuyer("0");
busDeliveredUseMessageService.insert(busDeliveredUseMessage);
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid());
}
}
busDeliveredApplyDetailsService.insert(busDeliveredApplyDetails); busDeliveredApplyDetailsService.insert(busDeliveredApplyDetails);
} }
@ -1270,6 +1380,14 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
//判断选择的优惠是否超出 //判断选择的优惠是否超出
List<AppCarListVo> carList = dto.getCarList(); List<AppCarListVo> carList = dto.getCarList();
if (!carList.isEmpty()) { if (!carList.isEmpty()) {
//判断合同编号是否一致
for (int a = 0; a < carList.size(); a++) {
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(dto.getContractId(), carList.get(a).getVinSid());
if (busSalesOrderVehicle == null) {
return rb.setMsg("所选车辆与合同编号不匹配");
}
}
//判断已经选择的车辆是否已经提交 //判断已经选择的车辆是否已经提交
List<String> vinSid = carList.stream().map(AppCarListVo::getVinSid).collect(Collectors.toList()); List<String> vinSid = carList.stream().map(AppCarListVo::getVinSid).collect(Collectors.toList());
List<String> vinNoList = baseMapper.selectVinNo(dto.getContractId(), vinSid); List<String> vinNoList = baseMapper.selectVinNo(dto.getContractId(), vinSid);

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivereddetailsdiscount/BusDeliveredDetailsDiscountMapper.java

@ -32,4 +32,6 @@ public interface BusDeliveredDetailsDiscountMapper extends BaseMapper<BusDeliver
int selectGiveNum(@Param("discountSid") String discountSid, @Param("sid") String sid); int selectGiveNum(@Param("discountSid") String discountSid, @Param("sid") String sid);
int selectGiveNumBySid(String sid); int selectGiveNumBySid(String sid);
List<BusDeliveredDetailsDiscount> selectByApplySid(String sid);
} }

12
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivereddetailsdiscount/BusDeliveredDetailsDiscountMapper.xml

@ -37,9 +37,17 @@
</select> </select>
<select id="selectGiveNumBySid" resultType="int"> <select id="selectGiveNumBySid" resultType="int">
select IFNULL(SUM(cast(giveNum as signed)), 0) as count select IFNULL(SUM(cast(bd.giveNum as signed)), 0) as count
from bus_delivered_details_discount bd from bus_delivered_details_discount bd
left join bus_delivered_apply ba on ba.sid = bd.applySid left join bus_delivered_apply ba on ba.sid = bd.applySid
where ba.state = 2 or ba.state = 3 where ba.state = 2
or ba.state = 3
</select>
<select id="selectByApplySid"
resultType="com.yxt.anrui.buscenter.api.busdelivereddetailsdiscount.BusDeliveredDetailsDiscount">
select IFNULL(SUM(cast(giveNum as signed)), 0) as count,price,discountExplain,name,remarks
from bus_delivered_details_discount
where applySid = #{sid} group by discountSid
</select> </select>
</mapper> </mapper>

6
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivereddetailsdiscount/BusDeliveredDetailsDiscountService.java

@ -31,10 +31,14 @@ public class BusDeliveredDetailsDiscountService extends MybatisBaseService<BusDe
} }
public int selectGiveNum(String discountSid, String sid) { public int selectGiveNum(String discountSid, String sid) {
return baseMapper.selectGiveNum(discountSid,sid); return baseMapper.selectGiveNum(discountSid, sid);
} }
public int selectGiveNumBySid(String sid) { public int selectGiveNumBySid(String sid) {
return baseMapper.selectGiveNumBySid(sid); return baseMapper.selectGiveNumBySid(sid);
} }
public List<BusDeliveredDetailsDiscount> selectByApplySid(String sid) {
return baseMapper.selectByApplySid(sid);
}
} }

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

@ -5025,6 +5025,17 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
variables.put(BusSalesOrderConstantUtils.GENERAL_MANAGER_PRICE, busSalesOrderPowerVo.getIsPower()); variables.put(BusSalesOrderConstantUtils.GENERAL_MANAGER_PRICE, busSalesOrderPowerVo.getIsPower());
//是否排产 //是否排产
// variables.put("isLoan1", "3".equals(busSalesOrder.getType()));//废弃 // variables.put("isLoan1", "3".equals(busSalesOrder.getType()));//废弃
//部门名称<客户>系列-全款/贷款销售订单
String orgName = busSalesOrder.getOrgName();
String customerName = busSalesOrder.getCustomerName();
String typeValue = "";
if("1".equals(busSalesOrder.getPayTypeKey())){
typeValue = "全款销售订单";
}else{
typeValue = "贷款销售订单";
}
String orderNames = orgName+"<"+customerName+">系列-"+typeValue;
variables.put("orderNames",orderNames);
return variables; return variables;
} }

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationIInfoVo.java

@ -1,6 +1,7 @@
package com.yxt.anrui.fin.api.finbillapplication; package com.yxt.anrui.fin.api.finbillapplication;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -41,6 +42,9 @@ public class AppBillApplicationIInfoVo implements Vo {
@ApiModelProperty("车辆集合") @ApiModelProperty("车辆集合")
private List<AppVinListVo> vinList; private List<AppVinListVo> vinList;
@ApiModelProperty("开票挂车信息")
private List<FinBillTrailerVo> finBillTrailers; // 开票挂车信息
@ApiModelProperty("开票状态") @ApiModelProperty("开票状态")
private String billState; private String billState;

46
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

@ -225,6 +225,13 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
FinBillTrailer finBillTrailer = new FinBillTrailer(); FinBillTrailer finBillTrailer = new FinBillTrailer();
BeanUtil.copyProperties(finBillTrailerDto, finBillTrailer, "sid"); BeanUtil.copyProperties(finBillTrailerDto, finBillTrailer, "sid");
finBillTrailer.setBillAppSid(finBillApplication.getSid()); finBillTrailer.setBillAppSid(finBillApplication.getSid());
for (FinBillVehicleDto finBillVehicle : finBillVehicles) {
if (finBillVehicle.getVinNo().equals(finBillTrailerDto.getVinNo())){
finBillTrailer.setBillTypeKey(finBillVehicle.getBillTypeKey());
finBillTrailer.setBillTypeValue(finBillVehicle.getBillTypeValue());
finBillTrailer.setOpenTickName(finBillVehicle.getOpenTickName());
}
}
finBillTrailerService.save(finBillTrailer); finBillTrailerService.save(finBillTrailer);
} }
//附件信息 //附件信息
@ -337,6 +344,13 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
FinBillTrailer finBillTrailer = new FinBillTrailer(); FinBillTrailer finBillTrailer = new FinBillTrailer();
BeanUtil.copyProperties(finBillTrailerDto, finBillTrailer, "sid"); BeanUtil.copyProperties(finBillTrailerDto, finBillTrailer, "sid");
finBillTrailer.setBillAppSid(dtoSid); finBillTrailer.setBillAppSid(dtoSid);
for (FinBillVehicleDto finBillVehicle : finBillVehicles) {
if (finBillVehicle.getVinNo().equals(finBillTrailerDto.getVinNo())){
finBillTrailer.setBillTypeKey(finBillVehicle.getBillTypeKey());
finBillTrailer.setBillTypeValue(finBillVehicle.getBillTypeValue());
finBillTrailer.setOpenTickName(finBillVehicle.getOpenTickName());
}
}
finBillTrailerService.save(finBillTrailer); finBillTrailerService.save(finBillTrailer);
} }
return rb.success().setMsg("修改成功").setData(dtoSid); return rb.success().setMsg("修改成功").setData(dtoSid);
@ -364,7 +378,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
List<FinBillApplicationDetailsVo> finBillApplicationVos = baseMapper.selectByContractNo(contractNo); List<FinBillApplicationDetailsVo> finBillApplicationVos = baseMapper.selectByContractNo(contractNo);
if (finBillApplicationVos != null && finBillApplicationVos.size() > 0) { if (finBillApplicationVos != null && finBillApplicationVos.size() > 0) {
FinBillApplicationDetailsVo finBillApplicationVo = finBillApplicationVos.get(0); FinBillApplicationDetailsVo finBillApplicationVo = finBillApplicationVos.get(0);
entity.setOneBillMoney(new BigDecimal(finBillApplicationVo.getOneBillMoney())); if (StringUtils.isNotBlank(finBillApplicationVo.getOneBillMoney())){
entity.setOneBillMoney(new BigDecimal(finBillApplicationVo.getOneBillMoney()));
}
} }
FinBillApplicationDetailsVo vo = new FinBillApplicationDetailsVo(); FinBillApplicationDetailsVo vo = new FinBillApplicationDetailsVo();
BeanUtil.copyProperties(entity, vo); BeanUtil.copyProperties(entity, vo);
@ -718,12 +734,12 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo()); finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo());
finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName()); finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName());
finVehicleInvoiceDto.setVIN(finBillVehicleVo.getVinNo()); finVehicleInvoiceDto.setVIN(finBillVehicleVo.getVinNo());
finVehicleInvoiceDto.setInvoiceTypeKey(finBillApplication.getOpenTickTypeKey()); finVehicleInvoiceDto.setInvoiceTypeKey(finBillVehicleVo.getBillTypeKey());
finVehicleInvoiceDto.setInvoiceType(finBillApplication.getOpenTickTypeValue()); finVehicleInvoiceDto.setInvoiceType(finBillVehicleVo.getBillTypeValue());
finVehicleInvoiceDto.setInvoiceAmount(finBillApplication.getOneBillMoney()); finVehicleInvoiceDto.setInvoiceAmount(finBillApplication.getOneBillMoney());
finVehicleInvoiceDto.setBillingStateKey("001"); finVehicleInvoiceDto.setBillingStateKey("001");
finVehicleInvoiceDto.setBillingState("未开票"); finVehicleInvoiceDto.setBillingState("未开票");
finVehicleInvoiceDto.setInvoicingName(finBillApplication.getOpenTickName()); finVehicleInvoiceDto.setInvoicingName(finBillVehicleVo.getOpenTickName());
finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid()); finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid());
finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey()); finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey());
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
@ -737,12 +753,12 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo()); finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo());
finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName()); finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName());
finVehicleInvoiceDto.setVIN(finBillTrailerVo.getGcVinNo()); finVehicleInvoiceDto.setVIN(finBillTrailerVo.getGcVinNo());
finVehicleInvoiceDto.setInvoiceTypeKey(finBillApplication.getOpenTickTypeKey()); finVehicleInvoiceDto.setInvoiceTypeKey(finBillTrailerVo.getBillTypeKey());
finVehicleInvoiceDto.setInvoiceType(finBillApplication.getOpenTickTypeValue()); finVehicleInvoiceDto.setInvoiceType(finBillTrailerVo.getBillTypeValue());
finVehicleInvoiceDto.setInvoiceAmount(finBillApplication.getOneBillMoney()); finVehicleInvoiceDto.setInvoiceAmount(new BigDecimal(finBillTrailerVo.getOneBillMoney()));
finVehicleInvoiceDto.setBillingStateKey("001"); finVehicleInvoiceDto.setBillingStateKey("001");
finVehicleInvoiceDto.setBillingState("未开票"); finVehicleInvoiceDto.setBillingState("未开票");
finVehicleInvoiceDto.setInvoicingName(finBillApplication.getOpenTickName()); finVehicleInvoiceDto.setInvoicingName(finBillTrailerVo.getOpenTickName());
finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid()); finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid());
finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey()); finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey());
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
@ -1487,6 +1503,13 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
FinBillTrailer finBillTrailer = new FinBillTrailer(); FinBillTrailer finBillTrailer = new FinBillTrailer();
BeanUtil.copyProperties(finBillTrailerDto, finBillTrailer, "sid"); BeanUtil.copyProperties(finBillTrailerDto, finBillTrailer, "sid");
finBillTrailer.setBillAppSid(finBillApplication.getSid()); finBillTrailer.setBillAppSid(finBillApplication.getSid());
for (FinBillVehicleDto finBillVehicle : finBillVehicles) {
if (finBillVehicle.getVinNo().equals(finBillTrailerDto.getVinNo())){
finBillTrailer.setBillTypeKey(finBillVehicle.getBillTypeKey());
finBillTrailer.setBillTypeValue(finBillVehicle.getBillTypeValue());
finBillTrailer.setOpenTickName(finBillVehicle.getOpenTickName());
}
}
finBillTrailerService.save(finBillTrailer); finBillTrailerService.save(finBillTrailer);
} }
//附件信息 //附件信息
@ -1607,6 +1630,13 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
FinBillTrailer finBillTrailer = new FinBillTrailer(); FinBillTrailer finBillTrailer = new FinBillTrailer();
BeanUtil.copyProperties(finBillTrailerDto, finBillTrailer, "sid"); BeanUtil.copyProperties(finBillTrailerDto, finBillTrailer, "sid");
finBillTrailer.setBillAppSid(dtoSid); finBillTrailer.setBillAppSid(dtoSid);
for (FinBillVehicleDto finBillVehicle : finBillVehicles) {
if (finBillVehicle.getVinNo().equals(finBillTrailerDto.getVinNo())){
finBillTrailer.setBillTypeKey(finBillVehicle.getBillTypeKey());
finBillTrailer.setBillTypeValue(finBillVehicle.getBillTypeValue());
finBillTrailer.setOpenTickName(finBillVehicle.getOpenTickName());
}
}
finBillTrailerService.save(finBillTrailer); finBillTrailerService.save(finBillTrailer);
} }
return rb.success().setMsg("修改成功").setData(dtoSid); return rb.success().setMsg("修改成功").setData(dtoSid);

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

@ -1774,7 +1774,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
finSelectedReceivablesDetailedVos1_1_2.removeAll(Collections.singleton(null)); finSelectedReceivablesDetailedVos1_1_2.removeAll(Collections.singleton(null));
if (finSelectedReceivablesDetailedVos1_1_2.size() > 0) { if (finSelectedReceivablesDetailedVos1_1_2.size() > 0) {
for (int i = 0; i < finSelectedReceivablesDetailedVos1_1_2.size(); i++) { for (int i = 0; i < finSelectedReceivablesDetailedVos1_1_2.size(); i++) {
FinSelectedReceivablesDetailedVo vvvv = finSelectedReceivablesDetailedVos1_1.get(i); FinSelectedReceivablesDetailedVo vvvv = finSelectedReceivablesDetailedVos1_1_2.get(i);
String contractNo = vvvv.getContractNo(); String contractNo = vvvv.getContractNo();
String vinNo = vvvv.getVIN(); String vinNo = vvvv.getVIN();
BdCustomer bdCustomer = createBdCustomer1(confirmation.getUseOrgSid(), vvvv.getCustomerName(), contractNo, sid, vinNo); BdCustomer bdCustomer = createBdCustomer1(confirmation.getUseOrgSid(), vvvv.getCustomerName(), contractNo, sid, vinNo);

5
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java

@ -89,11 +89,6 @@ public class FlowTaskController implements FlowTaskFeign {
int size = Integer.valueOf(businessTaskQuery.getSize() + ""); int size = Integer.valueOf(businessTaskQuery.getSize() + "");
int current = Integer.valueOf(businessTaskQuery.getCurrent() + ""); int current = Integer.valueOf(businessTaskQuery.getCurrent() + "");
List<BusinessTaskParam> fields = businessTaskQuery.getParams().getFields(); List<BusinessTaskParam> fields = businessTaskQuery.getParams().getFields();
/* AtomicReference<String> orgPath= new AtomicReference<>("");
fields.forEach(f->{
if(f.getField().equals(BusinessVariables.ORGPATH))
orgPath.set(f.getValue());
});*/
String orgPath=null; String orgPath=null;
for(BusinessTaskParam b: fields){ for(BusinessTaskParam b: fields){
if(b.getField().equals(BusinessVariables.ORGPATH)) { if(b.getField().equals(BusinessVariables.ORGPATH)) {

2
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.xml

@ -163,7 +163,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
) flow ) flow
GROUP BY flow.PROC_INST_ID_ GROUP BY flow.PROC_INST_ID_
ORDER BY flow.START_TIME_ DESC ORDER BY flow.START_TIME_ DESC
LIMIT #{page},#{size} <!--LIMIT #{page},#{size}-->
</select> </select>
<select id="finishedListCount" parameterType="java.util.Map" resultType="int"> <select id="finishedListCount" parameterType="java.util.Map" resultType="int">
SELECT COUNT(DISTINCT ahpi.PROC_INST_ID_) SELECT COUNT(DISTINCT ahpi.PROC_INST_ID_)

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

@ -465,23 +465,14 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
Page<FlowTaskDto> page = new Page<>(); Page<FlowTaskDto> page = new Page<>();
TaskQuery taskQuery = taskService.createTaskQuery(); TaskQuery taskQuery = taskService.createTaskQuery();
String startUserNameParams = "";
String names = "";
// 流程参数 // 流程参数
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
// 挂载表单参数 // 挂载表单参数
for (BusinessTaskParam btq : params) { for (BusinessTaskParam btq : params) {
paramMap.put(btq.getField(), btq.getValue()); paramMap.put(btq.getField(), btq.getValue());
// if(btq.getSqlOperationSymbol().equals(SQLOperationSymbol.EQUAL)){
// taskQuery.processVariableValueEquals(btq.getField(),btq.getValue());
// }
// if(btq.getSqlOperationSymbol().equals(SQLOperationSymbol.LIKE)){
// taskQuery.processVariableValueLike(btq.getField(),"%"+btq.getValue()+"%");
// }
// if(btq.getSqlOperationSymbol().equals(SQLOperationSymbol.NONE)){
// if("processDefinitionId".equals(btq.getField())){
// taskQuery.processDefinitionId(btq.getValue());
// }
// }
if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.NONE)) { if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.NONE)) {
if ("orgSid".equals(btq.getField())) { if ("orgSid".equals(btq.getField())) {
String value = btq.getValue(); String value = btq.getValue();
@ -494,13 +485,15 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
} }
} }
} }
//发起人姓名查询
if("startUserName".equals(btq.getField())){
startUserNameParams = btq.getValue();
}
}
if("proDefName".equals(btq.getField())){
names = btq.getValue();
} }
} }
// 用户角色sid
// List<String> roleSidList = sysUserRoleFeign.getUserRoleSidByUserSid(userSid).getData();
/* if (CollectionUtils.isEmpty(roleSidList)) {
return new ResultBean().fail().setMsg("请先设置用户角色");
}*/
TaskQuery or = taskQuery.active() TaskQuery or = taskQuery.active()
.includeProcessVariables() .includeProcessVariables()
.includeTaskLocalVariables(); .includeTaskLocalVariables();
@ -520,12 +513,12 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
if (paramMap.get("proDefName") != null && StringUtils.isNotBlank(paramMap.get("proDefName").toString())) { if (paramMap.get("proDefName") != null && StringUtils.isNotBlank(paramMap.get("proDefName").toString())) {
taskQuery.processDefinitionNameLike("%" + paramMap.get("proDefName") + "%"); taskQuery.processDefinitionNameLike("%" + paramMap.get("proDefName") + "%");
} }
page.setTotal(taskQuery.count()); /* page.setTotal(taskQuery.count());
int p = (pageNum - 1) * pageSize; int p = (pageNum - 1) * pageSize;*/
List<Task> taskList = taskQuery.listPage(p, pageSize); // List<Task> taskList = taskQuery.listPage(p, pageSize);
List<Task> taskList = taskQuery.list();
List<FlowTaskDto> flowList = new ArrayList<>(); List<FlowTaskDto> flowList = new ArrayList<>();
for (Task task : taskList) { for (Task task : taskList) {
FlowTaskDto flowTask = new FlowTaskDto(); FlowTaskDto flowTask = new FlowTaskDto();
Map<String, Object> processVariables = task.getProcessVariables(); Map<String, Object> processVariables = task.getProcessVariables();
flowTask.setProcessVariables(processVariables); flowTask.setProcessVariables(processVariables);
@ -579,15 +572,23 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
flowTask.setAssigneeName(sysUserVoResultBean2.getData().getName()); flowTask.setAssigneeName(sysUserVoResultBean2.getData().getName());
flowTask.setAssigneeSid(sysUserVoResultBean2.getData().getSid()); flowTask.setAssigneeSid(sysUserVoResultBean2.getData().getSid());
flowTask.setDeptName(sysUserVoResultBean2.getData().getOrganizationName()); flowTask.setDeptName(sysUserVoResultBean2.getData().getOrganizationName());
if(processVariables.containsKey("orderNames")){
// 设置手机端参数 flowTask.setProcDefName(processVariables.get("orderNames").toString());
// Map<String, Map<String, Object>> variablesMap = getAppOrPcVariables(flowTask); }
// flowTask.setAppVariables(variablesMap.get("appVariables"));
// // 设置pc端参数
// flowTask.setPcVariables(variablesMap.get("pcVariables"));
flowList.add(flowTask); flowList.add(flowTask);
} }
//筛选发起人==============================
if (StringUtils.isNotBlank(startUserNameParams)) {
String finalStartUserNameParams = startUserNameParams;
flowList = flowList.stream().filter(v -> v.getStartUserName().contains(finalStartUserNameParams)).collect(Collectors.toList());
}
if(StringUtils.isNotBlank(names)){
String finalNames = names;
flowList = flowList.stream().filter(v -> v.getProcDefName().contains(finalNames)).collect(Collectors.toList());
}
page.setTotal(flowList.size());
flowList = flowList.stream().skip((pageNum - 1) * pageSize).limit(pageSize).
collect(Collectors.toList());
page.setRecords(flowList); page.setRecords(flowList);
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>(); ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>();
return rb.success().setData(page); return rb.success().setData(page);
@ -695,13 +696,13 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
* @return * @return
*/ */
public ResultBean<Page<FlowTaskDto>> businessFinishedList(String userSid, List<BusinessTaskParam> params, Integer pageNum, Integer pageSize) { public ResultBean<Page<FlowTaskDto>> businessFinishedList(String userSid, List<BusinessTaskParam> params, Integer pageNum, Integer pageSize) {
Page<FlowTaskDto> page = new Page<>(); Page<FlowTaskDto> page = new Page<>();
Map<String, Object> paraMap = new HashMap<>(); Map<String, Object> paraMap = new HashMap<>();
List<Map<String, Object>> ll = new ArrayList<>(); List<Map<String, Object>> ll = new ArrayList<>();
String startUserNameParams = "";
String names = "";
for (BusinessTaskParam btq : params) { for (BusinessTaskParam btq : params) {
paraMap.put(btq.getField(), btq.getValue()); paraMap.put(btq.getField(), btq.getValue());
Map<String, Object> mapss = new HashMap<>(); Map<String, Object> mapss = new HashMap<>();
if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.EQUAL)) { if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.EQUAL)) {
mapss.put("symbol", "="); mapss.put("symbol", "=");
@ -713,22 +714,22 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
mapss.put("value", "%" + btq.getValue() + "%"); mapss.put("value", "%" + btq.getValue() + "%");
mapss.put("filed", btq.getField()); mapss.put("filed", btq.getField());
} }
/* if(btq.getSqlOperationSymbol().equals(SQLOperationSymbol.NONE)){
if("processDefinitionId".equals(btq.getField())){
taskInstanceQuery.processDefinitionId(btq.getValue());
}
}*/
ll.add(mapss); ll.add(mapss);
//查询条件发起人
if("startUserName".equals(btq.getField())){
paraMap.remove("startUserName");
startUserNameParams = btq.getValue();
}
if("proDefName".equals(btq.getField())){
names = btq.getValue();
}
} }
paraMap.put("userSid", userSid); paraMap.put("userSid", userSid);
paraMap.put("list", ll); paraMap.put("list", ll);
paraMap.put("page", (pageNum - 1) * pageSize); /* paraMap.put("page", (pageNum - 1) * pageSize);
paraMap.put("size", pageSize); paraMap.put("size", pageSize);*/
// List<Map<String, Object>> maps = baseMapper.finishedList(userSid, ll ,(pageNum-1)*pageSize,pageSize);
List<Map<String, Object>> maps = baseMapper.finishedList1(paraMap); List<Map<String, Object>> maps = baseMapper.finishedList1(paraMap);
int count = baseMapper.finishedListCount(paraMap); int count = baseMapper.finishedListCount(paraMap);
List<FlowTaskDto> hisTaskList = new ArrayList(); List<FlowTaskDto> hisTaskList = new ArrayList();
for (Map<String, Object> histTask : maps) { for (Map<String, Object> histTask : maps) {
FlowTaskDto flowTask = new FlowTaskDto(); FlowTaskDto flowTask = new FlowTaskDto();
@ -751,47 +752,22 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
userName_str=userName.substring(0,userName.length()-1); userName_str=userName.substring(0,userName.length()-1);
flowTask.setAssigneeName(userName_str); flowTask.setAssigneeName(userName_str);
} }
flowTask.setHasRevokeButton(userSid.equals(flowTask.getAssigneeSid()) ? true : false); flowTask.setHasRevokeButton(userSid.equals(flowTask.getAssigneeSid()) ? true : false);
flowTask.setProcDefId(histTask.get("PROC_DEF_ID_") == null ? "" : histTask.get("PROC_DEF_ID_").toString()); flowTask.setProcDefId(histTask.get("PROC_DEF_ID_") == null ? "" : histTask.get("PROC_DEF_ID_").toString());
flowTask.setTaskDefKey(histTask.get("taskDefKey") == null ? "" : histTask.get("taskDefKey").toString()); flowTask.setTaskDefKey(histTask.get("taskDefKey") == null ? "" : histTask.get("taskDefKey").toString());
flowTask.setTaskName(histTask.get("NAME_") == null ? "" : histTask.get("NAME_").toString()); flowTask.setTaskName(histTask.get("NAME_") == null ? "" : histTask.get("NAME_").toString());
// 判断是否办结
/*Object end_act_id_ = histTask.get("END_ACT_ID_");
if (end_act_id_ != null) {
flowTask.setTaskName(ProcessStateEnum.FINISHED.getStateName());
}*/
// 流程定义信息
// ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
// .processDefinitionId(histTask.get("PROC_DEF_ID_").toString())
// .singleResult();
flowTask.setDeployId(histTask.get("DEPLOYMENT_ID_") == null ? "" : histTask.get("DEPLOYMENT_ID_").toString()); flowTask.setDeployId(histTask.get("DEPLOYMENT_ID_") == null ? "" : histTask.get("DEPLOYMENT_ID_").toString());
flowTask.setProcDefName(histTask.get("PROC_DEF_NAME_") == null ? "" : histTask.get("PROC_DEF_NAME_").toString()); flowTask.setProcDefName(histTask.get("PROC_DEF_NAME_") == null ? "" : histTask.get("PROC_DEF_NAME_").toString());
flowTask.setProcDefVersion(histTask.get("PROC_DEF_VERSION_") == null ? 0 : Integer.parseInt(histTask.get("PROC_DEF_VERSION_").toString())); flowTask.setProcDefVersion(histTask.get("PROC_DEF_VERSION_") == null ? 0 : Integer.parseInt(histTask.get("PROC_DEF_VERSION_").toString()));
flowTask.setProcInsId(histTask.get("PROC_INST_ID_").toString()); flowTask.setProcInsId(histTask.get("PROC_INST_ID_").toString());
flowTask.setHisProcInsId(histTask.get("PROC_INST_ID_").toString()); flowTask.setHisProcInsId(histTask.get("PROC_INST_ID_").toString());
// 流程发起人信息
// HistoricProcessInstance hi = historyService.createHistoricProcessInstanceQuery()
// .processInstanceId(histTask.get("PROC_INST_ID_").toString())
// .singleResult();
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(histTask.get("START_USER_ID_").toString()); ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(histTask.get("START_USER_ID_").toString());
flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid()); flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid());
flowTask.setStartUserName(sysUserVoResultBean.getData().getName()); flowTask.setStartUserName(sysUserVoResultBean.getData().getName());
// ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(historicProcessInstance.getStartUserId());
if(sysUserVoResultBean.getData()!=null){ if(sysUserVoResultBean.getData()!=null){
flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid()); flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid());
flowTask.setStartUserName(sysUserVoResultBean.getData().getName()); flowTask.setStartUserName(sysUserVoResultBean.getData().getName());
/*ResultBean<String> pathSidByUserSid = sysStaffOrgFeign.getPathSidByUserSid(sysUserVoResultBean.getData().getSid());
String ogrName="";
if(pathSidByUserSid.getData()!=null){
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(pathSidByUserSid.getData());
ogrName=sysOrganizationVoResultBean.getData().getName();
}
flowTask.setStartDeptName(ogrName+"-"+sysUserVoResultBean.getData().getOrganizationName());*/
} }
// flowTask.setStartDeptName(sysUserVoResultBean.getData().getOrganizationName());
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().includeProcessVariables().taskId(flowTask.getTaskId()).singleResult(); HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().includeProcessVariables().taskId(flowTask.getTaskId()).singleResult();
flowTask.setProcessVariables(historicTaskInstance.getProcessVariables()); flowTask.setProcessVariables(historicTaskInstance.getProcessVariables());
Object end_act_id = histTask.get("end_act_id_"); Object end_act_id = histTask.get("end_act_id_");
@ -834,9 +810,24 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
} }
} }
if(flowTask.getProcessVariables().containsKey("orderNames")){
flowTask.setProcDefName(flowTask.getProcessVariables().get("orderNames").toString());
}
hisTaskList.add(flowTask); hisTaskList.add(flowTask);
} }
page.setTotal(count); //对hisTaskList进行筛选发起人
if (StringUtils.isNotBlank(startUserNameParams)) {
String finalStartUserNameParams = startUserNameParams;
hisTaskList = hisTaskList.stream().filter(v -> v.getStartUserName().contains(finalStartUserNameParams)).collect(Collectors.toList());
}
if(StringUtils.isNotBlank(names)){
String finalNames = names;
hisTaskList = hisTaskList.stream().filter(v -> v.getProcDefName().contains(finalNames)).collect(Collectors.toList());
}
page.setTotal(hisTaskList.size());
hisTaskList = hisTaskList.stream().skip((pageNum - 1) * pageSize).limit(pageSize).
collect(Collectors.toList());
// page.setTotal(count);
page.setRecords(hisTaskList); page.setRecords(hisTaskList);
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>(); ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>();
return rb.success().setData(page); return rb.success().setData(page);
@ -849,40 +840,36 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
* @return * @return
*/ */
public ResultBean<Page<FlowTaskDto>> businessFinishedListForApp(String userSid, List<BusinessTaskParam> params, Integer pageNum, Integer pageSize) { public ResultBean<Page<FlowTaskDto>> businessFinishedListForApp(String userSid, List<BusinessTaskParam> params, Integer pageNum, Integer pageSize) {
Page<FlowTaskDto> page = new Page<>(); Page<FlowTaskDto> page = new Page<>();
Map<String, Object> paraMap = new HashMap<>(); Map<String, Object> paraMap = new HashMap<>();
String names = "";
List<Map<String, Object>> ll = new ArrayList<>(); List<Map<String, Object>> ll = new ArrayList<>();
for (BusinessTaskParam btq : params) { for (BusinessTaskParam btq : params) {
paraMap.put(btq.getField(), btq.getValue()); paraMap.put(btq.getField(), btq.getValue());
Map<String, Object> mapss = new HashMap<>(); Map<String, Object> mapss = new HashMap<>();
if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.EQUAL)) { if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.EQUAL)) {
mapss.put("symbol", "="); mapss.put("symbol", "=");
mapss.put("value", btq.getValue()); mapss.put("value", btq.getValue());
mapss.put("filed", btq.getField()); mapss.put("filed", btq.getField());
} }
if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.LIKE)) { /* if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.LIKE)) {
mapss.put("symbol", "like"); mapss.put("symbol", "like");
mapss.put("value", "%" + btq.getValue() + "%"); mapss.put("value", "%" + btq.getValue() + "%");
mapss.put("filed", btq.getField()); mapss.put("filed", btq.getField());
}
/* if(btq.getSqlOperationSymbol().equals(SQLOperationSymbol.NONE)){
if("processDefinitionId".equals(btq.getField())){
taskInstanceQuery.processDefinitionId(btq.getValue());
}
}*/ }*/
ll.add(mapss); ll.add(mapss);
if("proDefName".equals(btq.getField())){
names = btq.getValue();
paraMap.remove("proDefName");
}
} }
paraMap.put("userSid", userSid); paraMap.put("userSid", userSid);
paraMap.put("list", ll); paraMap.put("list", ll);
paraMap.put("page", (pageNum - 1) * pageSize); /* paraMap.put("page", (pageNum - 1) * pageSize);
paraMap.put("size", pageSize); paraMap.put("size", pageSize);*/
// List<Map<String, Object>> maps = baseMapper.finishedList(userSid, ll ,(pageNum-1)*pageSize,pageSize);
List<Map<String, Object>> maps = baseMapper.finishedList1(paraMap); List<Map<String, Object>> maps = baseMapper.finishedList1(paraMap);
int count = baseMapper.finishedListCount(paraMap); int count = baseMapper.finishedListCount(paraMap);
List<FlowTaskDto> hisTaskList = new ArrayList(); List<FlowTaskDto> hisTaskList = new ArrayList();
for (Map<String, Object> histTask : maps) { for (Map<String, Object> histTask : maps) {
FlowTaskDto flowTask = new FlowTaskDto(); FlowTaskDto flowTask = new FlowTaskDto();
@ -891,7 +878,6 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
// 审批人员信息 // 审批人员信息
Timestamp start_time_ = (Timestamp) histTask.get("START_TIME_"); Timestamp start_time_ = (Timestamp) histTask.get("START_TIME_");
Timestamp processCreateTime = (Timestamp) histTask.get("processCreateTime"); Timestamp processCreateTime = (Timestamp) histTask.get("processCreateTime");
long time = start_time_.getTime(); long time = start_time_.getTime();
long processCreateTime1 = processCreateTime.getTime(); long processCreateTime1 = processCreateTime.getTime();
Date date = new Date(time); Date date = new Date(time);
@ -914,30 +900,14 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
flowTask.setProcDefId(histTask.get("PROC_DEF_ID_") == null ? "" : histTask.get("PROC_DEF_ID_").toString()); flowTask.setProcDefId(histTask.get("PROC_DEF_ID_") == null ? "" : histTask.get("PROC_DEF_ID_").toString());
flowTask.setTaskDefKey(histTask.get("taskDefKey") == null ? "" : histTask.get("taskDefKey").toString()); flowTask.setTaskDefKey(histTask.get("taskDefKey") == null ? "" : histTask.get("taskDefKey").toString());
flowTask.setTaskName(histTask.get("NAME_") == null ? "" : histTask.get("NAME_").toString()); flowTask.setTaskName(histTask.get("NAME_") == null ? "" : histTask.get("NAME_").toString());
// 判断是否办结
/*Object end_act_id_ = histTask.get("END_ACT_ID_");
if (end_act_id_ != null) {
flowTask.setTaskName(ProcessStateEnum.FINISHED.getStateName());
}*/
// 流程定义信息
// ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
// .processDefinitionId(histTask.get("PROC_DEF_ID_").toString())
// .singleResult();
flowTask.setDeployId(histTask.get("DEPLOYMENT_ID_") == null ? "" : histTask.get("DEPLOYMENT_ID_").toString()); flowTask.setDeployId(histTask.get("DEPLOYMENT_ID_") == null ? "" : histTask.get("DEPLOYMENT_ID_").toString());
flowTask.setProcDefName(histTask.get("PROC_DEF_NAME_") == null ? "" : histTask.get("PROC_DEF_NAME_").toString()); flowTask.setProcDefName(histTask.get("PROC_DEF_NAME_") == null ? "" : histTask.get("PROC_DEF_NAME_").toString());
flowTask.setProcDefVersion(histTask.get("PROC_DEF_VERSION_") == null ? 0 : Integer.parseInt(histTask.get("PROC_DEF_VERSION_").toString())); flowTask.setProcDefVersion(histTask.get("PROC_DEF_VERSION_") == null ? 0 : Integer.parseInt(histTask.get("PROC_DEF_VERSION_").toString()));
flowTask.setProcInsId(histTask.get("PROC_INST_ID_").toString()); flowTask.setProcInsId(histTask.get("PROC_INST_ID_").toString());
flowTask.setHisProcInsId(histTask.get("PROC_INST_ID_").toString()); flowTask.setHisProcInsId(histTask.get("PROC_INST_ID_").toString());
// 流程发起人信息
// HistoricProcessInstance hi = historyService.createHistoricProcessInstanceQuery()
// .processInstanceId(histTask.get("PROC_INST_ID_").toString())
// .singleResult();
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(histTask.get("START_USER_ID_").toString()); ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(histTask.get("START_USER_ID_").toString());
flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid()); flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid());
flowTask.setStartUserName(sysUserVoResultBean.getData().getName()); flowTask.setStartUserName(sysUserVoResultBean.getData().getName());
// flowTask.setStartDeptName(sysUserVoResultBean.getData().getOrganizationName());
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().includeProcessVariables().taskId(flowTask.getTaskId()).singleResult(); HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().includeProcessVariables().taskId(flowTask.getTaskId()).singleResult();
flowTask.setProcessVariables(historicTaskInstance.getProcessVariables()); flowTask.setProcessVariables(historicTaskInstance.getProcessVariables());
Object end_act_id = histTask.get("end_act_id_"); Object end_act_id = histTask.get("end_act_id_");
@ -983,16 +953,30 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}else{ }else{
flowTask.setStartDeptName(sysUserVoResultBean.getData().getOrganizationName()); flowTask.setStartDeptName(sysUserVoResultBean.getData().getOrganizationName());
} }
} }
} }
if(flowTask.getProcessVariables().containsKey("orderNames")){
flowTask.setProcDefName(flowTask.getProcessVariables().get("orderNames").toString());
}
hisTaskList.add(flowTask); hisTaskList.add(flowTask);
} }
page.setTotal(count); List<FlowTaskDto> userHisTaskList = Optional.ofNullable(hisTaskList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskDto.class)).collect(Collectors.toList());
page.setRecords(hisTaskList); List<FlowTaskDto> namesHisTaskList = Optional.ofNullable(hisTaskList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskDto.class)).collect(Collectors.toList());
//对hisTaskList进行筛选发起人
if (StringUtils.isNotBlank(names)) {
String finalStartUserNameParams = names;
userHisTaskList = userHisTaskList.stream().filter(v -> v.getStartUserName().contains(finalStartUserNameParams)).collect(Collectors.toList());
namesHisTaskList = namesHisTaskList.stream().filter(v -> v.getProcDefName().contains(finalStartUserNameParams)).collect(Collectors.toList());
}
List<FlowTaskDto> finallyList = new ArrayList<>();
finallyList.addAll(namesHisTaskList);
finallyList.addAll(userHisTaskList);
page.setTotal(finallyList.size());
finallyList = finallyList.stream().skip((pageNum - 1) * pageSize).limit(pageSize).
collect(Collectors.toList());
// page.setTotal(count);
// page.setRecords(hisTaskList);
page.setRecords(finallyList);
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>(); ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>();
return rb.success().setData(page); return rb.success().setData(page);
} }
@ -1984,6 +1968,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
public ResultBean<Page<FlowTaskDto>> businessTodoListForApp(String userSid,String orgPath, List<BusinessTaskParam> params, int pageNum, int pageSize) { public ResultBean<Page<FlowTaskDto>> businessTodoListForApp(String userSid,String orgPath, List<BusinessTaskParam> params, int pageNum, int pageSize) {
Page<FlowTaskDto> page = new Page<>(); Page<FlowTaskDto> page = new Page<>();
TaskQuery taskQuery = taskService.createTaskQuery(); TaskQuery taskQuery = taskService.createTaskQuery();
String names = "";
// 流程参数 // 流程参数
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
// 挂载表单参数 // 挂载表单参数
@ -2002,6 +1987,10 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
} }
} }
} }
if("proDefName".equals(btq.getField())){
names = btq.getValue();
paramMap.remove("proDefName");
}
} }
TaskQuery or = taskQuery.active() TaskQuery or = taskQuery.active()
.includeProcessVariables() .includeProcessVariables()
@ -2018,12 +2007,13 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
if (paramMap.get("endDate") != null && StringUtils.isNotBlank(paramMap.get("endDate").toString())) { if (paramMap.get("endDate") != null && StringUtils.isNotBlank(paramMap.get("endDate").toString())) {
taskQuery.taskCreatedBefore(DateUtils.dateStrConvertDate(paramMap.get("endDate").toString(), "yyyy-MM-dd")); taskQuery.taskCreatedBefore(DateUtils.dateStrConvertDate(paramMap.get("endDate").toString(), "yyyy-MM-dd"));
} }
if (paramMap.get("proDefName") != null && StringUtils.isNotBlank(paramMap.get("proDefName").toString())) { /*if (paramMap.get("proDefName") != null && StringUtils.isNotBlank(paramMap.get("proDefName").toString())) {
taskQuery.processDefinitionNameLike("%" + paramMap.get("proDefName") + "%"); taskQuery.processDefinitionNameLike("%" + paramMap.get("proDefName") + "%");
} }*/
page.setTotal(taskQuery.count()); /* page.setTotal(taskQuery.count());
int p = (pageNum - 1) * pageSize; int p = (pageNum - 1) * pageSize;
List<Task> taskList = taskQuery.listPage(p, pageSize); List<Task> taskList = taskQuery.listPage(p, pageSize);*/
List<Task> taskList = taskQuery.list();
List<FlowTaskDto> flowList = new ArrayList<>(); List<FlowTaskDto> flowList = new ArrayList<>();
for (Task task : taskList) { for (Task task : taskList) {
FlowTaskDto flowTask = new FlowTaskDto(); FlowTaskDto flowTask = new FlowTaskDto();
@ -2085,9 +2075,26 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
if(listResultBean.getData()!=null&&listResultBean.getData().size()>0){ if(listResultBean.getData()!=null&&listResultBean.getData().size()>0){
flowTask.setSysProUrlVo(listResultBean.getData().get(0)); flowTask.setSysProUrlVo(listResultBean.getData().get(0));
} }
if(processVariables.containsKey("orderNames")){
flowTask.setProcDefName(processVariables.get("orderNames").toString());
}
flowList.add(flowTask); flowList.add(flowTask);
} }
page.setRecords(flowList); //对flowList进行筛选发起人======================
List<FlowTaskDto> userHisTaskList = Optional.ofNullable(flowList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskDto.class)).collect(Collectors.toList());
List<FlowTaskDto> namesHisTaskList = Optional.ofNullable(flowList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskDto.class)).collect(Collectors.toList());
if (StringUtils.isNotBlank(names)) {
String finalStartUserNameParams = names;
userHisTaskList = userHisTaskList.stream().filter(v -> v.getStartUserName().contains(finalStartUserNameParams)).collect(Collectors.toList());
namesHisTaskList = namesHisTaskList.stream().filter(v -> v.getProcDefName().contains(finalStartUserNameParams)).collect(Collectors.toList());
}
List<FlowTaskDto> finallyList = new ArrayList<>();
finallyList.addAll(namesHisTaskList);
finallyList.addAll(userHisTaskList);
page.setTotal(finallyList.size());
finallyList = finallyList.stream().skip((pageNum - 1) * pageSize).limit(pageSize).
collect(Collectors.toList());
page.setRecords(finallyList);
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>(); ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>();
return rb.success().setData(page); return rb.success().setData(page);
} }

4
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowTaskAllQuery.java

@ -1,6 +1,7 @@
package com.yxt.anrui.portal.api.flow; package com.yxt.anrui.portal.api.flow;
import com.yxt.common.core.query.Query; import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
@ -16,4 +17,7 @@ public class FlowTaskAllQuery implements Query {
private String startDate;//开始日期 private String startDate;//开始日期
private String endDate;//结束日期 private String endDate;//结束日期
private String orgSid;//部门sid private String orgSid;//部门sid
@ApiModelProperty(value = "发起人姓名")
private String startUserName;
} }

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

@ -37,9 +37,6 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.SysUser; import com.yxt.anrui.portal.api.sysuser.SysUser;
import com.yxt.anrui.portal.biz.sysstafforg.SysStaffOrgService; import com.yxt.anrui.portal.biz.sysstafforg.SysStaffOrgService;
import com.yxt.anrui.portal.biz.sysuser.SysUserService; import com.yxt.anrui.portal.biz.sysuser.SysUserService;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordAndCommentVo;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordQuery;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordVo;
import com.yxt.anrui.terminal.api.app.flowable.ProcessCommentVo; import com.yxt.anrui.terminal.api.app.flowable.ProcessCommentVo;
import com.yxt.common.base.utils.StringUtils; import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
@ -51,7 +48,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/** /**
* Project: anrui-parent <br/> * Project: anrui-parent <br/>
@ -270,9 +270,7 @@ public class FlowableRest implements FlowableFeign {
public ResultBean<Page<FlowTaskDto>> doneAllTaskList(String userSid, PagerQuery<FlowTaskAllQuery> pQuery) {//已办列表 public ResultBean<Page<FlowTaskDto>> doneAllTaskList(String userSid, PagerQuery<FlowTaskAllQuery> pQuery) {//已办列表
ResultBean<Page<com.yxt.anrui.flowable.api.flowtask.FlowTaskDto>> pageResultBean = flowableService.doneAllTaskList(userSid, pQuery); ResultBean<Page<com.yxt.anrui.flowable.api.flowtask.FlowTaskDto>> pageResultBean = flowableService.doneAllTaskList(userSid, pQuery);
Page<FlowTaskDto> page = new Page<>(); Page<FlowTaskDto> page = new Page<>();
BeanUtil.copyProperties(pageResultBean.getData(),page); BeanUtil.copyProperties(pageResultBean.getData(),page);
ResultBean< Page<FlowTaskDto>> success = new ResultBean< Page<FlowTaskDto>>().success(); ResultBean< Page<FlowTaskDto>> success = new ResultBean< Page<FlowTaskDto>>().success();
success.setData(page); success.setData(page);
return success; return success;

18
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java

@ -31,7 +31,6 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.flowable.api.flow.UserAndOrgPath; import com.yxt.anrui.flowable.api.flow.UserAndOrgPath;
import com.yxt.anrui.flowable.api.flowdefinition.FlowDefinitionFeign; import com.yxt.anrui.flowable.api.flowdefinition.FlowDefinitionFeign;
import com.yxt.anrui.flowable.api.flowdefinition.FlowDefinitionFeignBusinessStartDTO;
import com.yxt.anrui.flowable.api.flowtask.FlowRecordVo; import com.yxt.anrui.flowable.api.flowtask.FlowRecordVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto; import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
@ -56,11 +55,8 @@ import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -383,6 +379,13 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
taskParam.setValue(orgSid); taskParam.setValue(orgSid);
taskParamList.add(taskParam); taskParamList.add(taskParam);
} }
if(StringUtils.isNotBlank(params.getStartUserName())){
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("startUserName");
taskParam.setSqlOperationSymbol(SQLOperationSymbol.NONE);
taskParam.setValue(params.getStartUserName());
taskParamList.add(taskParam);
}
taskQuery.setFields(taskParamList); taskQuery.setFields(taskParamList);
taskQueryPagerQuery.setParams(taskQuery); taskQueryPagerQuery.setParams(taskQuery);
@ -446,6 +449,13 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
taskParam.setValue(processDefinitionId); taskParam.setValue(processDefinitionId);
taskParamList.add(taskParam); taskParamList.add(taskParam);
} }
if(StringUtils.isNotBlank(params.getStartUserName())){
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("startUserName");
taskParam.setSqlOperationSymbol(SQLOperationSymbol.NONE);
taskParam.setValue(params.getStartUserName());
taskParamList.add(taskParam);
}
taskQuery.setFields(taskParamList); taskQuery.setFields(taskParamList);
taskQueryPagerQuery.setParams(taskQuery); taskQueryPagerQuery.setParams(taskQuery);
return flowTaskFeign.businessDoneList(userSid, taskQueryPagerQuery); return flowTaskFeign.businessDoneList(userSid, taskQueryPagerQuery);

32
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

@ -199,26 +199,12 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ResultBean<String> saveOrUpdateApplyInBound(ScmApplyInboundDto dto) { public ResultBean<String> saveOrUpdateApplyInBound(ScmApplyInboundDto dto) {
List<ScmFileDto> scmFiles = dto.getScmFiles(); List<ScmFileDto> scmFiles = dto.getScmFiles();
List<ScmApplyInboundVehicleDto> vehicleList = dto.getVehicleList();
if (vehicleList.size() == 0) {
return new ResultBean().fail().setMsg("车辆列表不能为空");
}
for (ScmApplyInboundVehicleDto scmApplyInboundVehicleDto : vehicleList) {
String vinNo = scmApplyInboundVehicleDto.getVinNo();
vinNo = vinNo.trim();
vinNo = vinNo.replace(" ","");
if (vinNo.length() != 17){
if (vinNo.length() != 8){
return new ResultBean().fail().setMsg(scmApplyInboundVehicleDto.getVinNo()+"车架号输入不正确");
}
}
}
String orgPath = ""; String orgPath = "";
if (StringUtils.isNotBlank(dto.getOrgPath())) { if (StringUtils.isNotBlank(dto.getOrgPath())) {
orgPath = dto.getOrgPath(); orgPath = dto.getOrgPath();
} else { } else {
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(dto.getOrgSid()).getData(); SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(dto.getOrgSid()).getData();
if (sysOrganizationVo != null){ if (sysOrganizationVo != null) {
orgPath = sysOrganizationVo.getOrgSidPath(); orgPath = sysOrganizationVo.getOrgSidPath();
} }
/*//根据用户sid获取staffSid /*//根据用户sid获取staffSid
@ -262,6 +248,22 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
if (StringUtils.isBlank(dto.getDepartureDate())) { if (StringUtils.isBlank(dto.getDepartureDate())) {
return new ResultBean().fail().setMsg("请填写厂家发车日期"); return new ResultBean().fail().setMsg("请填写厂家发车日期");
} }
List<ScmApplyInboundVehicleDto> vehicleList = dto.getVehicleList();
if (vehicleList == null) {
return new ResultBean().fail().setMsg("车辆列表不能为空");
}
for (ScmApplyInboundVehicleDto scmApplyInboundVehicleDto : vehicleList) {
if (StringUtils.isNotBlank(scmApplyInboundVehicleDto.getVinNo())) {
String vinNo = scmApplyInboundVehicleDto.getVinNo();
vinNo = vinNo.trim();
vinNo = vinNo.replace(" ", "");
if (vinNo.length() != 17) {
if (vinNo.length() != 8) {
return new ResultBean().fail().setMsg(scmApplyInboundVehicleDto.getVinNo() + "车架号输入不正确");
}
}
}
}
List<String> vinNoList = vehicleList.stream().filter(vehicle -> StringUtils.isNotBlank(vehicle.getVinNo())).map(vehicle -> vehicle.getVinNo()).collect(Collectors.toList()); List<String> vinNoList = vehicleList.stream().filter(vehicle -> StringUtils.isNotBlank(vehicle.getVinNo())).map(vehicle -> vehicle.getVinNo()).collect(Collectors.toList());
// 采购订单下线日期一旦维护,二次确认,则不能修改 TODO // 采购订单下线日期一旦维护,二次确认,则不能修改 TODO
// 验证填写的车架号是否重复 // 验证填写的车架号是否重复

14
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java

@ -551,11 +551,15 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
if (StringUtils.isBlank(dto.getInboundDate())) { if (StringUtils.isBlank(dto.getInboundDate())) {
return rb.setMsg("厂家入库日期不能为空"); return rb.setMsg("厂家入库日期不能为空");
} }
String vinNo = dto.getVin(); if (StringUtils.isNotBlank(dto.getVin())){
vinNo = vinNo.trim(); String vinNo = dto.getVin();
vinNo = vinNo.replace(" ", ""); vinNo = vinNo.trim();
if (vinNo.length() != 17 || vinNo.length() != 8) { vinNo = vinNo.replace(" ", "");
return new ResultBean().fail().setMsg(dto.getVin() + "车架号输入不正确"); if (vinNo.length() != 17) {
if (vinNo.length() != 8){
return new ResultBean().fail().setMsg(dto.getVin() + "车架号输入不正确");
}
}
} }
String staffSid = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData().getStaffSid(); String staffSid = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData().getStaffSid();
SysStaffinfoVo data = sysUserFeign.getSysUserByMobile(staffSid).getData(); SysStaffinfoVo data = sysUserFeign.getSysUserByMobile(staffSid).getData();

32
anrui-system-ui/src/views/flow/doneList.vue

@ -12,6 +12,9 @@
<el-form-item label="流程名称"> <el-form-item label="流程名称">
<el-input v-model="listQuery.params.proDefName" placeholder="流程名称" clearable></el-input> <el-input v-model="listQuery.params.proDefName" placeholder="流程名称" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="发起人">
<el-input v-model="listQuery.params.startUserName" placeholder="" clearable></el-input>
</el-form-item>
<el-form-item label="申请日期"> <el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.startDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd"></el-date-picker> <el-date-picker v-model="listQuery.params.startDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd"></el-date-picker>
<label></label> <label></label>
@ -23,7 +26,7 @@
</div> </div>
<div class="listtop"> <div class="listtop">
<div class="tit">已办任务列表</div> <div class="tit">已办任务列表</div>
<pageye v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> <pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div> </div>
<div class="listcon"> <div class="listcon">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width:100%" @selection-change="handleSelectionChange"> <el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width:100%" @selection-change="handleSelectionChange">
@ -81,7 +84,7 @@
</div> </div>
<div class="pages"> <div class="pages">
<div class="tit"/> <div class="tit"/>
<pagination v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> <pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div> </div>
<!-- Start查看页面 --> <!-- Start查看页面 -->
<el-dialog <el-dialog
@ -164,7 +167,6 @@ export default {
editDialog: false, editDialog: false,
flowRecordList: [], flowRecordList: [],
listLoading: false, listLoading: false,
total: 0,
list: [], list: [],
tableKey: 0, tableKey: 0,
taskName_now: '', taskName_now: '',
@ -209,8 +211,10 @@ export default {
listQuery: { listQuery: {
current: 1, current: 1,
size: 10, size: 10,
total: 0,
params: { params: {
proDefName: '', proDefName: '',
startUserName: '',
startDate: '', startDate: '',
endDate: '', endDate: '',
userSid: '' userSid: ''
@ -418,23 +422,19 @@ export default {
}, },
getList() { getList() {
this.listLoading = true this.listLoading = true
getList({ getList(this.listQuery).then((rep) => {
current: this.listQuery.current,
size: this.listQuery.size,
params: {
proDefName: this.listQuery.params.proDefName,
startDate: this.listQuery.params.startDate,
endDate: this.listQuery.params.endDate,
userSid: this.listQuery.params.userSid
}
}).then((rep) => {
this.listLoading = false this.listLoading = false
this.list = rep.data.records if (rep.success) {
this.total = rep.data.total this.list = rep.data.records
this.listQuery.total = rep.data.total
} else {
this.list = []
this.listQuery.total = 0
}
}) })
}, },
handleFilter() { handleFilter() {
this.listQuery.pageNumber = 1 this.listQuery.current = 1
this.getList() this.getList()
}, },
handleSelectionChange() { handleSelectionChange() {

8
anrui-system-ui/src/views/flow/todoList.vue

@ -12,6 +12,9 @@
<el-form-item label="流程名称"> <el-form-item label="流程名称">
<el-input v-model="listQuery.params.proDefName" placeholder="流程名称" clearable></el-input> <el-input v-model="listQuery.params.proDefName" placeholder="流程名称" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="发起人">
<el-input v-model="listQuery.params.startUserName" placeholder="" clearable></el-input>
</el-form-item>
<el-form-item label="申请日期"> <el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.startDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd"></el-date-picker> <el-date-picker v-model="listQuery.params.startDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd"></el-date-picker>
<label></label> <label></label>
@ -195,7 +198,8 @@ export default {
proDefName: '', proDefName: '',
startDate: '', startDate: '',
endDate: '', endDate: '',
userSid: '' userSid: '',
startUserName: ''
} }
} }
} }
@ -511,7 +515,7 @@ export default {
}) })
}, },
handleFilter() { handleFilter() {
this.listQuery.pageNumber = 1 this.listQuery.current = 1
this.getList() this.getList()
}, },
handleSelectionChange() { handleSelectionChange() {

133
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoDto.java

@ -11,115 +11,64 @@ import java.util.List;
public class BillApplicationIInfoDto implements Dto { public class BillApplicationIInfoDto implements Dto {
private static final long serialVersionUID = -3912119646277339550L; private static final long serialVersionUID = -3912119646277339550L;
@ApiModelProperty("业务sid") @ApiModelProperty("业务sid")
private String sid; private String sid;
@ApiModelProperty(value = "销售类型value")
@ApiModelProperty("用户sid") private String saleType;
@JsonProperty("userSid") @ApiModelProperty("部门-人员名")
private String userSid; private String publishInfo;
@ApiModelProperty(value = "销售部门名称")
@ApiModelProperty("合同编号") private String sellerDept;
@JsonProperty("contractId") @ApiModelProperty(value = "销售专员名称")
private String contractNo; private String sellerName;
@ApiModelProperty("开票总价")
@JsonProperty("invoiceTotal")
private String totalBillMoney;
@ApiModelProperty("单台开票价")
@JsonProperty("invoiceMoney")
private String oneBillMoney;
@ApiModelProperty("客户名称")
@JsonProperty("customer")
private String customerName;
@ApiModelProperty("申请日期") @ApiModelProperty("申请日期")
@JsonProperty("date") private String date;
private String applyDate; @ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("备注") @ApiModelProperty(value = "开票单位名称")
private String remarks; private String invoicingUnit;
@ApiModelProperty(value = "开票类型key")
private String openTickTypeKey;
@ApiModelProperty(value = "开票类型value")
private String openTickTypeValue;
@ApiModelProperty(value = "开票名称")
private String openTickName;
@ApiModelProperty("单台开票价")
private String invoiceMoney;
@ApiModelProperty("车辆集合") @ApiModelProperty("车辆集合")
private List<VinListDto> vinList; private List<VinListDto> vinList;
@ApiModelProperty("开票总价")
private String invoiceTotal;
@ApiModelProperty("开票状态") @ApiModelProperty("开票状态")
@JsonProperty("invoiceState") private String invoiceState;
private String billState; // 开票状态
@ApiModelProperty("开票状态") @ApiModelProperty("开票状态")
@JsonProperty("invoiceStateKey") private String invoiceStateKey;
private String billStateKey;// 开票状态key @ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("开票挂车信息")
private List<FinBillTrailerDto> finBillTrailers; // 开票挂车信息
@ApiModelProperty("证件")
private List<String> idCardImages;
@ApiModelProperty("客户开票申请书") @ApiModelProperty("客户开票申请书")
private List<String> customerInvoiceApplyImages; private List<String> customerInvoiceApplyImages;
@ApiModelProperty("车辆登记合同") @ApiModelProperty("车辆登记合同")
private List<String> registerContractImages; private List<String> registerContractImages;
@ApiModelProperty("确认书")
@ApiModelProperty("开票信息确认书")
private List<String> invoiceApplyConfirmImages; private List<String> invoiceApplyConfirmImages;
@ApiModelProperty("任务id") @ApiModelProperty("任务id")
private String taskId; private String taskId;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("流程实列id") @ApiModelProperty("流程实列id")
@JsonProperty("procInsId") private String procInsId;
private String procInstSid;
@ApiModelProperty("合同sid") @ApiModelProperty("合同sid")
@JsonProperty("contractSid")
private String contractSid; private String contractSid;
@ApiModelProperty("合同编号")
@ApiModelProperty("发起人姓名") private String contractId;
private String createByName;
@ApiModelProperty(value = "发起部门sid")
private String deptSid;
@ApiModelProperty(value = "发起部门名称")
private String deptName;
@ApiModelProperty(value = "销售专员sid")
private String staffSid;
@ApiModelProperty(value = "销售专员名称")
private String staffName;
@ApiModelProperty(value = "销售部门sid")
private String saleDeptSid;
@ApiModelProperty(value = "销售部门名称")
private String saleDeptName;
@ApiModelProperty(value = "销售类型key")
private String saleTypeKey;
@ApiModelProperty(value = "销售类型value")
private String saleTypeValue;
@ApiModelProperty(value = "开票单位sid")
private String openTickUnitSid;
@ApiModelProperty(value = "开票单位名称")
private String openTickUnitName;
@ApiModelProperty(value = "是否领取发票原件")
private String isLQOrigInvoice;
@ApiModelProperty(value = "开票类型key")
private String openTickTypeKey;
@ApiModelProperty(value = "开票类型value")
private String openTickTypeValue;
@ApiModelProperty(value = "开票名称sid")
private String openTickSid;
@ApiModelProperty(value = "开票名称")
private String openTickName;
@ApiModelProperty(value = "欠款金额")
private String arrearsMoney;
@ApiModelProperty(value = "承诺回款日期")
private String returnedMoneyDate;
@ApiModelProperty(value = "欠款开票原因key")
private String arrearsOpenYYKey;
@ApiModelProperty(value = "欠款开票原因value")
private String arrearsOpenYYValue;
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型名称")
private String modelName; // 车型名称
@ApiModelProperty("单据编号") @ApiModelProperty("单据编号")
private String billNo; // 单据编号 private String billNo; // 单据编号
@ApiModelProperty("开票挂车信息") @ApiModelProperty("是否可以编辑开票价")
private List<FinBillTrailerDto> finBillTrailers; // 开票挂车信息 private Boolean isCanEdit; // 是否可以编辑开票价
} }

137
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java

@ -13,117 +13,62 @@ public class BillApplicationIInfoVo implements Vo {
@ApiModelProperty("业务sid") @ApiModelProperty("业务sid")
private String sid; private String sid;
@ApiModelProperty(value = "销售类型value")
@ApiModelProperty("用户sid") private String saleType;
@JsonProperty("userSid") @ApiModelProperty("部门-人员名")
private String createBySid; private String publishInfo;
@ApiModelProperty(value = "销售部门名称")
@ApiModelProperty("合同编号") private String sellerDept;
@JsonProperty("contractId") @ApiModelProperty(value = "销售专员名称")
private String contractNo; private String sellerName;
@ApiModelProperty("开票总价")
@JsonProperty("invoiceTotal")
private String totalBillMoney;
@ApiModelProperty("单台开票价")
@JsonProperty("invoiceMoney")
private String oneBillMoney;
@ApiModelProperty("客户名称")
@JsonProperty("customer")
private String customerName;
@ApiModelProperty("申请日期") @ApiModelProperty("申请日期")
@JsonProperty("date") private String date;
private String applyDate; @ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("备注") @ApiModelProperty(value = "开票单位名称")
private String remarks; private String invoicingUnit;
@ApiModelProperty(value = "开票类型key")
private String openTickTypeKey;
@ApiModelProperty(value = "开票类型value")
private String openTickTypeValue;
@ApiModelProperty(value = "开票名称")
private String openTickName;
@ApiModelProperty("单台开票价")
private String invoiceMoney;
@ApiModelProperty("车辆集合") @ApiModelProperty("车辆集合")
private List<VinListVo> vinList; private List<VinListVo> vinList;
@ApiModelProperty("开票总价")
private String invoiceTotal;
@ApiModelProperty("开票状态") @ApiModelProperty("开票状态")
@JsonProperty("invoiceState") private String invoiceState;
private String billState;
@ApiModelProperty("开票状态") @ApiModelProperty("开票状态")
@JsonProperty("invoiceStateKey") private String invoiceStateKey;
private String billStateKey; @ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("开票挂车信息")
private List<FinBillTrailerVo> finBillTrailers; // 开票挂车信息
@ApiModelProperty("证件")
private List<String> idCardImages;
@ApiModelProperty("客户开票申请书") @ApiModelProperty("客户开票申请书")
private List<String> customerInvoiceApplyImages; private List<String> customerInvoiceApplyImages;
@ApiModelProperty("车辆登记合同") @ApiModelProperty("车辆登记合同")
private List<String> registerContractImages; private List<String> registerContractImages;
@ApiModelProperty("确认书")
@ApiModelProperty("开票信息确认书")
private List<String> invoiceApplyConfirmImages; private List<String> invoiceApplyConfirmImages;
@ApiModelProperty("任务id") @ApiModelProperty("任务id")
@JsonProperty("")
private String taskId; private String taskId;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("流程实列id") @ApiModelProperty("流程实列id")
@JsonProperty("procInsId") private String procInsId;
private String procInstId;
@ApiModelProperty("合同sid") @ApiModelProperty("合同sid")
@JsonProperty("contractSid")
private String contractSid; private String contractSid;
@ApiModelProperty("合同编号")
@ApiModelProperty("是否能填写开票价") private String contractId;
private Boolean canEdit;
@ApiModelProperty("发起人姓名")
private String createByName;
@ApiModelProperty(value = "发起部门sid")
private String deptSid;
@ApiModelProperty(value = "发起部门名称")
private String deptName;
@ApiModelProperty(value = "销售专员sid")
private String staffSid;
@ApiModelProperty(value = "销售专员名称")
private String staffName;
@ApiModelProperty(value = "销售部门sid")
private String saleDeptSid;
@ApiModelProperty(value = "销售部门名称")
private String saleDeptName;
@ApiModelProperty(value = "销售类型key")
private String saleTypeKey;
@ApiModelProperty(value = "销售类型value")
private String saleTypeValue;
@ApiModelProperty(value = "开票单位sid")
private String openTickUnitSid;
@ApiModelProperty(value = "开票单位名称")
private String openTickUnitName;
@ApiModelProperty(value = "是否领取发票原件")
private String isLQOrigInvoice;
@ApiModelProperty(value = "开票类型key")
private String openTickTypeKey;
@ApiModelProperty(value = "开票类型value")
private String openTickTypeValue;
@ApiModelProperty(value = "开票名称sid")
private String openTickSid;
@ApiModelProperty(value = "开票名称")
private String openTickName;
@ApiModelProperty(value = "欠款金额")
private String arrearsMoney;
@ApiModelProperty(value = "承诺回款日期")
private String returnedMoneyDate;
@ApiModelProperty(value = "欠款开票原因key")
private String arrearsOpenYYKey;
@ApiModelProperty(value = "欠款开票原因value")
private String arrearsOpenYYValue;
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型名称")
private String modelName; // 车型名称
@ApiModelProperty("单据编号") @ApiModelProperty("单据编号")
private String billNo; // 单据编号 private String billNo; // 单据编号
@ApiModelProperty("开票挂车信息") @ApiModelProperty("是否可以编辑开票价")
private List<FinBillTrailerVo> finBillTrailers; // 开票挂车信息 private Boolean isCanEdit; // 是否可以编辑开票价
} }

6
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/FinBillTrailerVo.java

@ -48,10 +48,6 @@ import lombok.Data;
@ApiModel(value = "开票挂车信息表 视图数据对象", description = "开票挂车信息表 视图数据对象") @ApiModel(value = "开票挂车信息表 视图数据对象", description = "开票挂车信息表 视图数据对象")
public class FinBillTrailerVo implements Vo { public class FinBillTrailerVo implements Vo {
private String sid; // sid
@ApiModelProperty("创建人接口")
private String createByName; // 创建人接口
@ApiModelProperty("主车车架号") @ApiModelProperty("主车车架号")
private String vinNo; // 主车车架号 private String vinNo; // 主车车架号
@ApiModelProperty("挂车车架号") @ApiModelProperty("挂车车架号")
@ -60,8 +56,6 @@ public class FinBillTrailerVo implements Vo {
private String billTypeKey; // 开票类型key private String billTypeKey; // 开票类型key
@ApiModelProperty("开票类型value") @ApiModelProperty("开票类型value")
private String billTypeValue; // 开票类型value private String billTypeValue; // 开票类型value
@ApiModelProperty("开票名称sid")
private String openTickSid; // 开票名称sid
@ApiModelProperty("开票名称") @ApiModelProperty("开票名称")
private String openTickName; // 开票名称 private String openTickName; // 开票名称
@ApiModelProperty("开票申请单sid") @ApiModelProperty("开票申请单sid")

27
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/VinListDto.java

@ -10,28 +10,17 @@ public class VinListDto implements Dto {
private static final long serialVersionUID = 1941205415631089700L; private static final long serialVersionUID = 1941205415631089700L;
@ApiModelProperty("车架号") @ApiModelProperty("车架号")
@JsonProperty("vin") private String vin;
private String VIN;
@ApiModelProperty("开票名称")
private String invoiceName;
@ApiModelProperty("开票名称")
private String invoiceNameKey;
@ApiModelProperty("开票类型") @ApiModelProperty("开票类型")
@JsonProperty("invoiceType") private String invoiceTypeKey;
private String billTypeValue;
@ApiModelProperty("开票类型") @ApiModelProperty("开票类型")
@JsonProperty("invoiceTypeKey") private String invoiceType;
private String billTypeKey; @ApiModelProperty("开票名称")
private String invoiceName;
@ApiModelProperty("开票信息")
private String invoiceInfo; // 开票信息
@ApiModelProperty("合格证状态key") @ApiModelProperty("合格证状态key")
private String certificateStateKey; // 合格证状态key private String certificateStateKey; // 合格证状态key
@ApiModelProperty("合格证状态value") @ApiModelProperty("合格证状态value")
private String certificateStateValue; // 合格证状态value private String certificateState; // 合格证状态value
@ApiModelProperty("开票信息")
private String openTickRemarks; // 开票信息
} }

26
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/VinListVo.java

@ -11,27 +11,17 @@ public class VinListVo implements Vo {
private static final long serialVersionUID = -8613016702728614645L; private static final long serialVersionUID = -8613016702728614645L;
@ApiModelProperty("车架号") @ApiModelProperty("车架号")
@JsonProperty("vin") private String vin;
private String VIN;
@ApiModelProperty("开票名称")
private String invoiceName;
@ApiModelProperty("开票名称")
private String invoiceNameKey;
@ApiModelProperty("开票类型") @ApiModelProperty("开票类型")
@JsonProperty("invoiceType") private String invoiceTypeKey;
private String billTypeValue;
@ApiModelProperty("开票类型") @ApiModelProperty("开票类型")
@JsonProperty("invoiceTypeKey") private String invoiceType;
private String billTypeKey; @ApiModelProperty("开票名称")
private String invoiceName;
@ApiModelProperty("开票信息")
private String invoiceInfo; // 开票信息
@ApiModelProperty("合格证状态key") @ApiModelProperty("合格证状态key")
private String certificateStateKey; // 合格证状态key private String certificateStateKey; // 合格证状态key
@ApiModelProperty("合格证状态value") @ApiModelProperty("合格证状态value")
private String certificateStateValue; // 合格证状态value private String certificateState; // 合格证状态value
@ApiModelProperty("开票信息")
private String openTickRemarks; // 开票信息
} }

12
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredDetailsVo.java

@ -26,6 +26,18 @@ public class DeliveredDetailsVo implements Vo {
@ApiModelProperty("销售部门") @ApiModelProperty("销售部门")
@JsonProperty("sellerDept") @JsonProperty("sellerDept")
private String staffDeptName; private String staffDeptName;
@ApiModelProperty("销售专员sid")
@JsonProperty("staffSid")
private String pcStaffSid;
@ApiModelProperty("PC发起人sid")
@JsonProperty("applySid")
private String pcApplySid;
@ApiModelProperty("PC发起人部门")
@JsonProperty("applyDept")
private String pcApplyDept;
@JsonProperty("applyDeptSid")
@ApiModelProperty("PC发起人部门sid")
private String pcApplyDeptSid;
@ApiModelProperty("销售专员") @ApiModelProperty("销售专员")
@JsonProperty("sellerName") @JsonProperty("sellerName")

38
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java

@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSON;
import com.yxt.anrui.base.api.commoncontract.flowable.AppSubmitContractInfoDto; import com.yxt.anrui.base.api.commoncontract.flowable.AppSubmitContractInfoDto;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoicePageQuery; import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoicePageQuery;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoicePageVo; import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoicePageVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderIsDTKPJVo;
import com.yxt.anrui.fin.api.finbillapplication.*; import com.yxt.anrui.fin.api.finbillapplication.*;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillCompleteDto; import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillCompleteDto;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeQuery; import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeQuery;
@ -58,6 +60,8 @@ public class InvoicedService {
private SysUserFeign sysUserFeign; private SysUserFeign sysUserFeign;
@Autowired @Autowired
private SysStaffOrgFeign sysStaffOrgFeign; private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
public ResultBean<PagerVo<BillApplicationPageVo>> getInvoicedApplyList(PagerQuery<BillApplicationPageQuery> pagerQuery) { public ResultBean<PagerVo<BillApplicationPageVo>> getInvoicedApplyList(PagerQuery<BillApplicationPageQuery> pagerQuery) {
@ -80,19 +84,20 @@ public class InvoicedService {
} }
FinBillApplicationDetailsVo finBillApplicationDetailsVo = resultBean.getData(); FinBillApplicationDetailsVo finBillApplicationDetailsVo = resultBean.getData();
BeanUtil.copyProperties(finBillApplicationDetailsVo, vo); BeanUtil.copyProperties(finBillApplicationDetailsVo, vo);
vo.setCreateBySid(finBillApplicationDetailsVo.getCreateBySid()); vo.setUserSid(finBillApplicationDetailsVo.getCreateBySid());
vo.setPublishInfo(finBillApplicationDetailsVo.getDeptName() + "-" + finBillApplicationDetailsVo.getCreateByName());
//车辆信息 //车辆信息
List<VinListVo> vinListVos = new ArrayList<>(); List<VinListVo> vinListVos = new ArrayList<>();
List<FinBillVehicleVo> finBillVehicles = finBillApplicationDetailsVo.getFinBillVehicles(); List<FinBillVehicleVo> finBillVehicles = finBillApplicationDetailsVo.getFinBillVehicles();
for (FinBillVehicleVo finBillVehicle : finBillVehicles) { for (FinBillVehicleVo finBillVehicle : finBillVehicles) {
VinListVo vinListVo = new VinListVo(); VinListVo vinListVo = new VinListVo();
vinListVo.setVIN(finBillVehicle.getVinNo()); vinListVo.setVin(finBillVehicle.getVinNo());
vinListVo.setCertificateStateKey(finBillVehicle.getCertificateStateKey()); vinListVo.setCertificateStateKey(finBillVehicle.getCertificateStateKey());
vinListVo.setCertificateStateValue(finBillVehicle.getCertificateStateValue()); vinListVo.setCertificateState(finBillVehicle.getCertificateStateValue());
vinListVo.setBillTypeKey(finBillVehicle.getBillTypeKey()); vinListVo.setInvoiceTypeKey(finBillVehicle.getBillTypeKey());
vinListVo.setBillTypeValue(finBillVehicle.getBillTypeValue()); vinListVo.setInvoiceType(finBillVehicle.getBillTypeValue());
vinListVo.setInvoiceName(finBillVehicle.getOpenTickName()); vinListVo.setInvoiceName(finBillVehicle.getOpenTickName());
vinListVo.setOpenTickRemarks(finBillVehicle.getOpenTickRemarks()); vinListVo.setInvoiceInfo(finBillVehicle.getOpenTickRemarks());
vinListVos.add(vinListVo); vinListVos.add(vinListVo);
} }
vo.setVinList(vinListVos); vo.setVinList(vinListVos);
@ -129,6 +134,14 @@ public class InvoicedService {
registerContractImages.add(cldjhtApplicationAppendx.getFileUrl()); registerContractImages.add(cldjhtApplicationAppendx.getFileUrl());
} }
} }
BusSalesOrderIsDTKPJVo busSalesOrderIsDTKPJVo = busSalesOrderFeign.fetchByContractNo(finBillApplicationDetailsVo.getContractNo()).getData();
if (StringUtils.isNotBlank(busSalesOrderIsDTKPJVo.getOneBillMoney())){
vo.setIsCanEdit(false);
vo.setInvoiceMoney(busSalesOrderIsDTKPJVo.getOneBillMoney());
}else {
vo.setIsCanEdit(true);
vo.setInvoiceMoney(busSalesOrderIsDTKPJVo.getOneBillMoney());
}
return rb.success().setData(vo); return rb.success().setData(vo);
} }
@ -136,18 +149,21 @@ public class InvoicedService {
FinBillApplicationDto finBillApplicationDto = new FinBillApplicationDto(); FinBillApplicationDto finBillApplicationDto = new FinBillApplicationDto();
BeanUtil.copyProperties(dto, finBillApplicationDto); BeanUtil.copyProperties(dto, finBillApplicationDto);
finBillApplicationDto.setCreateBySid(dto.getUserSid()); finBillApplicationDto.setCreateBySid(dto.getUserSid());
String publishInfo = dto.getPublishInfo();
finBillApplicationDto.setDeptName(publishInfo.substring(0,publishInfo.lastIndexOf("-")));
finBillApplicationDto.setCreateByName(publishInfo.substring(publishInfo.lastIndexOf("-")));
//开票车辆信息 //开票车辆信息
List<VinListDto> vinList = dto.getVinList(); List<VinListDto> vinList = dto.getVinList();
List<FinBillVehicleDto> finBillVehicleDtos = new ArrayList<>(); List<FinBillVehicleDto> finBillVehicleDtos = new ArrayList<>();
for (VinListDto vinListDto : vinList) { for (VinListDto vinListDto : vinList) {
FinBillVehicleDto finBillVehicleDto = new FinBillVehicleDto(); FinBillVehicleDto finBillVehicleDto = new FinBillVehicleDto();
finBillVehicleDto.setVinNo(vinListDto.getVIN()); finBillVehicleDto.setVinNo(vinListDto.getVin());
finBillVehicleDto.setCertificateStateKey(vinListDto.getCertificateStateKey()); finBillVehicleDto.setCertificateStateKey(vinListDto.getCertificateStateKey());
finBillVehicleDto.setCertificateStateValue(vinListDto.getCertificateStateValue()); finBillVehicleDto.setCertificateStateValue(vinListDto.getCertificateState());
finBillVehicleDto.setBillTypeKey(vinListDto.getBillTypeKey()); finBillVehicleDto.setBillTypeKey(vinListDto.getInvoiceTypeKey());
finBillVehicleDto.setBillTypeValue(vinListDto.getBillTypeValue()); finBillVehicleDto.setBillTypeValue(vinListDto.getInvoiceType());
finBillVehicleDto.setOpenTickName(vinListDto.getInvoiceName()); finBillVehicleDto.setOpenTickName(vinListDto.getInvoiceName());
finBillVehicleDto.setOpenTickRemarks(vinListDto.getOpenTickRemarks()); finBillVehicleDto.setOpenTickRemarks(vinListDto.getInvoiceInfo());
finBillVehicleDtos.add(finBillVehicleDto); finBillVehicleDtos.add(finBillVehicleDto);
} }
finBillApplicationDto.setFinBillVehicles(finBillVehicleDtos); finBillApplicationDto.setFinBillVehicles(finBillVehicleDtos);

88
工作内容需要的文档/单据模板/销售订单审批下载模板/xsddsp.ftl

@ -2506,50 +2506,6 @@
</#if> </#if>
</#list> </#list>
</w:tbl> </w:tbl>
<#list photoPath64 as photo>
<w:p wsp:rsidR="00B25CE6" wsp:rsidRDefault="00195CBF">
<w:r wsp:rsidRPr="00956103">
<w:rPr>
<w:noProof/>
</w:rPr>
<w:pict>
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype>
<w:binData w:name="wordml://${photo_index}.png" xml:space="preserve">${photo}</w:binData>
<v:shape id="${photo_index}" o:spid="_x0000_i1025" type="#_x0000_t75" alt="1"
style="width:450pt;height:750pt;visibility:visible;mso-wrap-style:square">
<v:imagedata src="wordml://${photo_index}.png" o:title="1"/>
</v:shape>
</w:pict>
</w:r>
</w:p>
</#list>
<w:p wsp:rsidR="000E03BD" wsp:rsidRPr="000E03BD" wsp:rsidRDefault="000E03BD" wsp:rsidP="000E03BD">
<w:pPr>
<w:rPr>
<w:vanish/>
</w:rPr>
</w:pPr>
</w:p>
<w:tbl> <w:tbl>
<w:tblPr> <w:tblPr>
<w:tblW w:w="0" w:type="auto"/> <w:tblW w:w="0" w:type="auto"/>
@ -2697,6 +2653,50 @@
</w:tc> </w:tc>
</w:tr> </w:tr>
</w:tbl> </w:tbl>
<#list photoPath64 as photo>
<w:p wsp:rsidR="00B25CE6" wsp:rsidRDefault="00195CBF">
<w:r wsp:rsidRPr="00956103">
<w:rPr>
<w:noProof/>
</w:rPr>
<w:pict>
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype>
<w:binData w:name="wordml://${photo_index}.png" xml:space="preserve">${photo}</w:binData>
<v:shape id="${photo_index}" o:spid="_x0000_i1025" type="#_x0000_t75" alt="1"
style="width:400pt;height:650pt;visibility:visible;mso-wrap-style:square">
<v:imagedata src="wordml://${photo_index}.png" o:title="1"/>
</v:shape>
</w:pict>
</w:r>
</w:p>
</#list>
<w:p wsp:rsidR="000E03BD" wsp:rsidRPr="000E03BD" wsp:rsidRDefault="000E03BD" wsp:rsidP="000E03BD">
<w:pPr>
<w:rPr>
<w:vanish/>
</w:rPr>
</w:pPr>
</w:p>
<w:p wsp:rsidR="00F15DA9" wsp:rsidRDefault="00F15DA9"/> <w:p wsp:rsidR="00F15DA9" wsp:rsidRDefault="00F15DA9"/>
<w:sectPr wsp:rsidR="00F15DA9"> <w:sectPr wsp:rsidR="00F15DA9">
<w:pgSz w:w="11906" w:h="16838"/> <w:pgSz w:w="11906" w:h="16838"/>

Loading…
Cancel
Save