|
|
@ -5,6 +5,7 @@ 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.base.api.basemanufactorsubscription.BaseManufactorSubscriptionDto; |
|
|
|
import com.yxt.anrui.base.api.busvehicleapply.*; |
|
|
|
import com.yxt.anrui.base.api.busvehicleapply.flow.BusVehicleApplyTaskQuery; |
|
|
|
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery; |
|
|
@ -13,13 +14,19 @@ import com.yxt.anrui.base.api.busvehicleapply.flow.SubmitBusVehicleApplyDto; |
|
|
|
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetail; |
|
|
|
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailDto; |
|
|
|
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailVo; |
|
|
|
import com.yxt.anrui.base.biz.basemanufactorsubscription.BaseManufactorSubscriptionService; |
|
|
|
import com.yxt.anrui.base.biz.busvehicleapplydetail.BusVehicleApplyDetailService; |
|
|
|
import com.yxt.anrui.base.common.enums.BillTypeEnum; |
|
|
|
import com.yxt.anrui.base.common.utils.Rule; |
|
|
|
import com.yxt.anrui.base.common.utils.domain.BillNo; |
|
|
|
import com.yxt.anrui.flowable.api.flow.FlowableFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; |
|
|
|
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; |
|
|
|
import com.yxt.anrui.flowable.api.utils.ProcDefEnum; |
|
|
|
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
|
|
@ -65,6 +72,11 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa |
|
|
|
@Autowired |
|
|
|
private FlowTaskFeign flowTaskFeign; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private BaseManufactorSubscriptionService baseManufactorSubscriptionService; |
|
|
|
@Autowired |
|
|
|
private SysOrganizationFeign sysOrganizationFeign; |
|
|
|
|
|
|
|
/** |
|
|
|
* 分页列表 |
|
|
|
* |
|
|
@ -153,8 +165,10 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa |
|
|
|
if (StringUtils.isBlank(sid)) {//新增
|
|
|
|
BusVehicleApply entity = new BusVehicleApply(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "sid"); |
|
|
|
//申请编号规则:首字母+当前日期年月日
|
|
|
|
entity.setApplicationCode("PCSQ" + DateUtil.format(DateUtil.date(), "yyyyMMdd")); |
|
|
|
//申请编号规则:单据名称大写首字母+品牌编码+分公司编码+年份+月份+4位顺序号
|
|
|
|
//获取单据名称大写首字母+品牌编码+分公司编码+年份+月份
|
|
|
|
String billNo = getApplyCode(dto); |
|
|
|
entity.setApplicationCode(billNo); |
|
|
|
entity.setApplicationDate(DateUtil.today()); |
|
|
|
List<BusVehicleApplyDetailDto> busVehicleApplyDetailDtoList = dto.getBusVehicleApplyDetailDtoList(); |
|
|
|
for (BusVehicleApplyDetailDto busVehicleApplyDetailDto : busVehicleApplyDetailDtoList) { |
|
|
@ -185,6 +199,21 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa |
|
|
|
return rb.success().setData(sid); |
|
|
|
} |
|
|
|
|
|
|
|
public String getApplyCode(BusVehicleApplyDto dto) { |
|
|
|
String userSid = dto.getCreateBySid(); |
|
|
|
//获取分公司sid
|
|
|
|
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid); |
|
|
|
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData()); |
|
|
|
String orgCode = resultBean1.getData().getOrgCode(); |
|
|
|
BillNo b = new BillNo(); |
|
|
|
b.setOrgCode(orgCode); |
|
|
|
b.setBillType(BillTypeEnum.PCSQ.getBillType()); |
|
|
|
String bill = Rule.getBill(b); |
|
|
|
int i = baseMapper.selectNum(bill); |
|
|
|
String billNo = Rule.getBillNo(bill, i); |
|
|
|
return billNo; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 提交 |
|
|
|
* |
|
|
@ -307,9 +336,35 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
//ToDo:排产申请通过后的状态更新以及厂家认款的推送
|
|
|
|
//查询是否是最后一个环节,若是则更新排产申请的状态为通过。
|
|
|
|
//若状态为通过,需要打款的推送打款状态为未打款厂家认款记录;无需打款的,直接推送打款状态为无需打款的厂家认款记录。
|
|
|
|
//ToDo:排产申请通过厂家认款推送
|
|
|
|
//查询是否是最后一个环节,若状态为通过,需要打款的推送打款状态为未打款厂家认款记录;无需打款的,直接推送打款状态为无需打款的厂家认款记录。
|
|
|
|
//排产申请审核通过后,若申请订金的,需要同时生成财务待支付列表记录。
|
|
|
|
//生成一条未打款、未认款的厂家认款记录;若申请订金为0,则只需要生成一条无需打款、未认款的厂家认款记录。
|
|
|
|
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { |
|
|
|
BaseManufactorSubscriptionDto baseManufactorSubscriptionDto = new BaseManufactorSubscriptionDto(); |
|
|
|
//判断申请的订金
|
|
|
|
List<BusVehicleApplyDetailVo> vo = busVehicleApplyDetailService.fetchByApplySid(bv.getBusinessSid()); |
|
|
|
vo.removeAll(Collections.singleton(null)); |
|
|
|
BigDecimal bigDecimal = new BigDecimal("0"); |
|
|
|
for (BusVehicleApplyDetailVo o : vo) { |
|
|
|
String applyForDeposit = o.getApplyForDeposit(); |
|
|
|
if (StringUtils.isNotBlank(applyForDeposit)) { |
|
|
|
bigDecimal = bigDecimal.add(new BigDecimal(applyForDeposit)); |
|
|
|
} |
|
|
|
} |
|
|
|
if (bigDecimal.compareTo(new BigDecimal("0")) == 1) { |
|
|
|
//未打款、未认款的厂家认款记录
|
|
|
|
baseManufactorSubscriptionDto.setState(0);//未认款
|
|
|
|
baseManufactorSubscriptionDto.setPaymentState("0");//未打款
|
|
|
|
} else { |
|
|
|
//无需打款、未认款的厂家认款记录
|
|
|
|
baseManufactorSubscriptionDto.setState(0);//未认款
|
|
|
|
baseManufactorSubscriptionDto.setPaymentState("2");//无需打款
|
|
|
|
} |
|
|
|
baseManufactorSubscriptionDto.setPaymentMoney(bigDecimal.toString());//打款金额
|
|
|
|
baseManufactorSubscriptionDto.setProSchAppNo(busVehicleApply.getApplicationCode());//排产申请编号
|
|
|
|
ResultBean r = baseManufactorSubscriptionService.saveDto(baseManufactorSubscriptionDto); |
|
|
|
} |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} else { |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致"); |
|
|
@ -368,6 +423,9 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa |
|
|
|
String businessTaskId = busVehicleApply.getTaskId(); |
|
|
|
if (StringUtils.isNotBlank(businessTaskId)) { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
if (StringUtils.isBlank(query.getComment())) { |
|
|
|
return rb.setMsg("参数错误:comment"); |
|
|
|
} |
|
|
|
FlowTaskVo flowTaskVo = new FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo); |
|
|
@ -431,6 +489,9 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa |
|
|
|
String businessTaskId = busVehicleApply.getTaskId(); |
|
|
|
if (StringUtils.isNotBlank(businessTaskId)) { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
if (StringUtils.isBlank(query.getComment())) { |
|
|
|
return rb.setMsg("参数错误:comment"); |
|
|
|
} |
|
|
|
FlowTaskVo flowTaskVo = new FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo); |
|
|
|