Browse Source

发票移交,问题修改

master
God 2 years ago
parent
commit
053825d93f
  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. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeign.java
  6. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceFeignFallback.java
  7. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.java
  8. 7
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceRest.java
  9. 125
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceService.java
  10. 30
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgByUserVo.java
  11. 6
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java
  12. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java
  13. 4
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java
  14. 53
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml
  15. 5
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java
  16. 9
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java
  17. 3
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java
  18. 3
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java
  19. 2
      doc/databases/fin_tables.sql
  20. 4631
      工作内容需要的文档/单据模板/销售出库单单据打印模板/xsckdjg1.ftl
  21. 4523
      工作内容需要的文档/单据模板/销售出库单单据打印模板/xsckdzks1.ftl
  22. 4
      工作内容需要的文档/单据模板/销售出库单单据打印模板/销售出库单模板(激光打印机).doc
  23. 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\\";

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

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

@ -9,17 +9,30 @@ 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 +59,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 +412,98 @@ 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.
}
}
return null;
}
}

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);
}
}

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());

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 '合同编号',

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