diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeign.java index 6c4c958ece..f4abd1d8ab 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeign.java @@ -71,6 +71,11 @@ public interface BaseManufacturerRetwareFeign { @PostMapping("/confirm") @ResponseBody public ResultBean confirm(@RequestBody BaseManufacturerRetwareVehDto dto); + + @ApiOperation("获取出门证存放路径") + @PostMapping("/createPdf") + @ResponseBody + public ResultBean createPdf(@RequestParam("sid") String sid); @ApiOperation("根据sid删除记录") @DeleteMapping("/delBySids") diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeignFallback.java index 04e810a79a..b90b23fda0 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturerretware/BaseManufacturerRetwareFeignFallback.java @@ -65,6 +65,11 @@ public class BaseManufacturerRetwareFeignFallback implements BaseManufacturerRet return null; } + @Override + public ResultBean createPdf(String sid) { + return null; + } + @Override public ResultBean delBySids( String[] sids){ return ResultBean.fireFail().setMsg("接口anrui-base/basemanufacturerretware/delBySids无法访问"); diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java index c4db5f1be0..20b30954fc 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java @@ -86,7 +86,8 @@ public class CommonContract extends BaseEntity { @ApiModelProperty("身份证信息附件") private String idImagesUrl; - + @ApiModelProperty("车型sid") + private String modelSid; @ApiModelProperty("车型名称") private String modelName; @ApiModelProperty("台数") diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java index 90f85a688f..db8dd6c144 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/PrintConfirmDto.java @@ -41,4 +41,7 @@ public class PrintConfirmDto implements Dto { @ApiModelProperty("是否在保险公司购买保险:1是0否") private String insuranceKey; + + @ApiModelProperty("用户sid") + private String userSid; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java index b7744a2892..8a7b2547ba 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java @@ -19,6 +19,7 @@ public enum BillTypeEnum { KCDDBGSQ("KCDDBG","库存地点变更申请"), JYDDDJSQ("JYDDDJSQ","简易订单订金收取"), JYDDCLYD("JYDDCLYD","简易订单车辆预定"), + XSDD("XSDD","销售订单"), ; private String billType; diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/CommonContractEnum.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/CommonContractEnum.java new file mode 100644 index 0000000000..bbe34feec7 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/CommonContractEnum.java @@ -0,0 +1,39 @@ +package com.yxt.anrui.base.common.enums; + +import lombok.Getter; + +/** + * @Author dimengzhe + * @Date 2022/8/19 14:18 + * @Description + */ +public class CommonContractEnum { + + @Getter + public static enum contractType { + /** + * 新车买卖合同 + */ + XC_CONTRACT("001", "新车买卖合同(订车、现车、欠款)"); + + /** + * code值 + */ + private final String code; + /** + * 备注 + */ + private final String remarks; + + /** + * 构造器 + * + * @param code code值 + * @param remarks 备注 + */ + private contractType(String code, String remarks) { + this.code = code; + this.remarks = remarks; + } + } +} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareRest.java index 83ff625295..6e5a6db751 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareRest.java @@ -84,6 +84,11 @@ public class BaseManufacturerRetwareRest implements BaseManufacturerRetwareFeign return baseManufacturerRetwareService.confirm(dto); } + @Override + public ResultBean createPdf(String sid) { + return baseManufacturerRetwareService.createPdf(sid); + } + @Override @ApiOperation("根据sid批量删除") @PostMapping("/delBySids") diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareService.java index 31ad3c8a66..678e09b344 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareService.java @@ -33,6 +33,9 @@ import com.yxt.anrui.base.api.basemanufacturerretwareveh.BaseManufacturerRetware import com.yxt.anrui.base.api.basemanufacturerretwareveh.BaseManufacturerRetwareVehDetailsVo; import com.yxt.anrui.base.api.basemanufacturerretwareveh.BaseManufacturerRetwareVehDto; import com.yxt.anrui.base.api.basevehicle.BaseVehicle; +import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; +import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo; +import com.yxt.anrui.base.api.basevehicle.ExiCarConfigDetailVo; import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyDto; import com.yxt.anrui.base.biz.basemanufacturerretwareveh.BaseManufacturerRetwareVehService; import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService; @@ -40,9 +43,13 @@ 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.portal.api.sysorganization.SysOrganization; 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.scm.api.scmvehiclegression.ScmVehicleGression; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.utils.WordUtils; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -59,7 +66,10 @@ import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareFei import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * Project: anrui-base(厂家退库)
@@ -85,6 +95,8 @@ public class BaseManufacturerRetwareService extends MybatisBaseService createQueryWrapper(BaseManufacturerRetwareQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -261,4 +273,44 @@ public class BaseManufacturerRetwareService extends MybatisBaseService createPdf(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseManufacturerRetwareVeh baseManufacturerRetwareVeh = baseManufacturerRetwareVehService.fetchBySid(sid); + String mainSid = baseManufacturerRetwareVeh.getMainSid(); + BaseManufacturerRetware baseManufacturerRetware = fetchBySid(mainSid); + SysOrganization sysOrganization = sysOrganizationFeign.selectBySid(baseManufacturerRetware.getUseOrgSid()).getData(); + BaseVehicle baseVehicle = baseVehicleService.selectByVinNoAndOrgSid(baseManufacturerRetwareVeh.getVinNo(), baseManufacturerRetware.getCreateOrgSid()); + ExiCarConfigDetailVo exiCarConfigDetailVo = baseVehicleService.selectExiCarConfig(baseVehicle.getModelSid(), baseVehicle.getModelConfigSid()); + Map dataMap = new HashMap(); + dataMap.put("date", DateUtil.today()); + dataMap.put("contractNo", "—"); + dataMap.put("orgName", sysOrganization.getName()); + dataMap.put("name", "—"); + dataMap.put("modelName", baseVehicle.getModelName() + exiCarConfigDetailVo.getCarColor()); + dataMap.put("number", 1); + dataMap.put("vinNo", baseManufacturerRetwareVeh.getVinNo()); + dataMap.put("reason", "厂家退库办理"); + dataMap.put("operator", baseManufacturerRetware.getOperatorName()); +// dataMap.put("finOperator", "-"); + dataMap.put("carCollector", "—"); +// dataMap.put("signature", "-"); + // 模板名 + String typeName = "出门证模板"; + // 模板路径 + String sourcePath = "D:\\anrui\\upload\\template\\"; + // 生成的word文件名 + String fileName = "出门证.doc"; + String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); + // 生成文件路径 + String targetPath = sourcePath + dateStr; + // 调用生成word方法 + WordUtils.creatWord(dataMap, typeName, sourcePath, targetPath, fileName); + // 新生成的word路径; + String wordPath = targetPath + "\\" + fileName; + // 生成pdf的文件名 + String pdfName = "出门证_" + fileUploadComponent.dateFileName() + ".pdf"; + WordUtils.doc2pdf(wordPath, targetPath, pdfName); + return rb.success().setData("template" + "/" + dateStr + "/" + pdfName); + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java index 6adcd06459..954e47126b 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java @@ -5,13 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; -import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelExportVo; import com.yxt.anrui.base.api.commoncontract.*; -import com.yxt.common.core.result.ResultBean; import org.apache.ibatis.annotations.*; import java.util.List; -import java.util.Map; /** * Project: anrui-base(安瑞基础)
@@ -80,4 +77,6 @@ public interface CommonContractMapper extends BaseMapper { * @return */ AppCommonContractInitVo getContractInfo(@Param("contractSid") String contractSid, @Param("staffSid") String staffSid); + + int selectNum(String bill); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml index 113a4564c3..a30ed4afec 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml @@ -3,7 +3,7 @@ INSERT INTO common_contract(sid, contractNo, contractType, partyA, partyB, partyC, createBySid, - createDate, address, deposit,contractAmount,remarks) + createDate, address, deposit, contractAmount, remarks) VALUES (UUID(), @@ -23,8 +23,11 @@ @@ -102,4 +106,10 @@ #{item} + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java index 7079efbfb8..fcaede70b5 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java @@ -11,6 +11,10 @@ import com.yxt.anrui.base.biz.basetrailer.BaseTrailerService; import com.yxt.anrui.base.biz.basevehiclebrand.BaseVehicleBrandService; import com.yxt.anrui.base.biz.basevehiclemodel.BaseVehicleModelService; import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService; +import com.yxt.anrui.base.common.enums.BillTypeEnum; +import com.yxt.anrui.base.common.enums.CommonContractEnum; +import com.yxt.anrui.base.common.utils.Rule; +import com.yxt.anrui.base.common.utils.domain.BillNo; import com.yxt.anrui.buscenter.api.busdeposit.BusDepositFeign; import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo; import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousFeign; @@ -26,6 +30,7 @@ import com.yxt.anrui.flowable.api.sysformlink.SysFormStateVo; import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign; import com.yxt.anrui.portal.api.dictcommon.DictCommonVo; 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.sysstafforg.SysStaffOrgVo; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; @@ -49,6 +54,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.File; +import java.math.BigDecimal; import java.text.MessageFormat; import java.text.SimpleDateFormat; import java.util.*; @@ -1186,6 +1192,9 @@ public class CommonContractService extends MybatisBaseService future3 = pool.submit(() -> { + //新增合同信息 + CommonContract commonContract = new CommonContract(); + //合同编号 + commonContract.setContractNo(contractNo); + //合同类型 + commonContract.setContractTypeKey(CommonContractEnum.contractType.XC_CONTRACT.getCode()); + commonContract.setContractType(CommonContractEnum.contractType.XC_CONTRACT.getRemarks()); + //客户sid + commonContract.setCustomerSid(appOrderDetailsVo.getCustomerSid()); + //业务员sid、业务员 + commonContract.setStaffSid(appOrderDetailsVo.getUserSid()); + commonContract.setStaffName(appOrderDetailsVo.getSellerName()); + //分公司sid + commonContract.setOrgSid(appOrderDetailsVo.getOrgSid()); + //业务表sid + commonContract.setBusSid(dto.getBusSid()); + //甲方名称、乙方名称、其他方名称、 + commonContract.setPartyA(createOrgName); + commonContract.setPartyB(customerName); + //签订日期、签订地点 + //订金、合同金额 + commonContract.setDeposit(new BigDecimal(depositTotal)); + //合同附件 + //身份证信息附件 + //车型sid + commonContract.setModelSid(appOrderModelInfoVo.getModelSid()); + //车型名称 + commonContract.setModelName(appOrderModelInfoVo.getModelName()); + //车辆台数 + commonContract.setNum(Integer.valueOf(num).intValue()); + //车辆单价 + commonContract.setPrice(new BigDecimal(transactionPrice)); + //单台订金 + commonContract.setOneDeposit(new BigDecimal(depositInfo.getDeposit())); + save(commonContract); + return commonContract.getSid(); + }); } catch (Exception e) { e.printStackTrace(); return rb.setMsg("生成文件失败"); } - return rb.success().setData(list); } + + public String getApplyCode(String userSid) { + //获取分公司sid + ResultBean resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid); + ResultBean resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData()); + String orgCode = resultBean1.getData().getOrgCode(); + BillNo b = new BillNo(); + b.setOrgCode(orgCode); + b.setBillType(BillTypeEnum.XSDD.getBillType()); + String bill = Rule.getBill(b); + int i = baseMapper.selectNum(bill); + String billNo = Rule.getBillNo(bill, i); + return billNo; + } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml index 23f279cfe5..81fcbb10f7 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml @@ -37,7 +37,8 @@