Browse Source

欠款开票

master
God 2 years ago
parent
commit
6dd62a8063
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java
  3. 23
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQKKPQuery.java
  4. 20
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQKKPTrailerVo.java
  5. 31
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQKKPVo.java
  6. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java
  7. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java
  8. 34
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractQKQuery.java
  9. 1
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java
  10. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java
  11. 926
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  12. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  13. 39
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  14. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java
  15. 93
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml
  16. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java
  17. 26
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  18. 6
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDto.java
  19. 45
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java
  20. 50
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeignFallback.java
  21. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillfile/FinAttachTypeEnum.java
  22. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillfile/kpxxqrs.java
  23. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillvehicle/FinBillVehicle.java
  24. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillvehicle/FinBillVehicleDetailsVo.java
  25. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillvehicle/FinBillVehicleDto.java
  26. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillvehicle/FinBillVehicleQuery.java
  27. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java
  28. 7
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.xml
  29. 63
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java
  30. 653
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  31. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundDto.java
  32. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java

@ -293,6 +293,10 @@ public interface BaseVehicleFeign {
@PostMapping("/vehicleCrmList")
ResultBean<PagerVo<BaseVehicleCrmVo>> vehicleCrmList(@RequestBody PagerQuery<BaseVehicleCrmQuery> pagerQuery);
@ApiOperation("欠款开票选择车辆分页列表")
@PostMapping("/vehicleQKKPList")
ResultBean<PagerVo<BaseVehicleQKKPVo>> vehicleQKKPList(@RequestBody PagerQuery<BaseVehicleQKKPQuery> pagerQuery);
@ApiOperation("采购退库更新状态")
@PostMapping("/updateByVinNo")
ResultBean updateByVinNo(@RequestBody BaseVehicleUpdateQuery baseVehicleUpdateQuery);

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java

@ -172,6 +172,11 @@ public class BaseVehicleFeignFallback implements BaseVehicleFeign {
return null;
}
@Override
public ResultBean<PagerVo<BaseVehicleQKKPVo>> vehicleQKKPList(PagerQuery<BaseVehicleQKKPQuery> pagerQuery) {
return null;
}
@Override
public ResultBean updateByVinNo(BaseVehicleUpdateQuery baseVehicleUpdateQuery) {
return null;

23
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQKKPQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.base.api.basevehicle;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/4/22 8:49
* @Description
*/
@Data
public class BaseVehicleQKKPQuery implements Query {
@ApiModelProperty(value = "合同编号")
private String contractNo;
@ApiModelProperty(value = "车辆sid")
private List<String> vinSids;
@ApiModelProperty("车架号")
private String vinNo; // 车架号
}

20
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQKKPTrailerVo.java

@ -0,0 +1,20 @@
package com.yxt.anrui.base.api.basevehicle;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/4/22 8:49
* @Description
*/
@Data
public class BaseVehicleQKKPTrailerVo implements Vo {
@ApiModelProperty("挂车车架号")
private String gcVinNo; // 挂车车架号
@ApiModelProperty("车架号")
private String vinNo; // 车架号
}

31
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQKKPVo.java

@ -0,0 +1,31 @@
package com.yxt.anrui.base.api.basevehicle;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/4/22 8:49
* @Description
*/
@Data
public class BaseVehicleQKKPVo implements Vo {
@ApiModelProperty(value = "合同编号")
private String contractNo;
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("车辆sid")
private String vehSid; // 车辆sid
@ApiModelProperty("合格证状态key")
private String certificateState; // 合格证状态key
@ApiModelProperty("合格证状态value")
private String certificateStateValue; // 合格证状态value
@ApiModelProperty(value = "挂车信息")
private List<BaseVehicleQKKPTrailerVo> trailers;
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java

@ -234,4 +234,9 @@ public interface CommonContractFeign {
@PostMapping("/saveContract")
@ResponseBody
ResultBean saveContract(@RequestBody CommonContract commonContract);
@ApiOperation("查询业务员名下的合同信息")
@PostMapping("/selectByStaffSid")
@ResponseBody
ResultBean<PagerVo<CommonContractVo>> selectByStaffSid(@RequestBody PagerQuery<CommonContractQKQuery> query);
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java

@ -247,4 +247,9 @@ public class CommonContractFeignFallback implements CommonContractFeign {
public ResultBean saveContract(CommonContract commonContract) {
return null;
}
@Override
public ResultBean<PagerVo<CommonContractVo>> selectByStaffSid(PagerQuery<CommonContractQKQuery> query) {
return null;
}
}

34
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractQKQuery.java

@ -0,0 +1,34 @@
package com.yxt.anrui.base.api.commoncontract;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(安瑞基础) <br/>
* File: CommonContractQuery.java <br/>
* Class: com.yxt.anrui.base.api.commoncontract.CommonContractQuery <br/>
* Description: 合同表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-12 14:02:40 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "合同表 查询条件", description = "合同表 查询条件")
@Data
public class CommonContractQKQuery implements Query {
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("销售专员sid")
private String staffSid;
@ApiModelProperty("部门sid")
private String deptSid;
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
}

1
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java

@ -24,6 +24,7 @@ public enum BillTypeEnum {
XSDD("XSDD","销售订单"),
SKD("SKD","款项确认"),
KPSQ("KPSQ","公司开票申请"),
QKKP("QKKP","欠款开票"),
GCRK("GCRK","挂车入库"),
SZRK("SZRK","上装入库"),
XSDDTCSQ("XSDDTCSQ","销售订单退车申请"),

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java

@ -499,4 +499,6 @@ public interface BaseVehicleMapper extends BaseMapper<BaseVehicle> {
//导出车辆台账信息
List<BaseVehicleExportVo> selByExcel(@Param(Constants.WRAPPER) QueryWrapper<BaseVehicleExportVo> qw);
IPage<BaseVehicleQKKPVo> vehicleQKKPPageList(IPage<BaseVehicleQKKPVo> page,@Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw);
}

926
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml

@ -581,908 +581,6 @@
bv.lockedState,
<!--品牌名称-->
bvm.brandName,
<!--车型名称-->
@ -1630,8 +728,8 @@
WHERE bvad.vehicleSid = bvm.sid
AND bvad.configSid = bvc.configurationItemsSid)
) AS num,
bvm.vehicleTypeCode,
bmc.configCode
bvm.vehicleTypeCode,
bmc.configCode
FROM base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid
@ -1961,7 +1059,7 @@
or bv.vehicleStateValue = '在途'
or bv.vehicleStateValue = '调入'
)
and bv.isDelete = 0
and bv.isDelete = 0
order by isFictitious, bv.locationName, bv.vinNo desc
</select>
@ -2605,4 +1703,22 @@
${ew.sqlSegment}
</where>
</select>
<select id="vehicleQKKPPageList" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicleQKKPVo">
SELECT
bsov.linkNo AS vinNo,
bsov.`linkSid` AS vehSid,
bso.`customerName`,
bso.`contractNo`,
bvc.certificateState,
bvc.`certificateStateValue`
FROM anrui_buscenter.bus_sales_order_vehicle bsov
LEFT JOIN anrui_buscenter.bus_sales_order bso
ON bsov.`salesOrderSid` = bso.`sid`
LEFT JOIN base_vehicle_certificate bvc
ON bsov.`linkSid` = bvc.`vehicleSid`
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java

@ -1103,6 +1103,13 @@ public class BaseVehicleRest implements BaseVehicleFeign {
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<BaseVehicleQKKPVo>> vehicleQKKPList(PagerQuery<BaseVehicleQKKPQuery> pagerQuery) {
ResultBean<PagerVo<BaseVehicleQKKPVo>> rb = ResultBean.fireFail();
PagerVo<BaseVehicleQKKPVo> pv = baseVehicleService.vehicleQKKPList(pagerQuery);
return rb.success().setData(pv);
}
@Override
public ResultBean updateByVinNo(BaseVehicleUpdateQuery baseVehicleUpdateQuery) {
return baseVehicleService.updateByVinNo(baseVehicleUpdateQuery);

39
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -13,6 +13,8 @@ import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigListVo;
import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfig;
import com.yxt.anrui.base.api.basemodelmodprice.BaseModelVehicleVersionVo;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchSystemVo;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo;
import com.yxt.anrui.base.api.basetrailer.TrailerVo;
import com.yxt.anrui.base.api.basevehicle.*;
import com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo;
import com.yxt.anrui.base.api.basevehicle.app.GetVinQuery;
@ -26,6 +28,7 @@ import com.yxt.anrui.base.api.commonappendix.CommonAppendix;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum;
import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService;
import com.yxt.anrui.base.biz.basetrailer.BaseTrailerService;
import com.yxt.anrui.base.biz.basevehicleappendix.BaseVehicleAppendixService;
import com.yxt.anrui.base.biz.basevehiclecertificate.BaseVehicleCertificateService;
import com.yxt.anrui.base.biz.basevehiclemodelappendix.BaseVehicleModelAppendixService;
@ -127,6 +130,8 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
private AppSubsetVersionFeign appSubsetVersionFeign;
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
@Autowired
private BaseTrailerService baseTrailerService;
/**
* 车辆信息分页列表
@ -3825,4 +3830,38 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
}
return rb.success().setData(baseExistingCarListVo);
}
public PagerVo<BaseVehicleQKKPVo> vehicleQKKPList(PagerQuery<BaseVehicleQKKPQuery> pagerQuery) {
IPage<BaseVehicleQKKPVo> page = vehicleQKKPPageList(pagerQuery);
List<BaseVehicleQKKPTrailerVo> baseVehicleQKKPTrailerVos = new ArrayList<>();
for (BaseVehicleQKKPVo record : page.getRecords()) {
List<TrailerVo> trailerVos = baseTrailerService.trailerList(record.getVehSid()).getData();
if (trailerVos != null && trailerVos.size() > 0){
for (TrailerVo trailerVo : trailerVos) {
BaseVehicleQKKPTrailerVo baseVehicleQKKPTrailerVo = new BaseVehicleQKKPTrailerVo();
baseVehicleQKKPTrailerVo.setVinNo(record.getVinNo());
baseVehicleQKKPTrailerVo.setGcVinNo(trailerVo.getTrailerVinNo());
baseVehicleQKKPTrailerVos.add(baseVehicleQKKPTrailerVo);
}
}
record.setTrailers(baseVehicleQKKPTrailerVos);
}
PagerVo<BaseVehicleQKKPVo> pv = new PagerVo<>();
PagerVo<BaseVehicleQKKPVo> pv1 = PagerUtil.pageToVo(page, pv);
return pv1;
}
private IPage<BaseVehicleQKKPVo> vehicleQKKPPageList(PagerQuery<BaseVehicleQKKPQuery> pagerQuery) {
IPage<BaseVehicleQKKPVo> page = PagerUtil.queryToPage(pagerQuery);
BaseVehicleQKKPQuery params = pagerQuery.getParams();
QueryWrapper<BaseVehicle> qw = new QueryWrapper<>();
qw.eq("bso.contractNo",params.getContractNo());
if (StringUtils.isNotBlank(params.getVinNo())) {
qw.like("bsov.linkNo", params.getVinNo());
}
if (params.getVinSids().size() > 0) {
qw.notIn("bsov.linkSid", params.getVinSids());
}
return baseMapper.vehicleQKKPPageList(page, qw);
}
}

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java

@ -95,4 +95,6 @@ public interface CommonContractMapper extends BaseMapper<CommonContract> {
IPage<AppCommonContractListVo> getAppContractList(IPage<CommonContract> page,@Param(Constants.WRAPPER) QueryWrapper<CommonContract> qw);
int getToDoNum(@Param("userSid") String userSid);
IPage<CommonContractVo> selectByStaffSid(IPage<CommonContract> page,@Param(Constants.WRAPPER) QueryWrapper<CommonContractVo> qw);
}

93
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml

@ -3,7 +3,7 @@
<mapper namespace="com.yxt.anrui.base.biz.commoncontract.CommonContractMapper">
<insert id="saveList">
INSERT INTO common_contract(sid, contractNo, contractType, partyA, partyB, partyC, createBySid,
createDate, address, deposit, contractAmount, remarks)
createDate, address, deposit, contractAmount, remarks)
VALUES
<foreach collection="list" item="item" index="index" separator=",">
(UUID(),<!--sid-->
@ -59,19 +59,19 @@
</select>
<select id="listExcel" resultType="com.yxt.anrui.base.api.commoncontract.CommonContractExportVo">
SELECT cc.`contractNo`,
cc.`contractType`,
cc.`partyA`,
cc.`partyB`,
cc.`partyC`,
suser.`userName` creatName,
cc.`createDate`,
cc.`address`,
cc.`deposit`,
cc.`contractAmount`,
cc.`remarks`
cc.`contractType`,
cc.`partyA`,
cc.`partyB`,
cc.`partyC`,
suser.`userName` creatName,
cc.`createDate`,
cc.`address`,
cc.`deposit`,
cc.`contractAmount`,
cc.`remarks`
FROM common_contract cc
LEFT JOIN anrui_portal.`sys_user` suser
ON cc.createBySid = suser.`sid`
LEFT JOIN anrui_portal.`sys_user` suser
ON cc.createBySid = suser.`sid`
<where>
${ew.sqlSegment}
</where>
@ -88,27 +88,27 @@
</select>
<select id="getContractList" resultType="com.yxt.anrui.base.api.commoncontract.AppCommonContractPageVo">
SELECT sid AS contractSid,
contractNo AS contractId,
contractType,
partyB,
modelName as model,
staffName as handler,
contractAmount AS contractPrice,
if(length(nodeState) > 0, nodeState, '待提交') as nodeState,
if(length(nodeState) > 0, false, true) as isShowUpdate,
commonContractUrl,
num
SELECT sid AS contractSid,
contractNo AS contractId,
contractType,
partyB,
modelName as model,
staffName as handler,
contractAmount AS contractPrice,
if(length(nodeState) > 0, nodeState, '待提交') as nodeState,
if(length(nodeState) > 0, false, true) as isShowUpdate,
commonContractUrl,
num
FROM common_contract
<where>
${ew.sqlSegment}
<if test="names != null and names != ''">
and concat(IFNULL(contractNo
, '')
, ifnull(partyB
, '')) LIKE concat('%'
, #{names}
, '%')
, '')
, ifnull(partyB
, '')) LIKE concat('%'
, #{names}
, '%')
</if>
order by id desc
</where>
@ -157,7 +157,7 @@
<update id="updateFlowFiled">
UPDATE common_contract
SET nodeState=#{nodeState}
, nodeId=#{taskDefKey}
, nodeId=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
@ -184,13 +184,13 @@
<select id="getAppContractList" resultType="com.yxt.anrui.base.api.commoncontract.AppCommonContractListVo">
SELECT contractNo AS contractId,
sid AS contractSid,
partyB AS customer,
modelName AS model,
modelSid,
configSid,
num AS carNum,
price
sid AS contractSid,
partyB AS customer,
modelName AS model,
modelSid,
configSid,
num AS carNum,
price
FROM common_contract
<where>
${ew.sqlSegment}
@ -201,6 +201,23 @@
SELECT count(*)
FROM common_contract
WHERE createBySid = #{userSid}
and (length(nodeState)=0 or nodeState = '销售专员申请' or length(nodeState) IS NULL)
and (length(nodeState) = 0 or nodeState = '销售专员申请' or length(nodeState) IS NULL)
</select>
<select id="selectByStaffSid" resultType="com.yxt.anrui.base.api.commoncontract.CommonContractVo">
SELECT
sid,
contractNo,
customerSid,
partyA,
partyB,
createDate,
modelSid,
modelName
FROM
common_contract
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java

@ -613,4 +613,9 @@ public class CommonContractRest implements CommonContractFeign {
public ResultBean saveContract(CommonContract commonContract) {
return commonContractService.saveContract(commonContract);
}
@Override
public ResultBean<PagerVo<CommonContractVo>> selectByStaffSid(PagerQuery<CommonContractQKQuery> query) {
return commonContractService.selectByStaffSid(query);
}
}

26
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java

@ -1,6 +1,7 @@
package com.yxt.anrui.base.biz.commoncontract;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -2612,4 +2613,29 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
baseMapper.insert(commonContract);
return rb.success();
}
public ResultBean<PagerVo<CommonContractVo>> selectByStaffSid(PagerQuery<CommonContractQKQuery> query) {
ResultBean rb = ResultBean.fireFail();
CommonContractQKQuery params = query.getParams();
QueryWrapper<CommonContractVo> qw = new QueryWrapper<>();
qw.eq("staffSid",params.getStaffSid());
qw.eq("orgSid",params.getDeptSid());
if (StringUtils.isNotBlank(params.getCustomerName())){
qw.like("partyB",params.getCustomerName());
}
if (StringUtils.isNotBlank(params.getContractNo())){
qw.like("contractNo",params.getContractNo());
}
qw.orderByDesc("createDate");
IPage<CommonContract> page = PagerUtil.queryToPage(query);
IPage<CommonContractVo> pagging = baseMapper.selectByStaffSid(page, qw);
for (CommonContractVo record : pagging.getRecords()) {
String createDate = record.getCreateDate();
DateTime dateTime = DateUtil.parse(createDate, "yyyy-MM-dd");
createDate = DateUtil.formatDate(dateTime);
record.setCreateDate(createDate);
}
PagerVo<CommonContractVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
}

6
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDto.java

@ -151,8 +151,10 @@ public class FinBillApplicationDto implements Dto {
private List<FinBillTrailerDto> finBillTrailers; // 开票挂车信息
@ApiModelProperty("客户开票申请书附件信息")
private List<FinBillFileDto> khkpsqsApplicationAppendxs = new ArrayList<>(); // 客户开票申请书附件信息
@ApiModelProperty("开票信息确认书附件信息")
private List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>(); // 开票信息确认书附件信息
@ApiModelProperty("款项确认书附件信息")
private List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>(); // 款项确认书附件信息
@ApiModelProperty("车辆登记合同附件信息")
private List<FinBillFileDto> cldjhtApplicationAppendxs = new ArrayList<>(); // 车辆登记合同附件信息
@ApiModelProperty("证件")
private List<FinBillFileDto> zjApplicationAppendxs = new ArrayList<>(); // 车辆登记合同附件信息
}

45
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java

@ -67,11 +67,26 @@ public interface FinBillApplicationFeign {
@ResponseBody
public ResultBean<PagerVo<FinBillApplicationVo>> listPage(@RequestBody PagerQuery<FinBillApplicationQuery> pq);
@ApiOperation("欠款开票分页列表")
@PostMapping("/listPageQK")
@ResponseBody
public ResultBean<PagerVo<FinBillApplicationVo>> listPageQK(@RequestBody PagerQuery<FinBillApplicationQuery> pq);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody FinBillApplicationDto dto);
@ApiOperation("欠款开票新增或修改")
@PostMapping("/saveQK")
@ResponseBody
public ResultBean saveQK(@RequestBody FinBillApplicationDto dto);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ -112,6 +127,36 @@ public interface FinBillApplicationFeign {
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody FinBillTaskQuery query);
/*************************欠款开票流程管理接口********************************/
@ApiOperation("欠款开票审批流程")
@PostMapping("/submitFinBillApplicationQK")
public ResultBean submitFinBillApplicationQK(@RequestBody @Valid SubmitFinBillApplicationDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/completeQK")
public ResultBean completeQK(@Valid @RequestBody FinBillCompleteDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForRejectQK")
ResultBean<List<FinBillNodeVo>> getPreviousNodesForRejectQK(@Valid @SpringQueryMap FinBillNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmitQK")
ResultBean<List<FinBillNodeVo>> getNextNodesForSubmitQK(@Valid @SpringQueryMap FinBillNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/rejectQK")
public ResultBean rejectQK(@Valid @RequestBody FinBillTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcessQK")
public ResultBean revokeProcessQK(@Valid @RequestBody FinBillTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcessQK")
public ResultBean breakProcessQK(@Valid @RequestBody FinBillTaskQuery query);
/*************************App接口********************************/

50
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeignFallback.java

@ -60,11 +60,26 @@ public class FinBillApplicationFeignFallback implements FinBillApplicationFeign
return rb.setMsg("接口anrui-fin/finbillapplication/listPage无法访问");
}
@Override
public ResultBean<PagerVo<FinBillApplicationVo>> listPageQK(PagerQuery<FinBillApplicationQuery> pq) {
return null;
}
@Override
public ResultBean delBySids(String[] sids) {
return null;
}
@Override
public ResultBean save(FinBillApplicationDto dto){
return ResultBean.fireFail().setMsg("接口anrui-fin/finbillapplication/save无法访问");
}
@Override
public ResultBean saveQK(FinBillApplicationDto dto) {
return null;
}
@Override
public ResultBean<FinBillApplicationDetailsVo> fetchDetailsBySid(String sid){
ResultBean rb = ResultBean.fireFail();
@ -117,6 +132,41 @@ public class FinBillApplicationFeignFallback implements FinBillApplicationFeign
return null;
}
@Override
public ResultBean submitFinBillApplicationQK(SubmitFinBillApplicationDto dto) {
return null;
}
@Override
public ResultBean completeQK(FinBillCompleteDto query) {
return null;
}
@Override
public ResultBean<List<FinBillNodeVo>> getPreviousNodesForRejectQK(FinBillNodeQuery query) {
return null;
}
@Override
public ResultBean<List<FinBillNodeVo>> getNextNodesForSubmitQK(FinBillNodeQuery query) {
return null;
}
@Override
public ResultBean rejectQK(FinBillTaskQuery query) {
return null;
}
@Override
public ResultBean revokeProcessQK(FinBillTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcessQK(FinBillTaskQuery query) {
return null;
}
@Override
public ResultBean<PagerVo<AppBillApplicationPageVo>> getInvoicedApplyList(PagerQuery<AppBillApplicationPageQuery> pagerQuery) {
return null;

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillfile/FinAttachTypeEnum.java

@ -8,8 +8,9 @@ package com.yxt.anrui.fin.api.finbillfile;
public enum FinAttachTypeEnum {
KHKPSQS("001", "客户开票申请书"),
KPXXQRS("002", "开票信息确认书"),
CLDJHT("003", "车辆登记合同");
KPXXQRS("002", "款项确认书"),
CLDJHT("003", "车辆登记合同"),
ZJ("004", "证件");
/**
* 附件类型

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillfile/kpxxqrs.java

@ -11,6 +11,6 @@ public class kpxxqrs {
@ApiModelProperty("名称")
private String name; // 名称
@ApiModelProperty("开票信息确认书附件信息")
private List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>(); // 开票信息确认书附件信息
@ApiModelProperty("款项确认书附件信息")
private List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>(); // 款项确认书附件信息
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillvehicle/FinBillVehicle.java

@ -54,6 +54,8 @@ public class FinBillVehicle extends BaseEntity {
private String createByName; // 创建人接口
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("车辆sid")
private String vehSid; // 车辆sid
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("开票类型key")

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillvehicle/FinBillVehicleDetailsVo.java

@ -55,8 +55,10 @@ public class FinBillVehicleDetailsVo implements Vo {
private String createByName; // 创建人接口
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("车辆sid")
private String vehSid; // 车辆sid
@ApiModelProperty("车架号")
private String VIN; // 车架号
private String vinNo; // 车架号
@ApiModelProperty("开票类型key")
private String billTypeKey; // 开票类型key
@ApiModelProperty("开票类型value")

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillvehicle/FinBillVehicleDto.java

@ -56,6 +56,8 @@ public class FinBillVehicleDto implements Dto {
private String createByName; // 创建人接口
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("车辆sid")
private String vehSid; // 车辆sid
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("开票类型key")

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillvehicle/FinBillVehicleQuery.java

@ -54,7 +54,7 @@ public class FinBillVehicleQuery implements Query {
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("车架号")
private String VIN; // 车架号
private String vinNo; // 车架号
@ApiModelProperty("开票类型key")
private String billTypeKey; // 开票类型key
@ApiModelProperty("开票类型value")

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java

@ -74,4 +74,6 @@ public interface FinBillApplicationMapper extends BaseMapper<FinBillApplication>
@Select("select * from fin_bill_application where contractNo = #{contractNo}")
List<FinBillApplicationDetailsVo> selectByContractNo(String contractNo);
int selectBySid(String join);
}

7
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.xml

@ -76,4 +76,11 @@
order by billNo desc
limit 1
</select>
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM fin_bill_application
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
</mapper>

63
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java

@ -76,6 +76,18 @@ public class FinBillApplicationRest implements FinBillApplicationFeign {
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<FinBillApplicationVo>> listPageQK(PagerQuery<FinBillApplicationQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<FinBillApplicationVo> pv = finBillApplicationService.listPageQK(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean delBySids(String[] sids) {
return finBillApplicationService.delAllBySids(sids);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
@ -83,6 +95,11 @@ public class FinBillApplicationRest implements FinBillApplicationFeign {
return finBillApplicationService.saveOrUpdateDto(dto);
}
@Override
public ResultBean saveQK(FinBillApplicationDto dto) {
return finBillApplicationService.saveOrUpdateDtoQK(dto);
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ -112,13 +129,7 @@ public class FinBillApplicationRest implements FinBillApplicationFeign {
public ResultBean complete(FinBillCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
String businessSid = query.getBusinessSid();
FinBillApplication finBillApplication = finBillApplicationService.fetchBySid(businessSid);
if ("003".equals(finBillApplication.getBillStateKey())){
bv.setModelId(ProcDefEnum.QKFINBILLAPPLICATION.getProDefId());
}else {
bv.setModelId(ProcDefEnum.FINBILLAPPLICATION.getProDefId());
}
bv.setModelId(ProcDefEnum.FINBILLAPPLICATION.getProDefId());
return finBillApplicationService.complete(bv);
}
@ -147,6 +158,44 @@ public class FinBillApplicationRest implements FinBillApplicationFeign {
return finBillApplicationService.breakProcess(query);
}
@Override
public ResultBean submitFinBillApplicationQK(SubmitFinBillApplicationDto dto) {
return finBillApplicationService.submitFinBillApplicationQK(dto);
}
@Override
public ResultBean completeQK(FinBillCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.QKFINBILLAPPLICATION.getProDefId());
return finBillApplicationService.completeQK(bv);
}
@Override
public ResultBean<List<FinBillNodeVo>> getPreviousNodesForRejectQK(FinBillNodeQuery query) {
return finBillApplicationService.getPreviousNodesForRejectQK(query);
}
@Override
public ResultBean<List<FinBillNodeVo>> getNextNodesForSubmitQK(FinBillNodeQuery query) {
return finBillApplicationService.getNextNodesForSubmitQK(query);
}
@Override
public ResultBean rejectQK(FinBillTaskQuery query) {
return finBillApplicationService.rejectQK(query);
}
@Override
public ResultBean revokeProcessQK(FinBillTaskQuery query) {
return finBillApplicationService.revokeProcessQK(query);
}
@Override
public ResultBean breakProcessQK(FinBillTaskQuery query) {
return finBillApplicationService.breakProcessQK(query);
}
@Override
public ResultBean<PagerVo<AppBillApplicationPageVo>> getInvoicedApplyList(PagerQuery<AppBillApplicationPageQuery> pagerQuery) {
if (StringUtils.isBlank(pagerQuery.getParams().getUserSid())) {

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

@ -158,12 +158,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<FinBillApplication> qw = new QueryWrapper<>();
String isArrears = query.getIsArrears();
if ("是".equals(isArrears)){
qw.eq("fba.billStateKey","003");
}else {
qw.ne("fba.billStateKey","003");
}
qw.ne("fba.billStateKey", "003");
qw.eq("fba.useOrgSid", query.getUseOrgSid());
qw.eq("fba.createBySid", query.getCreateBySid());
if (StringUtils.isNotBlank(query.getSaleTypeKey())) {
@ -217,6 +212,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
List<FinBillFileDto> khkpsqsApplicationAppendxs = dto.getKhkpsqsApplicationAppendxs();
List<FinBillFileDto> kpxxqrsApplicationAppendxs = dto.getKpxxqrsApplicationAppendxs();
List<FinBillFileDto> cldjhtApplicationAppendxs = dto.getCldjhtApplicationAppendxs();
List<FinBillFileDto> zjApplicationAppendxs = dto.getZjApplicationAppendxs();
if (StringUtils.isBlank(dtoSid)) {//新增
FinBillApplication finBillApplication = new FinBillApplication();
BeanUtil.copyProperties(dto, finBillApplication, "sid");
@ -269,6 +265,16 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finBillFileDto.setAttachType(FinAttachTypeEnum.CLDJHT.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
for (FinBillFileDto finBillFileDto : zjApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.ZJ.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
return rb.success().setMsg("保存成功").setData(finBillApplication.getSid());
}
FinBillApplication finBillApplication = fetchBySid(dtoSid);
@ -279,7 +285,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
updateByDto(dto);
finBillFileService.deleteByFinAppSid(dtoSid);
//附件信息
if (khkpsqsApplicationAppendxs != null){
if (khkpsqsApplicationAppendxs != null) {
for (FinBillFileDto finBillFileDto : khkpsqsApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
@ -291,7 +297,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
if (kpxxqrsApplicationAppendxs != null){
if (kpxxqrsApplicationAppendxs != null) {
for (FinBillFileDto finBillFileDto : kpxxqrsApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
@ -303,7 +309,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
if (cldjhtApplicationAppendxs != null){
if (cldjhtApplicationAppendxs != null) {
for (FinBillFileDto finBillFileDto : cldjhtApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
@ -315,6 +321,18 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
if (zjApplicationAppendxs != null) {
for (FinBillFileDto finBillFileDto : zjApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.ZJ.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
finBillVehicleService.delByBillAppSid(dtoSid);
for (FinBillVehicleDto finBillVehicleDto : finBillVehicles) {
FinBillVehicle finBillVehicle = new FinBillVehicle();
@ -352,31 +370,18 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
FinBillApplication entity = fetchBySid(sid);
String contractNo = entity.getContractNo();
List<FinBillApplicationDetailsVo> finBillApplicationVos = baseMapper.selectByContractNo(contractNo);
if (finBillApplicationVos != null && finBillApplicationVos.size() > 0){
if (finBillApplicationVos != null && finBillApplicationVos.size() > 0) {
FinBillApplicationDetailsVo finBillApplicationVo = finBillApplicationVos.get(0);
entity.setOneBillMoney(new BigDecimal(finBillApplicationVo.getOneBillMoney()));
}
FinBillApplicationDetailsVo vo = new FinBillApplicationDetailsVo();
BeanUtil.copyProperties(entity, vo);
String sid1 = entity.getContractSid();
ResultBean<CommonContractVo> commonContractVoResultBean = commonContractFeign.fetchBySid(sid1);
CommonContractVo data = commonContractVoResultBean.getData();
String busSid = data.getBusSid();
ResultBean<BusSalesOrderDetailsVo> busSalesOrderDetailsVoResultBean = busSalesOrderFeign.fetchDetailsBySid(busSid);
BusSalesOrderDetailsVo data1 = busSalesOrderDetailsVoResultBean.getData();
String oneBillMoney = data1.getOneBillMoney();
if (StringUtils.isBlank(oneBillMoney)) {
vo.setOneBillState("0");
} else {
vo.setOneBillMoney(oneBillMoney);
vo.setOneBillState("1");
}
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchVehBySid(sid);
vo.setFinBillVehicles(finBillVehicleVos);
List<FinBillTrailerVo> finBillTrailerVos = finBillTrailerService.fetchByMainSid(sid);
if (finBillTrailerVos.size() > 0){
if (finBillTrailerVos.size() > 0) {
vo.setFinBillTrailers(finBillTrailerVos);
}else {
} else {
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finBillVehicleVo.getVinNo(), entity.getUseOrgSid()).getData();
List<TrailerVo> trailerVos = baseTrailerFeign.trailerList(baseVehicle.getSid()).getData();
@ -421,24 +426,20 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
return vo;
}
public void delAllBySids(String[] sids) {
public ResultBean delAllBySids(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
}
delBySids(sids);
for (String sid : sids) {
FinBillApplication finBillApplication = fetchBySid(sid);
String billAppPublicSid = finBillApplication.getBillAppPublicSid();
finBillApplicationPublicService.deleteBySid(billAppPublicSid);
deleteBySid(sid);
ResultBean<List<CommonAppendixVo>> listResultBean = commonAppendixFeign.selByLinkSid(sid);
List<CommonAppendixVo> data = listResultBean.getData();
String path = "";
for (CommonAppendixVo datum : data) {
String filePath = datum.getFilePath();
String urlPrefix = fileUploadComponent.getUrlPrefix();
path = urlPrefix + filePath;
commonAppendixFeign.deleteFilesOss(path);
}
commonAppendixFeign.deleteFiles(sid);
finBillVehicleService.delByBillAppSid(sid);
finBillTrailerService.delByBillAppSid(sid);
finBillFileService.deleteByFinAppSid(sid);
}
return rb.success();
}
/*public ResultBean submitFinBillApplication(SubmitFinBillApplicationDto dto) {
@ -710,7 +711,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
finVehicleInvoiceService.mySave(finVehicleInvoiceDto);
}
}else {
} else {
//极光推送
finBillApplication = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
@ -742,9 +743,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
bv.setFormVariables(variables);
//查询业务信息
FinBillApplication finBillApplication = fetchBySid(query.getBusinessSid());
if ("003".equals(finBillApplication.getBillStateKey())){
if ("003".equals(finBillApplication.getBillStateKey())) {
bv.setModelId(ProcDefEnum.QKFINBILLAPPLICATION.getProDefId());
}else {
} else {
bv.setModelId(ProcDefEnum.FINBILLAPPLICATION.getProDefId());
}
//判断是否是高低开,若是,则isTrue网关参数为true=============添加
@ -768,9 +769,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
bv.setFormVariables(variables);
//查询业务信息
FinBillApplication finBillApplication = fetchBySid(query.getBusinessSid());
if ("003".equals(finBillApplication.getBillStateKey())){
if ("003".equals(finBillApplication.getBillStateKey())) {
bv.setModelId(ProcDefEnum.QKFINBILLAPPLICATION.getProDefId());
}else {
} else {
bv.setModelId(ProcDefEnum.FINBILLAPPLICATION.getProDefId());
}
//判断是否是高低开,若是,则isTrue网关参数为true=============添加
@ -811,7 +812,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
String contractNo = finBillApplication.getContractNo();
BusSalesOrderPrice data = busSalesOrderFeign.selectByContractNo(contractNo).getData();
if (data != null) {
variables.put("isTrue", data.getSingleFinalPrice().equals(finBillApplication.getOneBillMoney()));
variables.put("isAdj", !data.getSingleFinalPrice().equals(finBillApplication.getOneBillMoney()));
}
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
@ -905,9 +906,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
ResultBean rb = ResultBean.fireFail();
//用户的组织全路径
String orgSidPath = "";
if(StringUtils.isNotBlank(dto.getOrgSidPath())){
if (StringUtils.isNotBlank(dto.getOrgSidPath())) {
orgSidPath = dto.getOrgSidPath();
}else{
} else {
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid());
if (!userVoResultBean.getSuccess()) {
@ -951,9 +952,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
bv.setFormVariables(variables);
//流程定义id
String billStateKey = dto.getBillStateKey();
if ("003".equals(billStateKey)){
if ("003".equals(billStateKey)) {
bv.setModelId(ProcDefEnum.QKFINBILLAPPLICATION.getProDefId());
}else {
} else {
bv.setModelId(ProcDefEnum.FINBILLAPPLICATION.getProDefId());
}
if (r == 1) {
@ -1041,10 +1042,10 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
if (StringUtils.isNotBlank(useOrgSid)) {
qw.eq("fba.useOrgSid", useOrgSid);
}
if ("是".equals(pagerQuery.getParams().getIsArrears())){
qw.eq("fba.billStateKey","003");
}else {
qw.ne("fba.billStateKey","003");
if ("是".equals(pagerQuery.getParams().getIsArrears())) {
qw.eq("fba.billStateKey", "003");
} else {
qw.ne("fba.billStateKey", "003");
}
String name = pagerQuery.getParams().getName();
IPage<AppBillApplicationPageVo> iPage = baseMapper.getInvoicedApplyList(page, qw, name);
@ -1248,9 +1249,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
ResultBean rb = ResultBean.fireFail();
//用户的组织全路径
String orgSidPath = "";
if(StringUtils.isNotBlank(dto.getOrgSidPath())){
if (StringUtils.isNotBlank(dto.getOrgSidPath())) {
orgSidPath = dto.getOrgSidPath();
}else{
} else {
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
@ -1335,51 +1336,507 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
/* public ResultBean submitFinBillApplicationPageList(SubmitFinBillApplicationPageListDto dto) {
/* public ResultBean submitFinBillApplicationPageList(SubmitFinBillApplicationPageListDto dto) {
ResultBean rb = ResultBean.fireFail();
FinBillApplicationDetailsVo finBillApplicationDetailsVo = fetchDetailsVoBySid(dto.getSid());
String oneBillMoney = finBillApplicationDetailsVo.getOneBillMoney();
if (StringUtils.isBlank(oneBillMoney)) {
rb.setMsg("该申请单信息不完善,请补充完整后提交");
}
List<FinBillVehicleVo> finBillVehicles = finBillApplicationDetailsVo.getFinBillVehicles();
for (FinBillVehicleVo finBillVehicle : finBillVehicles) {
String billTypeValue = finBillVehicle.getBillTypeValue();
String billName = finBillVehicle.getBillName();
if (StringUtils.isBlank(billTypeValue) || StringUtils.isBlank(billName)) {
rb.setMsg("该申请单信息不完善,请补充完整后提交");
}
}
String orgSid = checkUserOrg(dto.getStaffSid());
Map<String, Object> variables = new HashMap<>();
variables.put("businessSid", dto.getSid());
variables.put("orgSid", orgSid); //部门sid
if (StringUtils.isBlank(dto.getTaskId())) { // 新提交
String proDefId = ProcDefEnum.SEALAPPLY.getProDefId();
ResultBean resultBean1 = null;
return resultBean1;
} else { // 驳回到发起人后再次提交
variables.put("comment", StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
variables.put("instanceId", dto.getInstanceId());
variables.put("taskId", dto.getTaskId());
variables.put("userSid", dto.getUserSid());
return complete(variables);
}
}*/
public String getApplyCode(String useOrgSid) {
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(useOrgSid);
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.KPSQ.getBillType());
String bill = Rule.getBill(b);
String i = baseMapper.selectNum(bill);
String billNo = "";
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(bill, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(bill, 0);
}
return billNo;
}
public String getApplyCodeQK(String useOrgSid) {
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(useOrgSid);
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.QKKP.getBillType());
String bill = Rule.getBill(b);
String i = baseMapper.selectNum(bill);
String billNo = "";
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(bill, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(bill, 0);
}
return billNo;
}
public ResultBean saveOrUpdateDtoQK(FinBillApplicationDto dto) {
ResultBean rb = ResultBean.fireFail();
FinBillApplicationDetailsVo finBillApplicationDetailsVo = fetchDetailsVoBySid(dto.getSid());
String oneBillMoney = finBillApplicationDetailsVo.getOneBillMoney();
if (StringUtils.isBlank(oneBillMoney)) {
rb.setMsg("该申请单信息不完善,请补充完整后提交");
}
List<FinBillVehicleVo> finBillVehicles = finBillApplicationDetailsVo.getFinBillVehicles();
for (FinBillVehicleVo finBillVehicle : finBillVehicles) {
String billTypeValue = finBillVehicle.getBillTypeValue();
String billName = finBillVehicle.getBillName();
if (StringUtils.isBlank(billTypeValue) || StringUtils.isBlank(billName)) {
rb.setMsg("该申请单信息不完善,请补充完整后提交");
String dtoSid = dto.getSid();
List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers();
List<FinBillVehicleDto> finBillVehicles = dto.getFinBillVehicles();
List<FinBillFileDto> khkpsqsApplicationAppendxs = dto.getKhkpsqsApplicationAppendxs();
List<FinBillFileDto> kpxxqrsApplicationAppendxs = dto.getKpxxqrsApplicationAppendxs();
List<FinBillFileDto> cldjhtApplicationAppendxs = dto.getCldjhtApplicationAppendxs();
if (StringUtils.isBlank(dtoSid)) {//新增
FinBillApplication finBillApplication = new FinBillApplication();
BeanUtil.copyProperties(dto, finBillApplication, "sid");
finBillApplication.setNodeState("待提交");
String billNo = getApplyCodeQK(dto.getUseOrgSid());
finBillApplication.setBillNo(billNo);
finBillApplication.setBillStateKey("003");
finBillApplication.setBillStateValue("欠款开票");
finBillApplication.setNum(finBillVehicles.size());
save(finBillApplication);
//主车开票信息
for (FinBillVehicleDto finBillVehicleDto : finBillVehicles) {
FinBillVehicle finBillVehicle = new FinBillVehicle();
BeanUtil.copyProperties(finBillVehicleDto, finBillVehicle, "sid");
finBillVehicle.setBillAppSid(finBillApplication.getSid());
finBillVehicleService.save(finBillVehicle);
}
//挂车开票信息
for (FinBillTrailerDto finBillTrailerDto : finBillTrailers) {
FinBillTrailer finBillTrailer = new FinBillTrailer();
BeanUtil.copyProperties(finBillTrailerDto, finBillTrailer, "sid");
finBillTrailer.setBillAppSid(finBillApplication.getSid());
finBillTrailerService.save(finBillTrailer);
}
//附件信息
for (FinBillFileDto finBillFileDto : khkpsqsApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.KHKPSQS.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
for (FinBillFileDto finBillFileDto : kpxxqrsApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.KPXXQRS.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
for (FinBillFileDto finBillFileDto : cldjhtApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.CLDJHT.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
return rb.success().setMsg("保存成功").setData(finBillApplication.getSid());
}
String orgSid = checkUserOrg(dto.getStaffSid());
FinBillApplication finBillApplication = fetchBySid(dtoSid);
if (finBillApplication == null) {
rb.setMsg("该数据不存在");
}
dto.setArrearsMoney("0");
updateByDto(dto);
finBillFileService.deleteByFinAppSid(dtoSid);
//附件信息
if (khkpsqsApplicationAppendxs != null) {
for (FinBillFileDto finBillFileDto : khkpsqsApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.KHKPSQS.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
if (kpxxqrsApplicationAppendxs != null) {
for (FinBillFileDto finBillFileDto : kpxxqrsApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.KPXXQRS.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
if (cldjhtApplicationAppendxs != null) {
for (FinBillFileDto finBillFileDto : cldjhtApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.CLDJHT.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
finBillVehicleService.delByBillAppSid(dtoSid);
for (FinBillVehicleDto finBillVehicleDto : finBillVehicles) {
FinBillVehicle finBillVehicle = new FinBillVehicle();
BeanUtil.copyProperties(finBillVehicleDto, finBillVehicle, "sid");
finBillVehicle.setBillAppSid(dtoSid);
finBillVehicleService.save(finBillVehicle);
}
finBillTrailerService.delByBillAppSid(dtoSid);
for (FinBillTrailerDto finBillTrailerDto : finBillTrailers) {
FinBillTrailer finBillTrailer = new FinBillTrailer();
BeanUtil.copyProperties(finBillTrailerDto, finBillTrailer, "sid");
finBillTrailer.setBillAppSid(dtoSid);
finBillTrailerService.save(finBillTrailer);
}
return rb.success().setMsg("修改成功").setData(dtoSid);
}
public ResultBean submitFinBillApplicationQK(SubmitFinBillApplicationDto dto) {
ResultBean rb = ResultBean.fireFail();
//用户的组织全路径
String orgSidPath = "";
if (StringUtils.isNotBlank(dto.getOrgSidPath())) {
orgSidPath = dto.getOrgSidPath();
} else {
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
}
dto.setOrgSidPath(orgSidPath);
FinBillApplication finBillApplication = fetchBySid(dto.getSid());
int r = submitBusinessDataPc(dto, finBillApplication);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
ResultBean<String> resultBean = saveOrUpdateDto(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
variables.put("businessSid", dto.getSid());
variables.put("orgSid", orgSid); //部门sid
if (StringUtils.isBlank(dto.getTaskId())) { // 新提交
String proDefId = ProcDefEnum.SEALAPPLY.getProDefId();
ResultBean resultBean1 = null;
return resultBean1;
} else { // 驳回到发起人后再次提交
variables.put("comment", StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
variables.put("instanceId", dto.getInstanceId());
variables.put("taskId", dto.getTaskId());
variables.put("userSid", dto.getUserSid());
return complete(variables);
Map<String, Object> appMap = new HashMap<>();
appMap.put("businessSid", businessSid);
variables.put("app", appMap);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.QKFINBILLAPPLICATION.getProDefId());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送
finBillApplication = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("欠款开票");
messageFlowableQuery.setMsgContent(finBillApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("欠款开票");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return voResultBean;
}
}*/
public String getApplyCode(String useOrgSid) {
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(useOrgSid);
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.KPSQ.getBillType());
String bill = Rule.getBill(b);
String i = baseMapper.selectNum(bill);
String billNo = "";
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(bill, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(bill, 0);
}
return billNo;
}
if (r == 2) {
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(finBillApplication.getTaskId());
bv.setTaskDefKey(finBillApplication.getNodeSid());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return null;
}
public ResultBean completeQK(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
FinBillApplication finBillApplication = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setFormVariables(variables);
bv.setOrgSidPath(finBillApplication.getOrgSidPath());
//判断是否领取发票原件,若是,则isTrue网关参数为true=============添加
variables.put("isAdj", finBillApplication.getIsLQOrigInvoice().equals("是"));
if (bv.getTaskId().equals(finBillApplication.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
} else {
//极光推送
finBillApplication = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(finBillApplication.getProcDefId());
ufVo.setProcInsId(finBillApplication.getProcInstSid());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("欠款开票");
messageFlowableQuery.setMsgContent(finBillApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("欠款开票");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean<List<FinBillNodeVo>> getPreviousNodesForRejectQK(FinBillNodeQuery query) {
ResultBean<List<FinBillNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
bv.setFormVariables(variables);
//查询业务信息
FinBillApplication finBillApplication = fetchBySid(query.getBusinessSid());
bv.setModelId(ProcDefEnum.QKFINBILLAPPLICATION.getProDefId());
//判断是否领取发票原件,若是,则isTrue网关参数为true=============添加
variables.put("isAdj", finBillApplication.getIsLQOrigInvoice().equals("是"));
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<FinBillNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinBillNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<FinBillNodeVo>> getNextNodesForSubmitQK(FinBillNodeQuery query) {
ResultBean<List<FinBillNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
bv.setFormVariables(variables);
//查询业务信息
FinBillApplication finBillApplication = fetchBySid(query.getBusinessSid());
bv.setModelId(ProcDefEnum.QKFINBILLAPPLICATION.getProDefId());
//判断是否领取发票原件,若是,则isTrue网关参数为true=============添加
variables.put("isAdj", finBillApplication.getIsLQOrigInvoice().equals("是"));
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<FinBillNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinBillNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean rejectQK(FinBillTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
FinBillApplication finBillApplication = fetchBySid(businessSid);
if (finBillApplication == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = finBillApplication.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//判断是否领取发票原件,若是,则isTrue网关参数为true=============添加
variables.put("isAdj", finBillApplication.getIsLQOrigInvoice().equals("是"));
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
finBillApplication = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = finBillApplication.getProcInstSid();
ufVo.setProcInsId(procId);
ufVo.setProcDefId(finBillApplication.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("欠款开票");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(finBillApplication.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(finBillApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("欠款开票");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean revokeProcessQK(FinBillTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FinBillApplication finBillApplication = fetchBySid(query.getBusinessSid());
String businessTaskId = finBillApplication.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败,提交的数据不一致!");
}
public ResultBean breakProcessQK(FinBillTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
FinBillApplication finBillApplication = fetchBySid(query.getBusinessSid());
String businessTaskId = finBillApplication.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public PagerVo<FinBillApplicationVo> listPageQK(PagerQuery<FinBillApplicationQuery> pq) {
FinBillApplicationQuery query = pq.getParams();
QueryWrapper<FinBillApplication> qw = new QueryWrapper<>();
qw.eq("fba.billStateKey", "003");
qw.eq("fba.useOrgSid", query.getUseOrgSid());
qw.eq("fba.createBySid", query.getCreateBySid());
if (StringUtils.isNotBlank(query.getSaleTypeKey())) {
qw.eq("fba.saleTypeKey", query.getSaleTypeKey());
}
if (StringUtils.isNotBlank(query.getContractNo())) {
qw.like("fba.contractNo", query.getContractNo());
}
if (StringUtils.isNotBlank(query.getOpenTickUnitName())) {
qw.like("fba.openTickUnitName", query.getOpenTickUnitName());
}
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("fba.customerName", query.getCustomerName());
}
if (StringUtils.isNotBlank(query.getModelName())) {
qw.like("fba.modelName", query.getModelName());
}
if (StringUtils.isNotBlank(query.getBillStateKey())) {
qw.eq("fba.billStateKey", query.getBillStateKey());
}
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.eq("fba.createByName", query.getCreateByName());
}
String returnedMoneyStartDate = query.getReturnedMoneyStartDate();
String returnedMoneyEndDate = query.getReturnedMoneyEndDate();
qw.apply(StringUtils.isNotEmpty(returnedMoneyStartDate), "date_format (fba.returnedMoneyDate,'%Y-%m-%d') >= date_format('" + returnedMoneyStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(returnedMoneyEndDate), "date_format (fba.returnedMoneyDate,'%Y-%m-%d') <= date_format('" + returnedMoneyEndDate + "','%Y-%m-%d')"
);
IPage<FinBillApplication> page = PagerUtil.queryToPage(pq);
IPage<FinBillApplicationVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<FinBillApplicationVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundDto.java

@ -155,6 +155,8 @@ public class ScmApplyInboundDto implements Dto {
@ApiModelProperty("申请人组织路径")
private String orgSidPath; // 申请人组织路径
@ApiModelProperty("申请人组织路径")
private String orgPath; // 申请人组织路径
@ApiModelProperty("排产申请编号")
private String pcApplicationCode;
@ApiModelProperty("部门sid")

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

@ -212,8 +212,8 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
}
}
String orgPath = "";
if (StringUtils.isNotBlank(dto.getOrgSidPath())) {
orgPath = dto.getOrgSidPath();
if (StringUtils.isNotBlank(dto.getOrgPath())) {
orgPath = dto.getOrgPath();
} else {
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());

Loading…
Cancel
Save