Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 2 years ago
parent
commit
6502b86da8
  1. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailer.java
  2. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerDto.java
  3. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstall.java
  4. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallDto.java
  5. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java
  6. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java
  7. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java
  8. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerMapper.java
  9. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerMapper.xml
  10. 97
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java
  11. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.java
  12. 30
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.xml
  13. 96
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java
  14. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java
  15. 12
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  16. 10
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java
  17. 52
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  18. 19
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/OrderContractQuery.java
  19. 6
      anrui-buscenter/anrui-buscenter-biz/pom.xml
  20. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/BusCenterApplication.java
  21. 205
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  22. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationDto.java
  23. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedDto.java
  24. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java
  25. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationRest.java
  26. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/data_model.json
  27. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java
  28. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java
  29. 13
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  30. 2
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java
  31. 2
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/app/OrgList.java
  32. 6
      anrui-portal/anrui-portal-biz/pom.xml
  33. 2
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml
  34. 3
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml
  35. 12
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java
  36. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundquery/ScmApplyInboundQueryService.java
  37. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehicleApply/ShareVehicleApplyQuery.java
  38. 12
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/vehicleApply/VehicleApplyService.java

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailer.java

@ -85,4 +85,6 @@ public class BaseTrailer extends BaseEntity {
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("单据编号")
private String billNo;
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerDto.java

@ -54,6 +54,8 @@ import java.util.List;
public class BaseTrailerDto implements Dto {
private static final long serialVersionUID = -2327928474477683203L;
@ApiModelProperty("userSid")
private String userSid;
@ApiModelProperty("挂车车型sid")
private String trailerModelSid;
@ApiModelProperty("挂车车架号")
@ -86,6 +88,8 @@ public class BaseTrailerDto implements Dto {
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("部门sid")
private String departmentSid;
@ApiModelProperty("发票照片")

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstall.java

@ -80,5 +80,6 @@ public class BaseVehinstall extends BaseEntity {
private String useOrgSid; // 使用组织
@ApiModelProperty("创建组织")
private String createOrg; // 创建组织
@ApiModelProperty("单据编号")
private String billNo;
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallDto.java

@ -51,6 +51,8 @@ public class BaseVehinstallDto implements Dto {
private String sid; // sid
@ApiModelProperty("userSid")
private String userSid;
@ApiModelProperty("上装配置sid")
private String mainSid; // 上装配置sid
@ApiModelProperty("品牌sid")
@ -83,4 +85,6 @@ public class BaseVehinstallDto implements Dto {
private String createOrg; // 创建组织
@ApiModelProperty("部门sid")
private String departmentSid; // 部门sid
@ApiModelProperty("单据编号")
private String billNo;
}

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

@ -224,4 +224,14 @@ public interface CommonContractFeign {
@GetMapping("/getToDoNum")
@ResponseBody
public ResultBean<String> getToDoNum(@SpringQueryMap CommonToDoNumQuery appToDoNumQuery);
@ApiOperation("查询合同编号")
@GetMapping("/selectContractNo")
@ResponseBody
ResultBean<String> selectContractNo(@RequestParam("userSid")String userSid,@RequestParam("modelSid")String modelSid);
@ApiOperation("生成合同")
@PostMapping("/saveContract")
@ResponseBody
ResultBean saveContract(@RequestBody CommonContract commonContract);
}

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

@ -237,4 +237,14 @@ public class CommonContractFeignFallback implements CommonContractFeign {
public ResultBean<String> getToDoNum(CommonToDoNumQuery appToDoNumQuery) {
return null;
}
@Override
public ResultBean<String> selectContractNo(String userSid, String modelSid) {
return null;
}
@Override
public ResultBean saveContract(CommonContract commonContract) {
return null;
}
}

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

@ -23,6 +23,8 @@ public enum BillTypeEnum {
XSDDHT("XSDDHT","销售订单合同"),
XSDD("XSDD","销售订单"),
SKD("SKD","款项确认"),
GCRK("GCRK","挂车入库"),
SZRK("SZRK","上装入库"),
;
private String billType;

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerMapper.java

@ -86,4 +86,6 @@ public interface BaseTrailerMapper extends BaseMapper<BaseTrailer> {
BaseTrailerDetailsVo fetchByVehSid(String sid);
String selectNum(String billNo);
int selectNumGCRK(String bill);
}

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerMapper.xml

@ -63,4 +63,10 @@
order by billNo desc
limit 1
</select>
<select id="selectNumGCRK" resultType="int">
SELECT IFNULL(CAST(REPLACE(MAX(billNo), #{bill}, '') AS SIGNED), 0) CODE
from base_trailer
where billNo LIKE concat(#{bill}, '%')
</select>
</mapper>

97
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java

@ -36,6 +36,7 @@ import com.yxt.anrui.base.api.basetrailer.*;
import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModel;
import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModelDetailsVo;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto;
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand;
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate;
import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOut;
@ -57,8 +58,10 @@ import com.yxt.anrui.base.biz.basevehicleout.BaseVehicleOutService;
import com.yxt.anrui.base.biz.basevehicleoutapply.BaseVehicleOutApplyService;
import com.yxt.anrui.base.biz.basevehmodelannouncementmodel.BaseVehmodelAnnouncementmodelService;
import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
@ -70,6 +73,13 @@ import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
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.scm.api.scmapplyinbound.ScmApplyInboundVo;
import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryDto;
import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryFeign;
import com.yxt.anrui.scm.api.scmapplyinboundvehquery.ScmApplyInboundVehQueryDto;
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
@ -129,6 +139,12 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
private BaseVehicleOutService baseVehicleOutService;
@Autowired
private BaseVehicleOutApplyService baseVehicleOutApplyService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private ScmApplyInboundQueryFeign scmApplyInboundQueryFeign;
private QueryWrapper<BaseTrailer> createQueryWrapper(BaseTrailerQuery query) {
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
@ -247,6 +263,7 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
ResultBean rb = ResultBean.fireFail();
BaseTrailer baseTrailer = new BaseTrailer();
dto.fillEntity(baseTrailer);
baseTrailer.setCreateBySid(dto.getUserSid());
//厂商结算价
String settlementPrice = dto.getSettlementPrice();
if (StringUtils.isNotBlank(settlementPrice)) {
@ -259,6 +276,8 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
BigDecimal decimal = new BigDecimal(dealPrice);
baseTrailer.setDealPrice(decimal);
}
String billNo = getGCRKApplyCode(dto.getUserSid());
baseTrailer.setBillNo(billNo);
boolean isSave = save(baseTrailer);
if (!isSave) {
return rb.setMsg("保存失败");
@ -285,7 +304,10 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
certificatePic.setAttachType("挂车合格证照片");
commonAppendixService.saveOrUpdateDto(certificatePic);
}
StkInStock stkInStock = new StkInStock();
String cgrkdSid = pushGCRKInBoundQuery(baseTrailer);
scmApplyInboundQueryFeign.ctcgykd(cgrkdSid);
/*StkInStock stkInStock = new StkInStock();
stkInStock.setFBillNo(billNo);
//入库日期:FDate (必填项)
stkInStock.setFDate(DateUtil.formatDate(new Date()));
String vehSid = dto.getVehSid();
@ -329,10 +351,81 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
finKingDeeFeign.draftStkInStock(stkInStock);
} catch (Exception e) {
e.printStackTrace();
}
}*/
return rb.success().setMsg("保存成功");
}
public String getGCRKApplyCode(String userSid) {
//获取分公司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.GCRK.getBillType());
String bill = Rule.getBill(b);
int i = baseMapper.selectNumGCRK(bill);
String billNo = Rule.getBillNo(bill, i);
return billNo;
}
/*
* 挂车入库推送业务采购入库单查询
* */
private String pushGCRKInBoundQuery(BaseTrailer baseTrailer) {
//推送车辆入库查询
String vehSid = baseTrailer.getVehSid();
//查询主车信息
BaseVehicle baseVehicle = baseVehicleService.fetchBySid(vehSid);
//查询挂车车型信息
BaseTrailerModel baseTrailerModel = baseTrailerModelService.fetchBySid(baseTrailer.getTrailerModelSid());
ScmApplyInboundQueryDto scmApplyInboundQueryDto = new ScmApplyInboundQueryDto();
//挂车入库日期
scmApplyInboundQueryDto.setOrgPriceDate(baseTrailer.getWarehousingDate());
//挂车采购类型
scmApplyInboundQueryDto.setManPurOrderTypeKey("002");
scmApplyInboundQueryDto.setManPurOrderTypeValue("外采");
//挂车入库编号
scmApplyInboundQueryDto.setApplicationCode(baseTrailer.getBillNo());
//挂车采购系统
scmApplyInboundQueryDto.setOrgDeptSid(baseVehicle.getPurchaseSystemSid());
SysOrganizationVo sysOrganizationVoBM = sysOrganizationFeign.fetchBySid(baseVehicle.getPurchaseSystemSid()).getData();
scmApplyInboundQueryDto.setOrgDeptName(sysOrganizationVoBM.getName());
scmApplyInboundQueryDto.setPurchaseSystemCode(sysOrganizationVoBM.getOrgCode());
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
scmApplyInboundQueryDto.setPurchaseSystemName(basePurchaseSystemDetailsVo.getPurchaseSystemName());
scmApplyInboundQueryDto.setOrgCode(basePurchaseSystemDetailsVo.getOrgCode());
//挂车供应商
scmApplyInboundQueryDto.setManSid(baseTrailerModel.getManufacturerSid());
scmApplyInboundQueryDto.setManName(baseTrailerModel.getManufacturerName());
BaseManufacturer baseManufacturer = baseManufacturerService.fetchBySid(baseTrailerModel.getManufacturerSid());
scmApplyInboundQueryDto.setManCode(baseManufacturer.getManufacturerCode());
//挂车制单人
scmApplyInboundQueryDto.setMakeListSid(baseTrailer.getCreateBySid());
SysUserVo sysUserVo = sysUserFeign.fetchBySid(baseTrailer.getCreateBySid()).getData();
scmApplyInboundQueryDto.setMakeListName(sysUserVo.getName());
scmApplyInboundQueryDto.setMakeListDate(DateUtil.formatDate(new Date()));
scmApplyInboundQueryDto.setCreateOrgSid(baseTrailer.getUseOrgSid());
scmApplyInboundQueryDto.setCreateOrgName(baseTrailer.getUseOrgName());
scmApplyInboundQueryDto.setDownNum("0");
List<ScmApplyInboundVehQueryDto> scmApplyInboundVehQuerys = new ArrayList<>();
ScmApplyInboundVehQueryDto scmApplyInboundVehQueryDto = new ScmApplyInboundVehQueryDto();
scmApplyInboundVehQueryDto.setVinNo(baseTrailer.getVinNo().substring(baseTrailer.getVinNo().length() - 8) + "G");
scmApplyInboundVehQueryDto.setMgroupCode("99.02");
scmApplyInboundVehQueryDto.setMgroupName("挂车");
scmApplyInboundVehQueryDto.setVehicleTypeKey("61");
scmApplyInboundVehQueryDto.setVehicleTypeValue("外采挂车");
scmApplyInboundVehQueryDto.setIunit("辆");
scmApplyInboundVehQueryDto.setNum("1");
scmApplyInboundVehQueryDto.setSettleMoney(baseTrailer.getSettlementPrice().toString());
scmApplyInboundVehQueryDto.setLocalName("在途仓库");
scmApplyInboundVehQueryDto.setLocalCode("ARZTCK");
scmApplyInboundVehQuerys.add(scmApplyInboundVehQueryDto);
scmApplyInboundQueryDto.setScmApplyInboundVehQueryList(scmApplyInboundVehQuerys);
String sid = scmApplyInboundQueryFeign.save(scmApplyInboundQueryDto).getData();
return sid;
}
public ResultBean updateTrailer(BaseTrailerDto dto, String sid) {
ResultBean rb = ResultBean.fireFail();
int count = updateBySid(dto, sid);

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.java

@ -70,4 +70,6 @@ public interface BaseVehinstallMapper extends BaseMapper<BaseVehinstall> {
BaseVehinstallDetailsVo fetchByVinNoAndOrgSid(@Param("vinNo") String vinNo,@Param("createOrgSid") String createOrgSid);
BaseVehinstall seletByVinAndUseOrg(@Param("vinNo") String vinNo, @Param("useOrgSid") String useOrgSid);
int selectNumGCRK(String bill);
}

30
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.xml

@ -1,8 +1,8 @@
<?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.base.biz.basevehinstall.BaseVehinstallMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.base.api.basevehinstall.BaseVehinstallVo">
SELECT
bv.sid,
@ -25,18 +25,36 @@
FROM
base_vehinstall bv
LEFT JOIN base_vehinstallmodel bvm
ON bv.`mainSid` = bvm.`sid` <where> ${ew.sqlSegment} </where>
ON bv.`mainSid` = bvm.`sid`
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.base.api.basevehinstall.BaseVehinstallVo">
SELECT * FROM base_vehinstall <where> ${ew.sqlSegment} </where>
SELECT * FROM base_vehinstall
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectByOrgSidAndVin" resultType="com.yxt.anrui.base.api.basevehinstall.BaseVehinstall">
select * from base_vehinstall where useOrgSid = #{useOrgSid} and vinNo = #{vinNo}
select *
from base_vehinstall
where useOrgSid = #{useOrgSid}
and vinNo = #{vinNo}
</select>
<select id="seletByVinAndUseOrg" resultType="com.yxt.anrui.base.api.basevehinstall.BaseVehinstall">
select * from base_vehinstall where vinNo = #{vinNo} and useOrgSid = #{useOrgSid}
select *
from base_vehinstall
where vinNo = #{vinNo}
and useOrgSid = #{useOrgSid}
</select>
<select id="selectNumGCRK" resultType="int">
SELECT IFNULL(CAST(REPLACE(MAX(billNo), #{bill}, '') AS SIGNED), 0) CODE
from base_vehinstall
where billNo LIKE concat(#{bill}, '%')
</select>
</mapper>

96
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java

@ -28,6 +28,8 @@ package com.yxt.anrui.base.biz.basevehinstall;
import cn.hutool.core.date.DateUtil;
import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturer;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
import com.yxt.anrui.base.api.basetrailer.BaseTrailer;
import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModel;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehinstall.*;
import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodel;
@ -35,11 +37,20 @@ import com.yxt.anrui.base.biz.basemanufacturer.BaseManufacturerService;
import com.yxt.anrui.base.biz.basepurchasesystem.BasePurchaseSystemService;
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService;
import com.yxt.anrui.base.biz.basevehinstallmodel.BaseVehinstallmodelService;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
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.scm.api.scmapplyinboundquery.ScmApplyInboundQueryDto;
import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryFeign;
import com.yxt.anrui.scm.api.scmapplyinboundvehquery.ScmApplyInboundVehQueryDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -86,6 +97,12 @@ public class BaseVehinstallRest implements BaseVehinstallFeign {
private BasePurchaseSystemService basePurchaseSystemService;
@Autowired
private BaseVehicleService baseVehicleService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private ScmApplyInboundQueryFeign scmApplyInboundQueryFeign;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@ -123,9 +140,14 @@ public class BaseVehinstallRest implements BaseVehinstallFeign {
dto.setVehicleStateKey(VehicleState.StockEnum.STOCK.getCode());
dto.setVehicleStateValue(VehicleState.StockEnum.STOCK.getRemarks());
dto.setPriceDate(DateUtil.formatDate(new Date()));
String billNo = getGCRKApplyCode(dto.getUserSid());
dto.setBillNo(billNo);
baseVehinstallService.saveOrUpdateDto(dto);
if (StringUtils.isBlank(dto.getSid())) {
StkInStock stkInStock = new StkInStock();
String cgrkdSid = pushSZRKInBoundQuery(dto);
scmApplyInboundQueryFeign.ctcgykd(cgrkdSid);
/*StkInStock stkInStock = new StkInStock();
stkInStock.setFBillNo(billNo);
//入库日期:FDate (必填项)
stkInStock.setFDate(DateUtil.formatDate(new Date()));
//获取主车信息
@ -171,11 +193,81 @@ public class BaseVehinstallRest implements BaseVehinstallFeign {
finKingDeeFeign.draftStkInStock(stkInStock);
} catch (Exception e) {
e.printStackTrace();
}
}*/
}
return rb.success();
}
/*
* 上装入库推送业务采购入库单查询
* */
private String pushSZRKInBoundQuery(BaseVehinstallDto dto) {
//查询主车信息
BaseVehicle baseVehicle = baseVehicleService.selVehicleByVinNoAndOrgSid(dto.getVinNo(),dto.getCreateOrg());
//查询上装车型信息
BaseVehinstallmodel baseVehinstallmodel = baseVehinstallmodelService.fetchBySid(dto.getMainSid());
ScmApplyInboundQueryDto scmApplyInboundQueryDto = new ScmApplyInboundQueryDto();
//上装入库日期
scmApplyInboundQueryDto.setOrgPriceDate(dto.getPriceDate());
//上装采购类型
scmApplyInboundQueryDto.setManPurOrderTypeKey("002");
scmApplyInboundQueryDto.setManPurOrderTypeValue("外采");
//上装入库编号
scmApplyInboundQueryDto.setApplicationCode(dto.getBillNo());
//上装采购系统
scmApplyInboundQueryDto.setOrgDeptSid(baseVehicle.getPurchaseSystemSid());
SysOrganizationVo sysOrganizationVoBM = sysOrganizationFeign.fetchBySid(baseVehicle.getPurchaseSystemSid()).getData();
scmApplyInboundQueryDto.setOrgDeptName(sysOrganizationVoBM.getName());
scmApplyInboundQueryDto.setPurchaseSystemCode(sysOrganizationVoBM.getOrgCode());
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
scmApplyInboundQueryDto.setPurchaseSystemName(basePurchaseSystemDetailsVo.getPurchaseSystemName());
scmApplyInboundQueryDto.setOrgCode(basePurchaseSystemDetailsVo.getOrgCode());
//上装供应商
scmApplyInboundQueryDto.setManSid(baseVehinstallmodel.getRefitFactorySid());
scmApplyInboundQueryDto.setManName(baseVehinstallmodel.getRefitFactory());
BaseManufacturer baseManufacturer = baseManufacturerService.fetchBySid(baseVehinstallmodel.getRefitFactorySid());
scmApplyInboundQueryDto.setManCode(baseManufacturer.getManufacturerCode());
//上装制单人
scmApplyInboundQueryDto.setMakeListSid(dto.getUserSid());
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
scmApplyInboundQueryDto.setMakeListName(sysUserVo.getName());
scmApplyInboundQueryDto.setMakeListDate(DateUtil.formatDate(new Date()));
scmApplyInboundQueryDto.setCreateOrgSid(dto.getCreateOrg());
String name = sysOrganizationFeign.fetchBySid(dto.getCreateOrg()).getData().getName();
scmApplyInboundQueryDto.setCreateOrgName(name);
scmApplyInboundQueryDto.setDownNum("0");
List<ScmApplyInboundVehQueryDto> scmApplyInboundVehQuerys = new ArrayList<>();
ScmApplyInboundVehQueryDto scmApplyInboundVehQueryDto = new ScmApplyInboundVehQueryDto();
scmApplyInboundVehQueryDto.setVinNo(dto.getVinNo().substring(dto.getVinNo().length() - 8) + "SZ");
scmApplyInboundVehQueryDto.setMgroupCode("99.02");
scmApplyInboundVehQueryDto.setMgroupName("挂车");
scmApplyInboundVehQueryDto.setVehicleTypeKey("61");
scmApplyInboundVehQueryDto.setVehicleTypeValue("外采挂车");
scmApplyInboundVehQueryDto.setIunit("辆");
scmApplyInboundVehQueryDto.setNum("1");
scmApplyInboundVehQueryDto.setSettleMoney(dto.getCostPrice());
scmApplyInboundVehQueryDto.setLocalName("在途仓库");
scmApplyInboundVehQueryDto.setLocalCode("ARZTCK");
scmApplyInboundVehQuerys.add(scmApplyInboundVehQueryDto);
scmApplyInboundQueryDto.setScmApplyInboundVehQueryList(scmApplyInboundVehQuerys);
String sid = scmApplyInboundQueryFeign.save(scmApplyInboundQueryDto).getData();
return sid;
}
public String getGCRKApplyCode(String userSid) {
//获取分公司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.SZRK.getBillType());
String bill = Rule.getBill(b);
int i = baseVehinstallService.selectNumGCRK(bill);
String billNo = Rule.getBillNo(bill, i);
return billNo;
}
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java

@ -224,4 +224,8 @@ public class BaseVehinstallService extends MybatisBaseService<BaseVehinstallMapp
BaseVehinstall baseVehinstall = baseMapper.seletByVinAndUseOrg(vinNo,useOrgSid);
return rb.success().setData(baseVehinstall);
}
public int selectNumGCRK(String bill) {
return baseMapper.selectNumGCRK(bill);
}
}

12
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java

@ -1012,6 +1012,18 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
mfq.setBusinessSid(busVehicleApply.getSid());
mfq.setMsgContent("分享的流程审批,请查看");
mfq.setUserSid(shareQuery.getUserSid());
mfq.setUserSids(userSids.toString());
ResultBean<Map<String,String>> flowResultBean = flowableFeign.selectFlow(taskId);
if(flowResultBean.getData() != null){
mfq.setModuleName(flowResultBean.getData().get("NAME_"));
mfq.setMsgTitle(flowResultBean.getData().get("NAME_"));
}
if("Event_end".equals(uff.getTaskDefKey())){
mfq.setModuleAction("com.anrui.android.plugin.supplychain.activity.DetailPlanProductionActivity");
mfq.setModuleAction2("/scm/#/paichanguanliFlow/paichanguanli/cheliangpaichanYiBanInfo");
mfq.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
}
ResultBean<String> stringResultBean = messageFeign.pushMessageShare(mfq);
log.info("分享成功-resultBean:{}", resultBean);
if (!resultBean.getSuccess()) {

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

@ -603,4 +603,14 @@ public class CommonContractRest implements CommonContractFeign {
public ResultBean<String> getToDoNum(CommonToDoNumQuery appToDoNumQuery) {
return commonContractService.getToDoNum(appToDoNumQuery);
}
@Override
public ResultBean<String> selectContractNo(String userSid, String modelSid) {
return commonContractService.selectContractNo(userSid,modelSid);
}
@Override
public ResultBean saveContract(CommonContract commonContract) {
return commonContractService.saveContract(commonContract);
}
}

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

@ -1603,13 +1603,13 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
String idNo = crmCustomerTempVo.getIDNumber();
//身份证号
//生成合同时如果为个人时,证件证号全款不是必须的、贷款必须。企业的证件号码不必须。
if("2".equals(appOrderDetailsVo.getPayTypeKey())){
/*if("2".equals(appOrderDetailsVo.getPayTypeKey())){
if("1".equals(crmCustomerTempVo.getCustomerTypeKey())){
if (StringUtils.isBlank(idNo)) {
return rb.setMessage(sid).setMsg("请先在客户洽谈的基础信息中补全客户的身份证号").setCode("515");
}
}
}
}*/
//查询销售订单的车型信息
AppOrderModelInfoVo appOrderModelInfoVo = appOrderDetailsVo.getModelInfo();
@ -1891,7 +1891,6 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
}else{
contractNo = commonContractBuscenterVo.getContractNo();
}
// String contractNo = getApplyCode(dto.getUserSid(), appOrderModelInfoVo.getModelSid());
map.put("contractNo", contractNo);
String url = "";
PrintConfirmVo printConfirmVo = null;
@ -2192,6 +2191,41 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
}
return commonContract.getSid();
});
}else{
CommonContract commonContract = fetchBySid(commonContractBuscenterVo.getSid());
String finalUrl = url;
String finalUrlAll = urlAll;
commonContract.setCommonContractUrl(finalUrl);
commonContract.setContractUrlAll(finalUrlAll);
commonAppendixService.delFilesByLinkSidAndAttachType(commonContract.getSid(),CommonAttachTypeEnum.CONTRACT_UPLOAD.getAttachType());
if (list.size() > 0) {
//添加合同下载路径
for (PrintConfirmVo vo : list) {
String str = vo.getDownloadUrl();
String urlPrefix = docPdfComponent.getPrefixTemplateUrl();
String uploadPath = docPdfComponent.getUploadTemplateUrl();
CommonAppendix commonAppendix = new CommonAppendix();
commonAppendix.setLinkSid(commonContract.getSid());
commonAppendix.setAttachType(CommonAttachTypeEnum.CONTRACT_UPLOAD.getAttachType());
String pathLoc = str.replace(urlPrefix, uploadPath);
pathLoc = pathLoc.replace("/", File.separator);
File file = new File(pathLoc);
String size = "";
if (file != null) {
size = FileUploadComponent.getPrintSize(file.length());
}
String suffix = str.substring(str.lastIndexOf(".") + 1); // 文件类型
String fileName = str.substring(str.lastIndexOf("/") + 1, str.lastIndexOf(".")); // 文件名
commonAppendix.setFileName(vo.getName());
commonAppendix.setFileType(suffix);
commonAppendix.setFileSize(size);
commonAppendix.setFilePath(str.replace(urlPrefix, ""));
commonAppendix.setRemarks("合同下载");
commonAppendixService.insert(commonAppendix);
}
}
}
if("2".equals(appOrderDetailsVo.getPayTypeKey())){
return rb.setMsg("贷款合同附件请线下处理").setCode("1000001");
@ -2564,4 +2598,16 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
int count = baseMapper.getToDoNum(userSid);
return rb.success().setData(String.valueOf(count));
}
public ResultBean<String> selectContractNo(String userSid, String modelSid) {
ResultBean<String> rb = ResultBean.fireFail();
String contractNo = getApplyCode(userSid,modelSid);
return rb.success().setData(contractNo);
}
public ResultBean saveContract(CommonContract commonContract) {
ResultBean rb = ResultBean.fireFail();
baseMapper.insert(commonContract);
return rb.success();
}
}

19
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/OrderContractQuery.java

@ -0,0 +1,19 @@
package com.yxt.anrui.buscenter.api.bussalesorder;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2023/3/6 9:10
* @Description
*/
@Data
public class OrderContractQuery implements Query {
private static final long serialVersionUID = -424321487107885097L;
@ApiModelProperty("销售订单sid")
private String sid;
@ApiModelProperty("用户sid")
private String userSid;
}

6
anrui-buscenter/anrui-buscenter-biz/pom.xml

@ -61,6 +61,11 @@
<artifactId>anrui-fin-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<artifactId>anrui-scm-api</artifactId>
<groupId>com.yxt.anrui.scm</groupId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
@ -134,7 +139,6 @@
<optional>true</optional>
</dependency>
</dependencies>
<build>

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/BusCenterApplication.java

@ -16,7 +16,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
})
@EnableScheduling
@EnableDiscoveryClient
@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.messagecenter","com.yxt.anrui.fin"})
@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.messagecenter","com.yxt.anrui.fin","com.yxt.anrui.scm"})
public class BusCenterApplication {
public static void main(String[] args) {

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

@ -55,6 +55,7 @@ import com.yxt.anrui.base.api.commoncontract.CommonContractBuscenterVo;
import com.yxt.anrui.base.api.commoncontract.CommonContractFeign;
import com.yxt.anrui.base.api.commoncontract.CommonContractVo;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.enums.CommonContractEnum;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.base.common.enums.VehicleStateTempOrLast;
import com.yxt.anrui.base.common.utils.Rule;
@ -117,6 +118,8 @@ import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.crm.api.crmvehicledemand.CrmOrderVo;
import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicleDemandOrderVo;
import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemandFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.UnCollectionDto;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
@ -135,6 +138,8 @@ import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo;
import com.yxt.anrui.portal.config.DictCommonType;
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign;
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.DateUtils;
@ -242,6 +247,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
private BaseVehicleModelFeign baseVehicleModelFeign;
@Autowired
private BaseMiddlemanFeign baseMiddlemanFeign;
@Autowired
private ScmWarehouseFeign scmWarehouseFeign;
@Autowired
private FinUncollectedReceivablesDetailedFeign finUncollectedDetailedFeign;
/**
@ -3231,6 +3240,191 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
return r;
}
public void saveContract(OrderContractQuery orderContractQuery){
String sid = orderContractQuery.getSid();
String userSid = orderContractQuery.getUserSid();
ResultBean<AppOrderDetailsVo> resultBean = getSaleOrderDetails(sid);
AppOrderDetailsVo appOrderDetailsVo = resultBean.getData();
//查询销售订单的车型信息
AppOrderModelInfoVo appOrderModelInfoVo = appOrderDetailsVo.getModelInfo();
AppOrderPriceInfoVo priceInfo = appOrderDetailsVo.getPriceInfo();
AppOrderDepositInfoVo depositInfo = appOrderDetailsVo.getDepositInfo();
String modelSid = appOrderModelInfoVo.getModelSid();
String finalContractNo = commonContractFeign.selectContractNo(userSid,modelSid).getData();
//甲方
String createOrgName = appOrderDetailsVo.getSalesOrg();
//乙方
String customerName = appOrderDetailsVo.getName();
//联系电话
String mobile = appOrderDetailsVo.getPhone();
//车辆交付地点
//根据存放地点查询
ScmWarehouseVo scmWarehouseVo = scmWarehouseFeign.fetchBySid(priceInfo.getPlannedPickUpLocationKey()).getData();
String finalAddress = "";
if(scmWarehouseVo != null){
finalAddress = scmWarehouseVo.getWarehouseAttribute();
}
String depositTotal = depositInfo.getDepositTotal();
//查询台数
String num = priceInfo.getNumber();
//单台成交价
String transactionPrice = priceInfo.getSingleFinalPrice();
//新增合同信息
CommonContract commonContract = new CommonContract();
//合同编号
commonContract.setContractNo(finalContractNo);
//合同类型
if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getRemarks().equals(appOrderDetailsVo.getOrderType())) {
commonContract.setContractTypeKey(CommonContractEnum.contractType.XC_CONTRACT.getCode());
commonContract.setContractType(CommonContractEnum.contractType.XC_CONTRACT.getRemarks());
} else {
commonContract.setContractTypeKey(CommonContractEnum.contractType.DC_CONTRACT.getCode());
commonContract.setContractType(CommonContractEnum.contractType.DC_CONTRACT.getRemarks());
}
//客户sid
commonContract.setCustomerSid(appOrderDetailsVo.getCustomerSid());
//业务员sid、业务员
commonContract.setStaffSid(appOrderDetailsVo.getStaffSid());
commonContract.setCreateBySid(appOrderDetailsVo.getUserSid());
commonContract.setStaffName(appOrderDetailsVo.getSellerName());
//部门sid
commonContract.setOrgSid(appOrderDetailsVo.getOrgSid());
//业务表sid
commonContract.setBusSid(sid);
//甲方名称、乙方名称、其他方名称、
commonContract.setPartyA(createOrgName);
commonContract.setPartyB(customerName);
//签订日期、签订地点
commonContract.setCreateDate(new Date());
commonContract.setAddress(finalAddress);
//订金
commonContract.setDeposit(new BigDecimal(depositTotal));
//合同金额
commonContract.setContractAmount(appOrderDetailsVo.getPriceInfo().getTotalPrice());
//合同附件
//身份证信息附件
//车型sid
commonContract.setModelSid(appOrderModelInfoVo.getModelSid());
//车型名称
commonContract.setModelName(appOrderModelInfoVo.getModelName());
commonContract.setConfigSid(appOrderModelInfoVo.getConfigSid());
//车辆台数
commonContract.setNum(Integer.valueOf(num).intValue());
//车辆单价
commonContract.setPrice(new BigDecimal(transactionPrice));
//单台订金
commonContract.setOneDeposit(new BigDecimal(depositInfo.getDeposit()));
commonContract.setCustomerType(appOrderDetailsVo.getCustomerType());
commonContract.setCustomerTypeKey(appOrderDetailsVo.getCustomerKey());
commonContractFeign.saveContract(commonContract);
baseMapper.updateContractNoBySid(commonContract.getContractNo(),sid);
saveFinSelect(appOrderDetailsVo,commonContract,userSid);
}
public void saveFinSelect(AppOrderDetailsVo appOrderDetailsVo,CommonContract commonContract,String userSid){
AppOrderModelInfoVo appOrderModelInfoVo = appOrderDetailsVo.getModelInfo();
AppOrderPriceInfoVo priceInfo = appOrderDetailsVo.getPriceInfo();
AppOrderDepositInfoVo depositInfo = appOrderDetailsVo.getDepositInfo();
//查询销售订单的单台订金与单台成交价是否相等,若不相等,则推送车款为成交价减去订金的,推送订金的为单台订金的
String singleFinalPrice = priceInfo.getSingleFinalPrice();
String deposit = depositInfo.getDeposit();
//查询台数
String num = priceInfo.getNumber();
//单台成交价
String transactionPrice = priceInfo.getSingleFinalPrice();
//单台成交价与单台订金相等
if (new BigDecimal(singleFinalPrice).compareTo(new BigDecimal(deposit)) != 0) {//推送车款
String money = new BigDecimal(singleFinalPrice).subtract(new BigDecimal(deposit)).toString();
List<VinListsVo> vinList = appOrderModelInfoVo.getVinListsVos();
for (int i = 0; i < vinList.size(); i++) {
UnCollectionDto unCollectionDto = new UnCollectionDto();
//合同sid
unCollectionDto.setContractSid(commonContract.getSid());
//合同编号
unCollectionDto.setContractNo(commonContract.getContractNo());
//客户名称
unCollectionDto.setCustomerName(appOrderDetailsVo.getName());
//客户sid
unCollectionDto.setCustomerSid(appOrderDetailsVo.getCustomerSid());
//客户类型
unCollectionDto.setCustomerClass(appOrderDetailsVo.getCustomerKey());
//客户类型
unCollectionDto.setCustomerClassKey(appOrderDetailsVo.getCustomerType());
//客户头像
unCollectionDto.setCustomerImage(appOrderDetailsVo.getCustomerImage());
unCollectionDto.setReceivablesName("车款");
unCollectionDto.setCustomerPhone(appOrderDetailsVo.getPhone());
unCollectionDto.setUseOrgSid(appOrderDetailsVo.getUseOrgSid());
unCollectionDto.setVinNo(vinList.get(i).getVinNo());
unCollectionDto.setCurrentReceivableMoney(money);
unCollectionDto.setUserSid(userSid);
unCollectionDto.setReveivableMoney(money);
unCollectionDto.setBusVinSid(vinList.get(i).getSid());
unCollectionDto.setPayType(appOrderDetailsVo.getPayType());
unCollectionDto.setPayTypeKey(appOrderDetailsVo.getPayTypeKey());
unCollectionDto.setPurchaseSystemName(appOrderDetailsVo.getPurchaseSystemName());
unCollectionDto.setPurchaseSystemSid(appOrderDetailsVo.getPurchaseSystemSid());
finUncollectedDetailedFeign.saveUnCollection(unCollectionDto);
}
}
//添加推送至款项确认的应收未收明细中
List<VinListsVo> vinList = appOrderModelInfoVo.getVinListsVos();
//更新销售订单的临时号
if("2".equals(appOrderDetailsVo.getPayTypeKey())){//贷款
for(int i = 0; i < vinList.size(); i++){
//销售订单中车辆表的sid
String salesOrderVinSid = vinList.get(i).getSid();
String temporaryNum = String.format("%02d", i + 1);
String temporaryNo = commonContract.getContractNo()+temporaryNum;
//更新临时号
ResultBean busSalesOrderResultBean = busSalesOrderVehicleService.updateTemporaryNo(salesOrderVinSid,temporaryNo);
}
}
//查询是否是结转金额,如果是,则订金金额为补交金额/台数。若为现金则为单台订金
String key = depositInfo.getDepositTypeKey();
BigDecimal bigDecimalKeyAll = new BigDecimal("0");
if ("02".equals(key)) {
String makeUpAll = depositInfo.getMakeUpDeposit();
if (makeUpAll != null) {
bigDecimalKeyAll = bigDecimalKeyAll.add(new BigDecimal(makeUpAll).divide(new BigDecimal(num)));
}
} else {
bigDecimalKeyAll = bigDecimalKeyAll.add(new BigDecimal(depositInfo.getDeposit()));
}
if (bigDecimalKeyAll.compareTo(BigDecimal.ZERO) != 0) {
for (int i = 0; i < vinList.size(); i++) {
UnCollectionDto unCollectionDto = new UnCollectionDto();
//合同sid
unCollectionDto.setContractSid(commonContract.getSid());
//合同编号
unCollectionDto.setContractNo(commonContract.getContractNo());
//客户名称
unCollectionDto.setCustomerName(appOrderDetailsVo.getName());
//客户sid
unCollectionDto.setCustomerSid(appOrderDetailsVo.getCustomerSid());
//客户类型
unCollectionDto.setCustomerClass(appOrderDetailsVo.getCustomerKey());
//客户类型
unCollectionDto.setCustomerClassKey(appOrderDetailsVo.getCustomerType());
//客户头像
unCollectionDto.setCustomerImage(appOrderDetailsVo.getCustomerImage());
unCollectionDto.setReceivablesName("订金");
unCollectionDto.setCustomerPhone(appOrderDetailsVo.getPhone());
unCollectionDto.setUseOrgSid(appOrderDetailsVo.getUseOrgSid());
unCollectionDto.setVinNo(vinList.get(i).getVinNo());
unCollectionDto.setCurrentReceivableMoney(bigDecimalKeyAll.toString());
unCollectionDto.setUserSid(userSid);
unCollectionDto.setReveivableMoney(depositInfo.getDeposit());
unCollectionDto.setBusVinSid(vinList.get(i).getSid());
unCollectionDto.setPayType(appOrderDetailsVo.getPayType());
unCollectionDto.setPayTypeKey(appOrderDetailsVo.getPayTypeKey());
unCollectionDto.setPurchaseSystemName(appOrderDetailsVo.getPurchaseSystemName());
unCollectionDto.setPurchaseSystemSid(appOrderDetailsVo.getPurchaseSystemSid());
finUncollectedDetailedFeign.saveUnCollection(unCollectionDto);
}
}
}
/**
* 办理
*
@ -3250,6 +3444,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
//极光推送
if (!"Event_end".equals(resultBean.getData().getTaskDefKey())) {
//极光推送
@ -3812,6 +4007,14 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
String salesOrderSid = orderFlowableQuery.getBusinessSid();
updatePurchaseSystem(purchaseSystemName, purchaseSystemSid, salesOrderSid);
}
//销售订单在销售支持部经理审核后,自动生成应收,此时也可以生成合同,生成合同的同时生成合同审核待办。
if("Activity_10w0sy1".equals(bv.getTaskDefKey())){
//保存合同
OrderContractQuery orderContractQuery = new OrderContractQuery();
orderContractQuery.setSid(bv.getBusinessSid());
orderContractQuery.setUserSid(busSalesOrder.getCreateBySid());
saveContract(orderContractQuery);
}
} else {
return rb.setMsg(resultBean.getMsg());
}
@ -3901,4 +4104,6 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
return rb.success().setData(busSaleOrderVehicleOutVo);
}
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationDto.java

@ -32,6 +32,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.Valid;
import java.util.List;
/**
@ -91,6 +92,7 @@ public class FinCollectionConfirmationDto implements Dto {
@ApiModelProperty("款项状态(1未认款/2部分认款/3已认款)")
private Integer paymentState; // 审核状态
@ApiModelProperty("已选应收款项明细")
@Valid
private List<FinSelectedReceivablesDetailedDto> finSelectedReceivablesDetaileds; // 已选应收款项明细
@ApiModelProperty("打款凭证附件")
private List<FinCollectionConfirmationAppendixDto> paymentVoucherAppendixs; // 打款凭证附件

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedDto.java

@ -32,6 +32,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* Project: anrui-fin(销售相关) <br/>
* File: FinSelectedReceivablesDetailedDto.java <br/>
@ -73,6 +75,7 @@ public class FinSelectedReceivablesDetailedDto implements Dto {
/* @ApiModelProperty("上次认款金额")
private String lastSubscriptionMoney; // 上次认款金额*/
@ApiModelProperty("认款金额")
@NotBlank(message = "认款金额不能为空")
private String subscriptionMoney; // 认款金额
@ApiModelProperty("认款申请日期")
private String subscriptionDate; // 认款申请日期

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java

@ -18,9 +18,9 @@ public class StkInStock {
/**
* 单据编号:FBillNo (必填项)
*/
/*@JsonProperty("FBillNo")
@JsonProperty("FBillNo")
@NotBlank(message = "FBillNo不能为空")
public String FBillNo;*/
public String FBillNo;
/**
* //分配目标组织:TOrgId (必填项)
*/@JsonProperty("TOrgId")

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationRest.java

@ -40,6 +40,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
@ -82,7 +83,7 @@ public class FinCollectionConfirmationRest implements FinCollectionConfirmationF
@Override
@ApiOperation("提交新增保存")
@PostMapping("/save")
public ResultBean save(@RequestBody FinCollectionConfirmationDto dto) {
public ResultBean save(@Valid @RequestBody FinCollectionConfirmationDto dto) {
return finCollectionConfirmationService.saveAllDto(dto);
}

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/data_model.json

@ -3,6 +3,7 @@
"FBillTypeID": {
"FNUMBER": "RKD01_SYS"
},
"FBillNo": "@KD_FBillNo",
"FDate": "@KD_FDate",
"FStockOrgId": {
"FNumber": "@KD_FPurchaseOrgId"

5
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java

@ -86,5 +86,10 @@ public class FlowableFallback implements FlowableFeign {
return null;
}
@Override
public ResultBean<Map<String, String>> selectFlow(String id) {
return null;
}
}

5
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java

@ -131,4 +131,9 @@ public interface FlowableFeign {
@GetMapping(value = "/selectFlowVaributes")
@ResponseBody
ResultBean<Map<String,Object>> selectFlowVaributes(@RequestParam("taskId")String taskId);
@ApiOperation(value = "查询流程的信息")
@GetMapping(value = "/selectFlow")
@ResponseBody
ResultBean<Map<String,String>> selectFlow(@RequestParam("id")String id);
}

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

@ -605,4 +605,17 @@ public class FlowableRest implements FlowableFeign {
Map<String, Object> processVariables = historicTaskInstance.getProcessVariables();
return rb.success().setData(processVariables);
}
@Override
public ResultBean<Map<String, String>> selectFlow(String taskId) {
ResultBean<Map<String, String>> rb = ResultBean.fireFail();
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery()
.includeProcessVariables().taskId(taskId).singleResult();
Map<String, String> process = processService.getProcessDefByDefId(historicTaskInstance.getProcessDefinitionId());
log.info("分享-process:{}", process);
if (process == null) {
log.info("分享-process:{}", process);
}
return rb.success().setData(process);
}
}

2
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserVo.java

@ -88,6 +88,8 @@ public class SysUserVo implements Vo {
@ApiModelProperty("默认的组织机构名称全路径")
private String defaultOrgPathName;
private String defaultDeptName;
@ApiModelProperty("是否需要更换密码")
private Boolean needResetPsd;
@ApiModelProperty("工号")

2
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/app/OrgList.java

@ -14,4 +14,6 @@ public class OrgList implements Vo {
private String orgName;
private String orgPath;
private String deptName;
}

6
anrui-portal/anrui-portal-biz/pom.xml

@ -8,6 +8,7 @@
<version>0.0.1</version>
<relativePath/>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>anrui-portal-biz</artifactId>
@ -41,6 +42,11 @@
<groupId>com.yxt.anrui.scm</groupId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<artifactId>anrui-base-api</artifactId>
<groupId>com.yxt.anrui</groupId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<artifactId>anrui-crm-api</artifactId>
<groupId>com.yxt.anrui</groupId>

2
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml

@ -69,7 +69,7 @@
INNER JOIN sys_staffinfo staff ON org.staffSid = staff.sid
LEFT JOIN sys_user user
ON staff.sid = user.staffSid
WHERE org.orgSid = #{sid}
WHERE org.orgSid = #{sid} and staff.personTypeKey != '01'
</select>
<!--根据员工类型key查询员工工号的最大号-->
<select id="selectJobNumber" resultType="com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfo">

3
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml

@ -366,9 +366,10 @@
</select>
<select id="selectUserByStaffSid" resultType="java.lang.String">
select * from sys_user where staffSid in
select su.sid from sys_user su left join sys_staffinfo si on su.staffSid = si.sid where su.staffSid in
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
and si.personTypeKey != '01'
</select>
</mapper>

12
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java

@ -389,6 +389,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
SysUserDefaultOrg sysUserDefaultOrg = sysUserDefaultOrgService.selectByUserSid(user.getSid());
if (sysUserDefaultOrg == null) {
String orgNamePath = "";
String defaultDeptName = "";
userInfoOneVo.setDefaultOrgPath(sysStaffOrg.getOrgSidPath());
if (StringUtils.isNotBlank(sysStaffOrg.getOrgSidPath())) {
List<String> split = Arrays.asList(sysStaffOrg.getOrgSidPath().split("/"));
@ -397,13 +398,16 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size() - 2));
SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1));
orgNamePath = sysOrganization.getName() + "/" + sysOrganization1.getName();
defaultDeptName = sysOrganization1.getName();
} else {
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0));
orgNamePath = sysOrganization.getName();
defaultDeptName = sysOrganization.getName();
}
}
// userInfoOneVo.setDefaultOrgPathName(sysStaffOrg.getOrgNamePath());
userInfoOneVo.setDefaultOrgPathName(orgNamePath);
userInfoOneVo.setDefaultDeptName(defaultDeptName);
} else {
String orgNamePath = "";
List<SysStaffOrgVo> sysStaffOrgVos = sysStaffOrgService.selectByStaffS(user.getStaffSid());
@ -413,6 +417,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
sysUserDefaultOrgService.deleteByUserSid(user.getSid());
}
userInfoOneVo.setDefaultOrgPath(sysUserDefaultOrg.getOrgSidPath());
String defaultDeptName = "";
if (StringUtils.isNotBlank(sysUserDefaultOrg.getOrgSidPath())) {
List<String> split = Arrays.asList(sysUserDefaultOrg.getOrgSidPath().split("/"));
if (split.size() > 1) {
@ -420,12 +425,15 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size() - 2));
SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size() - 1));
orgNamePath = sysOrganization.getName() + "/" + sysOrganization1.getName();
defaultDeptName = sysOrganization1.getName();
} else {
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0));
orgNamePath = sysOrganization.getName();
defaultDeptName = sysOrganization.getName();
}
}
userInfoOneVo.setDefaultOrgPathName(orgNamePath);
userInfoOneVo.setDefaultDeptName(defaultDeptName);
}
}
}
@ -443,6 +451,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
orgList1.setOrgPath(vv.getOrgSidPath());
orgList1.setOrgName(vv.getOrgNamePath());
String orgName = "";
String deptName = "";
if (StringUtils.isNotBlank(vv.getOrgSidPath())) {
List<String> split = Arrays.asList(vv.getOrgSidPath().split("/"));
if(split.size()>1){
@ -450,9 +459,11 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(split.size()-2));
SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(split.get(split.size()-1));
orgName = sysOrganization.getName()+"/"+sysOrganization1.getName();
deptName = sysOrganization1.getName();
}else{
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(split.get(0));
orgName = sysOrganization.getName();
deptName = sysOrganization.getName();
}
/*String[] split = vv.getOrgSidPath().split("/");
for (int i = 0; i < split.length; i++) {
@ -469,6 +480,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
}
}*/
orgList1.setOrgName(orgName);
orgList1.setDeptName(deptName);
}
orgList.add(orgList1);
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundquery/ScmApplyInboundQueryService.java

@ -260,7 +260,7 @@ public class ScmApplyInboundQueryService extends MybatisBaseService<ScmApplyInbo
List<ScmApplyInboundVehQueryDetailsVo> scmApplyInboundVehQueryDetailsVos = scmApplyInboundVehQueryService.fetchByMainSid(cgrkdSid);
try {
StkInStock stkInStock = new StkInStock();
//stkInStock.setFBillNo(scmApplyInboundQuery.getApplicationCode());
stkInStock.setFBillNo(scmApplyInboundQuery.getApplicationCode());
//获取查询中财务分公司编码
String orgCode = scmApplyInboundQuery.getOrgCode();
stkInStock.setFPurchaseOrgId(orgCode);

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehicleApply/ShareVehicleApplyQuery.java

@ -20,4 +20,6 @@ public class ShareVehicleApplyQuery implements Query {
private List<String> members;
@ApiModelProperty("部门")
private List<String> groups;
private String userSid;
}

12
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/vehicleApply/VehicleApplyService.java

@ -3,6 +3,7 @@ package com.yxt.anrui.terminal.biz.supplychain.vehicleApply;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyFeign;
import com.yxt.anrui.base.api.busvehicleapply.ShareBusVehicleApplyQuery;
import com.yxt.anrui.base.api.busvehicleapply.app.AppVehicleApplySzVo;
import com.yxt.anrui.base.api.busvehicleapply.app.AppVehicleApplyVo;
import com.yxt.anrui.base.api.busvehicleapply.flow.BusVehicleApplyCompleteDto;
@ -13,7 +14,6 @@ import com.yxt.anrui.portal.api.appsubsetversion.AppSubVersionVo;
import com.yxt.anrui.portal.api.appsubsetversion.AppSubsetVersionFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.ShareUserQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.supplychain.vehicleApply.*;
@ -176,8 +176,12 @@ public class VehicleApplyService {
public ResultBean shareMessage(ShareVehicleApplyQuery shareQuery) {
ResultBean rb = ResultBean.fireFail();
return null;
ShareBusVehicleApplyQuery shareBusVehicleApplyQuery = new ShareBusVehicleApplyQuery();
BeanUtil.copyProperties(shareQuery,shareBusVehicleApplyQuery);
ResultBean resultBean = busVehicleApplyFeign.shareBusVehicleApply(shareBusVehicleApplyQuery);
if(!resultBean.getSuccess()){
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
}

Loading…
Cancel
Save