Browse Source

Merge remote-tracking branch 'origin/master'

master
dimengzhe 1 year ago
parent
commit
f91f909b88
  1. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontract.java
  2. 18
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeign.java
  3. 8
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeignFallback.java
  4. 15
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractMapper.java
  5. 11
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractMapper.xml
  6. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractRest.java
  7. 35
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java
  8. 15
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/paymentConfirmation/customerBillingDetails.vue
  9. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedQuery.java
  10. 70
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  11. 15
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingMapper.xml
  12. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.java
  13. 81
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml
  14. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java
  15. 116
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java
  16. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanPlanDetailsVoForLateVoucher.java
  17. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentSchedule.java
  18. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java
  19. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java
  20. 20
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java
  21. 24
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java
  22. 15
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java
  23. 16
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java
  24. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java
  25. 26
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml
  26. 14
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java
  27. 22
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/ScheduledRepaymentPlanDetailsService.java
  28. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java
  29. 40
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java
  30. 12
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java
  31. 41
      yxt-as-ui/src/api/storage/carryover.js
  32. 23
      yxt-as-ui/src/api/storage/storageage.js
  33. 302
      yxt-as-ui/src/router/index.js
  34. 12
      yxt-as-ui/src/views/operation/preregistration/preregistration.vue
  35. 49
      yxt-as-ui/src/views/operation/preregistration/preregistrationAdd.vue
  36. 26
      yxt-as-ui/src/views/operation/preregistration/preregistrationInfo.vue
  37. 224
      yxt-as-ui/src/views/storage/carryover/carryforwardrecord.vue
  38. 227
      yxt-as-ui/src/views/storage/carryover/carryoverstock.vue
  39. 229
      yxt-as-ui/src/views/storage/storageage/storageage.vue
  40. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusreservebill/AsBusreserveBill.java
  41. 6
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusreservebill/AsBusreserveBillDetailsVo.java
  42. 10
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusreservebill/AsBusreserveBillDto.java
  43. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusreservebill/AsBusreserveBillQuery.java
  44. 6
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusreservebill/AsBusreserveBillVo.java
  45. 59
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusreservebilltrack/AsBusreserveBillTrack.java
  46. 52
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusreservebill/AsBusreserveBillService.java
  47. 63
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusreservebilltrack/AsBusreserveBillTrackMapper.java
  48. 7
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusreservebilltrack/AsBusreserveBillTrackMapper.xml
  49. 58
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusreservebilltrack/AsBusreserveBillTrackRest.java
  50. 66
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusreservebilltrack/AsBusreserveBillTrackService.java
  51. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryAgeExportVo.java
  52. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryAgeQuery.java
  53. 4
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryAgeVo.java
  54. 280
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml
  55. 84
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java
  56. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebill/WmsInventorySettleRecordQuery.java
  57. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebill/WmsInventorySettleRecordVo.java
  58. 7
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebill/WmsInventorySettlebill.java
  59. 3
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebill/WmsInventorySettlebillMapper.xml
  60. 27
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebill/WmsInventorySettlebillQuery.java
  61. 20
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebill/WmsInventorySettlebillService.java
  62. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebilldetail/WmsInventorySettlebillDetail.java
  63. 50
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebilldetail/WmsInventorySettlebillDetailMapper.xml
  64. 5
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebilldetail/WmsInventorySettlebillDetailQuery.java
  65. 146
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebilldetail/WmsInventorySettlebillDetailService.java
  66. 3
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebilldetail/WmsInventorySettlebillDetailVo.java
  67. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebilldetail/WmsInventorySettlebillExportVo.java
  68. 22
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/privilege/PrivilegeQuery.java
  69. 35
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysorganization/SysOrganizationFeign.java
  70. 88
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysorganization/SysOrganizationVo.java
  71. 25
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysstafforg/SysStaffOrgFeign.java
  72. 21
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysuser/OrgList.java
  73. 28
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysuser/SysUserFeign.java
  74. 97
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysuser/SysUserVo.java

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontract.java

@ -31,6 +31,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: anrui-buscenter(销售订单) <br/>
* File: BusSalesOrderLoancontract.java <br/>
@ -72,5 +74,9 @@ public class BusSalesOrderLoancontract extends BaseEntity {
private String busName; // 业务阶段名称
@ApiModelProperty("业务状态码")
private String busState; // 业务状态码
@ApiModelProperty("是否生成还款计划表(0否,1是)")
private String repaymentState; // 是否生成还款计划表(0否,1是)
@ApiModelProperty("还款计划表生成时间")
private Date repaymentCreateTime; // 还款计划表生成时间
}

18
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeign.java

@ -34,6 +34,7 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
@ -66,12 +67,12 @@ public interface BusSalesOrderLoancontractFeign {
@PostMapping("/save")
@ResponseBody
public ResultBean<String> save(@RequestBody BusSalesOrderLoancontractDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
@ -90,12 +91,17 @@ public interface BusSalesOrderLoancontractFeign {
@ApiOperation("更新资方合同号和状态")
@PostMapping("/updateBankConAndBusNo")
@ResponseBody
ResultBean updateBankConAndBusNo(@RequestParam("loanContractSid") String loanContractSid,@RequestParam("bankContractNo") String bankContractNo);
ResultBean updateBankConAndBusNo(@RequestParam("loanContractSid") String loanContractSid, @RequestParam("bankContractNo") String bankContractNo);
@ApiOperation("消贷合同生成还款计划表列表")
@PostMapping("/listPageForRepay")
@ResponseBody
public ResultBean<PagerVo<BusLoancontractForRepayVo>> listPageForRepay(@RequestBody PagerQuery<BusLoancontractForRepayQuery> pq);
@ApiOperation("设置是否生成还款计划状态")
@PostMapping("/setRepaymentState")
public ResultBean setRepaymentState(@RequestParam("sid") String sid, @RequestParam("createTime")String createTime);
@ApiOperation("推送融资放款的应收")
@PostMapping("/pushLoanOrder")
@ResponseBody
@ -124,16 +130,16 @@ public interface BusSalesOrderLoancontractFeign {
@ApiOperation("根据销售订单sid及贷款人sid查询")
@PostMapping("/fetchAllByOrderSidAndDkrSid")
@ResponseBody
ResultBean<List<BusSalesOrderLoancontract>> fetchAllByOrderSidAndDkrSid(@RequestParam("saleOrderSid") String saleOrderSid,@RequestParam("saleOrderBorrowerSid") String saleOrderBorrowerSid);
ResultBean<List<BusSalesOrderLoancontract>> fetchAllByOrderSidAndDkrSid(@RequestParam("saleOrderSid") String saleOrderSid, @RequestParam("saleOrderBorrowerSid") String saleOrderBorrowerSid);
@ApiOperation("根据销售订单sid和贷款人sid删除消贷合同信息")
@PostMapping("/delByOrderSidAndDkrSid")
@ResponseBody
ResultBean delByOrderSidAndDkrSid(@RequestParam("saleOrderSid") String saleOrderSid,@RequestParam("borrowerSid") String borrowerSid);
ResultBean delByOrderSidAndDkrSid(@RequestParam("saleOrderSid") String saleOrderSid, @RequestParam("borrowerSid") String borrowerSid);
@ApiOperation("推送融资放款的其他应收单应收")
@PostMapping("/pushOtherDocument")
@ResponseBody
ResultBean pushOtherDocument(@RequestBody PushOtherDocument push);
}
}

8
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeignFallback.java

@ -31,6 +31,7 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
@ -91,6 +92,11 @@ public class BusSalesOrderLoancontractFeignFallback implements BusSalesOrderLoan
return null;
}
@Override
public ResultBean setRepaymentState(String sid, String createTime) {
return null;
}
@Override
public ResultBean pushLoanOrder(LoanContractPush loanContractPush) {
return null;
@ -130,4 +136,4 @@ public class BusSalesOrderLoancontractFeignFallback implements BusSalesOrderLoan
public ResultBean pushOtherDocument(PushOtherDocument push) {
return null;
}
}
}

15
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractMapper.java

@ -68,13 +68,13 @@ public interface BusSalesOrderLoancontractMapper extends BaseMapper<BusSalesOrde
@Select("select * from bus_sales_order_loancontract where salesOrderSid = #{sid}")
BusSalesOrderLoancontract fetchDetailsByOrderSid(String sid);
@Select("select * from bus_sales_order_loancontract where borrowerSid = #{saleOrderBorrowerSid}")
@Select("select * from bus_sales_order_loancontract where borrowerSid = #{saleOrderBorrowerSid}")
List<BusSalesOrderLoancontractDetailsVo> selectByBorrowerSid(String saleOrderBorrowerSid);
IPage<BusLoancontractForRepayVo> listPageForRepay(IPage<BusSalesOrderLoancontract> page,@Param(Constants.WRAPPER) QueryWrapper<BusSalesOrderLoancontract> qw);
IPage<BusLoancontractForRepayVo> listPageForRepay(IPage<BusSalesOrderLoancontract> page, @Param(Constants.WRAPPER) QueryWrapper<BusSalesOrderLoancontract> qw);
@Update("update bus_sales_order_loancontract set bankContractNo=#{bankContractNo},busNo='305',busName='放款资料审核' where sid=#{loanContractSid}")
void updateBankConAndBusNo(@Param("loanContractSid") String loanContractSid,@Param("bankContractNo") String bankContractNo);
void updateBankConAndBusNo(@Param("loanContractSid") String loanContractSid, @Param("bankContractNo") String bankContractNo);
@Select("select * from bus_sales_order_loancontract where salesOrderSid = #{sid}")
List<BusSalesOrderLoancontract> fetchAllByOrderSid(String sid);
@ -85,10 +85,13 @@ public interface BusSalesOrderLoancontractMapper extends BaseMapper<BusSalesOrde
List<BusSalesOrderLoancontract> fetchAllByBorrowerSid(String saleOrderBorrowerSid);
@Select("select * from bus_sales_order_loancontract where salesOrderSid = #{saleOrderSid} and borrowerSid = #{saleOrderBorrowerSid}")
List<BusSalesOrderLoancontract> fetchAllByOrderSidAndDkrSid(@Param("saleOrderSid") String saleOrderSid,@Param("saleOrderBorrowerSid") String saleOrderBorrowerSid);
List<BusSalesOrderLoancontract> fetchAllByOrderSidAndDkrSid(@Param("saleOrderSid") String saleOrderSid, @Param("saleOrderBorrowerSid") String saleOrderBorrowerSid);
FinUncollectedReceivablesDetailed selectByBusVinSId(@Param("name") String name, @Param("sid") String sid);
@Delete("delete from bus_sales_order_loancontract where salesOrderSid = #{saleOrderSid} and borrowerSid = #{borrowerSid}")
void delByOrderSidAndDkrSid(@Param("saleOrderSid") String saleOrderSid,@Param("borrowerSid") String borrowerSid);
}
void delByOrderSidAndDkrSid(@Param("saleOrderSid") String saleOrderSid, @Param("borrowerSid") String borrowerSid);
@Update("update bus_sales_order_loancontract set repaymentState = 1,repaymentCreateTime =#{createTime} where sid=#{sid}")
int setRepaymentState(@Param("sid") String sid,@Param("createTime") String createTime);
}

11
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractMapper.xml

@ -26,7 +26,14 @@
co.bankName as bankName,
co.bankContractNo as bankContractNo,
co.policyName as policyName,
co.sid as salesOrderSid
co.sid as salesOrderSid,
CASE
co.repaymentState
WHEN '1' THEN
'是'
WHEN '0' THEN
'否'
END AS builded
FROM
bus_sales_order_loancontract AS co
LEFT JOIN bus_sales_order AS bs ON co.salesOrderSid = bs.sid
@ -46,4 +53,4 @@
resultType="com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed">
select * from anrui_fin.fin_uncollected_receivables_detailed where busVinSid = #{sid} and receivablesName = #{name}
</select>
</mapper>
</mapper>

8
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractRest.java

@ -35,6 +35,7 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
@ -120,6 +121,13 @@ public class BusSalesOrderLoancontractRest implements BusSalesOrderLoancontractF
return rb.success().setData(pv);
}
@Override
public ResultBean setRepaymentState(String sid, String createTime) {
ResultBean rb = ResultBean.fireFail();
int i = busSalesOrderLoancontractService.setRepaymentState(sid, createTime);
return rb.success();
}
@Override
public ResultBean pushLoanOrder(LoanContractPush loanContractPush) {
return busSalesOrderLoancontractService.pushLoanOrder(loanContractPush);

35
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java

@ -84,6 +84,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
@ -282,7 +283,7 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale
records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) {
for (BusLoancontractForRepayVo record : records) {
record.setHandleBtn(false);
// record.setHandleBtn(false);
if (StringUtils.isNotBlank(record.getSalesOrderSid())) {
List<BusSalesOrderVehicle> busSalesOrderVehicles = busSalesOrderVehicleService.selByLoanContractSid(record.getSalesOrderSid());
busSalesOrderVehicles.removeAll(Collections.singleton(null));
@ -292,19 +293,19 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale
record.setVinNo(String.join(",", stringVinNos));
}
}
ResultBean<LoanRepaymentSchedule> repaymentSchedule = repaymentScheduleFeign.selByLoanContractSid(record.getSalesOrderSid());
if (repaymentSchedule.getData() != null) {
record.setBuilded("是");
List<LoanRepaymentHistory> histories = repaymentScheduleFeign.selHistoryBySid(repaymentSchedule.getData().getSid()).getData();
if (histories.isEmpty() || histories == null) {
record.setHandleBtn(true);
}
} else {
record.setBuilded("否");
if (StringUtils.isNotBlank(record.getBankContractNo())) {
record.setHandleBtn(true);
}
}
// ResultBean<LoanRepaymentSchedule> repaymentSchedule = repaymentScheduleFeign.selByLoanContractSid(record.getSalesOrderSid());
// if (repaymentSchedule.getData() != null) {
// record.setBuilded("是");
// List<LoanRepaymentHistory> histories = repaymentScheduleFeign.selHistoryBySid(repaymentSchedule.getData().getSid()).getData();
// if (histories.isEmpty() || histories == null) {
// record.setHandleBtn(true);
// }
// } else {
// record.setBuilded("否");
// if (StringUtils.isNotBlank(record.getBankContractNo())) {
// record.setHandleBtn(true);
// }
// }
}
}
}
@ -1093,4 +1094,8 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale
}
}
}
public int setRepaymentState(String sid,String createTime) {
return baseMapper.setRepaymentState(sid,createTime);
}
}

15
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/paymentConfirmation/customerBillingDetails.vue

@ -24,6 +24,13 @@
<el-option v-for="item in kxState_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="未收金额:">
<div style="display: flex;flex-direction: row;justify-content: flex-start;align-items: center">
<el-input v-model="listQuery.params.noMoneyStart" placeholder="" clearable style="width: 160px" class="addinputw"/>
<span style="padding: 0 8px"></span>
<el-input v-model="listQuery.params.noMoneyEnd" placeholder="" clearable style="width: 160px" class="addinputw"/>
</div>
</el-form-item>
<el-form-item label="生成时间:">
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.createStartTime" clearable style="width: 160px" type="date" placeholder="开始日期"/>
<span style="padding: 0 8px"></span>
@ -168,7 +175,9 @@ export default {
createBySid: '',
orgPath: '',
menuUrl: '',
kxState: ''
kxState: '',
noMoneyStart: '',
noMoneyEnd: ''
},
total: 0
}
@ -243,7 +252,9 @@ export default {
createBySid: '',
orgPath: '',
menuUrl: '',
kxState: ''
kxState: '',
noMoneyStart: '',
noMoneyEnd: ''
},
total: 0
}

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedQuery.java

@ -87,4 +87,7 @@ public class FinUncollectedReceivablesDetailedQuery implements Query {
private String menuUrl;
@ApiModelProperty("0销售专员申请,1内勤申请")
private String state;
private String noMoneyStart; //未还金额开始
private String noMoneyEnd; //未还金额结束
}

70
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -104,6 +104,8 @@ import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoFo
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsFeign;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsForOverDue;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleFeign;
import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApply;
import com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCost;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
@ -211,7 +213,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
private LoanPushFundHistoryFeign loanPushFundHistoryFeign;
@Autowired
private DocPdfComponent docPdfComponent;
@Autowired
private LoanRepaymentScheduleFeign loanRepaymentScheduleFeign;
private QueryWrapper<FinCollectionConfirmation> createQueryWrapper(FinCollectionConfirmationQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
@ -4203,10 +4206,11 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsFeign.fetchDetails(planSid).getData();
if (null != planDetails) {
voucherDetail.setPayCostTitleValue(v.getReceivablesName());
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(planDetails.getScheduleSid()).getData();
if (null != schedule) {
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
}
String busVinSid = planDetails.getBusVinSid();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
@ -4284,10 +4288,11 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (null != planDetails) {
voucherDetail.setPayCostTitleValue(v.getReceivablesName());
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(planDetails.getScheduleSid()).getData();
if (null != schedule) {
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
}
String busVinSid = planDetails.getBusVinSid();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
@ -4381,14 +4386,15 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
if (null != busSalesOrderVehicle) {
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData();
String deptSid = salesOrder.getOrgSid();
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setSceneCode("借方");
voucherDetail.setTimeFlag("1");
voucherDetail.setDataTime(new DateTime());
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(planDetails.getScheduleSid()).getData();
if (null != schedule) {
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
}
if (null != salesOrder) {
if (null != busSalesOrderVehicle) {
@ -4454,10 +4460,11 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsFeign.fetchDetails(planSid).getData();
if (null != planDetails) {
voucherDetail.setPayCostTitleValue(v.getReceivablesName());
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(planDetails.getScheduleSid()).getData();
if (null != schedule) {
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
}
String busVinSid = planDetails.getBusVinSid();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
@ -4881,10 +4888,11 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (null != organizationVo) {
collectionVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(planDetails.getScheduleSid()).getData();
if (null != schedule) {
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
}
String busVinSid = planDetails.getBusVinSid();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
@ -4986,10 +4994,11 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (null != organizationVo) {
collectionVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(planDetails.getScheduleSid()).getData();
if (null != schedule) {
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
}
String busVinSid = planDetails.getBusVinSid();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
@ -5094,10 +5103,11 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (null != organizationVo) {
collectionVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(planDetails.getScheduleSid()).getData();
if (null != schedule) {
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
}
String busVinSid = planDetails.getBusVinSid();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
@ -5771,4 +5781,4 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
}
}

15
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingMapper.xml

@ -121,18 +121,23 @@
invoiceTypeKey as openTickTypeKey
from fin_company_invoicing
where taxpayerNo = #{taxpayerNo}
and useOrgSid = #{useOrgSid}
and isDelete = 0
and useOrgSid = #{useOrgSid}
and isDelete = 0
and (purchaseSystemSid IS NULL OR LENGTH(purchaseSystemSid) = 0)
</select>
<select id="getInvoicingList" resultType="com.yxt.anrui.fin.api.fincompanyinvoicing.CompanyInvoicingVo">
select name companyInvoicingName,sid companyInvoicingSid,purchaseSystemSid,purchaseSystemName from fin_company_invoicing where useOrgSid = #{useOrgSid} and length(purchaseSystemSid)>0
select name companyInvoicingName, sid companyInvoicingSid, purchaseSystemSid, purchaseSystemName
from fin_company_invoicing
where useOrgSid = #{useOrgSid}
and length(purchaseSystemSid) > 0
</select>
<select id="getAppInvoicingList" resultType="com.yxt.anrui.fin.api.fincompanyinvoicing.AppCompanyInvoicingVo">
select name dictValue,sid as id,purchaseSystemSid,purchaseSystemName from fin_company_invoicing where useOrgSid = #{useOrgSid} and length(purchaseSystemSid)>0
select name dictValue,sid as id,purchaseSystemSid,purchaseSystemName from fin_company_invoicing where useOrgSid
= #{useOrgSid} and length(purchaseSystemSid)>0
<if test="search != null and search != ''">
and name like concat('%',#{search},'%')
</if>
</select>
</mapper>
</mapper>

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.java

@ -120,4 +120,6 @@ public interface FinUncollectedReceivablesDetailedMapper extends BaseMapper<FinU
int updateKxState(@Param("list") List<String> busVinSid, @Param("kxState") String kxState);
String selectOtherReceivableMoneyByBusVinSid(String busVinSid);
}
IPage<FinUncollectedReceivablesDetailedVo> selectPageVo2(IPage<FinUncollectedReceivablesDetailed> page, @Param(Constants.WRAPPER)QueryWrapper<FinUncollectedReceivablesDetailed> qw);
}

81
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml

@ -356,4 +356,83 @@
FROM fin_uncollected_receivables_detailed
WHERE busVinSid = #{busVinSid}
</select>
</mapper>
<select id="selectPageVo2"
resultType="com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedVo">
SELECT
*
FROM
(
SELECT
a.sid,
a.customerName,
a.contractNo,
a.linkNo as vinNo,
a.receivablesName,
a.payType,
a.kxState,
a.reveivableMoney,
a.subscriptionMoney,
( a.reveivableMoney - a.subscriptionMoney ) AS noSubscriptionMoney,
a.createTime,
a.remarks,
a.orgSidPath,
a.createBySid,
a.useOrgSid,
a.busVinSid
FROM
(
SELECT
u.sid,
u.useOrgSid,
u.busVinSid,
u.customerName,
u.contractNo,
RIGHT(v.linkNo,8) as linkNo,
u.receivablesName,
u.payType,
u.orgSidPath,
u.createBySid,
u.kxState,
u.reveivableMoney,
u.createTime,
u.remarks,
(
SELECT
ifnull( sum( dbalance ), 0 ) AS subscriptionMoney
FROM
(
SELECT
d.receivablesSid,
cast((
d.`subscriptionMoney` - COALESCE ( SUM( f.`thisUseMoney` ), 0 )) AS DECIMAL ( 10, 2 )) AS dbalance
FROM
fin_selected_receivables_detailed d
LEFT JOIN (
SELECT
f.busSid,
f.thisUseMoney
FROM
fin_funds_carried_forward_veh f
LEFT JOIN `fin_funds_carried_forward_apply` fa ON f.mainSid = fa.sid
WHERE
fa.`nodeState` = '已办结'
) f ON f.`busSid` = d.`sid`
WHERE
d.auditState = 3
GROUP BY
d.`sid`
) d
WHERE
d.receivablesSid = u.sid
) AS subscriptionMoney
FROM
fin_uncollected_receivables_detailed AS u
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle AS v ON u.busVinSid = v.sid
) a
) AS b
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java

@ -92,7 +92,7 @@ public class FinUncollectedReceivablesDetailedRest implements FinUncollectedRece
@Override
public ResultBean<PagerVo<FinUncollectedReceivablesDetailedVo>> customerBillDetailedListPage(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<FinUncollectedReceivablesDetailedVo> pv = finUncollectedReceivablesDetailedService.detailedListPageVo(pq);
PagerVo<FinUncollectedReceivablesDetailedVo> pv = finUncollectedReceivablesDetailedService.detailedListPageVo2(pq);
return rb.success().setData(pv);
}

116
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java

@ -390,6 +390,120 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
return qw;
}
public PagerVo<FinUncollectedReceivablesDetailedVo> detailedListPageVo2(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) {
//==============================分页开始====================================
FinUncollectedReceivablesDetailedQuery params = pq.getParams();
String orgPath = params.getOrgPath();
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
params.setUseOrgSid(useOrgSid);
QueryWrapper<FinUncollectedReceivablesDetailed> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(params.getMenuUrl())) {
//授权
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(params.getOrgPath());
privilegeQuery.setMenuUrl(params.getMenuUrl());
privilegeQuery.setUserSid(params.getCreateBySid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
orgPath = orgPath + "/";
int i1 = orgPath.indexOf("/");
int i2 = orgPath.indexOf("/", i1 + 1);
int i3 = orgPath.indexOf("/", i2 + 1);
int i4 = orgPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgPath = orgPath.substring(0, i1);
qw.like("b.orgSidPath", orgPath);
} else if ("2".equals(orgLevelKey)) {
orgPath = orgPath.substring(0, i2);
qw.like("b.orgSidPath", orgPath);
} else if ("3".equals(orgLevelKey)) {
orgPath = orgPath.substring(0, i3);
qw.like("b.orgSidPath", orgPath);
} else if ("4".equals(orgLevelKey)) {
orgPath = orgPath.substring(0, i4);
qw.like("b.orgSidPath", orgPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("b.createBySid", params.getCreateBySid());
} else {
PagerVo<FinUncollectedReceivablesDetailedVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<FinUncollectedReceivablesDetailedVo> p = new PagerVo<>();
return p;
}
} else {
qw.eq("b.useOrgSid", params.getUseOrgSid());
}
//车架号查询
if (StringUtils.isNotBlank(params.getVinNo())) {
qw.like("b.vinNo", params.getVinNo());
}
if (StringUtils.isNotBlank(params.getKxState())) {
qw.like("b.kxState", params.getKxState());
}
if (StringUtils.isNotBlank(params.getContractNo())) {
qw.like("b.contractNo", params.getContractNo());
}
if (StringUtils.isNotBlank(params.getCustomerName())) {
qw.like("b.customerName", params.getCustomerName());
}
if (StringUtils.isNotBlank(params.getReceivablesName())) {
qw.like("b.receivablesName", params.getReceivablesName());
}
String createStartTime = params.getCreateStartTime();
String createEndTime = params.getCreateEndTime();
qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (b.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(createEndTime), "date_format (b.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
String noMoneyStart = params.getNoMoneyStart();
String noMoneyEnd = params.getNoMoneyEnd();
qw.apply(StringUtils.isNotEmpty(noMoneyStart), "b.noSubscriptionMoney >=" + noMoneyStart).
apply(StringUtils.isNotEmpty(noMoneyEnd), "b.noSubscriptionMoney <=" + noMoneyEnd
);
qw.orderByDesc("b.createTime");
IPage<FinUncollectedReceivablesDetailed> page = PagerUtil.queryToPage(pq);
IPage<FinUncollectedReceivablesDetailedVo> pagging = baseMapper.selectPageVo2(page, qw);
//=============================分页结束======================================
List<FinUncollectedReceivablesDetailedVo> records = pagging.getRecords();
for (FinUncollectedReceivablesDetailedVo record : records) {
record.setDownload(false);
//获取单条对应的应收未收sid
String sid = record.getSid();
BigDecimal noSubscriptionMoney = new BigDecimal(record.getNoSubscriptionMoney());
String busVinSid = record.getBusVinSid();
BusSalesOrderVehicle data = busSalesOrderVehicleFeign.fetchBySalesOrderVehiclerSid(busVinSid).getData();
if (null != data) {
String salesOrderSid = data.getSalesOrderSid();
FinUncollectedReceivablesDetailedPdfVo pdfVo = baseMapper.selectPdf(sid);
if (null != pdfVo) {
//根据销售订单编号查询金融方案 分别取出保证金
SolutionsDetailsVo svo = loanSolutionsFeign.selectDetails(salesOrderSid).getData();
if (noSubscriptionMoney.compareTo(BigDecimal.ZERO) <= 0) {
if (null != svo) {
if ((StringUtils.isNotBlank(svo.getBondAmounts()) && !("0.00").equals(svo.getBondAmounts()) && !("0").equals(svo.getBondAmounts()))
|| (StringUtils.isNotBlank(svo.getDepositPremium()) && !("0.00").equals(svo.getDepositPremium()) && !("0").equals(svo.getDepositPremium()))
|| (StringUtils.isNotBlank(svo.getDepositSettle()) && !("0.00").equals(svo.getDepositSettle())) && !("0").equals(svo.getDepositSettle())) {
BaseVehicleState vehicleState = baseVehicleStateFeign.selectOneByBusSidAndOrderSid(record.getBusVinSid(), salesOrderSid).getData();
if (null != vehicleState) {
if (StringUtils.isNotBlank(vehicleState.getFinState())) {
if (vehicleState.getFinState().equals("1")) {
record.setDownload(true);
}
}
}
}
}
}
}
}
}
PagerVo<FinUncollectedReceivablesDetailedVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public PagerVo<FinUncollectedReceivablesDetailedVo> detailedListPageVo(PagerQuery<FinUncollectedReceivablesDetailedQuery> pq) {
//==============================分页开始====================================
FinUncollectedReceivablesDetailedQuery params = pq.getParams();
@ -1030,4 +1144,4 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
String otherReceivableMoney = baseMapper.selectOtherReceivableMoneyByBusVinSid(busVinSid);
return rb.success().setData(otherReceivableMoney);
}
}
}

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanPlanDetailsVoForLateVoucher.java

@ -17,4 +17,5 @@ public class LoanPlanDetailsVoForLateVoucher {
private String busVinSid;
private String salesOrderSid;
private String loanContractNo;
private String scheduleSid;
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentSchedule.java

@ -72,6 +72,8 @@ public class LoanRepaymentSchedule extends BaseEntity {
private String bankContractNo;
@ApiModelProperty("其他融资方合同号")
private String otherBankNo;
@ApiModelProperty("推送财务凭证部门编码")
private String cwDeptNo;
}

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java

@ -33,6 +33,12 @@ public interface LoanRepaymentScheduleFeign {
@ResponseBody
public ResultBean<LoanCreateSchedulePdfVo> loanCreateSchedule(@RequestParam("salesOrderSid") String salesOrderSid);
@ApiOperation("根据sid查询实体")
@GetMapping("/fetchBySid")
@ResponseBody
public ResultBean<LoanRepaymentSchedule> fetchBySid(@RequestParam("sid") String sid);
@ApiOperation("生成还款计划表")
@PostMapping("/loanCreateSchedulePdf")
@ResponseBody

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java

@ -21,6 +21,11 @@ public class LoanRepaymentScheduleFeignFallback implements LoanRepaymentSchedule
return null;
}
@Override
public ResultBean<LoanRepaymentSchedule> fetchBySid(String sid) {
return null;
}
@Override
public ResultBean<String> loanCreateSchedulePdf(LoanCreateSchedulePdfVo dto) {
return null;

20
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java

@ -81,6 +81,7 @@ import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanMoneyVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleDetailsVo;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApply;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentRecordVo;
@ -1161,8 +1162,13 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.selOneByBankNoAndBusVinSid(v.getBankContractNo(), v.getSaleVehSid());
if (null != planDetails) {
String bankName = loanRepaymentPlanDetailsService.getBankNameByMainOrOtherPolicy(planDetails);
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
String orgCode = "";
LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid());
if (null != schedule) {
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
orgCode = schedule.getCwDeptNo();
}
}
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData();
String customerNumber = "";
@ -1213,9 +1219,7 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
if (StringUtils.isNotBlank(bankName)) {
voucherDetail.setBankName(bankName);
}
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
}
voucherDetail.setDeptCode(orgCode);
if (StringUtils.isNotBlank(customerNumber)) {
voucherDetail.setCustomerCode(customerNumber);
}
@ -1232,9 +1236,7 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
if (StringUtils.isNotBlank(bankName)) {
voucherDetail.setBankName(bankName);
}
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
}
voucherDetail.setDeptCode(orgCode);
if (StringUtils.isNotBlank(customerNumber)) {
voucherDetail.setCustomerCode(customerNumber);
}
@ -1504,4 +1506,4 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
List<DkRecordExportVo> recordVos = baseMapper.dkListPageExport(qw);
return recordVos;
}
}
}

24
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java

@ -50,11 +50,13 @@ import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryRecordVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForLateVoucher;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule;
import com.yxt.anrui.riskcenter.biz.loanbuckleapplyrecord.LoanBuckleApplyRecordService;
import com.yxt.anrui.riskcenter.biz.loanbuckleplanhistory.LoanBucklePlanHistoryService;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService;
import com.yxt.common.base.config.component.DocPdfComponent;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
@ -135,6 +137,8 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private LoanBucklePlanHistoryService loanBucklePlanHistoryService;
@Autowired
private LoanRepaymentScheduleService loanRepaymentScheduleService;
public PagerVo<LoanBuckleApplyVo> listPage(PagerQuery<LoanBuckleApplyQuery> pq) {
IPage<LoanBuckleApply> page = PagerUtil.queryToPage(pq);
@ -700,11 +704,12 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
}
if (StringUtils.isNotBlank(planDetails.getDeptSid())) {
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
if (StringUtils.isNotBlank(planDetails.getScheduleSid())) {
LoanRepaymentSchedule repaymentSchedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid());
if (null != repaymentSchedule) {
if (StringUtils.isNotBlank(repaymentSchedule.getCwDeptNo())) {
voucherDetail.setDeptCode(repaymentSchedule.getCwDeptNo());
}
}
}
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
@ -799,10 +804,11 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
if (null != organizationVo) {
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid());
if (null != schedule) {
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
}
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData();

15
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java

@ -44,10 +44,12 @@ import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.*;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecord;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecordService;
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService;
import com.yxt.common.base.config.component.DocPdfComponent;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
@ -123,7 +125,8 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private MessageListFeign messageListFeign;
@Autowired
private LoanRepaymentScheduleService loanRepaymentScheduleService;
public ResultBean<LoanMonthlyAccrualApplyInit> accrualInit(String orgPath) {
ResultBean<LoanMonthlyAccrualApplyInit> rb = ResultBean.fireFail();
String orgSidPath = orgPath;
@ -701,11 +704,13 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
if (null != organizationVo) {
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
String deptSid = planDetails.getDeptSid();
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
String scheduleSid = planDetails.getScheduleSid();
LoanRepaymentSchedule repaymentSchedule = loanRepaymentScheduleService.fetchBySid(scheduleSid);
if (null != repaymentSchedule) {
if (StringUtils.isNotBlank(repaymentSchedule.getCwDeptNo())) {
voucherDetail.setDeptCode(repaymentSchedule.getCwDeptNo());
}
}
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData();

16
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java

@ -49,8 +49,10 @@ import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.CheckPayStateVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForLateVoucher;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsDto;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule;
import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
@ -116,7 +118,8 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private LoanRepaymentScheduleService loanRepaymentScheduleService;
public ResultBean<String> saveHistory(LoanRepaymentHistoryDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
LoanRepaymentHistory entity = new LoanRepaymentHistory();
@ -855,11 +858,12 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
}
if (StringUtils.isNotBlank(planDetails.getDeptSid())) {
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
if (StringUtils.isNotBlank(planDetails.getScheduleSid())) {
LoanRepaymentSchedule repaymentSchedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid());
if (null != repaymentSchedule) {
if (StringUtils.isNotBlank(repaymentSchedule.getCwDeptNo())) {
voucherDetail.setDeptCode(repaymentSchedule.getCwDeptNo());
}
}
}
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java

@ -79,4 +79,6 @@ public interface LoanRepaymentPlanDetailsMapper extends BaseMapper<LoanRepayment
List<LoanPlanDetailsVoForLateVoucher> selPushLaterVoucherOnBuckle(@Param("planSids") List<String> planSids);
LoanRepaymentPlanDetails fetchMainBankByBusVinSid(@Param("busVinSid") String busVinSid);
String fetchCwDeptCodeByBusVinSid(@Param("busVinSid") String busVinSid);
}

26
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml

@ -267,7 +267,8 @@
b.useOrgSid,
b.deptSid,
b.busVinSid,
b.salesOrderSid
b.salesOrderSid,
b.scheduleSid
FROM (
SELECT a.*,
IFNULL((SELECT (fjj.reveivableMoney - fjj.m)
@ -281,7 +282,8 @@
WHERE j.payCostTitleKey = '006') as fj) as fjj
WHERE fjj.busSid = a.sid), 0) as fund
FROM (
SELECT pd.loanContractNo,
SELECT pd.scheduleSid,
pd.loanContractNo,
pd.oweState,
pd.dueDate,
pd.useOrgSid,
@ -692,6 +694,7 @@
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForLateVoucher">
SELECT b.loanContractNo,
b.sid AS planSid,
b.scheduleSid,
CASE
WHEN (b.outstandingMoney + b.bankBeInter + b.fund) >
0 THEN
@ -719,6 +722,7 @@
FROM (
SELECT pd.loanContractNo,
pd.oweState,
pd.scheduleSid,
pd.dueDate,
pd.useOrgSid,
pd.deptSid,
@ -774,4 +778,20 @@
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails">
select * from loan_repayment_plan_details where busVinSid =#{busVinSid} and policyOrOther = '0' limit 1
</select>
</mapper>
<select id="fetchCwDeptCodeByBusVinSid" resultType="java.lang.String">
SELECT
s.cwDeptNo
FROM
loan_repayment_schedule AS s
WHERE
s.sid = (
SELECT
p.scheduleSid
FROM
loan_repayment_plan_details AS p
WHERE
p.busVinSid = #{busVinSid}
LIMIT 1
)
</select>
</mapper>

14
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java

@ -29,6 +29,7 @@ import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleS
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -234,14 +235,15 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService<LoanRepa
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
if (null != busSalesOrderVehicle) {
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData();
String deptSid = salesOrder.getOrgSid();
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setSceneCode("借方");
voucherDetail.setTimeFlag("1");
voucherDetail.setDataTime(new DateTime());
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid());
if (null != schedule) {
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
}
if (null != salesOrder) {
if (null != busSalesOrderVehicle) {
@ -317,4 +319,8 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService<LoanRepa
public LoanRepaymentPlanDetails fetchMainBankByBusVinSid(String busVinSid) {
return baseMapper.fetchMainBankByBusVinSid(busVinSid);
}
public String fetchCwDeptCodeByBusVinSid(String busVinSid) {
return baseMapper.fetchCwDeptCodeByBusVinSid(busVinSid);
}
}

22
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/ScheduledRepaymentPlanDetailsService.java

@ -25,8 +25,10 @@ import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.utils.CollectorsUtil;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForLateVoucher;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule;
import com.yxt.anrui.riskcenter.biz.loanfundday.LoanFundDayService;
import com.yxt.anrui.riskcenter.biz.loanpushfundhistory.LoanPushFundHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService;
import com.yxt.common.core.result.ResultBean;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -65,7 +67,8 @@ public class ScheduledRepaymentPlanDetailsService {
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private LoanPushFundHistoryService loanPushFundHistoryService;
@Autowired
private LoanRepaymentScheduleService loanRepaymentScheduleService;
/**
* 次月1日23点推送上月尚未转累欠的记录
@ -92,11 +95,12 @@ public class ScheduledRepaymentPlanDetailsService {
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
}
if (StringUtils.isNotBlank(planDetails.getDeptSid())) {
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
if (StringUtils.isNotBlank(planDetails.getScheduleSid())) {
LoanRepaymentSchedule repaymentSchedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid());
if (null != repaymentSchedule) {
if (StringUtils.isNotBlank(repaymentSchedule.getCwDeptNo())) {
voucherDetail.setDeptCode(repaymentSchedule.getCwDeptNo());
}
}
}
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
@ -206,9 +210,9 @@ public class ScheduledRepaymentPlanDetailsService {
voucherDetail.setSceneCode("借方");
voucherDetail.setTimeFlag("0");
voucherDetail.setDataTime(new DateTime());
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
String cwDeptCode = loanRepaymentPlanDetailsService.fetchCwDeptCodeByBusVinSid(v.getBusVinSid());
if (StringUtils.isNotBlank(cwDeptCode)) {
voucherDetail.setDeptCode(cwDeptCode);
}
if (null != salesOrder) {
if (null != busSalesOrderVehicle) {

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java

@ -32,6 +32,13 @@ public class LoanRepaymentScheduleRest implements LoanRepaymentScheduleFeign {
return loanRepaymentScheduleService.loanCreateSchedule(salesOrderSid);
}
@Override
public ResultBean<LoanRepaymentSchedule> fetchBySid(String sid) {
ResultBean rb = ResultBean.fireFail();
LoanRepaymentSchedule repaymentSchedule = loanRepaymentScheduleService.fetchBySid(sid);
return rb.success().setData(repaymentSchedule);
}
@Override
public ResultBean<String> loanCreateSchedulePdf(LoanCreateSchedulePdfVo dto) {
return loanRepaymentScheduleService.loanCreateSchedulePdf(dto);

40
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.biz.loanrepaymentschedule;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -385,9 +386,14 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
e.printStackTrace();
}
}
BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(orderSid).getData();
//保存财务凭证部门编码
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(busSalesOrder.getOrgSid()).getData();
if (null != organizationDeptVo) {
loanRepaymentSchedule.setCwDeptNo(organizationDeptVo.getOrgCode());
}
baseMapper.updateById(loanRepaymentSchedule);
loanRepaymentPlanDetailsService.deletePlanDetails(loanRepaymentSchedule.getSid());
BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(orderSid).getData();
//新增还款计划明细
LoanRepaymentSchedule scheduleDetails = fetchBySid(loanRepaymentSchedule.getSid());
if (null != scheduleDetails) {
@ -736,6 +742,12 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
if (StringUtils.isNotBlank(busSalesOrder.getStaffName())) {
entity.setStaffName(busSalesOrder.getStaffName());
}
//保存财务凭证部门编码
String deptSid = busSalesOrder.getOrgSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
entity.setCwDeptNo(organizationDeptVo.getOrgCode());
}
}
List<BusSalesOrderVehicle> busSalesOrderVehicles = busSalesOrderVehicleFeign.selbyContractSid(dto.getSalesOrderSid()).getData();
busSalesOrderVehicles.removeAll(Collections.singleton(null));
@ -1220,11 +1232,15 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
messageFeign.pushNoUriMessage(pushMessageQuery);
}
});
//推送还款计划总凭证
// //推送还款计划总凭证
Future future2 = pool.submit(() -> {
pushScheduleVoucher(schedule);
});
//设置消贷合同是否生成还款计划状态
Future future3 = pool.submit(() -> {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
busSalesOrderLoancontractFeign.setRepaymentState(dto.getSalesOrderSid(),sdf.format(new Date()));
});
} catch (Exception e) {
e.printStackTrace();
}
@ -1331,14 +1347,12 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
if (null != organizationVo) {
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
String deptSid = salesOrder.getOrgSid();
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
if (StringUtils.isNotBlank(bankName)) {
voucherDetail.setBankName(bankName);
}
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
// String busVinSid = vehicle.getSid();
// BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
@ -1395,7 +1409,6 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
if (null != organizationVo) {
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
String deptSid = salesOrder.getOrgSid();
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
if (i == 0) {
if (StringUtils.isNotBlank(bankName)) {
@ -1406,9 +1419,8 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
voucherDetail.setBankName(otherBankName);
}
}
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
// String busVinSid = vehicle.getSid();
// BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
@ -1468,14 +1480,12 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
if (null != organizationVo) {
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
String deptSid = salesOrder.getOrgSid();
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
if (StringUtils.isNotBlank(bankName)) {
voucherDetail.setBankName(bankName);
}
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
// String busVinSid = vehicle.getSid();
// BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();

12
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java

@ -57,12 +57,14 @@ import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.MonthlyAccrualSource
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecord;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.*;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow.*;
import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService;
import com.yxt.anrui.riskcenter.biz.loantransferpaymentrecord.LoanTransferPaymentRecordService;
import com.yxt.common.base.config.component.DocPdfComponent;
import com.yxt.common.base.config.component.FileUploadComponent;
@ -148,7 +150,8 @@ public class LoanTransferPaymentApplyService extends MybatisBaseService<LoanTran
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private LoanRepaymentScheduleService loanRepaymentScheduleService;
public ResultBean<LoanTransferPaymentApplyInit> paymentInit(String[] sids) {
ResultBean<LoanTransferPaymentApplyInit> rb = ResultBean.fireFail();
LoanTransferPaymentApplyInit vo = new LoanTransferPaymentApplyInit();
@ -889,10 +892,9 @@ public class LoanTransferPaymentApplyService extends MybatisBaseService<LoanTran
paymentVoucher.setPayTypeCode(manufacturerBank.getDueBankKey());
}
}
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid());
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData();

41
yxt-as-ui/src/api/storage/carryover.js

@ -0,0 +1,41 @@
import request from '@/utils/request'
export default {
// 查询分页列表 -- 结转记录查询
carryForwardList: function(params) {
return request({
url: '/wms/apiadmin/inventory/wmsinventorysettlebill/carryForwardList',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 结转记录查询 -- 删除
deleteBySids: function(data) {
return request({
url: '/wms/apiadmin/inventory/wmsinventorysettlebill/delBySids',
method: 'DELETE',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 查询分页列表 -- 结转库存查询
listPage: function(params) {
return request({
url: '/wms/apiadmin/inventory/wmsinventorysettlebilldetail/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 结转库存查询 -- 导出
exportExcel: function(data) {
return request({
url: '/wms/apiadmin/inventory/wmsinventorysettlebilldetail/exportExcel',
method: 'post',
responseType: 'blob', // 表明返回服务器返回的数据类型
data: data,
headers: { 'Content-Type': 'application/json' }
})
}
}

23
yxt-as-ui/src/api/storage/storageage.js

@ -0,0 +1,23 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/wms/apiadmin/inventory/wmsinventory/inventoryAgeList',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 导出
exportExcel: function(data) {
return request({
url: '/wms/apiadmin/inventory/wmsinventory/ageExportExcel',
method: 'post',
responseType: 'blob', // 表明返回服务器返回的数据类型
data: data,
headers: { 'Content-Type': 'application/json' }
})
}
}

302
yxt-as-ui/src/router/index.js

@ -49,69 +49,49 @@ export const constantRoutes = [{
meta: {
title: '业务'
},
children: [{
children: [
{
path: '/preregistration/preregistration',
component: () => import('@/views/operation/preregistration/preregistration.vue'),
name: 'Preregistration',
meta: {
title: '预约登记',
noCache: true
}
meta: { title: '预约单管理', noCache: true }
},
{
path: '/repairbill/repairbill',
component: () => import('@/views/operation/repairbill/repairbill.vue'),
name: 'RepairBill',
meta: {
title: '维修开单管理(登记)',
noCache: true
}
meta: { title: '维修开单管理(登记)', noCache: true }
},
{
path: '/repairbill/repairbillBySendWork',
component: () => import('@/views/operation/repairbill/repairbillBySendWork.vue'),
name: 'RepairBillBySendWork',
meta: {
title: '维修开单管理(派工)',
noCache: true
}
meta: { title: '维修开单管理(派工)', noCache: true }
},
{
path: '/repairbill/repairbillByMaintain',
component: () => import('@/views/operation/repairbill/repairbillByMaintain.vue'),
name: 'RepairBillByMaintain',
meta: {
title: '维修开单管理(维修)',
noCache: true
}
meta: { title: '维修开单管理(维修)', noCache: true }
},
{
path: '/repairbill/repairbillByBeCompleted',
component: () => import('@/views/operation/repairbill/repairbillByBeCompleted.vue'),
name: 'RepairBillByBeCompleted',
meta: {
title: '维修开单管理(竣工)',
noCache: true
}
meta: { title: '维修开单管理(竣工)', noCache: true }
},
{
path: '/repairbill/repairbillBySettleAccounts',
component: () => import('@/views/operation/repairbill/repairbillBySettleAccounts.vue'),
name: 'RepairBillBySettleAccounts',
meta: {
title: '维修开单管理(结算)',
noCache: true
}
meta: { title: '维修开单管理(结算)', noCache: true }
},
{
path: '/repairbill/repairbillBYLeaveFactory',
component: () => import('@/views/operation/repairbill/repairbillBYLeaveFactory.vue'),
name: 'RepairBillBYLeaveFactory',
meta: {
title: '维修开单管理(出厂)',
noCache: true
}
},
meta: { title: '维修开单管理(出厂)', noCache: true }
}
// {
// path: '/workslrsettlement/workslrsettlement',
// component: () => import('@/views/operation/workslrsettlement/workslrsettlement.vue'),
@ -127,43 +107,31 @@ export const constantRoutes = [{
meta: {
title: '仓库管理'
},
children: [{
children: [
{
path: '/goodsShelves/index',
component: () => import('@/views/warehouse/goodsShelves/index.vue'),
name: 'GoodsShelves',
meta: {
title: '库位管理',
noCache: true
}
meta: { title: '库位管理', noCache: true }
},
{
path: '/warehouseArea/index',
component: () => import('@/views/warehouse/warehouseArea/index.vue'),
name: 'WarehouseArea',
meta: {
title: '库区管理',
noCache: true
}
meta: { title: '库区管理', noCache: true }
},
{
path: '/warehouseAreaType/index',
component: () => import('@/views/warehouse/warehouseAreaType/index.vue'),
name: 'WarehouseAreaType',
meta: {
title: '库区类型管理',
noCache: true
}
meta: { title: '库区类型管理', noCache: true }
},
{
path: '/warehouse/index',
component: () => import('@/views/warehouse/warehouse/index.vue'),
name: 'Warehouse',
meta: {
title: '仓库管理',
noCache: true
}
},
meta: { title: '仓库管理', noCache: true }
}
]
},
@ -174,51 +142,37 @@ export const constantRoutes = [{
meta: {
title: '商品管理'
},
children: [{
children: [
{
path: '/brands/index',
component: () => import('@/views/goods/brands/index.vue'),
name: 'Brands',
meta: {
title: '品牌管理',
noCache: true
}
meta: { title: '品牌管理', noCache: true }
},
{
path: '/category/index',
component: () => import('@/views/goods/category/index.vue'),
name: 'Category',
meta: {
title: '类别管理',
noCache: true
}
meta: { title: '类别管理', noCache: true }
},
{
path: '/factory/index',
component: () => import('@/views/goods/factory/index.vue'),
name: 'Factory',
meta: {
title: '厂家管理',
noCache: true
}
meta: { title: '厂家管理', noCache: true }
},
{
path: '/goods/index',
component: () => import('@/views/goods/goods/index.vue'),
name: 'Goods',
meta: {
title: '商品管理',
noCache: true
}
meta: { title: '商品管理', noCache: true }
},
{
path: '/unit/index',
component: () => import('@/views/goods/unit/index.vue'),
name: 'Unit',
meta: {
title: '单位管理',
noCache: true
}
},
meta: { title: '单位管理', noCache: true }
}
]
},
{
@ -228,132 +182,109 @@ export const constantRoutes = [{
meta: {
title: '仓储'
},
children: [{
children: [
{
path: '/outStorage/index',
name: 'OutStorage',
component: () => import('@/views/storage/outStorage/index'),
meta: {
title: '出库管理',
noCache: true
}
name: 'OutStorage',
meta: { title: '出库管理', noCache: true }
},
{
path: '/inventory/inventory',
component: () => import('@/views/storage/inventory/inventory.vue'),
name: 'Inventory',
meta: {
title: '库存查询',
noCache: true
}
meta: { title: '库存查询', noCache: true }
},
{
path: '/inventory/inventoryRefer',
component: () => import('@/views/storage/inventory/inventoryRefer.vue'),
name: 'InventoryRefer',
meta: {
title: '出入库查询',
noCache: true
}
meta: { title: '出入库查询', noCache: true }
},
{
path: '/stocktaking/index',
name: 'Stocktaking',
component: () => import('@/views/storage/stocktaking/index'),
meta: {
title: '盘点管理',
noCache: true
}
name: 'Stocktaking',
meta: { title: '盘点管理', noCache: true }
},
{
path: '/allocation/index',
name: 'Allocation',
component: () => import('@/views/storage/allocation/index'),
meta: {
title: '调拨管理',
noCache: true
}
name: 'Allocation',
meta: { title: '调拨管理', noCache: true }
},
{
path: '/deliveryNotice/index',
name: 'DeliveryNotice',
component: () => import('@/views/storage/deliveryNotice/index'),
meta: {
title: '到货通知单',
noCache: true
}
name: 'DeliveryNotice',
meta: { title: '到货通知单', noCache: true }
},
{
path: '/receivingGoods/index',
name: 'ReceivingGoods',
component: () => import('@/views/storage/receivingGoods/index'),
meta: {
title: '收货单管理',
noCache: true
}
name: 'ReceivingGoods',
meta: { title: '收货单管理', noCache: true }
},
{
path: '/upShelf/index',
name: 'UpShelf',
component: () => import('@/views/storage/upShelf/index'),
meta: {
title: '上架单管理',
noCache: true
}
name: 'UpShelf',
meta: { title: '上架单管理', noCache: true }
},
{
path: '/oldPartsFactory/index',
name: 'OldPartsFactory',
component: () => import('@/views/storage/oldPartsFactory/index'),
meta: {
title: '旧件返厂',
noCache: true
}
name: 'OldPartsFactory',
meta: { title: '旧件返厂', noCache: true }
},
{
path: '/oldPartsCope/index',
name: 'OldPartsCope',
component: () => import('@/views/storage/oldPartsCope/index'),
meta: {
title: '旧件处理',
noCache: true
}
name: 'OldPartsCope',
meta: { title: '旧件处理', noCache: true }
},
{
path: '/oldPartsRecovery/index',
name: 'OldPartsRecovery',
component: () => import('@/views/storage/oldPartsRecovery/index'),
meta: {
title: '旧件回收',
noCache: true
}
name: 'OldPartsRecovery',
meta: { title: '旧件回收', noCache: true }
},
{
path: '/oldPartsInStorage/index',
name: 'OldPartsInStorage',
component: () => import('@/views/storage/oldPartsInStorage/index'),
meta: {
title: '旧件入库',
noCache: true
}
name: 'OldPartsInStorage',
meta: { title: '旧件入库', noCache: true }
},
{
path: '/oldPartsInvertory/index',
name: 'OldPartsInvertory',
component: () => import('@/views/storage/oldPartsInvertory/index'),
meta: {
title: '旧件库存',
noCache: true
}
name: 'OldPartsInvertory',
meta: { title: '旧件库存', noCache: true }
},
{
path: '/oldPartsInAndOutStorage/index',
name: 'OldPartsInAndOutStorage',
component: () => import('@/views/storage/oldPartsInAndOutStorage/index'),
meta: {
title: '旧件出入库查询',
noCache: true
}
name: 'OldPartsInAndOutStorage',
meta: { title: '旧件出入库查询', noCache: true }
},
{
path: '/storageage/storageage',
component: () => import('@/views/storage/storageage/storageage'),
name: 'StorageAge',
meta: { title: '库龄查询', noCache: true }
},
{
path: '/carryover/carryoverstock',
component: () => import('@/views/storage/carryover/carryoverstock'),
name: 'CarryoverStock',
meta: { title: '结转库存查询', noCache: true }
},
{
path: '/carryover/carryforwardrecord',
component: () => import('@/views/storage/carryover/carryforwardrecord'),
name: 'CarryForwardRecord',
meta: { title: '结转记录查询', noCache: true }
}
]
},
@ -364,23 +295,18 @@ export const constantRoutes = [{
meta: {
title: '采购'
},
children: [{
children: [
{
path: '/procurement/procurement',
component: () => import('@/views/purchase/procurement/procurement.vue'),
name: 'Procurement',
meta: {
title: '采购开单',
noCache: true
}
meta: { title: '采购单管理', noCache: true }
},
{
path: '/purchasereturn/purchasereturn',
component: () => import('@/views/purchase/purchasereturn/purchasereturn.vue'),
name: 'PurchaseReturn',
meta: {
title: '采购退货',
noCache: true
}
meta: { title: '采购退货', noCache: true }
}
]
},
@ -391,68 +317,48 @@ export const constantRoutes = [{
meta: {
title: '报表'
},
children: [{
children: [
{
path: '/salesstatement/merchandisesalesdetail',
component: () => import('@/views/statement/salesstatement/merchandisesalesdetail.vue'),
name: 'MerchandiseSalesDetail',
meta: {
title: '销售明细商品',
noCache: true
}
meta: { title: '销售明细商品', noCache: true }
},
{
path: '/salesstatement/merchandisesalessummary',
component: () => import('@/views/statement/salesstatement/merchandisesalessummary.vue'),
name: 'MerchandiseSalesSummary',
meta: {
title: '销售汇总商品',
noCache: true
}
meta: { title: '销售汇总商品', noCache: true }
},
{
path: '/salesstatement/salestrendreport',
component: () => import('@/views/statement/salesstatement/salestrendreport.vue'),
name: 'SalesTrendReport',
meta: {
title: '销售价趋势报表',
noCache: true
}
meta: { title: '销售价趋势报表', noCache: true }
},
{
path: '/warehousereport/inventorystatistics',
component: () => import('@/views/statement/warehousereport/inventorystatistics.vue'),
name: 'InventoryStatistics',
meta: {
title: '库存统计',
noCache: true
}
meta: { title: '库存统计', noCache: true }
},
{
path: '/warehousereport/receiptandreceiptrecord',
component: () => import('@/views/statement/warehousereport/receiptandreceiptrecord.vue'),
name: 'ReceiptAndReceiptRecord',
meta: {
title: '收发存明细报表',
noCache: true
}
meta: { title: '收发存明细报表', noCache: true }
},
{
path: '/purchasereport/detailedpurchasereport',
component: () => import('@/views/statement/purchasereport/detailedpurchasereport.vue'),
name: 'DetailedPurchaseReport',
meta: {
title: '采购明细报表',
noCache: true
}
meta: { title: '采购明细报表', noCache: true }
},
{
path: '/purchasereport/purchasesummaryreport',
component: () => import('@/views/statement/purchasereport/purchasesummaryreport.vue'),
name: 'PurchaseSummaryReport',
meta: {
title: '采购汇总报表',
noCache: true
}
meta: { title: '采购汇总报表', noCache: true }
}
]
},
@ -463,68 +369,48 @@ export const constantRoutes = [{
meta: {
title: '基础信息'
},
children: [{
children: [
{
path: '/maintenanceitem/maintenanceitem',
component: () => import('@/views/basicinformation/maintenanceitem/maintenanceitem.vue'),
name: 'MaintenanceItem',
meta: {
title: '维修项目管理',
noCache: true
}
meta: { title: '维修项目管理', noCache: true }
},
{
path: '/additionitem/additionitem',
component: () => import('@/views/basicinformation/additionitem/additionitem.vue'),
name: 'AdditionItem',
meta: {
title: '附加项目管理',
noCache: true
}
meta: { title: '附加项目管理', noCache: true }
},
{
path: '/setmeal/setmeal',
component: () => import('@/views/basicinformation/setmeal/setmeal.vue'),
name: 'Setmeal',
meta: {
title: '套餐管理',
noCache: true
}
meta: { title: '套餐管理', noCache: true }
},
{
path: '/profession/profession',
component: () => import('@/views/basicinformation/profession/profession.vue'),
name: 'Profession',
meta: {
title: '工种管理',
noCache: true
}
meta: { title: '工种管理', noCache: true }
},
{
path: '/subjects/subjects',
component: () => import('@/views/basicinformation/subjects/subjects.vue'),
name: 'Subjects',
meta: {
title: '科目管理',
noCache: true
}
meta: { title: '科目管理', noCache: true }
},
{
path: '/team/team',
component: () => import('@/views/basicinformation/team/team.vue'),
name: 'Team',
meta: {
title: '班组管理',
noCache: true
}
meta: { title: '班组管理', noCache: true }
},
{
path: '/suppliertype/suppliertype',
component: () => import('@/views/basicinformation/suppliertype/suppliertype.vue'),
name: 'SupplierType',
meta: {
title: '供应商类型管理',
noCache: true
}
meta: { title: '供应商类型管理', noCache: true }
},
{
path: '/supplier/supplier',
@ -533,7 +419,7 @@ export const constantRoutes = [{
meta: { title: '供应商管理', noCache: true }
}
]
},
}
// 404 page must be placed at the end !!!
// { path: '*', redirect: '/404', hidden: true }
]

12
yxt-as-ui/src/views/operation/preregistration/preregistration.vue

@ -39,7 +39,7 @@
<el-input v-model="listQuery.params.mobile" placeholder="" clearable/>
</el-form-item>
<el-form-item label="服务顾问">
<el-input v-model="listQuery.params.state" placeholder="" clearable/>
<el-input v-model="listQuery.params.waitorName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="预约日期">
<el-date-picker v-model="listQuery.params.startDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
@ -69,14 +69,14 @@
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="单据编号" align="center" width="130">
<el-table-column label="单据编号" align="center" width="160">
<template slot-scope="scope">
<span class="bluezi" @click="toInfo(scope.row)">{{ scope.row.billNo }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.state == '1' ? '未完成' : scope.row.state == '2' ? '已完成' : scope.row.state == '0' ? '作废' : '' }}</span>
<span>{{ scope.row.state == '1' ? '未完成' : scope.row.state == '0' ? '已完成' : scope.row.state == '2' ? '作废' : '' }}</span>
</template>
</el-table-column>
<el-table-column prop="useOrgName" label="分公司" align="center" width="100" />
@ -86,12 +86,12 @@
<el-table-column prop="customerName" label="客户名称" align="center" width="100" />
<el-table-column prop="vehMark" label="车牌号" align="center" width="120" />
<el-table-column prop="vinNo" label="车架号" align="center" width="120" />
<el-table-column prop="mobile" label="联系电话" align="center" width="100" />
<el-table-column prop="mobile" label="联系电话" align="center" width="110" />
<el-table-column prop="reserveStart" label="预约起始时间" align="center" width="130" />
<el-table-column prop="reserveEnd" label="预约截止时间" align="center" width="130" />
<el-table-column prop="waitorName" label="服务顾问" align="center" width="100" />
<el-table-column prop="reserveEquip" label="预约设备" align="center" width="100" />
<el-table-column prop="remarks" label="备注" align="center" min-width="100" />
<el-table-column prop="remarks" label="备注" align="center" min-width="200" />
</el-table>
</div>
<!--End 主页面主要部分-->
@ -203,6 +203,7 @@ export default {
createDept: '',
createByName: '',
billNo: '',
waitorName: '',
startCreateDate: '',
endCreateDate: ''
}
@ -305,6 +306,7 @@ export default {
createDept: '',
createByName: '',
billNo: '',
waitorName: '',
startCreateDate: '',
endCreateDate: ''
}

49
yxt-as-ui/src/views/operation/preregistration/preregistrationAdd.vue

@ -46,7 +46,7 @@
<div class="addinputInfo">
<el-date-picker v-model="formobj.reserveStart" style="width: 140px" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期" />
<span style="padding: 0 4px"></span>
<el-date-picker v-model="formobj.reserveEnd" style="width: 140px" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期" />
<el-date-picker v-model="formobj.reserveEnd" :picker-options="pickerEndData(formobj.reserveStart)" style="width: 140px" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期" />
</div>
</el-form-item>
</el-col>
@ -78,15 +78,15 @@
<el-form-item><span class="addinputInfo">{{ formobj.customerOrg }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">服务项目</div>
<div class="title titleOne">
<div>服务项目</div>
<el-button type="primary" size="mini" class="btntopblueline" @click="serviceAdd">添加</el-button>
</div>
<el-table :key="serviceKey" :data="formobj.sitemVos" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column align="center" width="70">
<template slot="header">
<i class="add-btn-icon el-icon-plus" style="color: red;font-size:20px" @click="serviceAdd"></i>
</template>
<el-table-column fixed label="操作" align="center" width="100">
<template slot-scope="scope">
<i class="el-icon-delete" @click="serviceDelete(scope.$index)"></i>
<el-button type="danger" size="small" @click="serviceDelete(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column label="服务项目" align="center" width="300">
@ -138,7 +138,7 @@
</el-row>
<el-row>
<el-col :span="24">
<el-form-item><el-input v-model="formobj.trackLogs" type="textarea" :autosize="{ minRows: 2, maxRows: 6}" clearable placeholder="" /></el-form-item>
<el-form-item><el-input v-model="formobj.trackLog" type="textarea" :autosize="{ minRows: 2, maxRows: 6}" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
@ -205,7 +205,8 @@ export default {
orgPath: '',
createTime: '',
vinNo: '',
trackLogs: '',
trackLog: '',
trackLogs: [],
createDeptSid: '',
createDept: '',
customerOrg: ''
@ -214,6 +215,12 @@ export default {
}
},
methods: {
//
pickerEndData(newtime) {
return {
disabledDate(time) { return time.getTime() < new Date(newtime) - 1000 * 60 * 60 * 24 }
}
},
init() {
selAllByOrgSidPath({ orgSidPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => {
if (resp.success) {
@ -227,7 +234,7 @@ export default {
this.$refs['form_obj'].clearValidate()
})
this.init()
this.formobj.orgSidPath = window.sessionStorage.getItem('defaultOrgPath')
this.formobj.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.formobj.createByName = window.sessionStorage.getItem('name')
this.formobj.createBySid = window.sessionStorage.getItem('userSid')
this.formobj.createDept = window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
@ -339,10 +346,10 @@ export default {
row.hours = Math.round((parseFloat(row.price === '' ? '0' : row.price) / parseFloat(row.hourPrice === '' ? '0' : row.hourPrice)) * 100) / 100
},
handleClick(value) {
this.formobj.trackLogs = value
this.formobj.trackLog = value
},
handleAdd() {
if (this.formobj.trackLogs !== '') {
if (this.formobj.trackLog !== '') {
req.saveTrackingRecord(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '添加成功' })
@ -355,6 +362,10 @@ export default {
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
if (this.formobj.sitemVos.length === 0) {
this.$message({ showClose: true, type: 'error', message: '服务项目列表不能为空' })
return
}
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
@ -372,6 +383,10 @@ export default {
toService() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
if (this.formobj.sitemVos.length === 0) {
this.$message({ showClose: true, type: 'error', message: '服务项目列表不能为空' })
return
}
if (this.formobj.sitemVos.length === 0) {
this.$message({ showClose: true, type: 'error', message: '表格不能为空' })
return
@ -439,7 +454,8 @@ export default {
orgPath: '',
createTime: '',
vinNo: '',
trackLogs: '',
trackLog: '',
trackLogs: [],
createDeptSid: '',
createDept: '',
customerOrg: ''
@ -462,4 +478,11 @@ export default {
margin-left: 120px !important;
width: calc(100% - 115px);
}
.titleOne{
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

26
yxt-as-ui/src/views/operation/preregistration/preregistrationInfo.vue

@ -74,11 +74,10 @@
<el-table-column prop="remarks" label="备注" align="center" min-width="200" />
</el-table>
<div class="title">跟踪记录</div>
<el-row>
<el-col :span="24">
<el-form-item><span>{{ formobj.trackLogs }}</span></el-form-item>
</el-col>
</el-row>
<el-table :key="tableKey" :data="list" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center" />
<el-table-column prop="name" label="记录内容" align="left" header-align="center" />
</el-table>
</el-form>
</div>
</div>
@ -94,6 +93,8 @@ export default {
viewState: 1,
index: 0,
serviceKey: 0,
tableKey: 1,
list: [],
formobj: {
sid: '',
createBySid: '',
@ -113,7 +114,8 @@ export default {
orgPath: '',
createTime: '',
vinNo: '',
trackLogs: '',
trackLog: '',
trackLogs: [],
createDeptSid: '',
createDept: '',
customerOrg: ''
@ -126,6 +128,13 @@ export default {
req.fetchBySid(row.sid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.trackLogs.length > 0) {
this.formobj.trackLogs.forEach((e) => {
this.list.push({
name: e
})
})
}
}
})
},
@ -149,13 +158,14 @@ export default {
orgPath: '',
createTime: '',
vinNo: '',
trackLogs: '',
trackLog: '',
trackLogs: [],
createDeptSid: '',
createDept: '',
customerOrg: ''
}
this.$emit('doback')
},
}
}
}
</script>

224
yxt-as-ui/src/views/storage/carryover/carryforwardrecord.vue

@ -0,0 +1,224 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="结转记录查询" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="门店">
<el-input v-model="listQuery.params.useOrgName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="结转日期">
<el-date-picker v-model="listQuery.params.startDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.endDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">结转记录查询列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column fixed type="selection" align="center" width="50"/>
<el-table-column fixed label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column prop="useOrgName" label="门店" align="center" />
<el-table-column prop="createTime" label="结转日期" align="center" />
<el-table-column prop="createByName" label="结转人" align="center" />
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--End查询列表部分-->
</div>
</div>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/storage/carryover'
export default {
name: 'CarryForwardRecord',
components: {
Pagination,
pageye,
ButtonBar
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
FormLoading: false,
listLoading: false,
//
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
startDate: '',
endDate: '',
useOrgName: '',
orgPath: ''
}
}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
// sid
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
getList() {
this.listLoading = true
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
req.carryForwardList(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
startDate: '',
endDate: '',
useOrgName: '',
orgPath: ''
}
}
this.getList()
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

227
yxt-as-ui/src/views/storage/carryover/carryoverstock.vue

@ -0,0 +1,227 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="结转库存查询" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="商品名称">
<el-input v-model="listQuery.params.goodsSpuName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="零件号">
<el-input v-model="listQuery.params.goodsSkuCode" placeholder="" clearable/>
</el-form-item>
<el-form-item label="仓库">
<el-input v-model="listQuery.params.warehouseName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="结算日期">
<el-date-picker v-model="listQuery.params.startDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.endDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">结转库存查询列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;">
<el-table-column fixed label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column fixed prop="goodsSpuName" label="商品" align="center" width="150"/>
<el-table-column prop="goodsSkuCode" label="零件号" align="center"/>
<el-table-column prop="goodsSkuOwnSpec" label="规格型号" align="center" width="100" />
<el-table-column prop="warehouseName" label="仓库" align="center"/>
<el-table-column prop="warehouseArea" label="库区" align="center"/>
<el-table-column prop="preBalance" label="上期结存" align="center" width="100" />
<el-table-column prop="currentBalance" label="本期结存" align="center"/>
<el-table-column prop="settleType" label="库存结算类型" align="center"/>
<el-table-column prop="createTime" label="结算日期" align="center" width="120"/>
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--End查询列表部分-->
</div>
</div>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/storage/carryover'
export default {
name: 'CarryoverStock',
components: {
Pagination,
pageye,
ButtonBar
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'success',
size: 'small',
icon: 'export',
btnKey: 'doExport',
btnLabel: '导出'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
FormLoading: false,
listLoading: false,
//
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
startDate: '',
endDate: '',
warehouseName: '',
goodsSpuName: '',
goodsSkuCode: '',
orgPath: ''
}
}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doExport':
this.doExport()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
req.listPage(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
startDate: '',
endDate: '',
warehouseName: '',
goodsSpuName: '',
goodsSkuCode: '',
orgPath: ''
}
}
this.getList()
},
doExport() {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.exportExcel(this.listQuery.params).then((resp) => {
loading.close()
const blob = new Blob([resp], {
type: 'application/vnd.ms-excel'
})
const fileName = '结转库存查询表' + '.xls'
const elink = document.createElement('a')
elink.download = fileName
elink.style.display = 'nonde'
elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href)
document.body.removeChild(elink)
}).catch(() => {
loading.close()
})
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

229
yxt-as-ui/src/views/storage/storageage/storageage.vue

@ -0,0 +1,229 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="库龄查询" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="商品名称">
<el-input v-model="listQuery.params.goodsSpuName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="零件号">
<el-input v-model="listQuery.params.goodsSkuCode" placeholder="" clearable/>
</el-form-item>
<el-form-item label="仓库">
<el-input v-model="listQuery.params.warehouseName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="入库日期">
<el-date-picker v-model="listQuery.params.startDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.endDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">库龄查询列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;">
<el-table-column fixed label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column fixed prop="goodsSpuName" label="商品" align="center" width="150"/>
<el-table-column prop="goodsSkuCode" label="零件号" align="center"/>
<el-table-column prop="unit" label="计量单位" align="center" width="100" />
<el-table-column prop="warehouseName" label="仓库" align="center"/>
<el-table-column prop="count" label="库存数量" align="center" width="100" />
<el-table-column prop="firstInDate" label="入库日期" align="center" width="120"/>
<el-table-column prop="goodsSkuOwnSpec" label="规格型号" align="center"/>
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--End查询列表部分-->
</div>
</div>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/storage/storageage'
export default {
name: 'StorageAge',
components: {
Pagination,
pageye,
ButtonBar
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'success',
size: 'small',
icon: 'export',
btnKey: 'doExport',
btnLabel: '导出'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
FormLoading: false,
listLoading: false,
//
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
startDate: '',
endDate: '',
warehouseName: '',
goodsSpuName: '',
goodsSkuCode: '',
ageStart: '',
ageEnd: '',
orgPath: ''
}
}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doExport':
this.doExport()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
req.listPage(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
startDate: '',
endDate: '',
warehouseName: '',
goodsSpuName: '',
goodsSkuCode: '',
ageStart: '',
ageEnd: '',
orgPath: ''
}
}
this.getList()
},
doExport() {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.exportExcel(this.listQuery.params).then((resp) => {
loading.close()
const blob = new Blob([resp], {
type: 'application/vnd.ms-excel'
})
const fileName = '库龄查询表' + '.xls'
const elink = document.createElement('a')
elink.download = fileName
elink.style.display = 'nonde'
elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href)
document.body.removeChild(elink)
}).catch(() => {
loading.close()
})
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusreservebill/AsBusreserveBill.java

@ -90,8 +90,6 @@ public class AsBusreserveBill extends BaseEntity {
private String createOrgName; // 创建组织
@ApiModelProperty("组织全路径")
private String orgSidPath; // 组织全路径
@ApiModelProperty("跟踪记录")
private String trackLogs; // 跟踪记录
@ApiModelProperty("制单部门sid")
private String createDeptSid; // 制单部门sid
@ApiModelProperty("制单部门")

6
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusreservebill/AsBusreserveBillDetailsVo.java

@ -90,8 +90,6 @@ public class AsBusreserveBillDetailsVo implements Vo {
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("跟踪记录")
private String trackLogs; // 跟踪记录
@ApiModelProperty("制单部门sid")
private String createDeptSid; // 制单部门sid
@ApiModelProperty("制单部门")
@ -99,4 +97,8 @@ public class AsBusreserveBillDetailsVo implements Vo {
@ApiModelProperty("客户单位")
private String customerOrg; // 客户单位
private List<AsbillSitemVo> sitemVos = new ArrayList<>();
@ApiModelProperty("跟踪记录")
private List<String> trackLogs = new ArrayList<>(); // 跟踪记录
@ApiModelProperty("跟踪记录")
private String trackLog;
}

10
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusreservebill/AsBusreserveBillDto.java

@ -90,8 +90,6 @@ public class AsBusreserveBillDto implements Dto {
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("跟踪记录")
private String trackLogs; // 跟踪记录
@ApiModelProperty("制单部门sid")
private String createDeptSid; // 制单部门sid
@ApiModelProperty("制单部门")
@ -99,6 +97,8 @@ public class AsBusreserveBillDto implements Dto {
@ApiModelProperty("客户单位")
private String customerOrg; // 客户单位
private List<AsbillSitemVo> sitemVos = new ArrayList<>();
}
@ApiModelProperty("跟踪记录")
private List<String> trackLogs = new ArrayList<>(); // 跟踪记录
@ApiModelProperty("跟踪记录")
private String trackLog;
}

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusreservebill/AsBusreserveBillQuery.java

@ -76,5 +76,7 @@ public class AsBusreserveBillQuery implements Query {
private String startDate; // 预约时间开始
private String endDate; // 预约时间开始
private String state;
@ApiModelProperty("预约服务顾问")
private String waitorName; // 预约服务顾问
}

6
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusreservebill/AsBusreserveBillVo.java

@ -68,13 +68,15 @@ public class AsBusreserveBillVo implements Vo {
private String customerName; // 客户名称
@ApiModelProperty("车牌号")
private String vehMark; // 车牌号
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("联系电话")
private String mobile; // 联系电话
@ApiModelProperty("预约时间开始")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date reserveStart; // 预约时间开始
@ApiModelProperty("预约时间截止")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date reserveEnd; // 预约时间截止
@ApiModelProperty("预约服务顾问")
private String waitorName; // 预约服务顾问

59
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusreservebilltrack/AsBusreserveBillTrack.java

@ -0,0 +1,59 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asbusreservebilltrack;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: as(as) <br/>
* File: AsBusreserveBill.java <br/>
* Class: as.api.asbusreservebill.AsBusreserveBill <br/>
* Description: 预约单. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-04-09 17:01:49 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "预约单-跟踪记录", description = "预约单-跟踪记录")
@TableName("as_busreserve_bill_track")
public class AsBusreserveBillTrack extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("预约单sid")
private String billSid; // 预约单sid
}

52
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusreservebill/AsBusreserveBillService.java

@ -33,11 +33,13 @@ import com.yxt.anrui.as.api.asbusrepairbill.AsBusrepairBillDto;
import com.yxt.anrui.as.api.asbusrepairbill.SitemVo;
import com.yxt.anrui.as.api.asbusreservebill.*;
import com.yxt.anrui.as.api.asbusreservebillsitem.AsBusreserveBillSitem;
import com.yxt.anrui.as.api.asbusreservebilltrack.AsBusreserveBillTrack;
import com.yxt.anrui.as.api.enums.AsBillTypeEnum;
import com.yxt.anrui.as.api.utils.AsRule;
import com.yxt.anrui.as.api.utils.domain.AsBillNo;
import com.yxt.anrui.as.biz.asbusrepairbill.AsBusrepairBillService;
import com.yxt.anrui.as.biz.asbusreservebillsitem.AsBusreserveBillSitemService;
import com.yxt.anrui.as.biz.asbusreservebilltrack.AsBusreserveBillTrackService;
import com.yxt.anrui.as.feign.portal.privilege.PrivilegeQuery;
import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationVo;
@ -83,6 +85,9 @@ public class AsBusreserveBillService extends MybatisBaseService<AsBusreserveBill
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private AsBusreserveBillTrackService asBusreserveBillTrackService;
private QueryWrapper<AsBusreserveBill> createQueryWrapper(AsBusreserveBillQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
@ -91,16 +96,16 @@ public class AsBusreserveBillService extends MybatisBaseService<AsBusreserveBill
// qw.eq("useOrgSid",query.getUseOrgSid());
// }
if (StringUtils.isNotBlank(query.getState())) {
qw.eq("state",query.getState());
qw.eq("state", query.getState());
}
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("customerName",query.getCustomerName());
qw.like("customerName", query.getCustomerName());
}
if (StringUtils.isNotBlank(query.getMobile())) {
qw.like("mobile",query.getMobile());
qw.like("mobile", query.getMobile());
}
if (StringUtils.isNotBlank(query.getVehMark())) {
qw.like("vehMark",query.getVehMark());
qw.like("vehMark", query.getVehMark());
}
return qw;
}
@ -149,33 +154,36 @@ public class AsBusreserveBillService extends MybatisBaseService<AsBusreserveBill
}
if (StringUtils.isNotBlank(query.getState())) {
qw.eq("state",query.getState());
qw.eq("state", query.getState());
}
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("useOrgName",query.getUseOrgName());
qw.like("useOrgName", query.getUseOrgName());
}
if (StringUtils.isNotBlank(query.getWaitorName())) {
qw.like("waitorName", query.getWaitorName());
}
if (StringUtils.isNotBlank(query.getCreateDept())) {
qw.like("createDept",query.getCreateDept());
qw.like("createDept", query.getCreateDept());
}
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("createByName",query.getCreateByName());
qw.like("createByName", query.getCreateByName());
}
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("billNo",query.getBillNo());
qw.like("billNo", query.getBillNo());
}
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("customerName",query.getCustomerName());
qw.like("customerName", query.getCustomerName());
}
if (StringUtils.isNotBlank(query.getVehMark())) {
qw.like("vehMark",query.getVehMark());
qw.like("vehMark", query.getVehMark());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("vinNo",query.getVinNo());
qw.like("vinNo", query.getVinNo());
}
if (StringUtils.isNotBlank(query.getMobile())) {
qw.like("mobile",query.getMobile());
qw.like("mobile", query.getMobile());
}
String createStartTime = query.getStartCreateDate();
String createEndTime = query.getEndCreateDate();
@ -302,6 +310,16 @@ public class AsBusreserveBillService extends MybatisBaseService<AsBusreserveBill
}
vo.setSitemVos(sitemVos);
}
List<AsBusreserveBillTrack> asBusreserveBillTracks = asBusreserveBillTrackService.fetchByMainSid(sid);
if (!asBusreserveBillTracks.isEmpty()) {
List<String> remarks = new ArrayList<>();
for (AsBusreserveBillTrack asBusreserveBillTrack : asBusreserveBillTracks) {
if (StringUtils.isNotBlank(asBusreserveBillTrack.getRemarks())) {
remarks.add(asBusreserveBillTrack.getRemarks());
}
}
vo.setTrackLogs(remarks);
}
}
return vo;
}
@ -318,10 +336,12 @@ public class AsBusreserveBillService extends MybatisBaseService<AsBusreserveBill
if (StringUtils.isNotBlank(dto.getSid())) {
AsBusreserveBill bill = fetchBySid(dto.getSid());
if (null != bill) {
if (StringUtils.isNotBlank(dto.getTrackLogs())) {
bill.setTrackLogs(dto.getTrackLogs());
if (StringUtils.isNotBlank(dto.getTrackLog())) {
AsBusreserveBillTrack billTrack = new AsBusreserveBillTrack();
billTrack.setRemarks(dto.getTrackLog());
billTrack.setBillSid(dto.getSid());
asBusreserveBillTrackService.insert(billTrack);
}
baseMapper.updateById(bill);
}
}
}

63
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusreservebilltrack/AsBusreserveBillTrackMapper.java

@ -0,0 +1,63 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbusreservebilltrack;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
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.as.api.asbusreservebillsitem.AsBusreserveBillSitem;
import com.yxt.anrui.as.api.asbusreservebillsitem.AsBusreserveBillSitemVo;
import com.yxt.anrui.as.api.asbusreservebilltrack.AsBusreserveBillTrack;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* Project: as(as) <br/>
* File: AsBusreserveBillSitemMapper.java <br/>
* Class: as.biz.asbusreservebillsitem.AsBusreserveBillSitemMapper <br/>
* Description: 预约单-服务项目. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-04-09 17:01:49 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface AsBusreserveBillTrackMapper extends BaseMapper<AsBusreserveBillTrack> {
@Select("select * from as_busreserve_bill_track where billSid =#{sid}")
List<AsBusreserveBillTrack> fetchByMainSid(@Param("sid") String sid);
@Delete("delete from as_busreserve_bill_track where billSid = #{sid}")
int delByMainSid(@Param("sid") String sid);
}

7
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusreservebilltrack/AsBusreserveBillTrackMapper.xml

@ -0,0 +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.as.biz.asbusreservebilltrack.AsBusreserveBillTrackMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
</mapper>

58
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusreservebilltrack/AsBusreserveBillTrackRest.java

@ -0,0 +1,58 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbusreservebilltrack;
import com.yxt.anrui.as.api.asbusreservebillsitem.AsBusreserveBillSitemDetailsVo;
import com.yxt.anrui.as.api.asbusreservebillsitem.AsBusreserveBillSitemDto;
import com.yxt.anrui.as.api.asbusreservebillsitem.AsBusreserveBillSitemQuery;
import com.yxt.anrui.as.api.asbusreservebillsitem.AsBusreserveBillSitemVo;
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 io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* Project: as(as) <br/>
* File: AsBusreserveBillSitemFeignFallback.java <br/>
* Class: as.biz.asbusreservebillsitem.AsBusreserveBillSitemRest <br/>
* Description: 预约单-服务项目. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-04-09 17:01:49 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "预约单-跟踪记录")
@RestController
@RequestMapping("v1/AsBusreserveBillTrack")
public class AsBusreserveBillTrackRest {
}

66
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusreservebilltrack/AsBusreserveBillTrackService.java

@ -0,0 +1,66 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbusreservebilltrack;
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.as.api.asbusreservebillsitem.*;
import com.yxt.anrui.as.api.asbusreservebilltrack.AsBusreserveBillTrack;
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.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Project: as(as) <br/>
* File: AsBusreserveBillSitemService.java <br/>
* Class: as.biz.asbusreservebillsitem.AsBusreserveBillSitemService <br/>
* Description: 预约单-服务项目 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-04-09 17:01:49 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class AsBusreserveBillTrackService extends MybatisBaseService<AsBusreserveBillTrackMapper, AsBusreserveBillTrack> {
public List<AsBusreserveBillTrack> fetchByMainSid(String sid) {
return baseMapper.fetchByMainSid(sid);
}
public int delByMainSid(String sid) {
return baseMapper.delByMainSid(sid);
}
}

6
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryAgeExportVo.java

@ -26,10 +26,8 @@ public class WmsInventoryAgeExportVo {
private String unit;//计量单位
@ExportEntityMap(CnName = "仓库名称", EnName = "warehouseName")
private String warehouseName;//仓库名称
@ExportEntityMap(CnName = "库区名称", EnName = "warehouseArea")
private String warehouseArea;//库区名称
@ExportEntityMap(CnName = "货架名称", EnName = "warehouseRackName")
private String warehouseRackName;//货架名称
@ExportEntityMap(CnName = "库位编码", EnName = "warehouseRackCode")
private String warehouseRackCode;//库位编码
@ExportEntityMap(CnName = "库存数量", EnName = "count")
private String count;//库存数量
@ExportEntityMap(CnName = "库龄", EnName = "age")

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryAgeQuery.java

@ -22,5 +22,5 @@ public class WmsInventoryAgeQuery implements Query {
private String ageStart;//库龄开始
private String ageEnd;//库龄开始
// private String queryName; //单号,来源单号,供应商
private String useOrgSid;
private String orgPath;
}

4
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryAgeVo.java

@ -21,8 +21,8 @@ public class WmsInventoryAgeVo implements Vo {
private String goodsSkuOwnSpec; //规格型号
private String unit;//计量单位
private String warehouseName;//仓库名称
private String warehouseArea;//库区名称
private String warehouseRackName;//货架名称
// private String warehouseArea;//库区名称
private String warehouseRackCode;//库位编码
private String count;//库存数量
private String age;//库龄
//来源单号

280
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml

@ -6,17 +6,17 @@
<select id="listPage" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryVo">
select a.goodsID,
a.sid,
a.goodsSpuName,
a.goodsSkuCode,
a.goodsSkuOwnSpec,
a.unit,
a.warehouseName,
a.warehouseRackCode,
a.count,
a.allocateCount,
a.batchNumber,
DATE_FORMAT(a.firstInDate, '%Y-%m-%d') as firstInDate
a.sid,
a.goodsSpuName,
a.goodsSkuCode,
a.goodsSkuOwnSpec,
a.unit,
a.warehouseName,
a.warehouseRackCode,
a.count,
a.allocateCount,
a.batchNumber,
DATE_FORMAT(a.firstInDate, '%Y-%m-%d') as firstInDate
from wms_inventory a
<where>
${ew.sqlSegment}
@ -73,51 +73,51 @@
<select id="getBillList" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryBillListVo">
select *
from (select wd.goodsSpuName,
wd.goodsSkuTitle,
wd.goodsSkuCode,
wd.goodsSkuOwnSpec,
wd.unit,
wd.warehouseName,
wd.warehouseArea,
wd.warehouseRackName,
wb.busTypeValue,
wd.cost,
wd.price1,
wd.price2,
wd.subject,
wb.createByName,
DATE_FORMAT(wb.createTime, '%Y-%m-%d') as createTime,
wb.billNo,
wb.sourceBillSid sourceBillNo,
wb.billObjName,
wb.busTypeKey
from wms_inventory a
left join wms_inventory_bill wb on wb.sid = a.billSid
left join wms_inventory_bill_detail wd on wd.sid = a.billDetailSid
where a.sid = #{sid}
union all
select wd.goodsSpuName,
wd.goodsSkuTitle,
wd.goodsSkuCode,
wd.goodsSkuOwnSpec,
wd.unit,
wd.warehouseName,
wd.warehouseArea,
wd.warehouseRackName,
wb.busTypeValue,
wd.cost,
wd.price1,
wd.price2,
wd.subject,
wb.createByName,
DATE_FORMAT(wb.createTime, '%Y-%m-%d') as createTime,
wb.billNo,
wb.sourceBillSid sourceBillNo,
wb.billObjName,
wb.busTypeKey
from wms_inventory_bill_detail wd
left join wms_inventory_bill wb on wb.sid = wd.billSid
where wd.inventorySid = #{sid}) b
wd.goodsSkuTitle,
wd.goodsSkuCode,
wd.goodsSkuOwnSpec,
wd.unit,
wd.warehouseName,
wd.warehouseArea,
wd.warehouseRackName,
wb.busTypeValue,
wd.cost,
wd.price1,
wd.price2,
wd.subject,
wb.createByName,
DATE_FORMAT(wb.createTime, '%Y-%m-%d') as createTime,
wb.billNo,
wb.sourceBillSid sourceBillNo,
wb.billObjName,
wb.busTypeKey
from wms_inventory a
left join wms_inventory_bill wb on wb.sid = a.billSid
left join wms_inventory_bill_detail wd on wd.sid = a.billDetailSid
where a.sid = #{sid}
union all
select wd.goodsSpuName,
wd.goodsSkuTitle,
wd.goodsSkuCode,
wd.goodsSkuOwnSpec,
wd.unit,
wd.warehouseName,
wd.warehouseArea,
wd.warehouseRackName,
wb.busTypeValue,
wd.cost,
wd.price1,
wd.price2,
wd.subject,
wb.createByName,
DATE_FORMAT(wb.createTime, '%Y-%m-%d') as createTime,
wb.billNo,
wb.sourceBillSid sourceBillNo,
wb.billObjName,
wb.busTypeKey
from wms_inventory_bill_detail wd
left join wms_inventory_bill wb on wb.sid = wd.billSid
where wd.inventorySid = #{sid}) b
<where>
${ew.sqlSegment}
</where>
@ -125,95 +125,83 @@
<select id="listExcel" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryVoExcelVo">
select a.*,
(@rank := @rank + 1) rankNo
(@rank := @rank + 1) rankNo
from (SELECT @rank := 0) t,
wms_inventory a
wms_inventory a
<where>
${ew.sqlSegment}
</where>
</select>
<select id="listPageSales" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventorySalesVo">
SELECT i.sid AS inventorySid,
i.goodsID,
i.goodSpuSid,
i.goodsSpuName,
i.goodsSkuSid,
i.goodsSkuTitle,
i.goodsSkuCode,
i.unit,
i.warehouseSid,
i.warehouseName AS warehouse,
i.count as currentCount,
i.minimumPrice as price
SELECT i.sid AS inventorySid,
i.goodsID,
i.goodSpuSid,
i.goodsSpuName,
i.goodsSkuSid,
i.goodsSkuTitle,
i.goodsSkuCode,
i.unit,
i.warehouseSid,
i.warehouseName AS warehouse,
i.count as currentCount,
i.minimumPrice as price
FROM wms_inventory AS i
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getPackageGoodsVo" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryPackageVo">
SELECT v.goodSpuSid goodsSid,
v.goodsSpuName goodsName,
v.goodsSkuCode goodsCode,
v.unit,
v.goodsSkuOwnSpec specification,
v.count,
v.minimumPrice price,
v.warehouseName warehouse,
v.warehouseSid,
v.warehouseArea,
v.remarks,
v.freePrice
SELECT v.goodSpuSid goodsSid,
v.goodsSpuName goodsName,
v.goodsSkuCode goodsCode,
v.unit,
v.goodsSkuOwnSpec specification,
v.count,
v.minimumPrice price,
v.warehouseName warehouse,
v.warehouseSid,
v.warehouseArea,
v.remarks,
v.freePrice
FROM wms_inventory AS v
<where>
${ew.sqlSegment}
</where>
</select>
<select id="inventoryAgeList" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryAgeVo">
SELECT *
FROM (
SELECT sid,
goodsSpuName,
goodsSkuTitle,
goodsSkuCode,
goodsSkuOwnSpec,
unit,
warehouseName,
warehouseArea,
warehouseRackName,
count,
firstInDate,
useOrgSid,
DATEDIFF(NOW(), firstInDate) age
FROM wms_inventory
) AS w
SELECT sid,
goodsSpuName,
goodsSkuTitle,
goodsSkuCode,
goodsSkuOwnSpec,
unit,
warehouseName,
warehouseRackCode,
count,
date_format (w.firstInDate,'%Y-%m-%d') as firstInDate,
useOrgSid,
DATEDIFF(NOW(), firstInDate) age
FROM wms_inventory as w
<where>
${ew.sqlSegment}
</where>
</select>
<select id="ageExportExcel" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryAgeExportVo">
SELECT
w.*,
( @rank := @rank + 1 ) rankNo
FROM
(
SELECT
sid,
goodsSpuName,
goodsSkuTitle,
goodsSkuCode,
goodsSkuOwnSpec,
unit,
warehouseName,
warehouseArea,
warehouseRackName,
count,
firstInDate,
useOrgSid,
DATEDIFF( NOW(), firstInDate ) age
FROM
wms_inventory
) AS w,
( SELECT @rank := 0 ) t
( @rank := @rank + 1 ) rankNo,
w.sid,
w.goodsSpuName,
w.goodsSkuTitle,
w.goodsSkuCode,
w.goodsSkuOwnSpec,
w.unit,
w.warehouseName,
w.warehouseRackCode,
w.count,
date_format (w.firstInDate,'%Y-%m-%d') as firstInDate,
DATEDIFF(NOW(), w.firstInDate) as age
FROM wms_inventory as w,
( SELECT @rank := 0 ) t
<where>${ew.sqlSegment}</where>
</select>
@ -229,19 +217,19 @@
<select id="invenGoodsListPage" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryInvenSelectList">
SELECT wi.sid,
wi.goodsSpuName,
wi.goodsSkuCode,
wi.goodsSkuOwnSpec,
wi.unit,
wi.warehouseSid,
wi.warehouseName,
wi.warehouseRackSid,
wi.warehouseRackCode,
wwa.areaName,
wi.count
wi.goodsSpuName,
wi.goodsSkuCode,
wi.goodsSkuOwnSpec,
wi.unit,
wi.warehouseSid,
wi.warehouseName,
wi.warehouseRackSid,
wi.warehouseRackCode,
wwa.areaName,
wi.count
FROM wms_inventory wi
LEFT JOIN wms_warehouse_area wwa
ON wi.`warehouseRackSid` = wwa.`sid`
LEFT JOIN wms_warehouse_area wwa
ON wi.`warehouseRackSid` = wwa.`sid`
<where>
${ew.sqlSegment}
</where>
@ -249,19 +237,19 @@
<select id="alloGoodsListPage" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryAlloSelectList">
SELECT wi.sid,
wi.goodsSpuName,
wi.goodsSkuCode,
wi.goodsSkuOwnSpec,
wi.unit,
wi.warehouseSid,
wi.warehouseName,
wi.warehouseRackSid,
wi.warehouseRackCode,
wwa.areaName,
wi.count
wi.goodsSpuName,
wi.goodsSkuCode,
wi.goodsSkuOwnSpec,
wi.unit,
wi.warehouseSid,
wi.warehouseName,
wi.warehouseRackSid,
wi.warehouseRackCode,
wwa.areaName,
wi.count
FROM wms_inventory wi
LEFT JOIN wms_warehouse_area wwa
ON wi.`warehouseRackSid` = wwa.`sid`
LEFT JOIN wms_warehouse_area wwa
ON wi.`warehouseRackSid` = wwa.`sid`
<where>
${ew.sqlSegment}
</where>
@ -303,4 +291,4 @@
${ew.sqlSegment}
</where>
</select>
</mapper>
</mapper>

84
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java

@ -14,6 +14,8 @@ import com.yxt.wms.biz.inventory.wmsinventorybill.WmsInventoryBill;
import com.yxt.wms.biz.inventory.wmsinventorybill.WmsInventoryBillService;
import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuDetailsVo;
import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuFeign;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.wms.feign.portal.sysstafforg.SysStaffOrgFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -32,6 +34,8 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
private WmsInventoryBillService wmsInventoryBillService;
@Resource
private BaseGoodsSkuFeign baseGoodsSkuFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
public PagerVo<WmsInventoryVo> listPage(PagerQuery<WmsInventoryQuery> pq) {
WmsInventoryQuery query = pq.getParams();
@ -180,36 +184,36 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
return rb.success().setData(wmsInventoryInitVo);
}*/
/* public ResultBean updatePrice(WmsInventoryUpdatePrice wmsInventoryUpdatePrice) {
ResultBean rb = ResultBean.fireFail();
List<String> stringList = wmsInventoryUpdatePrice.getSidsList();
stringList.removeAll(Collections.singleton(null));
String price = wmsInventoryUpdatePrice.getPrice();
if (!stringList.isEmpty()) {
int type = wmsInventoryUpdatePrice.getType();
switch (type) {
case 1:
baseMapper.updatePrice1(price, stringList);
break;
case 2:
baseMapper.updatePrice2(price, stringList);
break;
case 3:
baseMapper.updatePrice3(price, stringList);
break;
case 4:
baseMapper.updatePrice4(price, stringList);
break;
case 5:
baseMapper.updatePrice5(price, stringList);
break;
default:
break;
}
}
return rb.success();
}
*/
/* public ResultBean updatePrice(WmsInventoryUpdatePrice wmsInventoryUpdatePrice) {
ResultBean rb = ResultBean.fireFail();
List<String> stringList = wmsInventoryUpdatePrice.getSidsList();
stringList.removeAll(Collections.singleton(null));
String price = wmsInventoryUpdatePrice.getPrice();
if (!stringList.isEmpty()) {
int type = wmsInventoryUpdatePrice.getType();
switch (type) {
case 1:
baseMapper.updatePrice1(price, stringList);
break;
case 2:
baseMapper.updatePrice2(price, stringList);
break;
case 3:
baseMapper.updatePrice3(price, stringList);
break;
case 4:
baseMapper.updatePrice4(price, stringList);
break;
case 5:
baseMapper.updatePrice5(price, stringList);
break;
default:
break;
}
}
return rb.success();
}
*/
/* public PagerVo<WmsInventoryBillListVo> getBillList(PagerQuery<WmsInventoryBillListQuery> pagerQuery) {
WmsInventoryBillListQuery query = pagerQuery.getParams();
QueryWrapper<WmsInventory> qw = new QueryWrapper<>();
@ -334,8 +338,13 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
public PagerVo<WmsInventoryAgeVo> inventoryAgeList(PagerQuery<WmsInventoryAgeQuery> pq) {
WmsInventoryAgeQuery query = pq.getParams();
QueryWrapper<WmsInventory> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getUseOrgSid())) {
qw.eq("w.useOrgSid", query.getUseOrgSid());
if (StringUtils.isNotBlank(query.getOrgPath())) {
String orgPath = query.getOrgPath();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
qw.eq("w.useOrgSid", useOrgSid);
}
}
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
qw.like("w.goodsSpuName", query.getGoodsSpuName());
@ -352,7 +361,6 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
qw.apply(StringUtils.isNotBlank(query.getAgeStart()), "w.age >=" + query.getAgeStart()).
apply(StringUtils.isNotBlank(query.getAgeEnd()), "w.age <=" + query.getAgeStart()
);
qw.eq("1", "1");
qw.orderByDesc("w.firstInDate");
IPage<WmsInventory> page = PagerUtil.queryToPage(pq);
IPage<WmsInventoryAgeVo> pagging = baseMapper.inventoryAgeList(page, qw);
@ -362,8 +370,13 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
public List<WmsInventoryAgeExportVo> ageExportExcel(WmsInventoryAgeQuery query) {
QueryWrapper<WmsInventory> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getUseOrgSid())) {
qw.eq("w.useOrgSid", query.getUseOrgSid());
if (StringUtils.isNotBlank(query.getOrgPath())) {
String orgPath = query.getOrgPath();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
qw.eq("w.useOrgSid", useOrgSid);
}
}
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
qw.like("w.goodsSpuName", query.getGoodsSpuName());
@ -380,7 +393,6 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
qw.apply(StringUtils.isNotBlank(query.getAgeStart()), "w.age >=" + query.getAgeStart()).
apply(StringUtils.isNotBlank(query.getAgeEnd()), "w.age <=" + query.getAgeStart()
);
qw.eq("1", "1");
qw.orderByDesc("w.firstInDate");
List<WmsInventoryAgeExportVo> list = baseMapper.ageExportExcel(qw);
return list;

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebill/WmsInventorySettleRecordQuery.java

@ -14,5 +14,5 @@ public class WmsInventorySettleRecordQuery implements Query {
private String startDate;
private String endDate;
private String useOrgName;
private String useOrgSid;
private String orgPath;
}

6
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebill/WmsInventorySettleRecordVo.java

@ -1,8 +1,11 @@
package com.yxt.wms.biz.inventory.wmsinventorysettlebill;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.Date;
/**
* @author Fan
* @description
@ -13,6 +16,7 @@ public class WmsInventorySettleRecordVo implements Vo {
private String sid;
private String createByName;
private String createTime;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date createTime;
private String useOrgName;
}

7
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebill/WmsInventorySettlebill.java

@ -54,8 +54,6 @@ public class WmsInventorySettlebill extends BaseEntity {
@ApiModelProperty("结算单编号")
private String billNo; // 结算单编号
@ApiModelProperty("制单日期")
private String createDate; // 制单日期
@ApiModelProperty("制单人姓名")
private String createByName; // 制单人姓名
@ApiModelProperty("库存结算状态(1进行中 2已完成)")
@ -72,5 +70,8 @@ public class WmsInventorySettlebill extends BaseEntity {
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("使用组织")
private String useOrgName; // 使用组织
@ApiModelProperty("创建组织")
private String createOrgName; // 创建组织
}

3
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebill/WmsInventorySettlebillMapper.xml

@ -38,5 +38,6 @@
<select id="carryForwardList"
resultType="com.yxt.wms.biz.inventory.wmsinventorysettlebill.WmsInventorySettleRecordVo">
SELECT * FROM wms_inventory_settlebill
<where>${ew.sqlSegment}</where>
</select>
</mapper>
</mapper>

27
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebill/WmsInventorySettlebillQuery.java

@ -29,7 +29,9 @@ package com.yxt.wms.biz.inventory.wmsinventorysettlebill;
import com.yxt.common.core.query.Query;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -51,29 +53,26 @@ import lombok.Data;
@ApiModel(value = "库存结算单 查询条件", description = "库存结算单 查询条件")
public class WmsInventorySettlebillQuery implements Query {
@ApiModelProperty("结算单编号")
@ApiModelProperty("结算单编号")
private String billNo; // 结算单编号
@ApiModelProperty("制单日期")
@ApiModelProperty("制单日期")
private String createDate; // 制单日期
@ApiModelProperty("制单人sid")
@ApiModelProperty("制单人sid")
private String createUserSid; // 制单人sid
@ApiModelProperty("制单人姓名")
@ApiModelProperty("制单人姓名")
private String createByName; // 制单人姓名
@ApiModelProperty("库存结算状态(1进行中 2已完成)")
@ApiModelProperty("库存结算状态(1进行中 2已完成)")
private Integer settleState; // 库存结算状态(1进行中 2已完成)
@ApiModelProperty("库存结算类型(1月结 2年结)")
@ApiModelProperty("库存结算类型(1月结 2年结)")
private Integer settleType; // 库存结算类型(1月结 2年结)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("开始时间")
private Date settle_startTimeStart; // 开始时间
private Date settle_startTimeEnd; // 开始时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("结束时间")
private Date settle_endTimeStart; // 结束时间
private Date settle_endTimeEnd; // 结束时间
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
private String orgPath;
}

20
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebill/WmsInventorySettlebillService.java

@ -28,9 +28,11 @@ package com.yxt.wms.biz.inventory.wmsinventorysettlebill;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.core.result.ResultBean;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventory;
import com.yxt.wms.biz.inventory.wmsinventorysettlebilldetail.WmsInventorySettlebillDetail;
import com.yxt.wms.biz.inventory.wmsinventorysettlebilldetail.WmsInventorySettlebillDetailService;
import com.yxt.wms.feign.portal.sysstafforg.SysStaffOrgFeign;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -61,7 +63,8 @@ public class WmsInventorySettlebillService extends MybatisBaseService<WmsInvento
@Autowired
private WmsInventorySettlebillDetailService wmsInventorySettlebillDetailService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
private QueryWrapper<WmsInventorySettlebill> createQueryWrapper(WmsInventorySettlebillQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
@ -141,17 +144,24 @@ public class WmsInventorySettlebillService extends MybatisBaseService<WmsInvento
public PagerVo<WmsInventorySettleRecordVo> carryForwardList(PagerQuery<WmsInventorySettleRecordQuery> pq) {
WmsInventorySettleRecordQuery query = pq.getParams();
QueryWrapper<WmsInventorySettlebill> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getUseOrgSid())) {
qw.eq("useOrgSid",query.getUseOrgSid());
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getOrgPath())) {
String orgPath = query.getOrgPath();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
qw.eq("useOrgSid", useOrgSid);
}
}
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("useOrgName",query.getUseOrgName());
}
qw.apply(com.yxt.common.base.utils.StringUtils.isNotBlank(query.getStartDate()), "date_format (createTime,'%Y-%m-%d') >= date_format('" + query.getStartDate() + "','%Y-%m-%d')").
apply(com.yxt.common.base.utils.StringUtils.isNotBlank(query.getEndDate()), "date_format (createTime,'%Y-%m-%d') <= date_format('" + query.getEndDate() + "','%Y-%m-%d')"
);
qw.eq("1","1");
qw.orderByDesc("createTime");
IPage<WmsInventorySettlebill> page = PagerUtil.queryToPage(pq);
IPage<WmsInventorySettleRecordVo> pagging = baseMapper.carryForwardList(page, qw);
PagerVo<WmsInventorySettleRecordVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}
}

6
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebilldetail/WmsInventorySettlebillDetail.java

@ -68,10 +68,8 @@ public class WmsInventorySettlebillDetail extends BaseEntity {
private String goodsSkuOwnSpec;//规格型号
private String warehouseSid;//仓库sid
private String warehouseName;//仓库名称
private String warehouseAreaSid;//库区sid
private String warehouseArea;//库区名称
private String warehouseRackSid;//货架sid
private String warehouseRackName;//货架名称
private String warehouseRackSid;//库位Sid
private String warehouseRackCode;//库位编码
@ApiModelProperty("上期结存")
private BigDecimal preBalance; // 上期结存
@ApiModelProperty("本期结存")

50
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebilldetail/WmsInventorySettlebillDetailMapper.xml

@ -7,7 +7,7 @@
resultType="com.yxt.wms.biz.inventory.wmsinventorysettlebilldetail.WmsInventorySettlebillDetailVo">
SELECT
d.sid,
s.createTime,
date_format (s.createTime,'%Y-%m-%d') as createTime,
d.currentBalance,
d.preBalance,
d.settleType,
@ -16,8 +16,7 @@
d.goodsSkuOwnSpec,
d.goodsSkuTitle,
d.warehouseName,
d.warehouseArea,
d.warehouseRackName
d.warehouseRackCode
FROM
wms_inventory_settlebill_detail AS d
LEFT JOIN wms_inventory_settlebill AS s ON d.billSid = s.sid
@ -32,29 +31,28 @@
<select id="listExcel"
resultType="com.yxt.wms.biz.inventory.wmsinventorysettlebilldetail.WmsInventorySettlebillExportVo">
SELECT
d.sid,
s.createTime,
CASE
d.settleType
WHEN '1' THEN
'月结'
WHEN '2' THEN
'年结'
END AS settleType,
d.currentBalance,
d.preBalance,
d.goodsSpuName,
d.goodsSkuCode,
d.goodsSkuOwnSpec,
d.goodsSkuTitle,
d.warehouseName,
d.warehouseArea,
d.warehouseRackName,
( @rank := @rank + 1 ) rankNo
d.sid,
date_format (s.createTime,'%Y-%m-%d') as createTime,
CASE
d.settleType
WHEN '1' THEN
'月结'
WHEN '2' THEN
'年结'
END AS settleType,
d.currentBalance,
d.preBalance,
d.goodsSpuName,
d.goodsSkuCode,
d.goodsSkuOwnSpec,
d.goodsSkuTitle,
d.warehouseName,
d.warehouseRackCode,
( @rank := @rank + 1 ) rankNo
FROM
wms_inventory_settlebill_detail AS d
LEFT JOIN wms_inventory_settlebill AS s ON d.billSid = s.sid,
( SELECT @rank := 0 ) t
wms_inventory_settlebill_detail AS d
LEFT JOIN wms_inventory_settlebill AS s ON d.billSid = s.sid,
( SELECT @rank := 0 ) t
<where>${ew.sqlSegment}</where>
</select>
</mapper>
</mapper>

5
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebilldetail/WmsInventorySettlebillDetailQuery.java

@ -57,9 +57,8 @@ public class WmsInventorySettlebillDetailQuery implements Query {
private String goodsSkuCode;//商品编码(图号)
private String goodsSkuOwnSpec;//规格型号
private String warehouseName;//仓库名称
private String warehouseArea;//库区名称
private String warehouseRackName;//货架名称
private String useOrgSid;
private String warehouseRackCode;//库位编码
private String orgPath;
private String startDate;
private String endDate;

146
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebilldetail/WmsInventorySettlebillDetailService.java

@ -28,12 +28,15 @@ package com.yxt.wms.biz.inventory.wmsinventorysettlebilldetail;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.core.result.ResultBean;
import com.yxt.wms.feign.portal.sysstafforg.SysStaffOrgFeign;
import org.apache.commons.lang3.StringUtils;
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.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@ -53,78 +56,85 @@ import java.util.List;
*/
@Service
public class WmsInventorySettlebillDetailService extends MybatisBaseService<WmsInventorySettlebillDetailMapper, WmsInventorySettlebillDetail> {
private QueryWrapper<WmsInventorySettlebillDetail> createQueryWrapper(WmsInventorySettlebillDetailQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<WmsInventorySettlebillDetail> qw = new QueryWrapper<>();
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getUseOrgSid())) {
qw.eq("s.useOrgSid", query.getUseOrgSid());
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getGoodsSpuName())) {
qw.like("d.goodsSpuName", query.getGoodsSpuName());
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getWarehouseName())) {
qw.like("d.warehouseName", query.getWarehouseName());
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getGoodsSkuCode())) {
qw.like("d.goodsSkuCode", query.getGoodsSkuCode());
}
qw.apply(com.yxt.common.base.utils.StringUtils.isNotBlank(query.getStartDate()), "date_format (s.createTime,'%Y-%m-%d') >= date_format('" + query.getStartDate() + "','%Y-%m-%d')").
apply(com.yxt.common.base.utils.StringUtils.isNotBlank(query.getEndDate()), "date_format (s.createTime,'%Y-%m-%d') <= date_format('" + query.getEndDate() + "','%Y-%m-%d')"
);
qw.eq("1", "1");
qw.orderByDesc("s.createTime");
return qw;
}
public PagerVo<WmsInventorySettlebillDetailVo> listPageVo(PagerQuery<WmsInventorySettlebillDetailQuery> pq) {
WmsInventorySettlebillDetailQuery query = pq.getParams();
QueryWrapper<WmsInventorySettlebillDetail> qw = createQueryWrapper(query);
IPage<WmsInventorySettlebillDetail> page = PagerUtil.queryToPage(pq);
IPage<WmsInventorySettlebillDetailVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<WmsInventorySettlebillDetailVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(WmsInventorySettlebillDetailDto dto){
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
private QueryWrapper<WmsInventorySettlebillDetail> createQueryWrapper(WmsInventorySettlebillDetailQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<WmsInventorySettlebillDetail> qw = new QueryWrapper<>();
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getOrgPath())) {
String orgPath = query.getOrgPath();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
qw.eq("s.useOrgSid", useOrgSid);
}
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getGoodsSpuName())) {
qw.like("d.goodsSpuName", query.getGoodsSpuName());
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getWarehouseName())) {
qw.like("d.warehouseName", query.getWarehouseName());
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getGoodsSkuCode())) {
qw.like("d.goodsSkuCode", query.getGoodsSkuCode());
}
qw.apply(com.yxt.common.base.utils.StringUtils.isNotBlank(query.getStartDate()), "date_format (s.createTime,'%Y-%m-%d') >= date_format('" + query.getStartDate() + "','%Y-%m-%d')").
apply(com.yxt.common.base.utils.StringUtils.isNotBlank(query.getEndDate()), "date_format (s.createTime,'%Y-%m-%d') <= date_format('" + query.getEndDate() + "','%Y-%m-%d')"
);
qw.orderByDesc("s.createTime");
return qw;
}
public PagerVo<WmsInventorySettlebillDetailVo> listPageVo(PagerQuery<WmsInventorySettlebillDetailQuery> pq) {
WmsInventorySettlebillDetailQuery query = pq.getParams();
QueryWrapper<WmsInventorySettlebillDetail> qw = createQueryWrapper(query);
IPage<WmsInventorySettlebillDetail> page = PagerUtil.queryToPage(pq);
IPage<WmsInventorySettlebillDetailVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<WmsInventorySettlebillDetailVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(WmsInventorySettlebillDetailDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(WmsInventorySettlebillDetailDto dto){
WmsInventorySettlebillDetail entity = new WmsInventorySettlebillDetail();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(WmsInventorySettlebillDetailDto dto){
String dtoSid = dto.getSid();
return;
}
this.updateByDto(dto);
}
public void insertByDto(WmsInventorySettlebillDetailDto dto) {
WmsInventorySettlebillDetail entity = new WmsInventorySettlebillDetail();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(WmsInventorySettlebillDetailDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
WmsInventorySettlebillDetail entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public WmsInventorySettlebillDetailDetailsVo fetchDetailsVoBySid(String sid){
WmsInventorySettlebillDetail entity = fetchBySid(sid);
WmsInventorySettlebillDetailDetailsVo vo = new WmsInventorySettlebillDetailDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
}
WmsInventorySettlebillDetail entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public WmsInventorySettlebillDetailDetailsVo fetchDetailsVoBySid(String sid) {
WmsInventorySettlebillDetail entity = fetchBySid(sid);
WmsInventorySettlebillDetailDetailsVo vo = new WmsInventorySettlebillDetailDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public void delByMainSid(String sid) {
baseMapper.delByMainSid(sid);
}
public void delByMainSid(String sid) {
baseMapper.delByMainSid(sid);
}
public List<WmsInventorySettlebillExportVo> listExcel(WmsInventorySettlebillDetailQuery query) {
QueryWrapper<WmsInventorySettlebillDetail> qw = createQueryWrapper(query);
List<WmsInventorySettlebillExportVo> list = baseMapper.listExcel(qw);
return list;
}
}
public List<WmsInventorySettlebillExportVo> listExcel(WmsInventorySettlebillDetailQuery query) {
QueryWrapper<WmsInventorySettlebillDetail> qw = createQueryWrapper(query);
List<WmsInventorySettlebillExportVo> list = baseMapper.listExcel(qw);
return list;
}
}

3
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebilldetail/WmsInventorySettlebillDetailVo.java

@ -62,8 +62,7 @@ public class WmsInventorySettlebillDetailVo implements Vo {
private String goodsSkuCode;//商品编码(图号)
private String goodsSkuOwnSpec;//规格型号
private String warehouseName;//仓库名称
private String warehouseArea;//库区名称
private String warehouseRackName;//货架名称
private String warehouseRackCode;//库位编码
@ApiModelProperty("上期结存")
private String preBalance; // 上期结存
@ApiModelProperty("本期结存")

6
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorysettlebilldetail/WmsInventorySettlebillExportVo.java

@ -27,10 +27,8 @@ public class WmsInventorySettlebillExportVo {
private String goodsSkuOwnSpec; //规格型号
@ExportEntityMap(CnName = "仓库名称", EnName = "warehouseName")
private String warehouseName;//仓库名称
@ExportEntityMap(CnName = "库区名称", EnName = "warehouseArea")
private String warehouseArea;//库区名称
@ExportEntityMap(CnName = "货架名称", EnName = "warehouseRackName")
private String warehouseRackName;//货架名称
@ExportEntityMap(CnName = "库位编码", EnName = "warehouseRackCode")
private String warehouseRackCode;//货架名称
@ExportEntityMap(CnName = "上期结存", EnName = "preBalance")
private String preBalance; // 上期结存
@ExportEntityMap(CnName = "本期结存", EnName = "currentBalance")

22
yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/privilege/PrivilegeQuery.java

@ -0,0 +1,22 @@
package com.yxt.wms.feign.portal.privilege;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 权限角色层级
* @author: dimengzhe
* @date: 2023/5/23
**/
@Data
public class PrivilegeQuery {
@ApiModelProperty("菜单路由")
private String menuUrl;
@ApiModelProperty("组织全路径sid")
private String orgPath;
@ApiModelProperty("菜单sid")
private String menuSid;
@ApiModelProperty("用户sid")
private String userSid;
}

35
yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysorganization/SysOrganizationFeign.java

@ -0,0 +1,35 @@
package com.yxt.wms.feign.portal.sysorganization;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysOrganizationFeign.java <br/>
* Class: com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign <br/>
* Description: 组织机构表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "组织机构表")
@FeignClient(
contextId = "anrui-portal-SysOrganization",
name = "anrui-portal",
path = "v1/sysorganization")
public interface SysOrganizationFeign {
@ApiOperation("获取一条记录 根据sid")
@ResponseBody
@GetMapping("/fetchBySid/{sid}")
public ResultBean<SysOrganizationVo> fetchBySid(@PathVariable("sid") String sid);
}

88
yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysorganization/SysOrganizationVo.java

@ -0,0 +1,88 @@
package com.yxt.wms.feign.portal.sysorganization;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysOrganizationVo.java <br/>
* Class: com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo <br/>
* Description: 组织机构表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "组织机构表 视图数据对象", description = "组织机构表 视图数据对象")
@Data
public class SysOrganizationVo implements Vo {
@ApiModelProperty("部门/组织名称")
private String name;
@ApiModelProperty("父(部门/组织) sid")
private String psid;
@ApiModelProperty("联系电话")
private String linkPhone;
@ApiModelProperty("联系人")
private String linkPerson;
@ApiModelProperty("部门sid全路径")
private String orgSidPath;
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty("地址")
private String addrs;
@ApiModelProperty("地理位置经纬度")
private String jwd;
@ApiModelProperty("二维码")
private String qrText;
@ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己")
private Integer limitOrgMember;
@ApiModelProperty("部门编码")
private String orgCode;
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("子集")
private List<SysOrganizationVo> children = new ArrayList<>();
@ApiModelProperty("主管人员名称")
private String zgNames;
@ApiModelProperty("分管人员名称")
private String fgNames;
@ApiModelProperty("主管人员sid")
private String zgStaffSid;
@ApiModelProperty("分管人员sid")
private String fgStaffSid;
@ApiModelProperty("组织简称")
private String orgAbbre;
@ApiModelProperty("是否是部门(0否,1是)")
private Integer isDept;
@ApiModelProperty("组织属性key")
private String orgAttributeKey;
@ApiModelProperty("组织属性value")
private String orgAttributeValue;
@ApiModelProperty("管理层级key")
private String orgLevelKey;
@ApiModelProperty("管理层级value")
private String orgLevelValue;
@ApiModelProperty("其他编码")
private String otherCode;
@ApiModelProperty("主管用户sid")
private String managerSid;
}

25
yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysstafforg/SysStaffOrgFeign.java

@ -0,0 +1,25 @@
package com.yxt.wms.feign.portal.sysstafforg;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @description: 人员与机构
* @author: dimengzhe
* @date: 2024/3/6
**/
@FeignClient(
contextId = "anrui-portal-SysStaffOrg",
name = "anrui-portal",
path = "v1/sysstafforg")
public interface SysStaffOrgFeign {
@GetMapping("/getOrgSidByPath")
@ResponseBody
@ApiOperation("根据用户组织全路径获取用户的分公司sid")
ResultBean<String> getOrgSidByPath(@RequestParam("orgPath") String orgPath);
}

21
yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysuser/OrgList.java

@ -0,0 +1,21 @@
package com.yxt.wms.feign.portal.sysuser;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/9/21 9:26
* @Description
*/
@Data
public class OrgList implements Vo {
private static final long serialVersionUID = -2867882982421321776L;
private String orgName;
private String orgPath;
private String deptName;
private String deptSid;
}

28
yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysuser/SysUserFeign.java

@ -0,0 +1,28 @@
package com.yxt.wms.feign.portal.sysuser;
import com.yxt.common.core.result.ResultBean;
import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@Api(tags = "用户表")
@FeignClient(
contextId = "anrui-portal-SysUser",
name = "anrui-portal",
path = "v1/sysuser")
public interface SysUserFeign {
@ApiOperation(value = "查询角色权限的层级获取权限id")
@PostMapping(value = "/selectPrivilegeLevel")
ResultBean<String> selectPrivilegeLevel(@RequestBody PrivilegeQuery query);
@ApiOperation("根据sid获取一条记录")
@GetMapping("/fetchBySid/{sid}")
public ResultBean<SysUserVo> fetchBySid(@PathVariable("sid") String sid);
}

97
yxt-wms-biz/src/main/java/com/yxt/wms/feign/portal/sysuser/SysUserVo.java

@ -0,0 +1,97 @@
package com.yxt.wms.feign.portal.sysuser;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysUserVo.java <br/>
* Class: com.yxt.anrui.portal.api.sysuser.SysUserVo <br/>
* Description: 用户表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "用户表 视图数据对象", description = "用户表 视图数据对象")
@Data
@NoArgsConstructor
public class SysUserVo implements Vo {
private static final long serialVersionUID = 2415131854581950721L;
@ApiModelProperty("部门sid")
private String departmentSid;
@ApiModelProperty("部门名称")
private String departmentName;
@ApiModelProperty("上级部门名称-本级部门名称 岗位名称")
@JsonProperty("pNameAndDepartmentNameAndPostName")
private String pNameAndDepartmentNameAndPostName;
@ApiModelProperty("岗位名称")
private String postName;
@ApiModelProperty("岗位Sid")
private String postSid;
@ApiModelProperty("单位sid")
private String organizationSid;
@ApiModelProperty("单位名称")
private String organizationName;
@ApiModelProperty("用户姓名")
private String name;
@ApiModelProperty("登录名,登录名不能相同")
private String userName;
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("用户sid")
private String sid;
@ApiModelProperty("是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员")
private String isAdmin;
@ApiModelProperty("角色名称")
private String roleName;
@ApiModelProperty("关联的人员sid")
private String staffSid;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty(value = "禁用状态")
private String isEnable;
@ApiModelProperty("用户类型:1员工、2客户、3供应商")
private String userType;
@ApiModelProperty("用户类型:1、2、3")
private String userTypeKey;
@ApiModelProperty("用户头像")
private String headImage;
@ApiModelProperty("组织名称")
private String orgNamePath;
@ApiModelProperty("组织sid")
private String orgSidPath;
@ApiModelProperty(value = "token")
private String token;
@ApiModelProperty(value = "角色sids")
private List<String> roleSids = new ArrayList<>();
private List<OrgList> orgList = new ArrayList<>();
@ApiModelProperty("默认的组织机构sid全路径")
private String defaultOrgPath;
@ApiModelProperty("默认的组织机构名称全路径")
private String defaultOrgPathName;
private String defaultDeptName;
private String defaultDeptSid;
@ApiModelProperty("是否需要更换密码")
private Boolean needResetPsd;
@ApiModelProperty("工号")
private String jobNumber;
}
Loading…
Cancel
Save