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