Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 2 years ago
parent
commit
8cd9ce62e3
  1. 1
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateEnum.java
  2. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateService.java
  3. 23
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  4. 52
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  5. 56
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateDetailsVo.java
  6. 12
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateDto.java
  7. 18
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateFeign.java
  8. 21
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateStateQuery.java
  9. 24
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplateinstall/LoanTemplateInstallDto.java
  10. 42
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplateinstall/LoanTemplateInstallVo.java
  11. 28
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplatetrailer/LoanTemplateTrailerDto.java
  12. 46
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplatetrailer/LoanTemplateTrailerVo.java
  13. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateMapper.java
  14. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateMapper.xml
  15. 15
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateRest.java
  16. 144
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateService.java
  17. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplateinstall/LoanTemplateInstallMapper.java
  18. 11
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplateinstall/LoanTemplateInstallMapper.xml
  19. 17
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplateinstall/LoanTemplateInstallService.java
  20. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplatetrailer/LoanTemplateTrailerMapper.java
  21. 11
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplatetrailer/LoanTemplateTrailerMapper.xml
  22. 17
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplatetrailer/LoanTemplateTrailerService.java

1
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateEnum.java

@ -64,6 +64,7 @@ public class BaseVehicleStateEnum {
CKKP_PASS("3", "出库开票审核通过"),
JC_PASS("4", "交车审核通过"),
BUS_STOP("5", "业务终止"),
DDBA_SAVEVIN("6", "录入车架号"),
;

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateService.java

@ -51,6 +51,10 @@ public class BaseVehicleStateService extends MybatisBaseService<BaseVehicleState
} else if (BaseVehicleStateEnum.OperateTypeEnum.BUS_STOP.getTypeKey().equals(operateType)) {
//如果为终止或作废,则更新小状态为业务终止602
baseVehicleState.setBusState(BaseVehicleStateEnum.BusStateEnum.YWJS_STATE_2.getStateKey());
} else if (BaseVehicleStateEnum.OperateTypeEnum.DDBA_SAVEVIN.getTypeKey().equals(operateType)) {
//销售订单录入车架号
baseVehicleState.setVinNo(dto.getVinNo());
baseVehicleState.setVinSid(dto.getVinSid());
}
//认款办理确认以及结转审核通过的更新款项状态为1,否则为0

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

@ -5585,6 +5585,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
public ResultBean saveSaleOrderInputVin(VinDto dto) {
ResultBean rb = ResultBean.fireFail();
List<VinListDto> list = dto.getVinList();
List<BaseVehicleStateDto> dtoList = new ArrayList<>();
//根据销售订单sid查询车架号
List<BusSalesOrderVehicleDetailsVo> busSalesOrderVehicleDetailsVos = busSalesOrderVehicleService.detailsList(dto.getSaleOrderSid());
busSalesOrderVehicleDetailsVos.removeAll(Collections.singleton(null));
@ -5603,6 +5604,14 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
busSalesOrderVehicle.setLinkNo(list.get(i).getLinkNo());
busSalesOrderVehicle.setLinkSid(list.get(i).getLinkSid());
busSalesOrderVehicleService.updateById(busSalesOrderVehicle);
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.DDBA_SUBMIT.getTypeKey());
if (StringUtils.isNotBlank(list.get(i).getLinkSid())) {
baseVehicleStateDto.setVinSid(list.get(i).getLinkSid());
baseVehicleStateDto.setVinNo(list.get(i).getLinkNo());
}
baseVehicleStateDto.setBusSid(busSalesOrderVehicle.getSid());
dtoList.add(baseVehicleStateDto);
}
//将选择的车辆的锁定状态修改为已锁定
busMainDepositUpdateQuery = new BusMainDepositUpdateQuery();
@ -5611,6 +5620,20 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.ORDER_LOCK.getCode());
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.ORDER_LOCK.getRemarks());
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery);
//==============================新增车辆的持久状态组装数据
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
Future future1 = pool.submit(() -> {
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList);
});
} catch (Exception e) {
e.printStackTrace();
}
//==============================
}
return rb.success();

52
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java

@ -431,7 +431,35 @@ public class FlowableRest implements FlowableFeign {
//若下一环节用户与系统管理员一致,则自动审批
if (ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId().equals(nextUserSid)) {
adminContains = true;
}else{
//下一环节不为空,查询下一环节用户是否有转办人
if (nextUserSid != null) {
List<String> nextUserList = Arrays.asList(nextUserSid.split(","));
if (nextUserList.size() == 1) {
//下一环节用户sid
firstSid = nextUserList.get(0);
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(firstSid);
if (sysUserVoResultBean.getData() != null) {
//下一环节用户名称
firstName = sysUserVoResultBean.getData().getName();
}
SysFlowableConfigQuery sysFlowableConfigQuery = new SysFlowableConfigQuery();
sysFlowableConfigQuery.setUserSid(firstSid);
sysFlowableConfigQuery.setNowDate(new Date());
ResultBean<SysFlowableConfigVvo> sysFlowableConfigVvoResultBean = sysFlowableConfigFeign.selectByUserSid(sysFlowableConfigQuery);
if (sysFlowableConfigVvoResultBean.getData() != null) {//若下一环节有转办人且不过期,则isChange为true
if (StringUtils.isNotBlank(sysFlowableConfigVvoResultBean.getData().getChangeUserSid())) {
//转办人sid
nextUserSid = sysFlowableConfigVvoResultBean.getData().getChangeUserSid();
//转办人名称
changeName = sysFlowableConfigVvoResultBean.getData().getChangeName();
isChange = true;
}
}
}
}
}
}
String comment = dto.getComment();
if (StringUtils.isBlank(comment)) {
@ -521,18 +549,6 @@ public class FlowableRest implements FlowableFeign {
if (flowElement2 instanceof UserTask) {
UserTask userTask = (UserTask) flowElement2;
List<String> candidateGroups = userTask.getCandidateGroups();
//根据角色查询用户
/*for (String roleSid : candidateGroups) {
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(roleSid);
userQuery.setOrgSidPath(dto.getOrgSidPath());
ResultBean<List<SysUserVo>> userByRole = sysUserFeign.getUserByRole(userQuery);
boolean success = userByRole.getSuccess();
if (!success) {
continue;
}
sysUserVoLists2.addAll(userByRole.getData());
}*/
UserssQuery userssQuery = new UserssQuery();
userssQuery.setCandidateGroups(candidateGroups);
userssQuery.setOrgSidPath(dto.getOrgSidPath());
@ -546,18 +562,6 @@ public class FlowableRest implements FlowableFeign {
UserTask userTask = (UserTask) flowElement1;
List<String> candidateGroups = userTask.getCandidateGroups();
List<SysUserVo> sysUserVoLists = new ArrayList<>();
//根据角色查询用户
/* for (String roleSid : candidateGroups) {
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(roleSid);
userQuery.setOrgSidPath(dto.getOrgSidPath());
ResultBean<List<SysUserVo>> userByRole = sysUserFeign.getUserByRole(userQuery);
boolean success = userByRole.getSuccess();
if (!success) {
continue;
}
sysUserVoLists.addAll(userByRole.getData());
}*/
UserssQuery userssQuery = new UserssQuery();
userssQuery.setCandidateGroups(candidateGroups);
userssQuery.setOrgSidPath(dto.getOrgSidPath());

56
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateDetailsVo.java

@ -0,0 +1,56 @@
package com.yxt.anrui.riskcenter.api.loantemplate;
import com.yxt.anrui.riskcenter.api.loantemplateinstall.LoanTemplateInstallVo;
import com.yxt.anrui.riskcenter.api.loantemplatetrailer.LoanTemplateTrailerVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/20
**/
@Data
public class LoanTemplateDetailsVo implements Vo {
private static final long serialVersionUID = 3033920198621775406L;
private String sid;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径sid")
private String orgPath;
@ApiModelProperty("模板名称")
private String templateName;
@ApiModelProperty("方案key")
private String showTypeKey;
@ApiModelProperty("方案value")
private String showTypeValue;
@ApiModelProperty("车型sid")
private String vehModelSid;
@ApiModelProperty("车型名称")
private String vehModel;
@ApiModelProperty("配置sid")
private String vehModelConfigSid;
@ApiModelProperty("常用配置名称")
private String vehModelConfig;
@ApiModelProperty("更多配置名称")
private String vehModelConfigMore;
@ApiModelProperty("单台指导价")
private BigDecimal vehPrice;
@ApiModelProperty("合格证公告型号")
private String vehNoticeModel;
@ApiModelProperty("是否包含上装")
private boolean install;
@ApiModelProperty("是否包含挂车")
private boolean trailer;
@ApiModelProperty("上装信息")
private LoanTemplateInstallVo loanTemplateInstall;
@ApiModelProperty("挂车信息")
private LoanTemplateTrailerVo loanTemplateTrailer;
}

12
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateDto.java

@ -1,5 +1,7 @@
package com.yxt.anrui.riskcenter.api.loantemplate;
import com.yxt.anrui.riskcenter.api.loantemplateinstall.LoanTemplateInstallDto;
import com.yxt.anrui.riskcenter.api.loantemplatetrailer.LoanTemplateTrailerDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -41,4 +43,14 @@ public class LoanTemplateDto implements Dto {
private BigDecimal vehPrice;
@ApiModelProperty("合格证公告型号")
private String vehNoticeModel;
@ApiModelProperty("是否包含上装")
private boolean install;
@ApiModelProperty("是否包含挂车")
private boolean trailer;
@ApiModelProperty("上装")
private LoanTemplateInstallDto loanTemplateInstall;
@ApiModelProperty("挂车")
private LoanTemplateTrailerDto loanTemplateTrailer;
}

18
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateFeign.java

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.api.loantemplate;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyStateQuery;
import com.yxt.anrui.riskcenter.api.loantemplate.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -8,10 +9,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@ -38,6 +36,18 @@ public interface LoanTemplateFeign {
@PostMapping("/saveOrUpdate")
ResultBean<String> saveOrUpdate(@RequestBody LoanTemplateDto dto);
@ApiOperation("删除/批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("编辑初始化")
@GetMapping("/details")
public ResultBean<LoanTemplateDetailsVo> fetchSid(@RequestParam("sid") String sid);
@ApiOperation("使用状态停用、开启:useState为1时走停用,为0时走开启")
@PostMapping("setState")
ResultBean setState(@RequestBody LoanTemplateStateQuery query);
@ApiOperation("提交")
@PostMapping("/submitTemplateApply")
public ResultBean submitTemplateApply(@Valid @RequestBody SubmitTemplateDto dto);

21
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/LoanTemplateStateQuery.java

@ -0,0 +1,21 @@
package com.yxt.anrui.riskcenter.api.loantemplate;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/20
**/
@Data
public class LoanTemplateStateQuery {
@ApiModelProperty("sids")
private List<String> sidsList = new ArrayList<>();
@ApiModelProperty("useState为1时走停用,为0时走开启")
private String useState;
}

24
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplateinstall/LoanTemplateInstallDto.java

@ -0,0 +1,24 @@
package com.yxt.anrui.riskcenter.api.loantemplateinstall;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/20
**/
@Data
public class LoanTemplateInstallDto implements Dto {
private static final long serialVersionUID = -9105316229120455812L;
@ApiModelProperty("上装配置sid")
private String vehInstallModelSid;
@ApiModelProperty("上装融资价格")
private String vehInstallPrice;
@ApiModelProperty("上装备注说明")
private String vehInstallRemark;
}

42
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplateinstall/LoanTemplateInstallVo.java

@ -0,0 +1,42 @@
package com.yxt.anrui.riskcenter.api.loantemplateinstall;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/20
**/
@Data
public class LoanTemplateInstallVo implements Vo {
private static final long serialVersionUID = -6044884969525918956L;
@ApiModelProperty("上装名称")
private String installNameValue;
@ApiModelProperty("委改方式")
private String refitMethodValue;
@ApiModelProperty("供应商")
private String refitFactory;
@ApiModelProperty("外廓尺寸_长")
private String wk_long;
@ApiModelProperty("外廓尺寸_宽")
private String wk_wide;
@ApiModelProperty("外廓尺寸_高")
private String wk_high;
@ApiModelProperty("板材材质")
private String plateMaterialValue;
@ApiModelProperty("板材厚度边")
private String plateThicknessEdge;
@ApiModelProperty("板材厚度底")
private String plateThicknessBottom;
@ApiModelProperty("颜色")
private String colorValue;
@ApiModelProperty("更多配置")
private String moreConfig;
@ApiModelProperty("融资价格")
private String vehInstallPrice;
@ApiModelProperty("备注说明")
private String vehInstallRemark;
}

28
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplatetrailer/LoanTemplateTrailerDto.java

@ -0,0 +1,28 @@
package com.yxt.anrui.riskcenter.api.loantemplatetrailer;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/20
**/
@Data
public class LoanTemplateTrailerDto implements Dto {
private static final long serialVersionUID = -7257575436445673187L;
@ApiModelProperty("挂车配置sid")
private String vehTrailerModelSid;
@ApiModelProperty("挂车融资价格")
private String vehTrailerPrice;
@ApiModelProperty("挂车同车型合格证文件")
private List<String> vehTrailerCertificateFile = new ArrayList<>();
@ApiModelProperty("挂车备注说明")
private String vehTrailerRemark;
}

46
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplatetrailer/LoanTemplateTrailerVo.java

@ -0,0 +1,46 @@
package com.yxt.anrui.riskcenter.api.loantemplatetrailer;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/20
**/
@Data
public class LoanTemplateTrailerVo implements Vo {
private static final long serialVersionUID = 2835874033331566270L;
//车型名称
@ApiModelProperty("车辆品牌")
private String brandName;
@ApiModelProperty("车辆型号名称")
private String carModelName;
@ApiModelProperty("生产厂商名称")
private String manufacturerName;
@ApiModelProperty("内部尺寸")
private String insideSize;
@ApiModelProperty("内部尺寸长")
private String insideSizeLong;
@ApiModelProperty("内部尺寸宽")
private String insideSizeWide;
@ApiModelProperty("内部尺寸高")
private String insideSizeHigh;
@ApiModelProperty("箱体颜色")
private String boxColor;
@ApiModelProperty("融资价格")
private String vehTrailerPrice;
@ApiModelProperty("更多配置")
private String moreConfig;
@ApiModelProperty("同车型合格证上传")
private List<String> vehTrailerCertificateFile = new ArrayList<>();
@ApiModelProperty("备注说明")
private String vehTrailerRemark;
}

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateMapper.java

@ -21,4 +21,6 @@ public interface LoanTemplateMapper extends BaseMapper<LoanTemplate> {
IPage<LoanTemplateVo> listPageVo(IPage<LoanTemplate> page, @Param(Constants.WRAPPER) QueryWrapper<LoanTemplate> qw);
int updateFlowFiled(Map<String, Object> map);
int selectBySid(String join);
}

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateMapper.xml

@ -40,4 +40,11 @@
</if>
WHERE sid = #{sid}
</update>
<select id="selectBySid" resultType="int">
select count(*)
from loan_template
where length(nodeState) > 0
and find_in_set(sid, #{list})
</select>
</mapper>

15
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateRest.java

@ -39,6 +39,21 @@ public class LoanTemplateRest implements LoanTemplateFeign {
return loanTemplateService.saveOrUpdateApply(dto);
}
@Override
public ResultBean delBySids(String[] sids) {
return loanTemplateService.delAllBySids(sids);
}
@Override
public ResultBean<LoanTemplateDetailsVo> fetchSid(String sid) {
return loanTemplateService.details(sid);
}
@Override
public ResultBean setState(LoanTemplateStateQuery query) {
return loanTemplateService.setState(query);
}
@Override
public ResultBean submitTemplateApply(SubmitTemplateDto dto) {
return loanTemplateService.submitTemplateApply(dto);

144
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplate/LoanTemplateService.java

@ -6,6 +6,10 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModelDetailsVo;
import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModelFeign;
import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodelDetailsVo;
import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodelFeign;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
@ -17,11 +21,22 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy;
import com.yxt.anrui.riskcenter.api.loantemplate.*;
import com.yxt.anrui.riskcenter.api.loantemplate.flowable.SubmitTemplateDto;
import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateApplyNodeQuery;
import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateApplyTaskQuery;
import com.yxt.anrui.riskcenter.api.loantemplateinstall.LoanTemplateInstall;
import com.yxt.anrui.riskcenter.api.loantemplateinstall.LoanTemplateInstallDto;
import com.yxt.anrui.riskcenter.api.loantemplateinstall.LoanTemplateInstallVo;
import com.yxt.anrui.riskcenter.api.loantemplatetrailer.LoanTemplateTrailer;
import com.yxt.anrui.riskcenter.api.loantemplatetrailer.LoanTemplateTrailerDto;
import com.yxt.anrui.riskcenter.api.loantemplatetrailer.LoanTemplateTrailerVo;
import com.yxt.anrui.riskcenter.biz.loantemplateinstall.LoanTemplateInstallService;
import com.yxt.anrui.riskcenter.biz.loantemplatetrailer.LoanTemplateTrailerService;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
@ -33,7 +48,9 @@ import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.concurrent.*;
@ -59,6 +76,17 @@ public class LoanTemplateService extends MybatisBaseService<LoanTemplateMapper,
private MessageFeign messageFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private LoanTemplateInstallService loanTemplateInstallService;
@Autowired
private LoanTemplateTrailerService loanTemplateTrailerService;
@Autowired
private BaseTrailerModelFeign baseTrailerModelFeign;
@Autowired
private BaseVehinstallmodelFeign baseVehinstallmodelFeign;
@Autowired
private FileUploadComponent fileUploadComponent;
public PagerVo<LoanTemplateVo> listPageVo(PagerQuery<LoanTemplateQuery> pq) {
@ -93,6 +121,7 @@ public class LoanTemplateService extends MybatisBaseService<LoanTemplateMapper,
return p;
}
@Transactional(rollbackFor = Exception.class)
public ResultBean<String> saveOrUpdateApply(LoanTemplateDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid();
@ -127,8 +156,9 @@ public class LoanTemplateService extends MybatisBaseService<LoanTemplateMapper,
loanTemplate.setApplyDeptSid(deptSid);
}
loanTemplate.setFilingDate(DateUtil.today());
baseMapper.insert(loanTemplate);
sid = loanTemplate.getSid();
saveOrUpdateInstallAndTrailer(sid, dto);
baseMapper.insert(loanTemplate);
} else {
//修改
LoanTemplate loanTemplate = fetchBySid(sid);
@ -136,11 +166,43 @@ public class LoanTemplateService extends MybatisBaseService<LoanTemplateMapper,
return rb.setMsg("该申请不存在");
}
BeanUtil.copyProperties(dto, loanTemplate, "sid");
saveOrUpdateInstallAndTrailer(sid, dto);
baseMapper.updateById(loanTemplate);
}
return rb.success().setData(sid);
}
@Transactional(rollbackFor = Exception.class)
public void saveOrUpdateInstallAndTrailer(String sid, LoanTemplateDto dto) {
boolean install = dto.isInstall();
boolean trailer = dto.isTrailer();
loanTemplateInstallService.deleteByMainSid(sid);
loanTemplateTrailerService.deleteByMainSid(sid);
if (install) {
//上装
LoanTemplateInstallDto loanTemplateInstallDto = dto.getLoanTemplateInstall();
LoanTemplateInstall loanTemplateInstall = new LoanTemplateInstall();
BeanUtil.copyProperties(loanTemplateInstallDto, loanTemplateInstall, "sid");
loanTemplateInstall.setTemplateSid(sid);
loanTemplateInstallService.insert(loanTemplateInstall);
}
if (trailer) {
//挂车
LoanTemplateTrailerDto loanTemplateTrailerDto = dto.getLoanTemplateTrailer();
LoanTemplateTrailer loanTemplateTrailer = new LoanTemplateTrailer();
BeanUtil.copyProperties(loanTemplateTrailerDto, loanTemplateTrailer, "sid");
loanTemplateTrailer.setTemplateSid(sid);
List<String> fileList = loanTemplateTrailerDto.getVehTrailerCertificateFile();
fileList.removeAll(Collections.singleton(null));
if (!fileList.isEmpty()) {
fileList = fileList.stream().map(v -> v.replaceAll(fileUploadComponent.getUrlPrefix(), "")).collect(Collectors.toList());
String files = String.join(",", fileList);
loanTemplateTrailer.setVehTrailerCertificateFile(files);
}
loanTemplateTrailerService.insert(loanTemplateTrailer);
}
}
public ResultBean submitTemplateApply(SubmitTemplateDto dto) {
ResultBean rb = ResultBean.fireFail();
LoanTemplate loanTemplate = fetchBySid(dto.getSid());
@ -453,4 +515,84 @@ public class LoanTemplateService extends MybatisBaseService<LoanTemplateMapper,
public ResultBean<TemplateApplyVo> getTemplateApply(String sid) {
return null;
}
@Transactional(rollbackFor = Exception.class)
public ResultBean delAllBySids(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
loanTemplateInstallService.deleteByMainSids(sids);
loanTemplateTrailerService.deleteByMainSids(sids);
delBySids(sids);
return rb.success().setMsg("删除成功");
}
public ResultBean<LoanTemplateDetailsVo> details(String sid) {
ResultBean<LoanTemplateDetailsVo> rb = ResultBean.fireFail();
LoanTemplateDetailsVo loanTemplateDetailsVo = new LoanTemplateDetailsVo();
LoanTemplate loanTemplate = fetchBySid(sid);
if (loanTemplate != null) {
return rb.setMsg("该申请不存在");
}
BeanUtil.copyProperties(loanTemplate, loanTemplateDetailsVo, "sid");
LoanTemplateInstall loanTemplateInstall = loanTemplateInstallService.selectByMainSid(sid);
if (loanTemplateInstall != null) {
loanTemplateDetailsVo.setInstall(true);
//根据上装配置sid查询上装配置信息
String installSid = loanTemplateInstall.getVehInstallModelSid();
ResultBean<BaseVehinstallmodelDetailsVo> installModelDetailsVoResultBean = baseVehinstallmodelFeign.fetchDetailsBySid(installSid);
if (installModelDetailsVoResultBean.getData() != null) {
LoanTemplateInstallVo loanTemplateInstallVo = new LoanTemplateInstallVo();
BeanUtil.copyProperties(installModelDetailsVoResultBean.getData(), loanTemplateInstallVo, "sid");
BeanUtil.copyProperties(loanTemplateInstall, loanTemplateInstallVo);
loanTemplateDetailsVo.setLoanTemplateInstall(loanTemplateInstallVo);
}
}
LoanTemplateTrailer loanTemplateTrailer = loanTemplateTrailerService.selectByMainSid(sid);
if (loanTemplateTrailer != null) {
loanTemplateDetailsVo.setTrailer(true);
//根据挂车配置sid查询挂车的配置信息
String trailerSid = loanTemplateTrailer.getVehTrailerModelSid();
ResultBean<BaseTrailerModelDetailsVo> trailerModelDetailsVoResultBean = baseTrailerModelFeign.fetchDetailsBySid(trailerSid);
if (trailerModelDetailsVoResultBean.getData() != null) {
LoanTemplateTrailerVo loanTemplateTrailerVo = new LoanTemplateTrailerVo();
BeanUtil.copyProperties(trailerModelDetailsVoResultBean.getData(), loanTemplateTrailerVo, "sid");
BeanUtil.copyProperties(loanTemplateTrailer, loanTemplateTrailerVo);
String files = loanTemplateTrailer.getVehTrailerCertificateFile();
if (StringUtils.isNotBlank(files)) {
List<String> fileList = Arrays.asList(files.split(","));
//拼接前缀
fileList = fileList.stream().map(v -> fileUploadComponent.getUrlPrefix() + v).collect(Collectors.toList());
loanTemplateTrailerVo.setVehTrailerCertificateFile(fileList);
}
loanTemplateDetailsVo.setLoanTemplateTrailer(loanTemplateTrailerVo);
}
}
return rb.success().setData(loanTemplateDetailsVo);
}
@Transactional(rollbackFor = Exception.class)
public ResultBean setState(LoanTemplateStateQuery query) {
ResultBean rb = ResultBean.fireFail();
//ToDo:是否可以停用或开启,需补充条件
List<String> sidsList = query.getSidsList();
sidsList.removeAll(Collections.singleton(null));
if (sidsList.isEmpty()) {
return rb.setMsg("请选择数据");
}
String useState = query.getUseState();
for (String sid : sidsList) {
LoanTemplate loanTemplate = fetchBySid(sid);
if (loanTemplate == null) {
return rb.setMsg("操作的数据中包含不存在的数据,请刷新后操作");
}
loanTemplate.setUseState(Integer.valueOf(useState).intValue());
baseMapper.updateById(loanTemplate);
}
return rb.success();
}
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplateinstall/LoanTemplateInstallMapper.java

@ -11,4 +11,7 @@ import org.apache.ibatis.annotations.Mapper;
**/
@Mapper
public interface LoanTemplateInstallMapper extends BaseMapper<LoanTemplateInstall> {
int deleteByMainSid(String s);
LoanTemplateInstall selectByMainSid(String sid);
}

11
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplateinstall/LoanTemplateInstallMapper.xml

@ -1,4 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loantemplateinstall.LoanTemplateInstallMapper">
<delete id="deleteByMainSid">
delete
from loan_template_install
where templateSid = #{s}
</delete>
<select id="selectByMainSid" resultType="com.yxt.anrui.riskcenter.api.loantemplateinstall.LoanTemplateInstall">
select *
from loan_template_install
where templateSid = #{sid}
</select>
</mapper>

17
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplateinstall/LoanTemplateInstallService.java

@ -4,6 +4,9 @@ import com.yxt.anrui.riskcenter.api.loantemplateinstall.LoanTemplateInstall;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
/**
* @description:
* @author: dimengzhe
@ -11,4 +14,18 @@ import org.springframework.stereotype.Service;
**/
@Service
public class LoanTemplateInstallService extends MybatisBaseService<LoanTemplateInstallMapper, LoanTemplateInstall> {
public void deleteByMainSids(String[] sids) {
List<String> stringList = Arrays.asList(sids);
for (int i = 0; i < stringList.size(); i++) {
baseMapper.deleteByMainSid(stringList.get(i));
}
}
public void deleteByMainSid(String sid) {
baseMapper.deleteByMainSid(sid);
}
public LoanTemplateInstall selectByMainSid(String sid) {
return baseMapper.selectByMainSid(sid);
}
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplatetrailer/LoanTemplateTrailerMapper.java

@ -11,4 +11,7 @@ import org.apache.ibatis.annotations.Mapper;
**/
@Mapper
public interface LoanTemplateTrailerMapper extends BaseMapper<LoanTemplateTrailer> {
int deleteByMainSid(String s);
LoanTemplateTrailer selectByMainSid(String sid);
}

11
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplatetrailer/LoanTemplateTrailerMapper.xml

@ -1,4 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loantemplatetrailer.LoanTemplateTrailerMapper">
<delete id="deleteByMainSid">
delete
from loan_template_trailer
where templateSid = #{s}
</delete>
<select id="selectByMainSid" resultType="com.yxt.anrui.riskcenter.api.loantemplatetrailer.LoanTemplateTrailer">
select *
from loan_template_trailer
where templateSid = #{sid}
</select>
</mapper>

17
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantemplatetrailer/LoanTemplateTrailerService.java

@ -4,6 +4,9 @@ import com.yxt.anrui.riskcenter.api.loantemplatetrailer.LoanTemplateTrailer;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
/**
* @description:
* @author: dimengzhe
@ -11,4 +14,18 @@ import org.springframework.stereotype.Service;
**/
@Service
public class LoanTemplateTrailerService extends MybatisBaseService<LoanTemplateTrailerMapper, LoanTemplateTrailer> {
public void deleteByMainSids(String[] sids) {
List<String> stringList = Arrays.asList(sids);
for (int i = 0; i < stringList.size(); i++) {
baseMapper.deleteByMainSid(stringList.get(i));
}
}
public void deleteByMainSid(String sid) {
baseMapper.deleteByMainSid(sid);
}
public LoanTemplateTrailer selectByMainSid(String sid) {
return baseMapper.selectByMainSid(sid);
}
}

Loading…
Cancel
Save