diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java index 09048fc4f8..3923bc384b 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java @@ -471,6 +471,28 @@ public class InvoicedService { } } else { + if ("2".equals(busDeliveredApply.getPaymentMethodKey())){ + String userSid = query.getUserSid(); + String orgPath = query.getOrgPath(); + List vins = query.getVins(); + if(vins.size() == 0){ + return rb.setMsg("请选择车辆"); + } + ResultBean billApplicationIInfoVoResultBean = finBillApplicationFeign.selectByContractNo(query.getContractId(),vins); + if(billApplicationIInfoVoResultBean.getData() != null){ + BillApplicationIInfoVoss billApplicationIInfoVoss = billApplicationIInfoVoResultBean.getData(); + BeanUtil.copyProperties(billApplicationIInfoVoss,billApplicationIInfoVo); + } + SysUserVo sysUserVo = sysUserFeign.fetchBySid(userSid).getData(); + SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.selectByOrgSidPath(orgPath).getData(); + billApplicationIInfoVo.setPublishInfo(sysOrganizationVo.getName() + "-" + sysUserVo.getName()); + billApplicationIInfoVo.setShowBtn(true); + billApplicationIInfoVo.setInvoiceStateKey("001"); + billApplicationIInfoVo.setInvoiceState("正常开票"); + billApplicationIInfoVo.setDate(DateUtil.formatDate(new Date())); + billApplicationIInfoVo.setShowXsState(true); + return rb.success().setData(billApplicationIInfoVo); + } billApplicationIInfoVo.setModelSid(busDeliveredApply.getModelSid()); billApplicationIInfoVo.setModelName(busDeliveredApply.getModelName()); billApplicationIInfoVo.setProcInsId(busDeliveredApply.getProcInstId()); diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApply.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApply.java index 7e6ca027c8..435f654d49 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApply.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApply.java @@ -56,18 +56,12 @@ public class AsArrearsoutApply extends BaseEntity { @ApiModelProperty("制单人姓名") private String createByName; // 制单人姓名 - @ApiModelProperty("发起部门sid") - private String createDeptSid; // 发起部门sid - @ApiModelProperty("发起部门名称") - private String createDeptName; // 发起部门名称 @ApiModelProperty("单据编号") private String billNo; // 单据编号 @ApiModelProperty("工单sid") private String pairBillSid; // 工单sid @ApiModelProperty("工单编号") private String pairBillNo; // 工单编号 - @ApiModelProperty("工单类型") - private String billType; // 工单类型 @ApiModelProperty("科目sid") private String subjectSid; // 科目sid @ApiModelProperty("科目名称") @@ -92,8 +86,6 @@ public class AsArrearsoutApply extends BaseEntity { private String useOrgSid; // 分公司sid @ApiModelProperty("分公司名称") private String useOrgName; // 分公司名称 - @ApiModelProperty("组织全路径") - private String orgSidPath; // 组织全路径 @ApiModelProperty("流程定义的id") private String procDefId; // 流程定义的id @ApiModelProperty("环节定义的sid") @@ -108,4 +100,17 @@ public class AsArrearsoutApply extends BaseEntity { @ApiModelProperty("办结时间") private Date finishTime; // 办结时间 + @ApiModelProperty("发起部门sid") + private String deptSid; + @ApiModelProperty("发起部门名称") + private String deptName; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("结算日期") + private Date balanceDate; + @ApiModelProperty("工单类型key") + private String billTypeKey; + @ApiModelProperty("工单类型value") + private String billTypeValue; + @ApiModelProperty("客户联系电话") + private String customerPhone; } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyDetailsVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyDetailsVo.java index e27a8f657c..0307d68e16 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyDetailsVo.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyDetailsVo.java @@ -32,6 +32,8 @@ import com.fasterxml.jackson.annotation.JsonFormat; import java.math.BigDecimal; import java.util.Date; +import java.util.List; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -55,20 +57,18 @@ public class AsArrearsoutApplyDetailsVo implements Vo { private String sid; // sid + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("制单人sid") + private String createBySid; @ApiModelProperty("制单人姓名") private String createByName; // 制单人姓名 - @ApiModelProperty("发起部门sid") - private String createDeptSid; // 发起部门sid - @ApiModelProperty("发起部门名称") - private String createDeptName; // 发起部门名称 @ApiModelProperty("单据编号") private String billNo; // 单据编号 @ApiModelProperty("工单sid") private String pairBillSid; // 工单sid @ApiModelProperty("工单编号") private String pairBillNo; // 工单编号 - @ApiModelProperty("工单类型") - private String billType; // 工单类型 @ApiModelProperty("科目sid") private String subjectSid; // 科目sid @ApiModelProperty("科目名称") @@ -87,14 +87,12 @@ public class AsArrearsoutApplyDetailsVo implements Vo { private BigDecimal pairReceivedMoney; // 工单已交金额 @ApiModelProperty("工单欠款金额") private BigDecimal pairArrearsMoney; // 工单欠款金额 - @ApiModelProperty("附件路径(多个附件之间英文逗号隔开)") - private String filePath; // 附件路径(多个附件之间英文逗号隔开) + @ApiModelProperty("附件路径") + private List filePaths; // 附件路径(多个附件之间英文逗号隔开) @ApiModelProperty("分公司sid") private String useOrgSid; // 分公司sid @ApiModelProperty("分公司名称") private String useOrgName; // 分公司名称 - @ApiModelProperty("组织全路径") - private String orgSidPath; // 组织全路径 @ApiModelProperty("流程定义的id") private String procDefId; // 流程定义的id @ApiModelProperty("环节定义的sid") @@ -109,4 +107,17 @@ public class AsArrearsoutApplyDetailsVo implements Vo { @ApiModelProperty("办结时间") private Date finishTime; // 办结时间 + @ApiModelProperty("发起部门sid") + private String deptSid; + @ApiModelProperty("发起部门名称") + private String deptName; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("结算日期") + private Date balanceDate; + @ApiModelProperty("工单类型key") + private String billTypeKey; + @ApiModelProperty("工单类型value") + private String billTypeValue; + @ApiModelProperty("客户联系电话") + private String customerPhone; } \ No newline at end of file diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyDto.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyDto.java index f9915755b3..9bb78d66b2 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyDto.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyDto.java @@ -32,6 +32,8 @@ import com.fasterxml.jackson.annotation.JsonFormat; import java.math.BigDecimal; import java.util.Date; +import java.util.List; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -55,20 +57,18 @@ public class AsArrearsoutApplyDto implements Dto { private String sid; // sid + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("制单人sid") + private String createBySid; @ApiModelProperty("制单人姓名") private String createByName; // 制单人姓名 - @ApiModelProperty("发起部门sid") - private String createDeptSid; // 发起部门sid - @ApiModelProperty("发起部门名称") - private String createDeptName; // 发起部门名称 @ApiModelProperty("单据编号") private String billNo; // 单据编号 @ApiModelProperty("工单sid") private String pairBillSid; // 工单sid @ApiModelProperty("工单编号") private String pairBillNo; // 工单编号 - @ApiModelProperty("工单类型") - private String billType; // 工单类型 @ApiModelProperty("科目sid") private String subjectSid; // 科目sid @ApiModelProperty("科目名称") @@ -87,14 +87,12 @@ public class AsArrearsoutApplyDto implements Dto { private BigDecimal pairReceivedMoney; // 工单已交金额 @ApiModelProperty("工单欠款金额") private BigDecimal pairArrearsMoney; // 工单欠款金额 - @ApiModelProperty("附件路径(多个附件之间英文逗号隔开)") - private String filePath; // 附件路径(多个附件之间英文逗号隔开) + @ApiModelProperty("附件路径") + private List filePaths; // 附件路径(多个附件之间英文逗号隔开) @ApiModelProperty("分公司sid") private String useOrgSid; // 分公司sid @ApiModelProperty("分公司名称") private String useOrgName; // 分公司名称 - @ApiModelProperty("组织全路径") - private String orgSidPath; // 组织全路径 @ApiModelProperty("流程定义的id") private String procDefId; // 流程定义的id @ApiModelProperty("环节定义的sid") @@ -109,4 +107,17 @@ public class AsArrearsoutApplyDto implements Dto { @ApiModelProperty("办结时间") private Date finishTime; // 办结时间 + @ApiModelProperty("发起部门sid") + private String deptSid; + @ApiModelProperty("发起部门名称") + private String deptName; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("结算日期") + private Date balanceDate; + @ApiModelProperty("工单类型key") + private String billTypeKey; + @ApiModelProperty("工单类型value") + private String billTypeValue; + @ApiModelProperty("客户联系电话") + private String customerPhone; } \ No newline at end of file diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyFile.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyFile.java new file mode 100644 index 0000000000..48c775f852 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyFile.java @@ -0,0 +1,35 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.as.api.asarrearsoutapply; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +@Data +public class AsArrearsoutApplyFile implements Vo { + + private String url; +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyMapper.java index 4f5e59e456..b48716b43f 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyMapper.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyMapper.java @@ -65,4 +65,6 @@ public interface AsArrearsoutApplyMapper extends BaseMapper { List selectListVo(); int updateFlowFiled(Map map); + + String selectNum(String billNo); } \ No newline at end of file diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyMapper.xml index a5e2eeb423..42302ea165 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyMapper.xml +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyMapper.xml @@ -28,4 +28,12 @@ WHERE sid=#{sid} + + \ No newline at end of file diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyService.java index c6cd24e506..b2f354ac58 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyService.java @@ -26,10 +26,12 @@ package com.yxt.anrui.as.biz.asarrearsoutapply; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.as.api.asarrearsoutapply.flowable.*; +import com.yxt.anrui.as.feign.base.billno.Rule; import com.yxt.anrui.as.feign.flowable.flow.*; import com.yxt.anrui.as.feign.flowable.flow2.FlowDelegateQuery; import com.yxt.anrui.as.feign.flowable.flow2.FlowFeign; @@ -40,6 +42,8 @@ import com.yxt.anrui.as.feign.message.MessageFeign; import com.yxt.anrui.as.feign.message.MessageFlowVo; import com.yxt.anrui.as.feign.message.MessageFlowableQuery; import com.yxt.anrui.as.feign.portal.privilege.PrivilegeQuery; +import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationVo; import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.as.feign.portal.sysuser.SysUserFeign; import org.apache.commons.lang3.StringUtils; @@ -76,6 +80,8 @@ import java.util.stream.Collectors; @Service public class AsArrearsoutApplyService extends MybatisBaseService { + @Autowired + private SysOrganizationFeign sysOrganizationFeign; @Autowired private SysStaffOrgFeign sysStaffOrgFeign; @Autowired @@ -158,7 +164,24 @@ public class AsArrearsoutApplyService extends MybatisBaseService variables = new HashMap<>(); //用户的部门全路径sid - bv.setOrgSidPath(asArrearsoutApply.getOrgSidPath()); + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(asArrearsoutApply.getDeptSid()).getData(); + bv.setOrgSidPath(deptVo.getOrgSidPath()); //业务sid bv.setBusinessSid(businessSid); //用户sid @@ -297,7 +322,9 @@ public class AsArrearsoutApplyService extends MybatisBaseService resultBean = flowFeign.handleProsess(bv); if (!resultBean.getSuccess()) { diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/feign/base/billno/BillNo.java b/yxt-as/src/main/java/com/yxt/anrui/as/feign/base/billno/BillNo.java new file mode 100644 index 0000000000..dcbdc4199e --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/feign/base/billno/BillNo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.as.feign.base.billno; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author dimengzhe + * @Date 2022/7/1 9:46 + * @Description + */ +@Data +public class BillNo implements Serializable { + private static final long serialVersionUID = 1598887042562656350L; + +// @ApiModelProperty(value = "品牌编码") +// private String brandCode; + @ApiModelProperty(value = "单据名称首字母") + private String billType; + @ApiModelProperty(value = "分公司编码") + private String orgCode; + +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/feign/base/billno/Rule.java b/yxt-as/src/main/java/com/yxt/anrui/as/feign/base/billno/Rule.java new file mode 100644 index 0000000000..1a091519aa --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/feign/base/billno/Rule.java @@ -0,0 +1,44 @@ +package com.yxt.anrui.as.feign.base.billno; + +import cn.hutool.core.date.DateUtil; +import org.springframework.util.StringUtils; + +/** + * @Author dimengzhe + * @Date 2022/7/1 9:44 + * @Description 规则 + */ +public class Rule { + + /** + * 单据编号规则:单据名称大写首字母+分公司编码+年份+月份+4位顺序号 + * 单据名称大写首字母+分公司编码+年份+月份 + * 注意:品牌编码暂不用 + * + * @return + */ + public static String getBill(BillNo b) { + String billType = b.getBillType(); + String orgCode = b.getOrgCode(); + String date = DateUtil.format(DateUtil.date(), "yyyyMM"); + String bill = billType; + if (!StringUtils.isEmpty(orgCode)) { + bill = bill + orgCode; + } + bill = bill + date; + return bill; + } + + /** + * 生成单据编号规则 + * + * @param bill 单据名称大写首字母+分公司编码+年份+月份 + * @param i 根据单据编号包含单据名称大写首字母+分公司编码+年份+月份查询出来的单据的个数 + * @return + */ + public static String getBillNo(String bill, int i) { + String num = String.format("%04d", i + 1); // 不足4位补0 + String billNo = bill + num; + return billNo; + } +}