From f3015119335d9c42637c687b073c6298a8413f0b Mon Sep 17 00:00:00 2001
From: God <10745413@qq.com>
Date: Mon, 17 Jun 2024 17:40:52 +0800
Subject: [PATCH] =?UTF-8?q?=E5=94=AE=E5=90=8E=E9=99=84=E4=BB=B6=20?=
=?UTF-8?q?=E4=BF=9D=E5=A4=96=E5=B7=A5=E5=8D=95=E5=BC=80=E7=A5=A8=E9=99=A4?=
=?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=A4=96=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?=
=?UTF-8?q?=20=E4=BF=9D=E5=A4=96=E5=B7=A5=E5=8D=95=E5=BA=94=E6=94=B6?=
=?UTF-8?q?=E8=B0=83=E5=B7=AE=E9=99=A4=E6=B5=81=E7=A8=8B=E5=A4=96=E6=8E=A5?=
=?UTF-8?q?=E5=8F=A3=E5=BC=80=E5=8F=91=20=E6=8C=82=E8=BD=A6=E5=87=BA?=
=?UTF-8?q?=E5=BA=93=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../finbillvehicle/FinBillVehicleMapper.xml | 17 +-
.../anrui/as/api/asappendix/AsAppendix.java | 66 ++++
.../api/asappendix/AsAppendixDetailsVo.java | 67 ++++
.../as/api/asappendix/AsAppendixDto.java | 67 ++++
.../AsBusrepairBwBillPageListQuery.java | 26 ++
.../AsBusrepairBwBillPageListVo.java | 46 +++
.../as/api/asbwdiffapply/AsBwdiffapply.java | 81 +++++
.../asbwdiffapply/AsBwdiffapplyDetailsVo.java | 91 ++++++
.../api/asbwdiffapply/AsBwdiffapplyDto.java | 92 ++++++
.../api/asbwdiffapply/AsBwdiffapplyFile.java | 51 +++
.../api/asbwdiffapply/AsBwdiffapplyQuery.java | 72 +++++
.../as/api/asbwdiffapply/AsBwdiffapplyVo.java | 81 +++++
.../AsBwdiffapplyDetail.java | 99 ++++++
.../AsBwdiffapplyDetailDetailsVo.java | 104 ++++++
.../AsBwdiffapplyDetailDto.java | 105 ++++++
.../AsBwdiffapplyDetailFile.java | 51 +++
.../asbwinvoiceapply/AsBwinvoiceapply.java | 91 ++++++
.../AsBwinvoiceapplyDetailsVo.java | 106 ++++++
.../asbwinvoiceapply/AsBwinvoiceapplyDto.java | 102 ++++++
.../AsBwinvoiceapplyFile.java | 55 ++++
.../AsBwinvoiceapplyQuery.java | 76 +++++
.../asbwinvoiceapply/AsBwinvoiceapplyVo.java | 89 +++++
.../AsBwinvoiceapplyDetail.java | 87 +++++
.../AsBwinvoiceapplyDetailDetailsVo.java | 88 +++++
.../AsBwinvoiceapplyDetailDto.java | 88 +++++
.../as/biz/asappendix/AsAppendixMapper.java | 61 ++++
.../as/biz/asappendix/AsAppendixMapper.xml | 6 +
.../as/biz/asappendix/AsAppendixRest.java | 57 ++++
.../as/biz/asappendix/AsAppendixService.java | 99 ++++++
.../AsBusrepairBillMapper.java | 2 +
.../asbusrepairbill/AsBusrepairBillMapper.xml | 22 ++
.../asbusrepairbill/AsBusrepairBillRest.java | 8 +
.../AsBusrepairBillService.java | 31 ++
.../asbwdiffapply/AsBwdiffapplyMapper.java | 61 ++++
.../biz/asbwdiffapply/AsBwdiffapplyMapper.xml | 26 ++
.../biz/asbwdiffapply/AsBwdiffapplyRest.java | 91 ++++++
.../asbwdiffapply/AsBwdiffapplyService.java | 305 ++++++++++++++++++
.../AsBwdiffapplyDetailMapper.java | 62 ++++
.../AsBwdiffapplyDetailMapper.xml | 6 +
.../AsBwdiffapplyDetailRest.java | 57 ++++
.../AsBwdiffapplyDetailService.java | 100 ++++++
.../AsBwinvoiceapplyMapper.java | 61 ++++
.../AsBwinvoiceapplyMapper.xml | 26 ++
.../AsBwinvoiceapplyRest.java | 91 ++++++
.../AsBwinvoiceapplyService.java | 292 +++++++++++++++++
.../AsBwinvoiceapplyDetailMapper.java | 62 ++++
.../AsBwinvoiceapplyDetailMapper.xml | 6 +
.../AsBwinvoiceapplyDetailRest.java | 57 ++++
.../AsBwinvoiceapplyDetailService.java | 95 ++++++
.../yxt/anrui/as/feign/file/AsFileEnum.java | 40 +++
50 files changed, 3616 insertions(+), 6 deletions(-)
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asappendix/AsAppendix.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asappendix/AsAppendixDetailsVo.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asappendix/AsAppendixDto.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBwBillPageListQuery.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBwBillPageListVo.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwdiffapply/AsBwdiffapply.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwdiffapply/AsBwdiffapplyDetailsVo.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwdiffapply/AsBwdiffapplyDto.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwdiffapply/AsBwdiffapplyFile.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwdiffapply/AsBwdiffapplyQuery.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwdiffapply/AsBwdiffapplyVo.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwdiffapplydetail/AsBwdiffapplyDetail.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwdiffapplydetail/AsBwdiffapplyDetailDetailsVo.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwdiffapplydetail/AsBwdiffapplyDetailDto.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwdiffapplydetail/AsBwdiffapplyDetailFile.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwinvoiceapply/AsBwinvoiceapply.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwinvoiceapply/AsBwinvoiceapplyDetailsVo.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwinvoiceapply/AsBwinvoiceapplyDto.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwinvoiceapply/AsBwinvoiceapplyFile.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwinvoiceapply/AsBwinvoiceapplyQuery.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwinvoiceapply/AsBwinvoiceapplyVo.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwinvoiceapplydetail/AsBwinvoiceapplyDetail.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailDetailsVo.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailDto.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asappendix/AsAppendixMapper.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asappendix/AsAppendixMapper.xml
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asappendix/AsAppendixRest.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asappendix/AsAppendixService.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyMapper.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyMapper.xml
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyRest.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyService.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailMapper.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailMapper.xml
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailRest.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailService.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyMapper.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyMapper.xml
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyRest.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyService.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailMapper.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailMapper.xml
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailRest.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailService.java
create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/feign/file/AsFileEnum.java
diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.xml
index f79c2b16ed..2ec7be8572 100644
--- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.xml
+++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.xml
@@ -37,13 +37,18 @@
+
+
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java
index 01679d758d..3a63066d26 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java
@@ -125,4 +125,12 @@ public class AsBusrepairBillRest {
PagerVo pv = asBusrepairBillService.billPageList(pagerQuery);
return rb.success().setData(pv);
}
+
+ @PostMapping("/bwBillPageList")
+ @ApiOperation("保外开票、应收调差工单分页")
+ ResultBean> bwBillPageList(@RequestBody PagerQuery pagerQuery) {
+ ResultBean> rb = ResultBean.fireFail();
+ PagerVo pv = asBusrepairBillService.bwBillPageList(pagerQuery);
+ return rb.success().setData(pv);
+ }
}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
index e94f02c1cf..996babb30b 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
@@ -898,4 +898,35 @@ public class AsBusrepairBillService extends MybatisBaseService bwBillPageList(PagerQuery pagerQuery) {
+ AsBusrepairBwBillPageListQuery query = pagerQuery.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ String deptSid = query.getDeptSid();
+ SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
+ String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(deptVo.getOrgSidPath()).getData();
+ //维修工单编号
+ if (StringUtils.isNotBlank(query.getBillNo())) {
+ qw.like("a.billNo", query.getBillNo());
+ }
+ //客户名称
+ if (StringUtils.isNotBlank(query.getCustomerName())) {
+ qw.like("a.customerName", query.getCustomerName());
+ }
+ //车牌号
+ if (StringUtils.isNotBlank(query.getVehMark())) {
+ qw.like("b.vehMark", query.getVehMark());
+ }
+ //进厂时间开始时间-进厂时间结束时间
+ qw.apply(StringUtils.isNotBlank(query.getEntryTimeStart()), "date_format (a.entryTime,'%Y-%m-%d') >= date_format('" + query.getEntryTimeStart() + "','%Y-%m-%d')").
+ apply(StringUtils.isNotBlank(query.getEntryTimeEnd()), "date_format (a.entryTime,'%Y-%m-%d') <= date_format('" + query.getEntryTimeEnd() + "','%Y-%m-%d')"
+ );
+ qw.eq("a.useOrgSid",useOrgSid);
+ qw.eq("a.subject", "保外");
+ qw.gt("a.nodeCode", 5);
+ IPage page = PagerUtil.queryToPage(pagerQuery);
+ IPage pagging = baseMapper.bwBillPageList(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyMapper.java
new file mode 100644
index 0000000000..23a0c983a8
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyMapper.java
@@ -0,0 +1,61 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.asbwdiffapply;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import com.yxt.anrui.as.api.asbwdiffapply.AsBwdiffapply;
+import com.yxt.anrui.as.api.asbwdiffapply.AsBwdiffapplyVo;
+
+import java.util.List;
+
+/**
+ * Project: yxt-as(保外工单)
+ * File: AsBwdiffapplyMapper.java
+ * Class: com.yxt.anrui.as.biz.asbwdiffapply.AsBwdiffapplyMapper
+ * Description: 保外工单应收调差申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-06-17 13:42:56
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface AsBwdiffapplyMapper extends BaseMapper {
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ String selectNum(String billNo);
+
+ int selectBySid(String join);
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyMapper.xml
new file mode 100644
index 0000000000..18f26b8e51
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyMapper.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyRest.java
new file mode 100644
index 0000000000..d7d6ccf906
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyRest.java
@@ -0,0 +1,91 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.asbwdiffapply;
+
+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.*;
+
+import com.yxt.anrui.as.api.asbwdiffapply.AsBwdiffapplyQuery;
+import com.yxt.anrui.as.api.asbwdiffapply.AsBwdiffapplyVo;
+import com.yxt.anrui.as.api.asbwdiffapply.AsBwdiffapplyDetailsVo;
+import com.yxt.anrui.as.api.asbwdiffapply.AsBwdiffapplyDto;
+
+/**
+ * Project: yxt-as(保外工单)
+ * File: AsBwdiffapplyFeignFallback.java
+ * Class: com.yxt.anrui.as.biz.asbwdiffapply.AsBwdiffapplyRest
+ * Description: 保外工单应收调差申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-06-17 13:42:56
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "保外工单应收调差申请")
+@RestController
+@RequestMapping("v1/asbwdiffapply")
+public class AsBwdiffapplyRest {
+
+ @Autowired
+ private AsBwdiffapplyService asBwdiffapplyService;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = asBwdiffapplyService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody AsBwdiffapplyDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ asBwdiffapplyService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @DeleteMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ return asBwdiffapplyService.delAll(sids);
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ AsBwdiffapplyDetailsVo vo = asBwdiffapplyService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyService.java
new file mode 100644
index 0000000000..3f081090a8
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapply/AsBwdiffapplyService.java
@@ -0,0 +1,305 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.asbwdiffapply;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.anrui.as.api.asappendix.AsAppendix;
+import com.yxt.anrui.as.api.asbwdiffapply.*;
+import com.yxt.anrui.as.api.asbwdiffapplydetail.AsBwdiffapplyDetailDetailsVo;
+import com.yxt.anrui.as.api.asbwdiffapplydetail.AsBwdiffapplyDetailDto;
+import com.yxt.anrui.as.api.asbwdiffapplydetail.AsBwdiffapplyDetailFile;
+import com.yxt.anrui.as.biz.asappendix.AsAppendixService;
+import com.yxt.anrui.as.biz.asbwdiffapplydetail.AsBwdiffapplyDetailService;
+import com.yxt.anrui.as.feign.base.billno.Rule;
+import com.yxt.anrui.as.feign.file.AsFileEnum;
+import com.yxt.anrui.as.feign.flowable.flow.FlowableFeign;
+import com.yxt.anrui.as.feign.flowable.flow2.FlowFeign;
+import com.yxt.anrui.as.feign.flowable.flowtask.FlowTaskFeign;
+import com.yxt.anrui.as.feign.message.MessageFeign;
+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;
+import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign;
+import com.yxt.anrui.as.feign.portal.sysuser.SysUserFeign;
+import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.common.core.result.ResultBean;
+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.ArrayList;
+import java.util.List;
+
+/**
+ * Project: yxt-as(保外工单)
+ * File: AsBwdiffapplyService.java
+ * Class: com.yxt.anrui.as.biz.asbwdiffapply.AsBwdiffapplyService
+ * Description: 保外工单应收调差申请 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-06-17 13:42:56
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class AsBwdiffapplyService extends MybatisBaseService {
+
+ @Autowired
+ private SysOrganizationFeign sysOrganizationFeign;
+ @Autowired
+ private SysStaffOrgFeign sysStaffOrgFeign;
+ @Autowired
+ private SysUserFeign sysUserFeign;
+ @Autowired
+ private FlowableFeign flowableFeign;
+ @Autowired
+ private FlowTaskFeign flowTaskFeign;
+ @Autowired
+ private FlowFeign flowFeign;
+ @Autowired
+ private MessageFeign messageFeign;
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+ @Autowired
+ private AsAppendixService asAppendixService;
+ @Autowired
+ private AsBwdiffapplyDetailService asBwdiffapplyDetailService;
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ AsBwdiffapplyQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ //========================================数据授权开始
+ if (StringUtils.isNotBlank(query.getMenuUrl())) {
+ PrivilegeQuery privilegeQuery = new PrivilegeQuery();
+ privilegeQuery.setOrgPath(query.getOrgPath());
+ privilegeQuery.setMenuUrl(query.getMenuUrl());
+ privilegeQuery.setUserSid(query.getUserSid());
+ ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
+ if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
+ //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
+ String orgSidPath = query.getOrgPath();
+ orgSidPath = orgSidPath + "/";
+ int i1 = orgSidPath.indexOf("/");
+ int i2 = orgSidPath.indexOf("/", i1 + 1);
+ int i3 = orgSidPath.indexOf("/", i2 + 1);
+ int i4 = orgSidPath.indexOf("/", i3 + 1);
+ String orgLevelKey = defaultIdReltBean.getData();
+ if ("1".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i1);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("2".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i2);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("3".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i3);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("4".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i4);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("5".equals(orgLevelKey)) {
+ qw.eq("ab.createBySid", query.getUserSid());
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ }
+ if (StringUtils.isNotBlank(query.getUseOrgName())) {
+ qw.like("ab.useOrgName", query.getUseOrgName());
+ }
+ if (StringUtils.isNotBlank(query.getDeptName())) {
+ qw.like("ab.deptName", query.getDeptName());
+ }
+ if (StringUtils.isNotBlank(query.getCreateByName())) {
+ qw.like("ab.createByName", query.getCreateByName());
+ }
+ if (StringUtils.isNotBlank(query.getBillNo())) {
+ qw.like("ab.billNo", query.getBillNo());
+ }
+ String createTimeStart = query.getCreateTimeStart();
+ String createTimeEnd = query.getCreateTimeEnd();
+ qw.apply(StringUtils.isNotEmpty(createTimeStart), "date_format (ab.createTime,'%Y-%m-%d') >= date_format('" + createTimeStart + "','%Y-%m-%d')").
+ apply(StringUtils.isNotEmpty(createTimeEnd), "date_format (ab.createTime,'%Y-%m-%d') <= date_format('" + createTimeEnd + "','%Y-%m-%d')"
+ );
+ String finishTimeStart = query.getFinishTimeStart();
+ String finishTimeEnd = query.getFinishTimeEnd();
+ qw.apply(StringUtils.isNotEmpty(finishTimeStart), "date_format (ab.finishTime,'%Y-%m-%d') >= date_format('" + finishTimeStart + "','%Y-%m-%d')").
+ apply(StringUtils.isNotEmpty(finishTimeEnd), "date_format (ab.finishTime,'%Y-%m-%d') <= date_format('" + finishTimeEnd + "','%Y-%m-%d')"
+ );
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public String saveOrUpdateDto(AsBwdiffapplyDto dto){
+ String dtoSid = dto.getSid();
+ List fileList = dto.getFileList();
+ List asBwdiffapplyDetailList = dto.getAsBwdiffapplyDetailList();
+ String deptSid = dto.getDeptSid();
+ SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
+ String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(deptVo.getOrgSidPath()).getData();
+ SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
+ dto.setUseOrgSid(useOrgSid);
+ dto.setUseOrgName(organizationVo.getName());
+ if (StringUtils.isBlank(dtoSid)) {
+ //生成单据编号
+ String billNo = "";
+ String date = DateUtil.format(DateUtil.date(), "yyyyMM");
+ billNo = "BWGDYSTC" + organizationVo.getOrgCode() + date;
+ String i = baseMapper.selectNum(billNo);
+ if (StringUtils.isNotBlank(i)) {
+ billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
+ } else {
+ billNo = Rule.getBillNo(billNo, 0);
+ }
+ dto.setBillNo(billNo);
+ String sid = this.insertByDto(dto);
+ for (AsBwdiffapplyFile asBwdiffapplyFile : fileList) {
+ String filePath = asBwdiffapplyFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
+ AsAppendix asAppendix = new AsAppendix();
+ asAppendix.setLinkSid(sid);
+ asAppendix.setAttachType(AsFileEnum.ASBWDIFFAPPLY.getAttachType());
+ asAppendix.setFilePath(filePath);
+ asAppendixService.save(asAppendix);
+ }
+ for (AsBwdiffapplyDetailDto asBwdiffapplyDetailDto : asBwdiffapplyDetailList) {
+ asBwdiffapplyDetailDto.setMainSid(sid);
+ String detailSid = asBwdiffapplyDetailService.insertByDto(asBwdiffapplyDetailDto);
+ List detailFileList = asBwdiffapplyDetailDto.getFileList();
+ for (AsBwdiffapplyDetailFile asBwdiffapplyDetailFile : detailFileList) {
+ String filePath = asBwdiffapplyDetailFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
+ AsAppendix asAppendix = new AsAppendix();
+ asAppendix.setLinkSid(detailSid);
+ asAppendix.setAttachType(AsFileEnum.ASBWDIFFAPPLYDETAIL.getAttachType());
+ asAppendix.setFilePath(filePath);
+ asAppendixService.save(asAppendix);
+ }
+ }
+ return sid;
+ }
+ this.updateByDto(dto);
+ asAppendixService.delByLinkSid(dtoSid);
+ for (AsBwdiffapplyFile asBwdiffapplyFile : fileList) {
+ String filePath = asBwdiffapplyFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
+ AsAppendix asAppendix = new AsAppendix();
+ asAppendix.setLinkSid(dtoSid);
+ asAppendix.setAttachType(AsFileEnum.ASBWDIFFAPPLY.getAttachType());
+ asAppendix.setFilePath(filePath);
+ asAppendixService.save(asAppendix);
+ }
+ asBwdiffapplyDetailService.delByMainSid(dtoSid);
+ for (AsBwdiffapplyDetailDto asBwdiffapplyDetailDto : asBwdiffapplyDetailList) {
+ asBwdiffapplyDetailDto.setMainSid(dtoSid);
+ String detailSid = asBwdiffapplyDetailService.insertByDto(asBwdiffapplyDetailDto);
+ List detailFileList = asBwdiffapplyDetailDto.getFileList();
+ for (AsBwdiffapplyDetailFile asBwdiffapplyDetailFile : detailFileList) {
+ String filePath = asBwdiffapplyDetailFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
+ AsAppendix asAppendix = new AsAppendix();
+ asAppendix.setLinkSid(detailSid);
+ asAppendix.setAttachType(AsFileEnum.ASBWDIFFAPPLYDETAIL.getAttachType());
+ asAppendix.setFilePath(filePath);
+ asAppendixService.save(asAppendix);
+ }
+ }
+ return dtoSid;
+ }
+
+ public String insertByDto(AsBwdiffapplyDto dto){
+ AsBwdiffapply entity = new AsBwdiffapply();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ entity.setNodeState("待提交");
+ baseMapper.insert(entity);
+ return entity.getSid();
+ }
+
+ public void updateByDto(AsBwdiffapplyDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ AsBwdiffapply entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public AsBwdiffapplyDetailsVo fetchDetailsVoBySid(String sid){
+ AsBwdiffapply entity = fetchBySid(sid);
+ AsBwdiffapplyDetailsVo vo = new AsBwdiffapplyDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ List asAppendices = asAppendixService.fetchByLinkSid(sid);
+ List asBwdiffapplyFiles = new ArrayList<>();
+ for (AsAppendix asAppendix : asAppendices) {
+ AsBwdiffapplyFile asBwdiffapplyFile = new AsBwdiffapplyFile();
+ String url = fileUploadComponent.getUrlPrefix() + asAppendix.getFilePath();
+ asBwdiffapplyFile.setUrl(url);
+ asBwdiffapplyFiles.add(asBwdiffapplyFile);
+ }
+ vo.setFileList(asBwdiffapplyFiles);
+ List asBwdiffapplyDetailDetailsVos = asBwdiffapplyDetailService.fetchByMainSid(sid);
+ for (AsBwdiffapplyDetailDetailsVo asBwdiffapplyDetailDetailsVo : asBwdiffapplyDetailDetailsVos) {
+ List asBwdiffapplyDetailFiles = new ArrayList<>();
+ List detailsAppendices = asAppendixService.fetchByLinkSid(asBwdiffapplyDetailDetailsVo.getSid());
+ for (AsAppendix detailsAppendice : detailsAppendices) {
+ AsBwdiffapplyDetailFile asBwdiffapplyDetailFile = new AsBwdiffapplyDetailFile();
+ String url = fileUploadComponent.getUrlPrefix() + detailsAppendice.getFilePath();
+ asBwdiffapplyDetailFile.setUrl(url);
+ asBwdiffapplyDetailFiles.add(asBwdiffapplyDetailFile);
+ }
+ asBwdiffapplyDetailDetailsVo.setFileList(asBwdiffapplyDetailFiles);
+ }
+ vo.setAsBwdiffapplyDetailList(asBwdiffapplyDetailDetailsVos);
+ return vo;
+ }
+
+ public ResultBean delAll(String[] sids) {
+ ResultBean rb = ResultBean.fireFail();
+ //查询该sid中是否有流程不是待提交的
+ int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
+ if (count > 0) {
+ return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
+ }
+ delBySids(sids);
+ for (String sid : sids) {
+ asAppendixService.delByLinkSid(sid);
+ asBwdiffapplyDetailService.delByMainSid(sid);
+ }
+ return rb.success();
+ }
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailMapper.java
new file mode 100644
index 0000000000..838a1d37b9
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailMapper.java
@@ -0,0 +1,62 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.asbwdiffapplydetail;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.yxt.anrui.as.api.asbwdiffapplydetail.AsBwdiffapplyDetailDetailsVo;
+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 com.yxt.anrui.as.api.asbwdiffapplydetail.AsBwdiffapplyDetail;
+
+import java.util.List;
+
+/**
+ * Project: yxt-as(保外工单)
+ * File: AsBwdiffapplyDetailMapper.java
+ * Class: com.yxt.anrui.as.biz.asbwdiffapplydetail.AsBwdiffapplyDetailMapper
+ * Description: 保外应收调差工单列表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-06-17 13:42:56
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface AsBwdiffapplyDetailMapper extends BaseMapper {
+
+ @Delete("delete from as_bwdiffapply_detail where mainSid = #{dtoSid}")
+ void delByMainSid(String dtoSid);
+
+ @Select("select * from as_bwdiffapply_detail where mainSid = #{mainSid}")
+ List fetchByMainSid(String mainSid);
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailMapper.xml
new file mode 100644
index 0000000000..ce6e9e5c65
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailMapper.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailRest.java
new file mode 100644
index 0000000000..fa31673829
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailRest.java
@@ -0,0 +1,57 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.asbwdiffapplydetail;
+
+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.*;
+
+import com.yxt.anrui.as.api.asbwdiffapplydetail.AsBwdiffapplyDetailDetailsVo;
+import com.yxt.anrui.as.api.asbwdiffapplydetail.AsBwdiffapplyDetailDto;
+
+/**
+ * Project: yxt-as(保外工单)
+ * File: AsBwdiffapplyDetailFeignFallback.java
+ * Class: com.yxt.anrui.as.biz.asbwdiffapplydetail.AsBwdiffapplyDetailRest
+ * Description: 保外应收调差工单列表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-06-17 13:42:56
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "保外应收调差工单列表")
+@RestController
+@RequestMapping("v1/asbwdiffapplydetail")
+public class AsBwdiffapplyDetailRest {
+
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailService.java
new file mode 100644
index 0000000000..594c90601f
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwdiffapplydetail/AsBwdiffapplyDetailService.java
@@ -0,0 +1,100 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.asbwdiffapplydetail;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+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 com.yxt.anrui.as.api.asbwdiffapplydetail.AsBwdiffapplyDetail;
+import com.yxt.anrui.as.api.asbwdiffapplydetail.AsBwdiffapplyDetailDetailsVo;
+import com.yxt.anrui.as.api.asbwdiffapplydetail.AsBwdiffapplyDetailDto;
+
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Project: yxt-as(保外工单)
+ * File: AsBwdiffapplyDetailService.java
+ * Class: com.yxt.anrui.as.biz.asbwdiffapplydetail.AsBwdiffapplyDetailService
+ * Description: 保外应收调差工单列表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-06-17 13:42:56
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class AsBwdiffapplyDetailService extends MybatisBaseService {
+
+ public void saveOrUpdateDto(AsBwdiffapplyDetailDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ this.insertByDto(dto);
+ return;
+ }
+ this.updateByDto(dto);
+ }
+
+ public String insertByDto(AsBwdiffapplyDetailDto dto){
+ AsBwdiffapplyDetail entity = new AsBwdiffapplyDetail();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ return entity.getSid();
+ }
+
+ public void updateByDto(AsBwdiffapplyDetailDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ AsBwdiffapplyDetail entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public AsBwdiffapplyDetailDetailsVo fetchDetailsVoBySid(String sid){
+ AsBwdiffapplyDetail entity = fetchBySid(sid);
+ AsBwdiffapplyDetailDetailsVo vo = new AsBwdiffapplyDetailDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ public void delByMainSid(String dtoSid) {
+ baseMapper.delByMainSid(dtoSid);
+ }
+
+ public List fetchByMainSid(String mainSid) {
+ return baseMapper.fetchByMainSid(mainSid);
+ }
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyMapper.java
new file mode 100644
index 0000000000..5d51cece77
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyMapper.java
@@ -0,0 +1,61 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.asbwinvoiceapply;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import com.yxt.anrui.as.api.asbwinvoiceapply.AsBwinvoiceapply;
+import com.yxt.anrui.as.api.asbwinvoiceapply.AsBwinvoiceapplyVo;
+
+import java.util.List;
+
+/**
+ * Project: yxt-as(保外工单)
+ * File: AsBwinvoiceapplyMapper.java
+ * Class: com.yxt.anrui.as.biz.asbwinvoiceapply.AsBwinvoiceapplyMapper
+ * Description: 保外工单开票申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-06-17 13:42:57
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface AsBwinvoiceapplyMapper extends BaseMapper {
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ String selectNum(String billNo);
+
+ int selectBySid(String join);
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyMapper.xml
new file mode 100644
index 0000000000..5f3d9b4d1f
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyMapper.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyRest.java
new file mode 100644
index 0000000000..72df5c6d5e
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyRest.java
@@ -0,0 +1,91 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.asbwinvoiceapply;
+
+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.*;
+
+import com.yxt.anrui.as.api.asbwinvoiceapply.AsBwinvoiceapplyQuery;
+import com.yxt.anrui.as.api.asbwinvoiceapply.AsBwinvoiceapplyVo;
+import com.yxt.anrui.as.api.asbwinvoiceapply.AsBwinvoiceapplyDetailsVo;
+import com.yxt.anrui.as.api.asbwinvoiceapply.AsBwinvoiceapplyDto;
+
+/**
+ * Project: yxt-as(保外工单)
+ * File: AsBwinvoiceapplyFeignFallback.java
+ * Class: com.yxt.anrui.as.biz.asbwinvoiceapply.AsBwinvoiceapplyRest
+ * Description: 保外工单开票申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-06-17 13:42:57
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "保外工单开票申请")
+@RestController
+@RequestMapping("v1/asbwinvoiceapply")
+public class AsBwinvoiceapplyRest {
+
+ @Autowired
+ private AsBwinvoiceapplyService asBwinvoiceapplyService;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = asBwinvoiceapplyService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody AsBwinvoiceapplyDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ asBwinvoiceapplyService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @DeleteMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ return asBwinvoiceapplyService.delAll(sids);
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ AsBwinvoiceapplyDetailsVo vo = asBwinvoiceapplyService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyService.java
new file mode 100644
index 0000000000..685482b65a
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyService.java
@@ -0,0 +1,292 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.asbwinvoiceapply;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.anrui.as.api.asappendix.AsAppendix;
+import com.yxt.anrui.as.api.asbwinvoiceapply.*;
+import com.yxt.anrui.as.api.asbwinvoiceapplydetail.AsBwinvoiceapplyDetailDetailsVo;
+import com.yxt.anrui.as.api.asbwinvoiceapplydetail.AsBwinvoiceapplyDetailDto;
+import com.yxt.anrui.as.biz.asappendix.AsAppendixService;
+import com.yxt.anrui.as.biz.asbwinvoiceapplydetail.AsBwinvoiceapplyDetailService;
+import com.yxt.anrui.as.feign.base.billno.Rule;
+import com.yxt.anrui.as.feign.file.AsFileEnum;
+import com.yxt.anrui.as.feign.flowable.flow.FlowableFeign;
+import com.yxt.anrui.as.feign.flowable.flow2.FlowFeign;
+import com.yxt.anrui.as.feign.flowable.flowtask.FlowTaskFeign;
+import com.yxt.anrui.as.feign.message.MessageFeign;
+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;
+import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign;
+import com.yxt.anrui.as.feign.portal.sysuser.SysUserFeign;
+import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.common.core.result.ResultBean;
+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.ArrayList;
+import java.util.List;
+
+/**
+ * Project: yxt-as(保外工单)
+ * File: AsBwinvoiceapplyService.java
+ * Class: com.yxt.anrui.as.biz.asbwinvoiceapply.AsBwinvoiceapplyService
+ * Description: 保外工单开票申请 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-06-17 13:42:57
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class AsBwinvoiceapplyService extends MybatisBaseService {
+
+ @Autowired
+ private SysOrganizationFeign sysOrganizationFeign;
+ @Autowired
+ private SysStaffOrgFeign sysStaffOrgFeign;
+ @Autowired
+ private SysUserFeign sysUserFeign;
+ @Autowired
+ private FlowableFeign flowableFeign;
+ @Autowired
+ private FlowTaskFeign flowTaskFeign;
+ @Autowired
+ private FlowFeign flowFeign;
+ @Autowired
+ private MessageFeign messageFeign;
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+ @Autowired
+ private AsAppendixService asAppendixService;
+ @Autowired
+ private AsBwinvoiceapplyDetailService asBwinvoiceapplyDetailService;
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ AsBwinvoiceapplyQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ //========================================数据授权开始
+ if (StringUtils.isNotBlank(query.getMenuUrl())) {
+ PrivilegeQuery privilegeQuery = new PrivilegeQuery();
+ privilegeQuery.setOrgPath(query.getOrgPath());
+ privilegeQuery.setMenuUrl(query.getMenuUrl());
+ privilegeQuery.setUserSid(query.getUserSid());
+ ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
+ if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
+ //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
+ String orgSidPath = query.getOrgPath();
+ orgSidPath = orgSidPath + "/";
+ int i1 = orgSidPath.indexOf("/");
+ int i2 = orgSidPath.indexOf("/", i1 + 1);
+ int i3 = orgSidPath.indexOf("/", i2 + 1);
+ int i4 = orgSidPath.indexOf("/", i3 + 1);
+ String orgLevelKey = defaultIdReltBean.getData();
+ if ("1".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i1);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("2".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i2);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("3".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i3);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("4".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i4);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("5".equals(orgLevelKey)) {
+ qw.eq("ab.createBySid", query.getUserSid());
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ }
+ if (StringUtils.isNotBlank(query.getUseOrgName())) {
+ qw.like("ab.useOrgName", query.getUseOrgName());
+ }
+ if (StringUtils.isNotBlank(query.getDeptName())) {
+ qw.like("ab.deptName", query.getDeptName());
+ }
+ if (StringUtils.isNotBlank(query.getCreateByName())) {
+ qw.like("ab.createByName", query.getCreateByName());
+ }
+ if (StringUtils.isNotBlank(query.getBillNo())) {
+ qw.like("ab.billNo", query.getBillNo());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceTitle())){
+ qw.like("ab.invoiceTitle",query.getInvoiceTitle());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceTypeValue())){
+ qw.like("ab.invoiceTypeValue",query.getInvoiceTypeValue());
+ }
+ String createTimeStart = query.getCreateTimeStart();
+ String createTimeEnd = query.getCreateTimeEnd();
+ qw.apply(StringUtils.isNotEmpty(createTimeStart), "date_format (ab.createTime,'%Y-%m-%d') >= date_format('" + createTimeStart + "','%Y-%m-%d')").
+ apply(StringUtils.isNotEmpty(createTimeEnd), "date_format (ab.createTime,'%Y-%m-%d') <= date_format('" + createTimeEnd + "','%Y-%m-%d')"
+ );
+ String finishTimeStart = query.getFinishTimeStart();
+ String finishTimeEnd = query.getFinishTimeEnd();
+ qw.apply(StringUtils.isNotEmpty(finishTimeStart), "date_format (ab.finishTime,'%Y-%m-%d') >= date_format('" + finishTimeStart + "','%Y-%m-%d')").
+ apply(StringUtils.isNotEmpty(finishTimeEnd), "date_format (ab.finishTime,'%Y-%m-%d') <= date_format('" + finishTimeEnd + "','%Y-%m-%d')"
+ );
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ for (AsBwinvoiceapplyVo record : pagging.getRecords()) {
+ List asBwinvoiceapplyFiles = new ArrayList<>();
+ List asAppendices = asAppendixService.fetchByLinkSid(record.getSid());
+ for (AsAppendix asAppendix : asAppendices) {
+ AsBwinvoiceapplyFile asBwinvoiceapplyFile = new AsBwinvoiceapplyFile();
+ String url = fileUploadComponent.getUrlPrefix() + asAppendix.getFilePath();
+ asBwinvoiceapplyFile.setUrl(url);
+ asBwinvoiceapplyFiles.add(asBwinvoiceapplyFile);
+ }
+ record.setFileList(asBwinvoiceapplyFiles);
+ }
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public String saveOrUpdateDto(AsBwinvoiceapplyDto dto){
+ String dtoSid = dto.getSid();
+ List fileList = dto.getFileList();
+ List asBwinvoiceapplyDetailList = dto.getAsBwinvoiceapplyDetailList();
+ String deptSid = dto.getDeptSid();
+ SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
+ String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(deptVo.getOrgSidPath()).getData();
+ SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
+ dto.setUseOrgSid(useOrgSid);
+ dto.setUseOrgName(organizationVo.getName());
+ if (StringUtils.isBlank(dtoSid)) {
+ //生成单据编号
+ String billNo = "";
+ String date = DateUtil.format(DateUtil.date(), "yyyyMM");
+ billNo = "BWGDKP" + organizationVo.getOrgCode() + date;
+ String i = baseMapper.selectNum(billNo);
+ if (StringUtils.isNotBlank(i)) {
+ billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
+ } else {
+ billNo = Rule.getBillNo(billNo, 0);
+ }
+ dto.setBillNo(billNo);
+ String sid = this.insertByDto(dto);
+ for (AsBwinvoiceapplyFile asBwinvoiceapplyFile : fileList) {
+ String filePath = asBwinvoiceapplyFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
+ AsAppendix asAppendix = new AsAppendix();
+ asAppendix.setLinkSid(sid);
+ asAppendix.setAttachType(AsFileEnum.ASBWINVOICEAPPLY.getAttachType());
+ asAppendix.setFilePath(filePath);
+ asAppendixService.save(asAppendix);
+ }
+ for (AsBwinvoiceapplyDetailDto asBwinvoiceapplyDetailDto : asBwinvoiceapplyDetailList) {
+ asBwinvoiceapplyDetailDto.setMainSid(sid);
+ asBwinvoiceapplyDetailService.insertByDto(asBwinvoiceapplyDetailDto);
+ }
+ return sid;
+ }
+ this.updateByDto(dto);
+ asAppendixService.delByLinkSid(dtoSid);
+ for (AsBwinvoiceapplyFile asBwinvoiceapplyFile : fileList) {
+ String filePath = asBwinvoiceapplyFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
+ AsAppendix asAppendix = new AsAppendix();
+ asAppendix.setLinkSid(dtoSid);
+ asAppendix.setAttachType(AsFileEnum.ASBWINVOICEAPPLY.getAttachType());
+ asAppendix.setFilePath(filePath);
+ asAppendixService.save(asAppendix);
+ }
+ asBwinvoiceapplyDetailService.delByMainSid(dtoSid);
+ for (AsBwinvoiceapplyDetailDto asBwinvoiceapplyDetailDto : asBwinvoiceapplyDetailList) {
+ asBwinvoiceapplyDetailDto.setMainSid(dtoSid);
+ asBwinvoiceapplyDetailService.insertByDto(asBwinvoiceapplyDetailDto);
+ }
+ return dtoSid;
+ }
+
+ public String insertByDto(AsBwinvoiceapplyDto dto){
+ AsBwinvoiceapply entity = new AsBwinvoiceapply();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ entity.setNodeState("待提交");
+ baseMapper.insert(entity);
+ return entity.getSid();
+ }
+
+ public void updateByDto(AsBwinvoiceapplyDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ AsBwinvoiceapply entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public AsBwinvoiceapplyDetailsVo fetchDetailsVoBySid(String sid){
+ AsBwinvoiceapply entity = fetchBySid(sid);
+ AsBwinvoiceapplyDetailsVo vo = new AsBwinvoiceapplyDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ List asAppendices = asAppendixService.fetchByLinkSid(sid);
+ List asBwinvoiceapplyFiles = new ArrayList<>();
+ for (AsAppendix asAppendix : asAppendices) {
+ AsBwinvoiceapplyFile asBwinvoiceapplyFile = new AsBwinvoiceapplyFile();
+ String url = fileUploadComponent.getUrlPrefix() + asAppendix.getFilePath();
+ asBwinvoiceapplyFile.setUrl(url);
+ asBwinvoiceapplyFiles.add(asBwinvoiceapplyFile);
+ }
+ vo.setFileList(asBwinvoiceapplyFiles);
+ List asBwinvoiceapplyDetailDetailsVos = asBwinvoiceapplyDetailService.fetchByMainSid(sid);
+ vo.setAsBwinvoiceapplyDetailList(asBwinvoiceapplyDetailDetailsVos);
+ return vo;
+ }
+
+ public ResultBean delAll(String[] sids) {
+ ResultBean rb = ResultBean.fireFail();
+ //查询该sid中是否有流程不是待提交的
+ int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
+ if (count > 0) {
+ return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
+ }
+ delBySids(sids);
+ for (String sid : sids) {
+ asAppendixService.delByLinkSid(sid);
+ asBwinvoiceapplyDetailService.delByMainSid(sid);
+ }
+ return rb.success();
+ }
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailMapper.java
new file mode 100644
index 0000000000..cda2f7f9b4
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailMapper.java
@@ -0,0 +1,62 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.asbwinvoiceapplydetail;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.yxt.anrui.as.api.asbwinvoiceapplydetail.AsBwinvoiceapplyDetailDetailsVo;
+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 com.yxt.anrui.as.api.asbwinvoiceapplydetail.AsBwinvoiceapplyDetail;
+
+import java.util.List;
+
+/**
+ * Project: yxt-as(保外工单)
+ * File: AsBwinvoiceapplyDetailMapper.java
+ * Class: com.yxt.anrui.as.biz.asbwinvoiceapplydetail.AsBwinvoiceapplyDetailMapper
+ * Description: 保外开票工单列表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-06-17 13:42:57
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface AsBwinvoiceapplyDetailMapper extends BaseMapper {
+
+ @Delete("delete from as_bwinvoiceapply_detail where mainSid = #{dtoSid}")
+ void delByMainSid(String dtoSid);
+
+ @Select("select * from as_bwinvoiceapply_detail where mainSid = #{mainSid}")
+ List fetchByMainSid(String mainSid);
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailMapper.xml
new file mode 100644
index 0000000000..421755e249
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailMapper.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailRest.java
new file mode 100644
index 0000000000..5860adc546
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailRest.java
@@ -0,0 +1,57 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.asbwinvoiceapplydetail;
+
+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.*;
+
+import com.yxt.anrui.as.api.asbwinvoiceapplydetail.AsBwinvoiceapplyDetailDetailsVo;
+import com.yxt.anrui.as.api.asbwinvoiceapplydetail.AsBwinvoiceapplyDetailDto;
+
+/**
+ * Project: yxt-as(保外工单)
+ * File: AsBwinvoiceapplyDetailFeignFallback.java
+ * Class: com.yxt.anrui.as.biz.asbwinvoiceapplydetail.AsBwinvoiceapplyDetailRest
+ * Description: 保外开票工单列表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-06-17 13:42:57
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "保外开票工单列表")
+@RestController
+@RequestMapping("v1/asbwinvoiceapplydetail")
+public class AsBwinvoiceapplyDetailRest {
+
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailService.java
new file mode 100644
index 0000000000..1e4cb5da98
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailService.java
@@ -0,0 +1,95 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.asbwinvoiceapplydetail;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+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 com.yxt.anrui.as.api.asbwinvoiceapplydetail.AsBwinvoiceapplyDetail;
+import com.yxt.anrui.as.api.asbwinvoiceapplydetail.AsBwinvoiceapplyDetailDetailsVo;
+import com.yxt.anrui.as.api.asbwinvoiceapplydetail.AsBwinvoiceapplyDetailDto;
+
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Project: yxt-as(保外工单)
+ * File: AsBwinvoiceapplyDetailService.java
+ * Class: com.yxt.anrui.as.biz.asbwinvoiceapplydetail.AsBwinvoiceapplyDetailService
+ * Description: 保外开票工单列表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-06-17 13:42:57
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class AsBwinvoiceapplyDetailService extends MybatisBaseService {
+
+ public void saveOrUpdateDto(AsBwinvoiceapplyDetailDto dto) {
+ this.insertByDto(dto);
+ return;
+ }
+
+ public void insertByDto(AsBwinvoiceapplyDetailDto dto) {
+ AsBwinvoiceapplyDetail entity = new AsBwinvoiceapplyDetail();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(AsBwinvoiceapplyDetailDto dto) {
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ AsBwinvoiceapplyDetail entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public AsBwinvoiceapplyDetailDetailsVo fetchDetailsVoBySid(String sid) {
+ AsBwinvoiceapplyDetail entity = fetchBySid(sid);
+ AsBwinvoiceapplyDetailDetailsVo vo = new AsBwinvoiceapplyDetailDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ public void delByMainSid(String dtoSid) {
+ baseMapper.delByMainSid(dtoSid);
+ }
+
+ public List fetchByMainSid(String mainSid) {
+ return baseMapper.fetchByMainSid(mainSid);
+ }
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/feign/file/AsFileEnum.java b/yxt-as/src/main/java/com/yxt/anrui/as/feign/file/AsFileEnum.java
new file mode 100644
index 0000000000..bcdb8bf633
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/feign/file/AsFileEnum.java
@@ -0,0 +1,40 @@
+package com.yxt.anrui.as.feign.file;
+
+/**
+ * @Author fan
+ * @Date 2022/11/14 22:46
+ * @Description
+ */
+public enum AsFileEnum {
+
+ ASBWINVOICEAPPLY("001", "保外工单开票附件"),
+ ASBWDIFFAPPLY("002", "保外工单应收调差附件"),
+ ASBWDIFFAPPLYDETAIL("003", "保外工单应收调差工单附件"),
+ ;
+
+
+ /**
+ * 附件类型
+ */
+ private final String attachType;
+
+ /**
+ * 代号
+ */
+ private final String mark;
+
+ AsFileEnum(String attachType, String mark) {
+ this.attachType = attachType;
+ this.mark = mark;
+ }
+
+ public String getAttachType() {
+ return attachType;
+ }
+
+ public String getMark() {
+ return mark;
+ }
+
+
+}