Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 2 years ago
parent
commit
bdad2be143
  1. 12
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/CertificState.java
  2. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.java
  3. 48
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateService.java
  4. 39
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  5. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/buscenterfile/BuscenterFileEnum.java
  6. 46
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailDto.java
  7. 51
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailVo.java
  8. 14
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeign.java
  9. 15
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeignFallback.java
  10. 21
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemListDetailsDto.java
  11. 22
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemListDetailsVo.java
  12. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusRecordsInvoiceVo.java
  13. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordEnum.java
  14. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecords.java
  15. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsDto.java
  16. 24
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsFeign.java
  17. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsFeignFallback.java
  18. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsQuery.java
  19. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsVo.java
  20. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  21. 14
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverRest.java
  22. 207
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java
  23. 25
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareService.java
  24. 26
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bustransferrecords/BusTransferRecordsMapper.java
  25. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bustransferrecords/BusTransferRecordsMapper.xml
  26. 51
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bustransferrecords/BusTransferRecordsRest.java
  27. 78
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bustransferrecords/BusTransferRecordsService.java
  28. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java
  29. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java
  30. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.java
  31. 7
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java
  32. 127
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceService.java
  33. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  34. 30
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgByUserVo.java
  35. 6
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java
  36. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java
  37. 4
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java
  38. 53
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml
  39. 5
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java
  40. 9
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java
  41. 22
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmtransferrecords/ScmTransferRecordsMapper.java
  42. 46
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmtransferrecords/ScmTransferRecordsRest.java
  43. 3
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java
  44. 3
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java
  45. 46
      doc/databases/bus-center_tables.sql
  46. 2
      doc/databases/fin_tables.sql
  47. 44
      doc/databases/scm_tables.sql
  48. 4631
      工作内容需要的文档/单据模板/销售出库单单据打印模板/xsckdjg1.ftl
  49. 4523
      工作内容需要的文档/单据模板/销售出库单单据打印模板/xsckdzks1.ftl
  50. 4
      工作内容需要的文档/单据模板/销售出库单单据打印模板/销售出库单模板(激光打印机).doc
  51. 8
      工作内容需要的文档/单据模板/销售出库单单据打印模板/销售出库单模板(针式打印机).doc

12
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/CertificState.java

@ -58,17 +58,17 @@ public class CertificState {
@Getter
public static enum TransferState {
/**
* 接收
* 移交
*/
TRANSTATE_WJS("001", "未接收"),
TRANSTATE_WJS("001", "未移交"),
/**
* 已接收
* 待移交
*/
TRANSTATE_YJS("002", "已接收"),
TRANSTATE_DYJ("002", "待移交"),
/**
* 移交
* 移交
*/
TRANSTATE_DYJ("003", "移交"),
TRANSTATE_YJZ("003", "移交"),
/**
* 已移交
*/

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.java

@ -103,6 +103,6 @@ public interface BaseVehicleCertificateMapper extends BaseMapper<BaseVehicleCert
HandoverCertVo getCertificateInfoOne(@Param("vinSid") String vinSid, @Param("useOrgSid") String useOrgSid);
@Update("update base_vehicle_certificate set certificateState = #{tranKey},certificateStateValue = #{tranValue} where sid = #{sid}")
@Update("update base_vehicle_certificate set transferStateKey = #{tranKey},transferStateValue = #{tranValue} where sid = #{sid}")
void updateTransferState(@Param("sid") String sid,@Param("tranKey") String tranKey,@Param("tranValue") String tranValue);
}

48
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateService.java

@ -10,10 +10,14 @@ import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService;
import com.yxt.anrui.base.biz.basevehicleappendix.BaseVehicleAppendixService;
import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService;
import com.yxt.anrui.base.common.enums.CertificState;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.buscenter.api.bustransferrecords.BusTransferRecordEnum;
import com.yxt.anrui.buscenter.api.bustransferrecords.BusTransferRecordsDto;
import com.yxt.anrui.buscenter.api.bustransferrecords.BusTransferRecordsFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganization;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
@ -21,6 +25,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
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.scmtransferrecords.ScmTransferRecordEnum;
import com.yxt.anrui.scm.api.scmtransferrecords.ScmTransferRecordsDto;
import com.yxt.anrui.scm.api.scmtransferrecords.ScmTransferRecordsFeign;
import com.yxt.common.base.config.component.FileUploadComponent;
@ -70,7 +75,7 @@ public class BaseVehicleCertificateService extends MybatisBaseService<BaseVehicl
@Autowired
private MessageFeign messageFeign;
@Autowired
private ScmTransferRecordsFeign scmTransferRecordsFeign;
private BusTransferRecordsFeign busTransferRecordsFeign;
@Autowired
private BaseVehicleAppendixService baseVehicleAppendixService;
/**
@ -273,10 +278,7 @@ public class BaseVehicleCertificateService extends MybatisBaseService<BaseVehicl
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.selectByOrgSidPath(orgPath).getData();
for (String sid : sids) {
BaseVehicleCertificate baseVehicleCertificate = fetchBySid(sid);
if ("004".equals(baseVehicleCertificate.getCertificateState()) && "003".equals(baseVehicleCertificate.getTransferStateKey())){
String tranKey = "005";
String tranValue = "移交中";
baseMapper.updateTransferState(sid,tranKey,tranValue);
if (CertificState.CertificateState.CERSTATE_ZS.getCode().equals(baseVehicleCertificate.getCertificateState()) && CertificState.TransferState.TRANSTATE_DYJ.getCode().equals(baseVehicleCertificate.getTransferStateKey())){
String vehicleSid = baseVehicleCertificate.getVehicleSid();
BusSalesOrderDetailsVo busSalesOrderDetailsVo = busSalesOrderFeign.selNewComSaleByVehSid(vehicleSid).getData();
if (busSalesOrderDetailsVo == null){
@ -285,24 +287,27 @@ public class BaseVehicleCertificateService extends MybatisBaseService<BaseVehicl
String staffSid = busSalesOrderDetailsVo.getStaffSid();
SysUserVo sysUserVo1 = sysUserFeign.selectByStaffsid(staffSid).getData();
//推送物品移交记录
ScmTransferRecordsDto scmTransferRecordsDto = new ScmTransferRecordsDto();
scmTransferRecordsDto.setGoodsSid(sid);
scmTransferRecordsDto.setGoodsName("合格证");
scmTransferRecordsDto.setVinNo(baseVehicleCertificate.getVinNo());
scmTransferRecordsDto.setTransferNum(1);
scmTransferRecordsDto.setTransferSid(transferSid);
scmTransferRecordsDto.setTransferName(sysUserVo.getName());
scmTransferRecordsDto.setTransferDeptSid(sysOrganizationVo.getSid());
scmTransferRecordsDto.setTransferDept(sysOrganizationVo.getName());
scmTransferRecordsDto.setReceiveRoleSid("89d7f310-a221-405b-858e-dd650e0993d5");
scmTransferRecordsDto.setReceiveSid(sysUserVo1.getSid());
scmTransferRecordsDto.setReceiveName(sysUserVo1.getName());
scmTransferRecordsDto.setUseOrgSid(baseVehicleCertificate.getCreateOrgSid());
scmTransferRecordsDto.setUseOrgName(baseVehicleCertificate.getCreateOrgName());
BusTransferRecordsDto busTransferRecordsDto = new BusTransferRecordsDto();
busTransferRecordsDto.setGoodsSid(sid);
busTransferRecordsDto.setGoodsName("合格证");
busTransferRecordsDto.setVinNo(baseVehicleCertificate.getVinNo());
busTransferRecordsDto.setVinSid(baseVehicleCertificate.getVehicleSid());
busTransferRecordsDto.setTransferNum(1);
busTransferRecordsDto.setTransferSid(transferSid);
busTransferRecordsDto.setTransferName(sysUserVo.getName());
busTransferRecordsDto.setTransferDeptSid(sysOrganizationVo.getSid());
busTransferRecordsDto.setTransferDept(sysOrganizationVo.getName());
busTransferRecordsDto.setReceiveRoleSid("89d7f310-a221-405b-858e-dd650e0993d5");
busTransferRecordsDto.setReceiveSid(sysUserVo1.getSid());
busTransferRecordsDto.setReceiveName(sysUserVo1.getName());
busTransferRecordsDto.setUseOrgSid(baseVehicleCertificate.getCreateOrgSid());
busTransferRecordsDto.setUseOrgName(baseVehicleCertificate.getCreateOrgName());
busTransferRecordsDto.setGoodsTypeKey(BusTransferRecordEnum.HGZ.getCode());
busTransferRecordsDto.setGoodsType(BusTransferRecordEnum.HGZ.getRemarks());
//移交附件
List<String> transferFiles = baseVehicleAppendixService.selectList(sid);
scmTransferRecordsDto.setTransferFiles(transferFiles);
scmTransferRecordsFeign.saveRecords(scmTransferRecordsDto);
busTransferRecordsDto.setTransferFiles(transferFiles);
busTransferRecordsFeign.saveRecords(busTransferRecordsDto);
//消息推送
MessagePushTransferDto messagePushTransferDto = new MessagePushTransferDto();
messagePushTransferDto.setMsgTypeSid("bc59c198-2d51-458f-913e-cbd8d7ef4799");
@ -318,6 +323,7 @@ public class BaseVehicleCertificateService extends MybatisBaseService<BaseVehicl
messagePushTransferDto.setReceiveSids(sysUserVo1.getSid());
messagePushTransferDto.setReceiveNames(sysUserVo1.getName());
messageFeign.pushTransferMessage(messagePushTransferDto);
baseMapper.updateTransferState(sid, CertificState.TransferState.TRANSTATE_YJZ.getCode(),CertificState.TransferState.TRANSTATE_YJZ.getRemarks());
}else {
rb.setMsg("不符合移交条件");
}

39
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java

@ -30,7 +30,13 @@ import com.yxt.anrui.base.biz.basevehinstall.BaseVehinstallService;
import com.yxt.anrui.base.biz.commoncontract.CommonContractService;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.buscenter.api.busdelivered.AppDeliveredDetailsVo;
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApply;
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyDetailQuery;
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyDetailVo;
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderSourceLCVo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmationFeign;
@ -38,6 +44,7 @@ import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bdempinfo.BDEmpinfo;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.portal.api.flow.PCHistTaskListAndCommentList;
import com.yxt.anrui.portal.api.sysorganization.SysOrgVo;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
@ -46,10 +53,7 @@ import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.HanZiConverterPinYin;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.TransformMoney;
import com.yxt.common.base.utils.WordUtils;
import com.yxt.common.base.utils.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -102,6 +106,10 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
private BaseVehicleBrandService baseVehicleBrandService;
@Autowired
private CommonContractService commonContractService;
@Autowired
private com.yxt.anrui.portal.api.flow.FlowableFeign flowableFeignPro;
@Autowired
private BusDeliveredApplyFeign busDeliveredApplyFeign;
public ResultBean<Boolean> vehicleOut(BaseVehicleOutDto dto) {
log.info("BaseVehicleOutService-vehicleOut-95:{}", JSONObject.toJSONString(dto));
@ -1988,9 +1996,26 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
dataMap.put("zxszr", tSalesAllowance.toString());
String tPriceDX = TransformMoney.transform(tPrice.toString());
dataMap.put("tPriceDX", tPriceDX);
dataMap.put("makeName", createByName + DateUtil.formatDate(new Date()));
dataMap.put("confirmName", "");
dataMap.put("confirmDate", "");
//获取审批记录
AppDeliveredDetailsVo appDeliveredDetailsVo = busDeliveredApplyFeign.getRetrievalApplyInfoBySid(baseVehicleOutApply.getBusSid()).getData();
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeignPro.flowRecordAndComment(appDeliveredDetailsVo.getProcInstId(), "1").getData();
for (PCHistTaskListAndCommentList flowTask : flowRecordVo) {
if (flowTask.getFlowableRecordVo() != null) {
Map<String, Object> flowableRecordVo = flowTask.getFlowableRecordVo();
String taskDefKey = (String) flowableRecordVo.get("taskDefKey");
List<Map<String, Object>> taskUserInfos = ConstantUtils.getListData(flowableRecordVo, "taskUserInfos");
String assigneeName = (String) taskUserInfos.get(0).get("assigneeName");
Date finishTime = (Date) flowableRecordVo.get("finishTime");
String spsj = DateUtil.formatDate(finishTime);
if ("Activity_1x1eivz".equals(taskDefKey)){
dataMap.put("makeName", assigneeName + spsj);
}else if ("Activity_13w5v5m".equals(taskDefKey)){
dataMap.put("jrsp", assigneeName + spsj);
}else if ("Activity_1xzxtct".equals(taskDefKey) || "Activity_1ohp3br".equals(taskDefKey)){
dataMap.put("confirmName", assigneeName + spsj);
}
}
}
//获取模板
//模板路径
String sourcePath = "D:\\anrui\\upload\\template\\";

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/buscenterfile/BuscenterFileEnum.java

@ -24,8 +24,8 @@ public enum BuscenterFileEnum {
GDLETTER_DOWNLOADURL("015", "股东会对外担保决议"),
ZJLLETTER_DOWNLOADURL("016", "总经理担保书"),
TCALL_DOWNLOADURL("018", "欠款提车附件"),
DISCOUNTPACKAGE_HANDOVER("017","优惠包交接确认")
;
DISCOUNTPACKAGE_HANDOVER("017", "优惠包交接确认"),
ENTRUST_IDCARD_IMAGES("019", "委托提车授权书、委托人身份证(正反面)");
/**

46
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailDto.java

@ -0,0 +1,46 @@
package com.yxt.anrui.buscenter.api.bushandover;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItemListDetailsDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/6/6 9:34
*/
@Data
public class BusHandoverDetailDto implements Dto {
@ApiModelProperty("记录sid")
private String sid;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("车型")
private String modelName;
@ApiModelProperty("交付日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date deliverDate;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("身份证号")
private String idNo;
@ApiModelProperty("交付地点")
private String deliverAddress;
@ApiModelProperty("接收人")
private String recipient;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("接收车辆确认书照片")
private List<BusHandoverItemListDetailsDto> items;
@ApiModelProperty("接收车辆确认书照片")
private List<String> receiveCarImages;
@ApiModelProperty("委托提车授权书、委托人身份证(正反面)")
private List<String> entrustImages;
@ApiModelProperty("交车资料确认单")
private List<String> entrustConfirmImages;
@ApiModelProperty("出门证照片")
private List<String> exitTicketImages;
}

51
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailVo.java

@ -0,0 +1,51 @@
package com.yxt.anrui.buscenter.api.bushandover;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItemListDetailsVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/6/6 9:06
*/
@Data
public class BusHandoverDetailVo implements Vo {
@ApiModelProperty("记录sid")
private String sid;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("车型")
private String modelName;
@ApiModelProperty("交付日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date deliverDate;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("身份证号")
private String idNo;
@ApiModelProperty("交付地点")
private String deliverAddress;
@ApiModelProperty("接收人")
private String recipient;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("接收车辆确认书照片")
private List<BusHandoverItemListDetailsVo> items;
@ApiModelProperty("接收车辆确认书照片")
private List<String> receiveCarImages;
@ApiModelProperty("委托提车授权书、委托人身份证(正反面)")
private List<String> entrustImages;
@ApiModelProperty("交车资料确认单")
private List<String> entrustConfirmImages;
@ApiModelProperty("出门证照片")
private List<String> exitTicketImages;
}

14
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeign.java

@ -49,14 +49,20 @@ public interface BusHandoverFeign {
ResultBean<String> saveOrUpdateBusHandover(@RequestBody BusHandoverDeliveryDto dto) throws Exception;
@ApiOperation("办理查看回显")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<BusHandoverDetailVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("上传照片")
@PostMapping("/uploadPicture")
@ResponseBody
public ResultBean<String> uploadPicture(@RequestBody BusHandoverDetailDto dto);
@ApiOperation("打印接收车辆确认书、出门证、交车资料确认单")
@PostMapping("/createPdf")
ResultBean<List<String>> createPdf(@RequestParam("sid") String sid);
// @ApiOperation("打印出门证")
// @PostMapping("/exitPermit")
// ResultBean<String> exitPermit(String sid);
//
/* @ApiOperation("根据条件分页查询数据的列表")

15
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeignFallback.java

@ -37,15 +37,20 @@ public class BusHandoverFeignFallback implements BusHandoverFeign {
return null;
}
@Override
public ResultBean<BusHandoverDetailVo> fetchDetailsBySid(String sid) {
return null;
}
@Override
public ResultBean<String> uploadPicture(BusHandoverDetailDto dto) {
return null;
}
@Override
public ResultBean<List<String>> createPdf(String sid) {
return null;
}
//
// @Override
// public ResultBean<String> exitPermit(String sid) {
// return null;
// }
@Override
public ResultBean<List<BusHandoverListVo>> saveDeliverybill(BusHandoverDto dto) {

21
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemListDetailsDto.java

@ -0,0 +1,21 @@
package com.yxt.anrui.buscenter.api.bushandoveritems;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/6/6 9:33
*/
@Data
public class BusHandoverItemListDetailsDto implements Dto {
private String sid;
private String vinNo;
//交车照片
private List<String> handoverPhoto;
//保单
private List<String> policyPhoto;
}

22
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemListDetailsVo.java

@ -0,0 +1,22 @@
package com.yxt.anrui.buscenter.api.bushandoveritems;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/6/6 9:10
*/
@Data
public class BusHandoverItemListDetailsVo implements Vo {
private String sid;
private String vinNo;
//交车照片
private List<String> handoverPhoto;
//保单
private List<String> policyPhoto;
}

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmtransferrecords/ScmRecordsInvoiceVo.java → anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusRecordsInvoiceVo.java

@ -1,4 +1,4 @@
package com.yxt.anrui.scm.api.scmtransferrecords;
package com.yxt.anrui.buscenter.api.bustransferrecords;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
@ -12,7 +12,7 @@ import java.util.List;
* @date: 2023/6/5
**/
@Data
public class ScmRecordsInvoiceVo implements Vo {
public class BusRecordsInvoiceVo implements Vo {
private static final long serialVersionUID = 5607692895870869172L;
private String vinSid;
//车架号

6
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmtransferrecords/ScmTransferRecordEnum.java → anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordEnum.java

@ -1,11 +1,11 @@
package com.yxt.anrui.scm.api.scmtransferrecords;
package com.yxt.anrui.buscenter.api.bustransferrecords;
/**
* @description: 物品移交类型
* @author: dimengzhe
* @date: 2023/6/5
**/
public enum ScmTransferRecordEnum {
public enum BusTransferRecordEnum {
FP("01", "发票"),
@ -14,7 +14,7 @@ public enum ScmTransferRecordEnum {
private final String code;
private final String remarks;
ScmTransferRecordEnum(String code, String remarks) {
BusTransferRecordEnum(String code, String remarks) {
this.code = code;
this.remarks = remarks;
}

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmtransferrecords/ScmTransferRecords.java → anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecords.java

@ -1,4 +1,4 @@
package com.yxt.anrui.scm.api.scmtransferrecords;
package com.yxt.anrui.buscenter.api.bustransferrecords;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
@ -12,7 +12,7 @@ import java.util.Date;
* @date: 2023/6/5
**/
@Data
public class ScmTransferRecords extends BaseEntity {
public class BusTransferRecords extends BaseEntity {
private static final long serialVersionUID = 9087540680738846795L;
@ApiModelProperty("移交物品sid")

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmtransferrecords/ScmTransferRecordsDto.java → anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsDto.java

@ -1,4 +1,4 @@
package com.yxt.anrui.scm.api.scmtransferrecords;
package com.yxt.anrui.buscenter.api.bustransferrecords;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
@ -12,7 +12,7 @@ import java.util.List;
* @date: 2023/6/5
**/
@Data
public class ScmTransferRecordsDto implements Dto {
public class BusTransferRecordsDto implements Dto {
private static final long serialVersionUID = 4444291069272893613L;
@ApiModelProperty("合同编号")
private String contractNo;

24
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmtransferrecords/ScmTransferRecordsFeign.java → anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsFeign.java

@ -1,4 +1,4 @@
package com.yxt.anrui.scm.api.scmtransferrecords;
package com.yxt.anrui.buscenter.api.bustransferrecords;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -18,25 +18,29 @@ import org.springframework.web.bind.annotation.RequestParam;
**/
@Api(tags = "物品移交记录")
@FeignClient(
contextId = "anrui-scm-ScmTransferRecords",
name = "anrui-scm",
path = "v1/ScmTransferRecords",
fallback = ScmTransferRecordsFeignFallback.class)
public interface ScmTransferRecordsFeign {
contextId = "anrui-buscenter-BusTransferRecords",
name = "anrui-buscenter",
path = "v1/BusTransferRecords",
fallback = BusTransferRecordsFeignFallback.class)
public interface BusTransferRecordsFeign {
@ApiOperation("分页列表")
@PostMapping("/pagerList")
public ResultBean<PagerVo<ScmTransferRecordsVo>> pagerList(@RequestBody PagerQuery<ScmTransferRecordsQuery> pq);
public ResultBean<PagerVo<BusTransferRecordsVo>> pagerList(@RequestBody PagerQuery<BusTransferRecordsQuery> pq);
@ApiOperation("新增")
@PostMapping("/saveRecords")
ResultBean saveRecords(@RequestBody ScmTransferRecordsDto dto);
ResultBean saveRecords(@RequestBody BusTransferRecordsDto dto);
@ApiOperation("发票接收确认初始化")
@GetMapping("/getInvoiceInfo")
ResultBean<ScmRecordsInvoiceVo> getInvoiceInfo(@RequestParam("sid") String sid);
ResultBean<BusRecordsInvoiceVo> getInvoiceInfo(@RequestParam("sid") String sid);
@ApiOperation("根据接收人sid以及车辆sid查询是否有待接收记录")
@GetMapping("/selectByVinSid")
ResultBean<ScmTransferRecords> selectByVinSid(@RequestParam("vinSid") String vinSid, @RequestParam("receiveUserSid") String receiveUserSid);
ResultBean<BusTransferRecords> selectByVinSid(@RequestParam("vinSid") String vinSid, @RequestParam("receiveUserSid") String receiveUserSid);
@ApiOperation("根据来源sid删除")
@PostMapping("/delBySourceSid")
ResultBean delBySourceSid(@RequestParam("sourceSid") String sourceSid);
}

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmtransferrecords/ScmTransferRecordsFeignFallback.java → anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsFeignFallback.java

@ -1,4 +1,4 @@
package com.yxt.anrui.scm.api.scmtransferrecords;
package com.yxt.anrui.buscenter.api.bustransferrecords;
import org.springframework.stereotype.Component;
@ -8,5 +8,5 @@ import org.springframework.stereotype.Component;
* @date: 2023/6/5
**/
@Component
public class ScmTransferRecordsFeignFallback {
public class BusTransferRecordsFeignFallback {
}

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmtransferrecords/ScmTransferRecordsQuery.java → anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsQuery.java

@ -1,4 +1,4 @@
package com.yxt.anrui.scm.api.scmtransferrecords;
package com.yxt.anrui.buscenter.api.bustransferrecords;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
@ -10,7 +10,7 @@ import lombok.Data;
* @date: 2023/6/5
**/
@Data
public class ScmTransferRecordsQuery implements Query {
public class BusTransferRecordsQuery implements Query {
private static final long serialVersionUID = 1398412884121486811L;
private String menuUrl;

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmtransferrecords/ScmTransferRecordsVo.java → anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsVo.java

@ -1,4 +1,4 @@
package com.yxt.anrui.scm.api.scmtransferrecords;
package com.yxt.anrui.buscenter.api.bustransferrecords;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
@ -10,7 +10,7 @@ import lombok.Data;
* @date: 2023/6/5
**/
@Data
public class ScmTransferRecordsVo implements Vo {
public class BusTransferRecordsVo implements Vo {
private static final long serialVersionUID = -2648064038807719461L;
@ApiModelProperty("合同编号")

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

@ -675,7 +675,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(1, 2,
ExecutorService pool = new ThreadPoolExecutor(1, 10,
1000, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(busDeliveredApply.getSid());

14
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverRest.java

@ -47,15 +47,21 @@ public class BusHandoverRest implements BusHandoverFeign {
return busHandoverService.saveOrUpdateBusHandover(dto);
}
@Override
public ResultBean<BusHandoverDetailVo> fetchDetailsBySid(String sid) {
return busHandoverService.fetchDetailsBySid(sid);
}
@Override
public ResultBean<String> uploadPicture(BusHandoverDetailDto dto) {
return busHandoverService.uploadPicture(dto);
}
@Override
public ResultBean<List<String>> createPdf(String sid) {
return busHandoverService.createPdf(sid);
}
// @Override
// public ResultBean<String> exitPermit(String sid) {
// return busHandoverService.exitPermit(sid);
// }
@Override
public ResultBean<List<BusHandoverListVo>> saveDeliverybill(BusHandoverDto dto) {

207
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java

@ -787,10 +787,10 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
BusHandoverPrepareVehicle prepareVehicle = busHandoverPrepareVehicleService.fetchDetailsByVinSid(handoverWait.getVinSid());
if (null != prepareVehicle) {
if (prepareVehicle.getInvoicingState() > 0) {
sb.append("发票、");
sb.append("发票").append("、");
}
if (prepareVehicle.getCertificateState() > 0) {
sb.append("合格证、");
sb.append("合格证").append("、");
}
if (prepareVehicle.getOnBoardDataState() > 0) {
BusVehicleInformationHandoverDetailsListVo data = busVehicleInformationHandoverService.detailsByVinSid(handoverWait.getVinSid()).getData();
@ -798,15 +798,11 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
itemVo.setIsFuelVehicle(data.getIsFuelVehicle());
if (data.getInformations().size() > 0) {
List<BusVehicleInformationVo> informations = data.getInformations();
String keyNum = "";
for (BusVehicleInformationVo information : informations) {
keyNum = information.getVehicleKeyNum();
}
if (Integer.parseInt(data.getIsFuelVehicle()) > 0) {
//0是燃气车 1不是燃气车
sb.append(keyNum + "把车钥匙、一致性证书、申请表、保修手册、说明书、环保清单、驾驶员卡、");
} else {
sb.append(keyNum + "把车钥匙、一致性证书、申请表、保修手册、说明书、环保清单、驾驶员卡、气瓶产品质量证书(燃气车)、");
sb.append(information.getVehicleHandoverData());
if (StringUtils.isNotBlank(information.getVehicleHandoverData())) {
sb.append("、");
}
}
}
}
@ -1092,75 +1088,6 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
String path = targetPath + pdfName;
return path;
}
/**
* 出门证
*
* @param sid
* @return
*/
// public ResultBean<String> exitPermit(String sid) {
// ResultBean rb = ResultBean.fireFail();
// BusHandover busHandover = fetchBySid(sid);
// BusExitPermitVo permitVo = new BusExitPermitVo();
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// if (StringUtils.isNotBlank(busHandover.getUseOrgName())) {
// permitVo.setOrgName(busHandover.getUseOrgName());
// }
// if (StringUtils.isNotBlank(sdf.format(busHandover.getDeliverDate()))) {
// permitVo.setDate(sdf.format(busHandover.getDeliverDate()));
// }
// if (StringUtils.isNotBlank(busHandover.getCreateBySid())) {
// SysUser sysUser = sysUserFeign.selectBySid(busHandover.getCreateBySid()).getData();
// SysStaffinfoDetailsVo staffinfoDetailsVo = sysStaffinfoFeign.fetchBySid(sysUser.getStaffSid()).getData();
// permitVo.setApply(staffinfoDetailsVo.getName());
// }
// if (StringUtils.isNotBlank(busHandover.getContractNo())) {
// permitVo.setContract(busHandover.getContractNo());
// List<FinVehicleInvoice> invoices = finVehicleInvoiceFeign.selectByContractNo(busHandover.getContractNo()).getData();
// if (!invoices.isEmpty()) {
// for (FinVehicleInvoice invoice : invoices) {
// permitVo.setFinOperator(invoice.getDrawer());
// }
// }
// }
// if (StringUtils.isNotBlank(busHandover.getCustomerName())) {
// permitVo.setName(busHandover.getCustomerName());
// }
// if (StringUtils.isNotBlank(busHandover.getCarNum())) {
// permitVo.setNumber(busHandover.getCarNum());
// }
// if (StringUtils.isNotBlank(busHandover.getStaffSid())) {
// SysStaffinfoDetailsVo staffinfoDetailsVo = sysStaffinfoFeign.fetchBySid(busHandover.getStaffSid()).getData();
// permitVo.setOperator(staffinfoDetailsVo.getName());
// }
// if (StringUtils.isNotBlank(busHandover.getPayTypeValue())) {
// if ("全款".equals(busHandover.getPayTypeValue())) {
// permitVo.setReason("全款交车");
// } else if ("贷款".equals(busHandover.getPayTypeValue())) {
// permitVo.setReason("消贷交车");
// }
// }
// StringBuffer sbVin = new StringBuffer();
// StringBuffer sbModel = new StringBuffer();
// List<BusHandoverItems> items = busHandoverItemsService.getItemsListByMainSid(sid).getData();
// if (!items.isEmpty()) {
// for (BusHandoverItems item : items) {
// String vinNo = item.getVinNo();
// sbVin.append(vinNo).append(",");
// String modelName = item.getModelName();
// BaseVehicleSelectVo vehicle = baseVehicleFeign.details(item.getVinSid()).getData();
// BaseModelConfigSelectVo configSelectVo = baseModelConfigFeign.details(vehicle.getModelConfigSid()).getData();
// String carColor = configSelectVo.getCarColor();
// sbModel.append(modelName + carColor).append(",");
// }
// }
// sbVin.delete(sbVin.length() - 1, sbVin.length());
// sbModel.delete(sbModel.length() - 1, sbModel.length());
// permitVo.setVinNo(sbVin.toString());
// permitVo.setModelName(sbModel.toString());
// String s = exitPermitCreatePdf(permitVo);
// return rb.success().setData(s);
// }
/**
* 打印出门证
@ -1243,6 +1170,128 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
return rb.success().setData(p);
}
/**
* 交车确认查看编辑回显
*
* @param sid
* @return
*/
public ResultBean<BusHandoverDetailVo> fetchDetailsBySid(String sid) {
ResultBean<BusHandoverDetailVo> rb = ResultBean.fireFail();
BusHandover busHandover = fetchBySid(sid);
BusHandoverDetailVo vo = new BusHandoverDetailVo();
BeanUtil.copyProperties(busHandover, vo);
List<BusHandoverItemListDetailsVo> items = new ArrayList<>();
//查询车辆
List<BusHandoverItems> itemsList = busHandoverItemsService.getItemsListByMainSid(sid).getData();
itemsList.removeAll(Collections.singleton(null));
for (BusHandoverItems v : itemsList) {
BusHandoverItemListDetailsVo detailsVo = new BusHandoverItemListDetailsVo();
String handoverPhoto = v.getHandoverPhoto();
String policyPhoto = v.getPolicyPhoto();
BeanUtil.copyProperties(v, detailsVo);
if (StringUtils.isNotBlank(handoverPhoto)) {
List<String> stringList = Arrays.asList(handoverPhoto.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
detailsVo.setHandoverPhoto(stringList);
}
if (StringUtils.isNotBlank(policyPhoto)) {
List<String> policyPhotoList = Arrays.asList(policyPhoto.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
detailsVo.setPolicyPhoto(policyPhotoList);
}
items.add(detailsVo);
}
vo.setItems(items);
//接收车辆确认书照片
List<BuscenterFile> fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.RECEIVE_CAR_IMAGES.getAttachType());
fileList.removeAll(Collections.singleton(null));
if (!fileList.isEmpty()) {
List<String> receiveCarImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).
collect(Collectors.toList());
vo.setReceiveCarImages(receiveCarImages);
}
//委托提车授权书、委托人身份证(正反面)
fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.ENTRUST_IDCARD_IMAGES.getAttachType());
fileList.removeAll(Collections.singleton(null));
if (!fileList.isEmpty()) {
List<String> entrustImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList());
vo.setEntrustImages(entrustImages);
}
//交车资料确认单
fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.ENTRUST_CONFIRM_IMAGES.getAttachType());
fileList.removeAll(Collections.singleton(null));
if (!fileList.isEmpty()) {
List<String> entrustConfirmImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList());
vo.setEntrustConfirmImages(entrustConfirmImages);
}
//出门证照片
fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.EXIT_TICKET_IMAGES.getAttachType());
fileList.removeAll(Collections.singleton(null));
if (!fileList.isEmpty()) {
List<String> exitTicketImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList());
vo.setExitTicketImages(exitTicketImages);
}
return rb.success().setData(vo);
}
/**
* 上传照片修改备注
*
* @param dto
* @return
*/
public ResultBean<String> uploadPicture(BusHandoverDetailDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid();
BusHandover entity = fetchBySid(sid);
String urlPrefix = fileUploadComponent.getUrlPrefix();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
//保存交车照片、保单
if (null != dto.getItems() && dto.getItems().size() > 0) {
StringBuffer sbHandoverPhoto = new StringBuffer();
StringBuffer sbPolicyPhoto = new StringBuffer();
for (BusHandoverItemListDetailsDto itemDto : dto.getItems()) {
BusHandoverItems items = busHandoverItemsService.fetchBySid(itemDto.getSid());
if (!itemDto.getHandoverPhoto().isEmpty()) {
for (String path : itemDto.getHandoverPhoto()) {
String filePath = path.substring(urlPrefix.length());
sbHandoverPhoto.append(filePath).append(",");
}
sbHandoverPhoto.delete(sbHandoverPhoto.length() - 1, sbHandoverPhoto.length());
items.setHandoverPhoto(sbHandoverPhoto.toString());
}
if (!itemDto.getPolicyPhoto().isEmpty()) {
for (String path : itemDto.getPolicyPhoto()) {
String filePath = path.substring(urlPrefix.length());
sbPolicyPhoto.append(filePath).append(",");
}
sbPolicyPhoto.delete(sbPolicyPhoto.length() - 1, sbPolicyPhoto.length());
items.setPolicyPhoto(sbPolicyPhoto.toString());
}
busHandoverItemsService.updateById(items);
}
}
//删除附件表中关于该linkSid的文件
buscenterFileService.deleteByLinkSid(sid);
List<String> entrustConfirmImages = dto.getEntrustConfirmImages();
if (!entrustConfirmImages.isEmpty()) {
buscenterFileService.saveAll(dto.getSid(), entrustConfirmImages, BuscenterFileEnum.ENTRUST_CONFIRM_IMAGES.getAttachType());
}
List<String> receiveCarImages = dto.getReceiveCarImages();
if (!receiveCarImages.isEmpty()) {
buscenterFileService.saveAll(dto.getSid(), receiveCarImages, BuscenterFileEnum.RECEIVE_CAR_IMAGES.getAttachType());
}
List<String> entrustImages = dto.getEntrustImages();
if (!entrustImages.isEmpty()) {
buscenterFileService.saveAll(dto.getSid(), entrustImages, BuscenterFileEnum.ENTRUST_IDCARD_IMAGES.getAttachType());
}
List<String> exitTicketImages = dto.getExitTicketImages();
if (!exitTicketImages.isEmpty()) {
buscenterFileService.saveAll(dto.getSid(), exitTicketImages, BuscenterFileEnum.EXIT_TICKET_IMAGES.getAttachType());
}
return rb.success().setData(dto.getSid());
}

25
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverprepare/BusHandoverPrepareService.java

@ -44,10 +44,12 @@ import com.yxt.anrui.buscenter.api.bushandoverpreparevehicle.AppBusHandoverPrepa
import com.yxt.anrui.buscenter.api.bushandoverpreparevehicle.AppBusHandoverPrepareVehicleInfoVo;
import com.yxt.anrui.buscenter.api.bushandoverpreparevehicle.BusHandoverPrepareVehicle;
import com.yxt.anrui.buscenter.api.bushandoverwait.BusHandoverWaitDto;
import com.yxt.anrui.buscenter.api.bustransferrecords.BusTransferRecords;
import com.yxt.anrui.buscenter.api.busvehicleinformationhandover.BusVehicleInformationHandover;
import com.yxt.anrui.buscenter.biz.buscenterfile.BuscenterFileService;
import com.yxt.anrui.buscenter.biz.bushandoverpreparevehicle.BusHandoverPrepareVehicleService;
import com.yxt.anrui.buscenter.biz.bushandoverwait.BusHandoverWaitService;
import com.yxt.anrui.buscenter.biz.bustransferrecords.BusTransferRecordsService;
import com.yxt.anrui.buscenter.biz.busvehicleinformation.BusVehicleInformationService;
import com.yxt.anrui.buscenter.biz.busvehicleinformationhandover.BusVehicleInformationHandoverService;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleFeign;
@ -56,8 +58,6 @@ import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.scm.api.scmtransferrecords.ScmTransferRecords;
import com.yxt.anrui.scm.api.scmtransferrecords.ScmTransferRecordsFeign;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -111,7 +111,7 @@ public class BusHandoverPrepareService extends MybatisBaseService<BusHandoverPre
@Autowired
private BusVehicleInformationService busVehicleInformationService;
@Autowired
private ScmTransferRecordsFeign scmTransferRecordsFeign;
private BusTransferRecordsService busTransferRecordsService;
/* private QueryWrapper<BusHandoverPrepare> createQueryWrapper(BusHandoverPrepareQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -169,16 +169,16 @@ public class BusHandoverPrepareService extends MybatisBaseService<BusHandoverPre
public void addHandoverPrepare(BusHandoverPrepareAddDto dto) {
BusHandoverPrepare busHandoverPrepare = new BusHandoverPrepare();
BeanUtil.copyProperties(dto, busHandoverPrepare);
save(busHandoverPrepare);
List<AppBusHandoverPrepareVehicleDto> handoverPrepareVehicleDtos = dto.getAppBusHandoverPrepareVehicleDtos();
if (handoverPrepareVehicleDtos.size() > 0) {
for (AppBusHandoverPrepareVehicleDto handoverPrepareVehicleDto : handoverPrepareVehicleDtos) {
BusHandoverPrepareVehicle busHandoverPrepareVehicle = new BusHandoverPrepareVehicle();
BeanUtil.copyProperties(handoverPrepareVehicleDto, busHandoverPrepareVehicle);
BeanUtil.copyProperties(handoverPrepareVehicleDto, busHandoverPrepareVehicle,"sid");
busHandoverPrepareVehicle.setMainSid(busHandoverPrepare.getSid());
busHandoverPrepareVehicleService.save(busHandoverPrepareVehicle);
busHandoverPrepareVehicleService.insert(busHandoverPrepareVehicle);
}
}
save(busHandoverPrepare);
}
/**
@ -199,7 +199,6 @@ public class BusHandoverPrepareService extends MybatisBaseService<BusHandoverPre
}*/
QueryWrapper<AppHandoverPreparePageVo> qw = new QueryWrapper<>();
//=======================
params.setMenuSid("ace04aa4-c970-4960-b211-984052f204c3");
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(params.getOrgPath());
privilegeQuery.setMenuSid(params.getMenuSid());
@ -234,15 +233,13 @@ public class BusHandoverPrepareService extends MybatisBaseService<BusHandoverPre
return p;
}
} else {
PagerVo<AppHandoverPreparePageVo> p = new PagerVo<>();
return p;
/* PagerVo<AppHandoverPreparePageVo> p = new PagerVo<>();
return p;*/
qw.eq("createBySid", params.getUserSid());
}
if (StringUtils.isNotBlank(params.getType())) {//1待准备,2已准备
qw.eq("handoverPrepareStateKey", params.getType());
}
/* if (StringUtils.isNotBlank(useOrgSid)) {
qw.eq("useOrgSid", useOrgSid);
}*/
if (StringUtils.isNotBlank(params.getContractNo())) {
qw.like("contractNo", params.getContractNo());
}
@ -315,8 +312,8 @@ public class BusHandoverPrepareService extends MybatisBaseService<BusHandoverPre
BusHandoverPrepare busHandoverPrepare = fetchBySid(busHandoverPrepareVehicle.getMainSid());
String receiveUserSid = busHandoverPrepare.getCreateBySid();
//根据车辆sid以及销售专员的用户sid查询是否有待接收的记录
ResultBean<ScmTransferRecords> scmTransferRecordsResultBean = scmTransferRecordsFeign.selectByVinSid(busHandoverPrepareVehicle.getVinSid(), receiveUserSid);
if (scmTransferRecordsResultBean.getData() == null) {
ResultBean<BusTransferRecords> busTransferRecordsResultBean = busTransferRecordsService.selectByVinSid(busHandoverPrepareVehicle.getVinSid(), receiveUserSid);
if (busTransferRecordsResultBean.getData() == null) {
return rb.setMsg("发票未准备好");
}
AppInvoicingInfoVo vo = new AppInvoicingInfoVo();

26
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bustransferrecords/BusTransferRecordsMapper.java

@ -0,0 +1,26 @@
package com.yxt.anrui.buscenter.biz.bustransferrecords;
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.buscenter.api.bustransferrecords.BusTransferRecords;
import com.yxt.anrui.buscenter.api.bustransferrecords.BusTransferRecordsVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @description:
* @author: dimengzhe
* @date: 2023/6/5
**/
@Mapper
public interface BusTransferRecordsMapper extends BaseMapper<BusTransferRecords> {
IPage<BusTransferRecordsVo> pagerList(IPage<BusTransferRecords> page, @Param(Constants.WRAPPER)QueryWrapper<BusTransferRecords> qw);
BusTransferRecords selectByVinSid(@Param("vinSid") String vinSid, @Param("userSid") String receiveUserSid);
@Delete("DELETE FROM bus_transfer_records WHERE goodsSid = #{sourceSid}")
void delBySourceSid(String sourceSid);
}

6
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmtransferrecords/ScmTransferRecordsMapper.xml → anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bustransferrecords/BusTransferRecordsMapper.xml

@ -1,7 +1,7 @@
<?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.scm.biz.scmtransferrecords.ScmTransferRecordsMapper">
<select id="pagerList" resultType="com.yxt.anrui.scm.api.scmtransferrecords.ScmTransferRecordsVo">
<mapper namespace="com.yxt.anrui.buscenter.biz.bustransferrecords.BusTransferRecordsMapper">
<select id="pagerList" resultType="com.yxt.anrui.buscenter.api.bustransferrecords.BusTransferRecordsVo">
select sid,
contractNo,
vinNo,
@ -16,7 +16,7 @@
</where>
</select>
<select id="selectByVinSid" resultType="com.yxt.anrui.scm.api.scmtransferrecords.ScmTransferRecords">
<select id="selectByVinSid" resultType="com.yxt.anrui.buscenter.api.bustransferrecords.BusTransferRecords">
select *
from scm_transfer_records
where vinSid = #{vinSid}

51
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bustransferrecords/BusTransferRecordsRest.java

@ -0,0 +1,51 @@
package com.yxt.anrui.buscenter.biz.bustransferrecords;
import com.yxt.anrui.buscenter.api.bustransferrecords.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @description: 物品移交记录
* @author: dimengzhe
* @date: 2023/6/5
**/
@Api(tags = "物品移交记录")
@RestController
@RequestMapping("v1/BusTransferRecords")
public class BusTransferRecordsRest implements BusTransferRecordsFeign {
@Autowired
private BusTransferRecordsService busTransferRecordsService;
@Override
public ResultBean<PagerVo<BusTransferRecordsVo>> pagerList(PagerQuery<BusTransferRecordsQuery> pq) {
ResultBean<PagerVo<BusTransferRecordsVo>> rb = ResultBean.fireFail();
PagerVo<BusTransferRecordsVo> pv = busTransferRecordsService.pagerList(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean saveRecords(BusTransferRecordsDto dto) {
return busTransferRecordsService.saveRecords(dto);
}
@Override
public ResultBean<BusRecordsInvoiceVo> getInvoiceInfo(String sid) {
return busTransferRecordsService.getInvoiceInfo(sid);
}
@Override
public ResultBean<BusTransferRecords> selectByVinSid(String vinSid, String receiveUserSid) {
return busTransferRecordsService.selectByVinSid(vinSid, receiveUserSid);
}
@Override
public ResultBean delBySourceSid(String sourceSid) {
return busTransferRecordsService.delBySourceSid(sourceSid);
}
}

78
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmtransferrecords/ScmTransferRecordsService.java → anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bustransferrecords/BusTransferRecordsService.java

@ -1,12 +1,12 @@
package com.yxt.anrui.scm.biz.scmtransferrecords;
package com.yxt.anrui.buscenter.biz.bustransferrecords;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.bustransferrecords.*;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoice;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.scm.api.scmtransferrecords.*;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -27,7 +27,7 @@ import java.util.stream.Collectors;
* @date: 2023/6/5
**/
@Service
public class ScmTransferRecordsService extends MybatisBaseService<ScmTransferRecordsMapper, ScmTransferRecords> {
public class BusTransferRecordsService extends MybatisBaseService<BusTransferRecordsMapper, BusTransferRecords> {
@Autowired
private FinVehicleInvoiceFeign finVehicleInvoiceFeign;
@ -36,9 +36,9 @@ public class ScmTransferRecordsService extends MybatisBaseService<ScmTransferRec
@Autowired
private FileUploadComponent fileUploadComponent;
public PagerVo<ScmTransferRecordsVo> pagerList(PagerQuery<ScmTransferRecordsQuery> pq) {
QueryWrapper<ScmTransferRecords> qw = new QueryWrapper<>();
ScmTransferRecordsQuery pagerQuery = pq.getParams();
public PagerVo<BusTransferRecordsVo> pagerList(PagerQuery<BusTransferRecordsQuery> pq) {
QueryWrapper<BusTransferRecords> qw = new QueryWrapper<>();
BusTransferRecordsQuery pagerQuery = pq.getParams();
if (pagerQuery != null) {
if (pagerQuery.getType() == 0) {
qw.eq("receiveState", 0);
@ -49,7 +49,7 @@ public class ScmTransferRecordsService extends MybatisBaseService<ScmTransferRec
apply(StringUtils.isNotBlank(pagerQuery.getReceiveTimeEnd()), "date_format (receiveTime,'%Y-%m-%d') <= date_format('" + pagerQuery.getReceiveTimeEnd() + "','%Y-%m-%d')"
);
}
qw.eq("goodsTypeKey", ScmTransferRecordEnum.FP.getCode());
qw.eq("goodsTypeKey", BusTransferRecordEnum.FP.getCode());
//合同编号
if (StringUtils.isNotBlank(pagerQuery.getContractNo())) {
qw.like("contractNo", pagerQuery.getContractNo());
@ -81,9 +81,9 @@ public class ScmTransferRecordsService extends MybatisBaseService<ScmTransferRec
qw.eq("receiveRoleSid", pagerQuery.getRoleSid());
}
}
IPage<ScmTransferRecords> page = PagerUtil.queryToPage(pq);
IPage<ScmTransferRecordsVo> pagging = baseMapper.pagerList(page, qw);
for (ScmTransferRecordsVo record : pagging.getRecords()) {
IPage<BusTransferRecords> page = PagerUtil.queryToPage(pq);
IPage<BusTransferRecordsVo> pagging = baseMapper.pagerList(page, qw);
for (BusTransferRecordsVo record : pagging.getRecords()) {
String vinSid = record.getVinSid();
//根据合同编号和车辆sid查询开票相关
ResultBean<FinVehicleInvoice> resultBean = finVehicleInvoiceFeign.selectByVinSids(vinSid);
@ -95,47 +95,53 @@ public class ScmTransferRecordsService extends MybatisBaseService<ScmTransferRec
record.setInvoiceNo(finVehicleInvoice.getInvoiceNo());
}
}
PagerVo<ScmTransferRecordsVo> p = PagerUtil.pageToVo(pagging, null);
PagerVo<BusTransferRecordsVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean saveRecords(ScmTransferRecordsDto dto) {
public ResultBean saveRecords(BusTransferRecordsDto dto) {
ResultBean rb = ResultBean.fireFail();
ScmTransferRecords scmTransferRecords = new ScmTransferRecords();
BeanUtil.copyProperties(dto, scmTransferRecords);
scmTransferRecords.setReceiveState(0);
scmTransferRecords.setCreateBySid(dto.getTransferSid());
baseMapper.insert(scmTransferRecords);
BusTransferRecords BusTransferRecords = new BusTransferRecords();
BeanUtil.copyProperties(dto, BusTransferRecords);
BusTransferRecords.setReceiveState(0);
BusTransferRecords.setCreateBySid(dto.getTransferSid());
baseMapper.insert(BusTransferRecords);
return rb.success();
}
public ResultBean<ScmRecordsInvoiceVo> getInvoiceInfo(String sid) {
ResultBean<ScmRecordsInvoiceVo> rb = ResultBean.fireFail();
ScmRecordsInvoiceVo scmRecordsInvoiceVo = new ScmRecordsInvoiceVo();
ScmTransferRecords scmTransferRecords = fetchBySid(sid);
BeanUtil.copyProperties(scmTransferRecords, scmRecordsInvoiceVo);
ResultBean<FinVehicleInvoice> resultBean = finVehicleInvoiceFeign.selectByVinSids(scmTransferRecords.getVinSid());
public ResultBean<BusRecordsInvoiceVo> getInvoiceInfo(String sid) {
ResultBean<BusRecordsInvoiceVo> rb = ResultBean.fireFail();
BusRecordsInvoiceVo BusRecordsInvoiceVo = new BusRecordsInvoiceVo();
BusTransferRecords BusTransferRecords = fetchBySid(sid);
BeanUtil.copyProperties(BusTransferRecords, BusRecordsInvoiceVo);
ResultBean<FinVehicleInvoice> resultBean = finVehicleInvoiceFeign.selectByVinSids(BusTransferRecords.getVinSid());
if (resultBean.getData() != null) {
FinVehicleInvoice finVehicleInvoice = resultBean.getData();
scmRecordsInvoiceVo.setInvoiceNo(finVehicleInvoice.getInvoiceNo());
scmRecordsInvoiceVo.setInvoiceAmount(finVehicleInvoice.getInvoiceAmount().toString());
scmRecordsInvoiceVo.setInvoiceTitle(finVehicleInvoice.getInvoiceTitle());
scmRecordsInvoiceVo.setInvoiceType(finVehicleInvoice.getInvoiceType());
BusRecordsInvoiceVo.setInvoiceNo(finVehicleInvoice.getInvoiceNo());
BusRecordsInvoiceVo.setInvoiceAmount(finVehicleInvoice.getInvoiceAmount().toString());
BusRecordsInvoiceVo.setInvoiceTitle(finVehicleInvoice.getInvoiceTitle());
BusRecordsInvoiceVo.setInvoiceType(finVehicleInvoice.getInvoiceType());
if (StringUtils.isNotBlank(finVehicleInvoice.getFilePath())) {
List<String> filePathList = Arrays.asList(finVehicleInvoice.getFilePath().split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
scmRecordsInvoiceVo.setFilePathList(filePathList);
BusRecordsInvoiceVo.setFilePathList(filePathList);
}
}
if (StringUtils.isNotBlank(scmTransferRecords.getReceiveFiles())) {
List<String> receiveFileList = Arrays.asList(scmTransferRecords.getReceiveFiles().split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
scmRecordsInvoiceVo.setReceiveFilesList(receiveFileList);
if (StringUtils.isNotBlank(BusTransferRecords.getReceiveFiles())) {
List<String> receiveFileList = Arrays.asList(BusTransferRecords.getReceiveFiles().split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
BusRecordsInvoiceVo.setReceiveFilesList(receiveFileList);
}
return rb.success().setData(scmRecordsInvoiceVo);
return rb.success().setData(BusRecordsInvoiceVo);
}
public ResultBean<ScmTransferRecords> selectByVinSid(String vinSid, String receiveUserSid) {
ResultBean<ScmTransferRecords> rb = ResultBean.fireFail();
ScmTransferRecords scmTransferRecords = baseMapper.selectByVinSid(vinSid,receiveUserSid);
return rb.success().setData(scmTransferRecords);
public ResultBean<BusTransferRecords> selectByVinSid(String vinSid, String receiveUserSid) {
ResultBean<BusTransferRecords> rb = ResultBean.fireFail();
BusTransferRecords BusTransferRecords = baseMapper.selectByVinSid(vinSid,receiveUserSid);
return rb.success().setData(BusTransferRecords);
}
public ResultBean delBySourceSid(String sourceSid) {
ResultBean rb = ResultBean.fireFail();
baseMapper.delBySourceSid(sourceSid);
return rb.success();
}
}

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java

@ -94,6 +94,11 @@ public interface FinVehicleInvoiceFeign {
@ResponseBody
ResultBean invoiceYJ(@RequestBody FinVehicleInvoicePushTransferDto dto);
@ApiOperation("发票信息移交撤回")
@PostMapping("/invoiceYJCH")
@ResponseBody
ResultBean invoiceYJCH(@RequestBody String[] sids);
@ApiOperation("根据合同号获取发票信息")
@PostMapping("/selectByContractNo")
@ResponseBody

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java

@ -104,6 +104,11 @@ public class FinVehicleInvoiceFeignFallback implements FinVehicleInvoiceFeign {
return null;
}
@Override
public ResultBean invoiceYJCH(String[] sids) {
return null;
}
@Override
public ResultBean<List<FinVehicleInvoice>> selectByContractNo(String contractNo) {
return null;

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.java

@ -9,6 +9,7 @@ import com.yxt.anrui.fin.api.finvehicleinvoice.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
@ -58,4 +59,7 @@ public interface FinVehicleInvoiceMapper extends BaseMapper<FinVehicleInvoice> {
List<FinVehicleInvoice> selectByContractNo(String contractNo);
FinVehicleInvoice selectByVinSidss(String vinSid);
@Update("update fin_vehicle_invoice set transferStateKey = #{code},transferState = #{remarks} where sid = #{sid}")
void updateTransferState(@Param("sid") String sid,@Param("code") String code,@Param("remarks") String remarks);
}

7
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java

@ -219,7 +219,12 @@ public class FinVehicleInvoiceRest implements FinVehicleInvoiceFeign {
@Override
public ResultBean invoiceYJ(FinVehicleInvoicePushTransferDto dto) {
return null;
return finVehicleInvoiceService.invoiceYJ(dto);
}
@Override
public ResultBean invoiceYJCH(String[] sids) {
return finVehicleInvoiceService.invoiceYJCH(sids);
}
@Override

127
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceService.java

@ -5,21 +5,35 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign;
import com.yxt.anrui.base.api.basevehicleappendix.BaseVehicleAppendixFeign;
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate;
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateFeign;
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateVo;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixFeign;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.common.enums.CertificState;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bustransferrecords.BusTransferRecordEnum;
import com.yxt.anrui.buscenter.api.bustransferrecords.BusTransferRecordsDto;
import com.yxt.anrui.buscenter.api.bustransferrecords.BusTransferRecordsFeign;
import com.yxt.anrui.fin.api.finbillfile.FinBillFileVo;
import com.yxt.anrui.fin.api.finvehicleinvoice.*;
import com.yxt.anrui.fin.biz.finbillfile.FinBillFileService;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgByUserVo;
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.portal.api.sysuserrole.SysUserRoleFeign;
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.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessagePushTransferDto;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -46,24 +60,30 @@ import java.util.List;
public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoiceMapper, FinVehicleInvoice> {
@Resource
private FileUploadComponent fileUploadComponent;
@Autowired
private FinBillFileService finBillFileService;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private BaseVehicleAppendixFeign baseVehicleAppendixFeign;
@Autowired
private CommonAppendixFeign commonAppendixFeign;
@Autowired
private BaseVehicleCertificateFeign baseVehicleCertificateFeign;
@Autowired
private BaseTrailerFeign baseTrailerFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private BusTransferRecordsFeign busTransferRecordsFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysUserRoleFeign sysUserRoleFeign;
public PagerVo<FinVehicleInvoice> listPage(PagerQuery<FinVehicleInvoiceQuery> pq) {
FinVehicleInvoiceQuery query = pq.getParams();
@ -393,4 +413,99 @@ public class FinVehicleInvoiceService extends MybatisBaseService<FinVehicleInvoi
List<FinVehicleInvoice> finVehicleInvoices = baseMapper.selectByContractNo(contractNo);
return rb.success().setData(finVehicleInvoices);
}
public ResultBean invoiceYJ(FinVehicleInvoicePushTransferDto dto) {
ResultBean rb = ResultBean.fireFail();
String[] sids = dto.getSids();
String transferSid = dto.getTransferSid();
SysUserVo sysUserVo = sysUserFeign.fetchBySid(transferSid).getData();
String orgPath = dto.getOrgPath();
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.selectByOrgSidPath(orgPath).getData();
for (String sid : sids) {
FinVehicleInvoice finVehicleInvoice = fetchBySid(sid);
if (CertificState.TransferState.TRANSTATE_WJS.getCode().equals(finVehicleInvoice.getTransferStateKey()) && "002".equals(finVehicleInvoice.getBillingStateKey()) && "是".equals(finVehicleInvoice.getIsTakeTicket())){
String vehicleSid = finVehicleInvoice.getVehicleSid();
BusSalesOrderDetailsVo busSalesOrderDetailsVo = busSalesOrderFeign.selNewComSaleByVehSid(vehicleSid).getData();
if (busSalesOrderDetailsVo == null){
return rb.setMsg("暂无销售订单,不可移交");
}
String staffSid = busSalesOrderDetailsVo.getStaffSid();
SysUserVo sysUserVo1 = sysUserFeign.selectByStaffsid(staffSid).getData();
//推送物品移交记录
BusTransferRecordsDto busTransferRecordsDto = new BusTransferRecordsDto();
MessagePushTransferDto messagePushTransferDto = new MessagePushTransferDto();
busTransferRecordsDto.setGoodsSid(sid);
busTransferRecordsDto.setGoodsName("发票");
busTransferRecordsDto.setVinNo(finVehicleInvoice.getVIN());
busTransferRecordsDto.setTransferNum(1);
busTransferRecordsDto.setTransferSid(transferSid);
busTransferRecordsDto.setTransferName(sysUserVo.getName());
busTransferRecordsDto.setTransferDeptSid(sysOrganizationVo.getSid());
busTransferRecordsDto.setTransferDept(sysOrganizationVo.getName());
busTransferRecordsDto.setGoodsType(BusTransferRecordEnum.FP.getRemarks());
busTransferRecordsDto.setGoodsTypeKey(BusTransferRecordEnum.FP.getCode());
if ("89d7f310-a221-405b-858e-dd650e0993d5".equals(dto.getReceiveRoleSid())){
busTransferRecordsDto.setReceiveRoleSid(dto.getReceiveRoleSid());
busTransferRecordsDto.setReceiveSid(sysUserVo1.getSid());
busTransferRecordsDto.setReceiveName(sysUserVo1.getName());
messagePushTransferDto.setReceiveSids(sysUserVo1.getSid());
messagePushTransferDto.setReceiveNames(sysUserVo1.getName());
}else {
busTransferRecordsDto.setReceiveRoleSid(dto.getReceiveRoleSid());
String receiveRoleSid = dto.getReceiveRoleSid();
String useOrgSid = finVehicleInvoice.getUseOrgSid();
SysOrganizationVo sysOrganizationVo1 = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
String orgSidPath = sysOrganizationVo1.getOrgSidPath();
List<SysStaffOrgByUserVo> sysStaffOrgByUserVos = sysStaffOrgFeign.selAllByOrgPath(orgSidPath, receiveRoleSid).getData();
String receiveSids = "";
String receiveNames = "";
for (SysStaffOrgByUserVo sysStaffOrgByUserVo : sysStaffOrgByUserVos) {
receiveSids = receiveSids + sysStaffOrgByUserVo.getSid() + ",";
receiveNames = receiveNames + sysStaffOrgByUserVo.getName() + ",";
}
messagePushTransferDto.setReceiveSids(receiveSids.substring(0,receiveSids.length() - 1));
messagePushTransferDto.setReceiveNames(receiveNames.substring(0,receiveNames.length() - 1));
}
busTransferRecordsDto.setUseOrgSid(finVehicleInvoice.getUseOrgSid());
//移交附件
String billingSid = finVehicleInvoice.getBillingSid();
List<FinBillFileVo> finBillFileVos = finBillFileService.fetchFileByBillSid(billingSid);
List<String> transferFiles = new ArrayList<>();
if (!finBillFileVos.isEmpty()){
for (FinBillFileVo finBillFileVo : finBillFileVos) {
transferFiles.add(finBillFileVo.getFileUrl());
}
}
busTransferRecordsDto.setTransferFiles(transferFiles);
busTransferRecordsFeign.saveRecords(busTransferRecordsDto);
//消息推送
messagePushTransferDto.setMsgTypeSid("bc59c198-2d51-458f-913e-cbd8d7ef4799");
messagePushTransferDto.setMsgType("业务");
messagePushTransferDto.setMsgTitle("发票移交");
messagePushTransferDto.setMsgContent(sysUserVo.getName() + "推送的发票移交,请查看");
messagePushTransferDto.setMsgSource("开票管理");
messagePushTransferDto.setSenderDeptSid(transferSid);
messagePushTransferDto.setSenderName(sysUserVo.getName());
messagePushTransferDto.setSenderDeptSid(sysOrganizationVo.getSid());
messagePushTransferDto.setSenderDeptName(sysOrganizationVo.getName());
messagePushTransferDto.setBusinessSid(sid);
messageFeign.pushTransferMessage(messagePushTransferDto);
baseMapper.updateTransferState(sid,CertificState.TransferState.TRANSTATE_YJZ.getCode(),CertificState.TransferState.TRANSTATE_YJZ.getRemarks());
}else {
rb.setMsg("不符合移交条件");
}
}
return rb.success();
}
public ResultBean invoiceYJCH(String[] sids) {
for (String sid : sids) {
FinVehicleInvoice finVehicleInvoice = fetchBySid(sid);
if (CertificState.TransferState.TRANSTATE_YJZ.getCode().equals(finVehicleInvoice.getTransferStateKey())){
busTransferRecordsFeign.delBySourceSid(sid);
baseMapper.updateTransferState(sid,CertificState.TransferState.TRANSTATE_WJS.getCode(),CertificState.TransferState.TRANSTATE_WJS.getRemarks());
}
}
return new ResultBean().success();
}
}

2
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -33,7 +33,7 @@ public enum ProcDefEnum {
BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:7:722512"),
BASEINTERNALPURCHASE("调车申请", "process_i6luw5xq:3:722516"),
BASEACCADJAPPLY("调账申请", "process_r6pyzqoz:4:1362508"),
BUSDELIVEREDAPPLY("出库申请", "process_wgt1n66l:6:1602504"),
BUSDELIVEREDAPPLY("出库申请", "process_wgt1n66l:9:1632516"),
BASESHUNINVOICAPPLY("调车开票申请", "process_u4xrvaso:1:400008"),
BASEVEHINSTALLMODPRICE("上装调价申请", "process_s0a0svth:1:492508"),
SCMVEHREBATEWITHAPPLY("单车返利预提申请", "process_qegarc7r:1:535004"),

30
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgByUserVo.java

@ -0,0 +1,30 @@
package com.yxt.anrui.portal.api.sysstafforg;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysStaffOrgVo.java <br/>
* Class: com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo <br/>
* Description: 员工部门关联表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "员工部门关联表 视图数据对象", description = "员工部门关联表 视图数据对象")
@Data
public class SysStaffOrgByUserVo implements Vo {
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("员工姓名")
private String name;
}

6
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java

@ -1,5 +1,6 @@
package com.yxt.anrui.portal.api.sysstafforg;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
@ -109,4 +110,9 @@ public interface SysStaffOrgFeign {
@ResponseBody
@ApiOperation("根据用户组织全路径获取用户的分公司sid")
ResultBean<String> getOrgSidByPath(@RequestParam("orgPath") String orgPath);
@PostMapping("/selAllByOrgPath")
@ResponseBody
@ApiOperation("根据分公司全路径和角色sid模糊查询本公司本角色下的所有员工userSid")
ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgPath(@RequestParam("orgSidPath") String orgSidPath,@RequestParam("roleSid") String roleSid);
}

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java

@ -100,6 +100,11 @@ public class SysStaffOrgFeignFallback implements SysStaffOrgFeign {
return null;
}
@Override
public ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgPath(String orgSidPath, String roleSid) {
return null;
}
@Override
public ResultBean<SysStaffOrg> selectAllByStaffSid(String staffSid) {
return null;

4
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java

@ -6,9 +6,11 @@ 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.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgByUserVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgDetailsVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuserdefaultorg.SysOrgPathList;
import com.yxt.common.core.result.ResultBean;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -113,4 +115,6 @@ public interface SysStaffOrgMapper extends BaseMapper<SysStaffOrg> {
List<SysStaffOrg> selectStaffByOrgSid(@Param("orgSid") String sid, @Param("type") String type);
List<String> selectStaffByOrg(String orgSid);
List<SysStaffOrgByUserVo> selAllByOrgPath(@Param(Constants.WRAPPER) QueryWrapper qw);
}

53
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml

@ -21,8 +21,8 @@
<select id="staffinfoList" resultType="com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo">
SELECT DISTINCT ss.`name` staffName, ss.`mobile`, ss.sid staffSid
FROM `sys_staff_org` sso
LEFT JOIN `sys_staffinfo` ss ON sso.`staffSid` = ss.`sid`
LEFT JOIN `sys_organization` so ON so.`sid` = sso.`orgSid`
LEFT JOIN `sys_staffinfo` ss ON sso.`staffSid` = ss.`sid`
LEFT JOIN `sys_organization` so ON so.`sid` = sso.`orgSid`
<where>
${ew.sqlSegment}
</where>
@ -38,7 +38,7 @@
<select id="selectByStaff" resultType="com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgDetailsVo">
select sso.orgSid, sso.orgName, sso.orgNamePath, sso.orgNamePath, sso.manageType, so.orgCode
from sys_staff_org sso
left join sys_organization so on sso.orgSid = so.sid
left join sys_organization so on sso.orgSid = so.sid
where sso.staffSid = #{sid}
and sso.orgSid = #{orgSid}
</select>
@ -46,7 +46,7 @@
<select id="selectByStaffByType" resultType="com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgDetailsVo">
select sso.orgSid, sso.orgName, sso.orgNamePath, sso.manageType, so.orgCode, sso.orgSidPath
from sys_staff_org sso
left join sys_organization so on sso.orgSid = so.sid
left join sys_organization so on sso.orgSid = so.sid
where sso.staffSid = #{sid}
and sso.orgSid = #{orgSid}
and sso.manageType = #{type}
@ -62,9 +62,9 @@
<select id="selectBySidPathByStaffSid" resultType="java.lang.String">
select orgSid
from anrui_portal.sys_staff_org
where staffSid = #{applySid} and manageType = '3'
order by id desc
limit 1
where staffSid = #{applySid}
and manageType = '3'
order by id desc limit 1
</select>
<select id="selectByStaffAndOrg" resultType="int">
@ -99,25 +99,52 @@
<select id="selectByUserSid" resultType="java.lang.String">
select orgSid
from sys_staff_org so
left join sys_user su on su.staffSid = so.staffSid
left join sys_staffinfo si on si.sid = su.staffSid
left join sys_user su on su.staffSid = so.staffSid
left join sys_staffinfo si on si.sid = su.staffSid
where so.manageType = '3'
and su.sid = #{userSid}
</select>
<select id="selectOrgBySid" resultType="com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg">
select * from sys_staff_org sso where sso.orgSidPath=#{orgPath} and sso.staffSid = #{staffSid}
select *
from sys_staff_org sso
where sso.orgSidPath = #{orgPath}
and sso.staffSid = #{staffSid}
</select>
<select id="getList" resultType="com.yxt.anrui.portal.api.sysuserdefaultorg.SysOrgPathList">
select sid as staffOrgSid,orgSidPath,orgNamePath from sys_staff_org where staffSid = #{staffSid}
select sid as staffOrgSid, orgSidPath, orgNamePath
from sys_staff_org
where staffSid = #{staffSid}
</select>
<select id="selectStaffByOrgSid" resultType="com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg">
select * from sys_staff_org where orgSid = #{orgSid} and manageType = #{type}
select *
from sys_staff_org
where orgSid = #{orgSid}
and manageType = #{type}
</select>
<select id="selectStaffByOrg" resultType="java.lang.String">
select staffSid from sys_staff_org where orgSidPath like concat('%',#{orgSid},'%')
select staffSid
from sys_staff_org
where orgSidPath like concat('%', #{orgSid}, '%')
</select>
<select id="selAllByOrgPath" resultType="com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgByUserVo">
SELECT
su.`sid`,
ss.`name`
FROM
sys_staff_org sso
LEFT JOIN sys_user su
ON sso.`staffSid` = su.`staffSid`
LEFT JOIN sys_user_role sur
ON su.`sid` = sur.`userSid`
LEFT JOIN sys_staffinfo ss
ON sso.`staffSid` = ss.`sid`
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

5
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java

@ -135,6 +135,11 @@ public class SysStaffOrgRest implements SysStaffOrgFeign {
return sysStaffOrgService.getOrgSidByPath(orgPath);
}
@Override
public ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgPath(String orgSidPath,String roleSid) {
return sysStaffOrgService.selAllByOrgPath(orgSidPath,roleSid);
}
@Override
public ResultBean<SysStaffOrg> selectAllByStaffSid(String staffSid) {
return sysStaffOrgService.selectAllByStaffSid(staffSid);

9
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java

@ -316,4 +316,13 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
public List<String> selectStaffByOrg(String orgSid) {
return baseMapper.selectStaffByOrg(orgSid);
}
public ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgPath(String orgSidPath,String roleSid) {
ResultBean rb = ResultBean.fireFail();
QueryWrapper qw = new QueryWrapper<>();
qw.eq("sur.roleSid",roleSid);
qw.like("sso.orgSidPath",orgSidPath);
List<SysStaffOrgByUserVo> sysStaffOrgByUserVos = baseMapper.selAllByOrgPath(qw);
return rb.success().setData(sysStaffOrgByUserVos);
}
}

22
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmtransferrecords/ScmTransferRecordsMapper.java

@ -1,22 +0,0 @@
package com.yxt.anrui.scm.biz.scmtransferrecords;
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.scm.api.scmtransferrecords.ScmTransferRecords;
import com.yxt.anrui.scm.api.scmtransferrecords.ScmTransferRecordsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @description:
* @author: dimengzhe
* @date: 2023/6/5
**/
@Mapper
public interface ScmTransferRecordsMapper extends BaseMapper<ScmTransferRecords> {
IPage<ScmTransferRecordsVo> pagerList(IPage<ScmTransferRecords> page, @Param(Constants.WRAPPER)QueryWrapper<ScmTransferRecords> qw);
ScmTransferRecords selectByVinSid(@Param("vinSid") String vinSid, @Param("userSid") String receiveUserSid);
}

46
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmtransferrecords/ScmTransferRecordsRest.java

@ -1,46 +0,0 @@
package com.yxt.anrui.scm.biz.scmtransferrecords;
import com.yxt.anrui.scm.api.scmtransferrecords.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @description: 物品移交记录
* @author: dimengzhe
* @date: 2023/6/5
**/
@Api(tags = "物品移交记录")
@RestController
@RequestMapping("v1/ScmTransferRecords")
public class ScmTransferRecordsRest implements ScmTransferRecordsFeign {
@Autowired
private ScmTransferRecordsService scmTransferRecordsService;
@Override
public ResultBean<PagerVo<ScmTransferRecordsVo>> pagerList(PagerQuery<ScmTransferRecordsQuery> pq) {
ResultBean<PagerVo<ScmTransferRecordsVo>> rb = ResultBean.fireFail();
PagerVo<ScmTransferRecordsVo> pv = scmTransferRecordsService.pagerList(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean saveRecords(ScmTransferRecordsDto dto) {
return scmTransferRecordsService.saveRecords(dto);
}
@Override
public ResultBean<ScmRecordsInvoiceVo> getInvoiceInfo(String sid) {
return scmTransferRecordsService.getInvoiceInfo(sid);
}
@Override
public ResultBean<ScmTransferRecords> selectByVinSid(String vinSid, String receiveUserSid) {
return scmTransferRecordsService.selectByVinSid(vinSid, receiveUserSid);
}
}

3
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java

@ -462,6 +462,9 @@ public class AppBusAdvanceGinvoiceapplyService {
//开票车辆信息
List<FinBillVehicleDto> finBillVehicleDtos = new ArrayList<>();
for (AppCarListDto vinListDto : vinList) {
if (StringUtils.isBlank(vinListDto.getInvoiceInfo())){
return new ResultBean().fail().setMsg("开票信息不能为空");
}
FinBillVehicleDto finBillVehicleDto = new FinBillVehicleDto();
finBillVehicleDto.setVinNo(vinListDto.getVin());
finBillVehicleDto.setVehSid(vinListDto.getVinSid());

3
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java

@ -226,6 +226,9 @@ public class InvoicedService {
List<VinListDto> vinList = dto.getVinList();
List<FinBillVehicleDto> finBillVehicleDtos = new ArrayList<>();
for (VinListDto vinListDto : vinList) {
if (StringUtils.isBlank(vinListDto.getInvoiceInfo())){
return new ResultBean().fail().setMsg("开票信息不能为空");
}
FinBillVehicleDto finBillVehicleDto = new FinBillVehicleDto();
finBillVehicleDto.setVinNo(vinListDto.getVin());
finBillVehicleDto.setVehSid(vinListDto.getVinSid());

46
doc/databases/bus-center_tables.sql

@ -863,3 +863,49 @@ CREATE TABLE `bus_arrears_carry_vehicle_details`
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='欠款提车车辆信息';
DROP TABLE IF EXISTS `bus_transfer_records`;
CREATE TABLE `bus_transfer_records`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
`goodsSid` varchar(64) DEFAULT NULL COMMENT '移交物品sid',
`goodsName` varchar(64) DEFAULT NULL COMMENT '移交物品名称',
`goodsType` varchar(64) DEFAULT NULL COMMENT '移交物品类别',
`goodsTypeKey` varchar(64) DEFAULT NULL COMMENT '移交物品类别Key',
`contractNo` varchar(200) DEFAULT NULL COMMENT '合同编号',
`vinNo` varchar(64) DEFAULT NULL COMMENT '车架号',
`vinSid` varchar(64) DEFAULT NULL COMMENT '车辆sid',
`transferNum` int(32) DEFAULT NULL COMMENT '移交数量',
`goodsUnit` varchar(200) DEFAULT NULL COMMENT '物品单位',
`transferSid` varchar(64) DEFAULT NULL COMMENT '移交人sid',
`transferName` varchar(64) DEFAULT NULL COMMENT '移交人',
`transferDeptSid` varchar(64) DEFAULT NULL COMMENT '移交部门sid',
`transferDept` varchar(64) DEFAULT NULL COMMENT '移交部门',
`transferRemarks` text DEFAULT NULL COMMENT '移交备注',
`transferFiles` text DEFAULT NULL COMMENT '移交附件',
`receiveRoleSid` varchar(64) DEFAULT NULL COMMENT '接收角色sid',
`receiveSid` varchar(64) DEFAULT NULL COMMENT '接收人sid',
`receiveName` varchar(64) DEFAULT NULL COMMENT '接收人',
`receiveDeptSid` varchar(64) DEFAULT NULL COMMENT '接收部门sid',
`receiveDept` varchar(64) DEFAULT NULL COMMENT '接收部门',
`receiveState` int(32) DEFAULT NULL COMMENT '接收状态:0待接收,1已接收',
`receiveTime` timestamp null DEFAULT NULL COMMENT '接收时间',
`receiveFiles` text DEFAULT NULL COMMENT '接收附件',
`useOrgSid` varchar(255) DEFAULT NULL COMMENT '使用组织sid',
`useOrgName` varchar(255) DEFAULT NULL COMMENT '使用组织名称',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='物品移交记录表';

2
doc/databases/fin_tables.sql

@ -1113,7 +1113,7 @@ CREATE TABLE `fin_vehicle_invoice` (
`invoiceTypeKey` varchar(32) DEFAULT NULL COMMENT '发票类别Key(01机动车销售统一发票/02增值税专用发票)',
`invoiceType` varchar(64) DEFAULT NULL COMMENT '发票类别',
`invoiceTitle` varchar(64) DEFAULT NULL COMMENT '开票单位',
`transferState` varchar(32) DEFAULT NULL COMMENT '移交状态:001未接收,002已接收,003待移交,004已移交',
`transferState` varchar(32) DEFAULT NULL COMMENT '移交状态:001未移交,002待移交,003移交中,004已移交',
`customerName` varchar(64) DEFAULT NULL COMMENT '客户名称',
`invoicingName` varchar(64) DEFAULT NULL COMMENT '开票名称',
`contractNo` varchar(64) DEFAULT NULL COMMENT '合同编号',

44
doc/databases/scm_tables.sql

@ -933,48 +933,6 @@ CREATE TABLE `scm_vehicle_gression_veh`
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='移位申请单车架号库';
DROP TABLE IF EXISTS `scm_transfer_records`;
CREATE TABLE `scm_transfer_records`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
`goodsSid` varchar(64) DEFAULT NULL COMMENT '移交物品sid',
`goodsName` varchar(64) DEFAULT NULL COMMENT '移交物品名称',
`goodsType` varchar(64) DEFAULT NULL COMMENT '移交物品类别',
`goodsTypeKey` varchar(64) DEFAULT NULL COMMENT '移交物品类别Key',
`contractNo` varchar(200) DEFAULT NULL COMMENT '合同编号',
`vinNo` varchar(64) DEFAULT NULL COMMENT '车架号',
`vinSid` varchar(64) DEFAULT NULL COMMENT '车辆sid',
`transferNum` int(32) DEFAULT NULL COMMENT '移交数量',
`goodsUnit` varchar(200) DEFAULT NULL COMMENT '物品单位',
`transferSid` varchar(64) DEFAULT NULL COMMENT '移交人sid',
`transferName` varchar(64) DEFAULT NULL COMMENT '移交人',
`transferDeptSid` varchar(64) DEFAULT NULL COMMENT '移交部门sid',
`transferDept` varchar(64) DEFAULT NULL COMMENT '移交部门',
`transferRemarks` text DEFAULT NULL COMMENT '移交备注',
`transferFiles` text DEFAULT NULL COMMENT '移交附件',
`receiveRoleSid` varchar(64) DEFAULT NULL COMMENT '接收角色sid',
`receiveSid` varchar(64) DEFAULT NULL COMMENT '接收人sid',
`receiveName` varchar(64) DEFAULT NULL COMMENT '接收人',
`receiveDeptSid` varchar(64) DEFAULT NULL COMMENT '接收部门sid',
`receiveDept` varchar(64) DEFAULT NULL COMMENT '接收部门',
`receiveState` int(32) DEFAULT NULL COMMENT '接收状态:0待接收,1已接收',
`receiveTime` timestamp null DEFAULT NULL COMMENT '接收时间',
`receiveFiles` text DEFAULT NULL COMMENT '接收附件',
`useOrgSid` varchar(255) DEFAULT NULL COMMENT '使用组织sid',
`useOrgName` varchar(255) DEFAULT NULL COMMENT '使用组织名称',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='物品移交记录表';

4631
工作内容需要的文档/单据模板/销售出库单单据打印模板/xsckdjg1.ftl

File diff suppressed because it is too large

4523
工作内容需要的文档/单据模板/销售出库单单据打印模板/xsckdzks1.ftl

File diff suppressed because it is too large

4
工作内容需要的文档/单据模板/销售出库单单据打印模板/销售出库单模板(激光打印机).doc

@ -1,8 +1,6 @@
|销售出库单 |
|销售类型:|${saleType!} |销售日期 |${saleDate!} |单据编号|${billNo!} |
| | |: | |: | |
|客户名称:|${cName!} |销售部门 |${oName!} |销售专员|${sName!} |
|销售类型:|${saleType!} |销售日期 |${saleDate!} |合同编号|${conNo!} |
| | |: | |: | |
|物料编码|物料分组 |

8
工作内容需要的文档/单据模板/销售出库单单据打印模板/销售出库单模板(针式打印机).doc

@ -1,12 +1,6 @@
|销售出库单 |
|销售类型: |${saleType!} |销售日期: |${saleDate!} |单据编号 |${billNo!} |
| | | | |: | |
|客户名称: |${cName!} |销售部门 |${oName!} |销售专员 |${sName!} |
|销售类型: |${saleType!} |销售日期 |${saleDate!} |合同编号 |${conNo!} |
| | |: | |: | |
|物料编码|物料分组 |
-----------------------
第 1 页 共 1 页

Loading…
Cancel
Save