Browse Source

欠款出厂调整

出库开票调整
master
God 1 year ago
parent
commit
b775415b8e
  1. 22
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java
  2. 21
      yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApply.java
  3. 31
      yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyDetailsVo.java
  4. 31
      yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyDto.java
  5. 35
      yxt-as/src/main/java/com/yxt/anrui/as/api/asarrearsoutapply/AsArrearsoutApplyFile.java
  6. 2
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyMapper.java
  7. 8
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyMapper.xml
  8. 31
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyService.java
  9. 24
      yxt-as/src/main/java/com/yxt/anrui/as/feign/base/billno/BillNo.java
  10. 44
      yxt-as/src/main/java/com/yxt/anrui/as/feign/base/billno/Rule.java

22
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<String> vins = query.getVins();
if(vins.size() == 0){
return rb.setMsg("请选择车辆");
}
ResultBean<BillApplicationIInfoVoss> 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());

21
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;
}

31
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<AsArrearsoutApplyFile> 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;
}

31
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<AsArrearsoutApplyFile> 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;
}

35
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;
}

2
yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyMapper.java

@ -65,4 +65,6 @@ public interface AsArrearsoutApplyMapper extends BaseMapper<AsArrearsoutApply> {
List<AsArrearsoutApplyVo> selectListVo();
int updateFlowFiled(Map<String, Object> map);
String selectNum(String billNo);
}

8
yxt-as/src/main/java/com/yxt/anrui/as/biz/asarrearsoutapply/AsArrearsoutApplyMapper.xml

@ -28,4 +28,12 @@
</if>
WHERE sid=#{sid}
</update>
<select id="selectNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from as_arrearsout_apply
where billNo LIKE concat(#{billNo}, '%')
order by billNo desc
limit 1
</select>
</mapper>

31
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<AsArrearsoutApplyMapper, AsArrearsoutApply> {
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
@ -158,7 +164,24 @@ public class AsArrearsoutApplyService extends MybatisBaseService<AsArrearsoutApp
public String saveOrUpdateDto(AsArrearsoutApplyDto dto) {
String dtoSid = dto.getSid();
String deptSid = dto.getDeptSid();
SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(deptVo.getOrgSidPath()).getData();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
dto.setUseOrgSid(useOrgSid);
dto.setUseOrgName(organizationVo.getName());
if (StringUtils.isBlank(dtoSid)) {
//生成单据编号
String billNo = "";
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
billNo = "QKCC" + organizationVo.getOrgCode() + date;
String i = baseMapper.selectNum(billNo);
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(billNo, 0);
}
dto.setBillNo(billNo);
String sid = this.insertByDto(dto);
return sid;
}
@ -169,6 +192,7 @@ public class AsArrearsoutApplyService extends MybatisBaseService<AsArrearsoutApp
public String insertByDto(AsArrearsoutApplyDto dto) {
AsArrearsoutApply entity = new AsArrearsoutApply();
BeanUtil.copyProperties(dto, entity, "id", "sid");
entity.setNodeState("待提交");
baseMapper.insert(entity);
return entity.getSid();
}
@ -208,7 +232,8 @@ public class AsArrearsoutApplyService extends MybatisBaseService<AsArrearsoutApp
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> 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<AsArrearsoutApp
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
//=======================================
bv.setFormVariables(variables);
bv.setOrgSidPath(asArrearsoutApply.getOrgSidPath());
//用户的部门全路径sid
SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(asArrearsoutApply.getDeptSid()).getData();
bv.setOrgSidPath(deptVo.getOrgSidPath());
if (bv.getTaskId().equals(asArrearsoutApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {

24
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;
}

44
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;
}
}
Loading…
Cancel
Save