diff --git a/anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/chunafukuan/chunafukuanguanli/cashier.vue b/anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/chunafukuan/chunafukuanguanli/cashier.vue index 9467f9c125..b041672495 100644 --- a/anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/chunafukuan/chunafukuanguanli/cashier.vue +++ b/anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/chunafukuan/chunafukuanguanli/cashier.vue @@ -578,8 +578,6 @@ export default { }) } else { this.formobj.payCode = '' - this.formobj.receiveBankAccount = '' - this.formobj.receiveBank = '' this.receiveBankAccount_list = [] } }, @@ -656,7 +654,7 @@ export default { this.formobj.receiveCompany = row.receiveCompany this.formobj.receiveBankAccount = row.receiveBankAccount this.formobj.receiveBank = row.receiveBank - this.changerRceiveCompany(this.formobj.receiveCompany) + this.formobj.payCode = row.payCode this.formobj.payWayValue = row.payWayValue this.changePayWay(row.payWayValue) const aa = [] @@ -689,8 +687,10 @@ export default { }, handlePayment() { if (this.formobj.payCode === '' || this.formobj.payCode === null || this.formobj.payCode === undefined) { - this.$message({ showClose: true, type: 'error', message: '请先刷新浏览器页面后再进行操作' }) - return + const choose = this.receiveCompany_list.filter((item) => item.name === this.formobj.receiveCompany) + if (choose !== null && choose.length > 0) { + this.formobj.payCode = choose[0].payCode + } } this.formobj.sids = this.sids this.submitdisabled = true @@ -709,8 +709,10 @@ export default { }, handlePass() { if (this.formobj.payCode === '' || this.formobj.payCode === null || this.formobj.payCode === undefined) { - this.$message({ showClose: true, type: 'error', message: '请先刷新浏览器页面后再进行操作' }) - return + const choose = this.receiveCompany_list.filter((item) => item.name === this.formobj.receiveCompany) + if (choose !== null && choose.length > 0) { + this.formobj.payCode = choose[0].payCode + } } this.formobj.sids = this.sids this.formobj.name = window.sessionStorage.getItem('name') diff --git a/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuExtendRest.java b/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuExtendRest.java index 98065eef38..3d9caf663f 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuExtendRest.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuExtendRest.java @@ -59,4 +59,12 @@ public class BaseGoodsSkuExtendRest { ResultBean updateSalesPrice(@RequestParam("skuSid") String skuSid,@RequestParam("salesPrice") String salesPrice){ return baseGoodsSkuExtendService.updateSalesPrice(skuSid,salesPrice); } + + @ApiOperation("根据skuSid查询销售单价") + @PostMapping("/selSalesPrice") + ResultBean selSalesPrice(@RequestParam("skuSid") String skuSid){ + ResultBean rb = ResultBean.fireFail(); + String price = baseGoodsSkuExtendService.selSalesPrice(skuSid); + return rb.success().setData(price); + } } diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.java index 66079e9db1..1d96c8592a 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendMapper.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; 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 org.apache.ibatis.annotations.Update; /** @@ -23,4 +24,7 @@ public interface BaseGoodsSkuExtendMapper extends BaseMapper @Update("update base_goods_sku_extend set salesPrice = #{salesPrice} where goodsSkuSid = #{skuSid}") void updateSalesPrice(@Param("skuSid") String skuSid, @Param("salesPrice") String salesPrice); + + @Select("select salesPrice from base_goods_sku_extend where goodsSkuSid = #{skuSid}") + String selSalesPrice(@Param("skuSid") String skuSid); } diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java index f2d7987953..e8acabc852 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java @@ -4,7 +4,10 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yxt.base.biz.base.basegoodssku.BaseGoodsSku; +import com.yxt.base.biz.base.basebrandinfo.BaseBrandInfoService; +import com.yxt.base.biz.base.basegoodsspudetail.BaseGoodsSpuDetailService; +import com.yxt.base.biz.base.basegoodstype.BaseGoodsTypeService; +import com.yxt.base.biz.base.basemanufacturer.BaseManufacturerService; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -12,15 +15,10 @@ import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import com.yxt.base.biz.base.basebrandinfo.BaseBrandInfoService; -import com.yxt.base.biz.base.basegoodsspudetail.BaseGoodsSpuDetailService; -import com.yxt.base.biz.base.basegoodstype.BaseGoodsTypeService; -import com.yxt.base.biz.base.basemanufacturer.BaseManufacturerService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.text.SimpleDateFormat; import java.util.Collections; import java.util.Date; import java.util.List; @@ -146,4 +144,8 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService getInit( + @PathVariable(value = "sid", required = false) String sid, + @RequestParam(value = "userSid", required = false) String userSid, + @RequestParam(value = "orgPath", required = false) String orgPath) { + ResultBean rb = ResultBean.fireFail(); + if (sid == null || sid.isEmpty()) { + // 执行新增初始化 + if (userSid == null || orgPath == null) { + return rb.setMsg("userSid和orgPath不能为空"); + } + return adOfficeSuppliesApplyService.getSaveInit(userSid, orgPath); + } else { + // 执行修改初始化 + return adOfficeSuppliesApplyService.getUpdateInit(sid); + } + } + + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody AdOfficeSuppliesApplyDto dto) { + return adOfficeSuppliesApplyService.saveOrUpdateDto(dto); + } + + @ApiOperation("详情") + @GetMapping("/details/{sid}") + ResultBean details(@PathVariable("sid") String sid + , @RequestParam(value = "application", required = false) String application) { + return adOfficeSuppliesApplyService.details(sid,application); + } + + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids) { + ResultBean rb = ResultBean.fireFail(); + adOfficeSuppliesApplyService.delAll(sids); + return rb.success(); + } + + @ApiOperation("提交审批流程") + @PostMapping("/submit") + public ResultBean submit(@RequestBody AdOfficeSuppliesApplyDto dto) { + return adOfficeSuppliesApplyService.submit(dto); + } + + @ApiOperation(value = "办理(同意)") + @PutMapping("/complete") + public ResultBean complete(@Valid @RequestBody CompleteDto dto) { + return adOfficeSuppliesApplyService.complete(dto); + } + + @ApiOperation(value = "驳回任务") + @PutMapping(value = "/reject") + public ResultBean reject(@Valid @RequestBody TaskDto dto) { + return adOfficeSuppliesApplyService.reject(dto); + } + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap NodeQuery query) { + return adOfficeSuppliesApplyService.getFlowOperateTitle(query); + } + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApply.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApply.java new file mode 100644 index 0000000000..c21a5b5550 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApply.java @@ -0,0 +1,54 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adbeverageacceptanceapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "集团用酒领用申请", description = "集团用酒领用申请") +@TableName("ad_beverage_acceptance_apply") +public class AdBeverageAcceptanceApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("基础表单sid") + private String formSid; // 基础表单sid + @ApiModelProperty("关联审批sid列表,英文逗号分隔") + private String linkFormSids; // 关联审批sid列表,英文逗号分隔 + @ApiModelProperty("用途分类key") + private String useTypeKey; // 用途分类key + @ApiModelProperty("用途分类value") + private String useTypeValue; // 用途分类value + @ApiModelProperty("费用承担部门sid") + private String feesDeptSid; // 费用承担部门sid + @ApiModelProperty("费用承担部门") + private String feesDept; // 费用承担部门 + @ApiModelProperty("具体用途") + private String specificUses; // 具体用途 +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyDetailVo.java new file mode 100644 index 0000000000..7ccab8285e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyDetailVo.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.oa.biz.adbeverageacceptanceapply; + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.anrui.oa.biz.oaform.OaFormCommonVo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/1/21 + **/ +@Data +public class AdBeverageAcceptanceApplyDetailVo extends OaFormCommonVo { + + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("用途分类key") + private String useTypeKey; // 用途分类key + @ApiModelProperty("用途分类value") + private String useTypeValue; // 用途分类value + @ApiModelProperty("费用承担部门sid") + private String feesDeptSid; // 费用承担部门sid + @ApiModelProperty("费用承担部门") + private String feesDept; // 费用承担部门 + @ApiModelProperty("具体用途") + private String specificUses; // 具体用途 + @ApiModelProperty("费用承担部门obj") + private FormCommon feesDeptObj; // 费用承担部门obj + @ApiModelProperty("用途分类obj") + private FormCommon useTypeObj; // 用途分类obj + @ApiModelProperty("图片") + private List files = new ArrayList<>(); + @ApiModelProperty("附件") + private List appes = new ArrayList<>(); + + private List list = new ArrayList<>(); //酒品明细 +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyDto.java new file mode 100644 index 0000000000..34abe70a21 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyDto.java @@ -0,0 +1,59 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adbeverageacceptanceapply; + + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.anrui.oa.biz.oaform.OaFormDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * Project: oa(驻外人员认定申请)
+ * File: AdExpatriatesApplyDto.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesapply.AdExpatriatesApplyDto
+ * Description: 驻外人员认定申请 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-16 15:22:53
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "驻外人员认定申请 数据传输对象", description = "驻外人员认定申请 数据传输对象") +public class AdBeverageAcceptanceApplyDto extends OaFormDto { + + @ApiModelProperty("备注") + private String remarks; + + private List list = new ArrayList<>(); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyMapper.java new file mode 100644 index 0000000000..e84fd07d63 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyMapper.java @@ -0,0 +1,37 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adbeverageacceptanceapply; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface AdBeverageAcceptanceApplyMapper extends BaseMapper { + + int selectBySid(String join); + + AdBeverageAcceptanceApplyDetailVo details(String sid); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyMapper.xml new file mode 100644 index 0000000000..687b436684 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyMapper.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyService.java new file mode 100644 index 0000000000..d682e9f914 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyService.java @@ -0,0 +1,343 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adbeverageacceptanceapply; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.oa.biz.adofficesuppliesdetail.AdOfficeSuppliesDetailService; +import com.yxt.anrui.oa.biz.adofficesuppliesdetail.AdOfficeSuppliesDetailVo; +import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService; +import com.yxt.anrui.oa.biz.oaform.*; +import com.yxt.anrui.oa.biz.oaform.flowable.*; +import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; + +@Service +public class AdBeverageAcceptanceApplyService extends MybatisBaseService { + + @Autowired + private OaAppendixService oaAppendixService; + @Autowired + private OaFormService oaFormService; + @Autowired + private AdOfficeSuppliesDetailService adOfficeSuppliesDetailService; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + + public ResultBean getSaveInit(String userSid, String orgPath) { + ResultBean rb = ResultBean.fireFail(); + AdBeverageAcceptanceApplyVo adOfficeSuppliesApplyVo = new AdBeverageAcceptanceApplyVo(); + adOfficeSuppliesApplyVo.setCreateBySid(userSid); + adOfficeSuppliesApplyVo.setOrgSidPath(orgPath); + return rb.success().setData(adOfficeSuppliesApplyVo); + } + + public ResultBean getUpdateInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + AdBeverageAcceptanceApplyVo adOfficeSuppliesApplyVo = new AdBeverageAcceptanceApplyVo(); + AdBeverageAcceptanceApply adOfficeSuppliesApply = fetchBySid(sid); + if (adOfficeSuppliesApply == null) { + return rb.setMsg("该申请不存在"); + } + OaForm oaForm = oaFormService.fetchBySid(sid); + adOfficeSuppliesApplyVo.setTaskId(oaForm.getTaskId()); + adOfficeSuppliesApplyVo.setProcInsId(oaForm.getProcInstId()); + //根据部门sid获取orgPath并赋值 + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); + String orgSidPath = organizationVo.getOrgSidPath(); + adOfficeSuppliesApplyVo.setOrgSidPath(orgSidPath); + adOfficeSuppliesApplyVo.setCreateBySid(oaForm.getCreateBySid()); + BeanUtil.copyProperties(adOfficeSuppliesApply, adOfficeSuppliesApplyVo); + List list = adOfficeSuppliesDetailService.getUpdateInit(sid); + list.removeAll(Collections.singleton(null)); + List officeObj = new ArrayList<>(); + if (!list.isEmpty()) { + for (AdOfficeSuppliesDetailVo d : list) { + FormCommon formCommon = new FormCommon(); + Map extra = new HashMap<>(); + formCommon.setId(d.getInventorySid()); + formCommon.setDictValue(d.getGoodsSpuName()); + if (StringUtils.isNotBlank(d.getCount())) { + extra.put("count",d.getCount()); + } + if (StringUtils.isNotBlank(d.getGoodsSkuOwnSpec())) { + extra.put("goodsSkuOwnSpec",d.getGoodsSkuOwnSpec()); + } + if (StringUtils.isNotBlank(d.getGoodsSkuSid())) { + extra.put("goodsSkuSid",d.getGoodsSkuSid()); + } + if (StringUtils.isNotBlank(d.getGoodsSpuSid())) { + extra.put("goodsSpuSid",d.getGoodsSpuSid()); + } + if (StringUtils.isNotBlank(d.getUnit())) { + extra.put("unit",d.getUnit()); + } + formCommon.setExtra(extra); + officeObj.add(formCommon); + } + } + adOfficeSuppliesApplyVo.setList(officeObj); + adOfficeSuppliesApplyVo.setSid(sid); + return rb.success().setData(adOfficeSuppliesApplyVo); + } + + public ResultBean saveOrUpdateDto(AdBeverageAcceptanceApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + List list = dto.getList(); + if (StringUtils.isBlank(sid)) { + // 新建操作 + AdBeverageAcceptanceApply entity = new AdBeverageAcceptanceApply(); + BeanUtil.copyProperties(dto, entity, "sid"); + + dto.setBillNo("BGYPLY"); + dto.setSid(entity.getSid()); + ResultBean resultBean = oaFormService.saveOaForm(dto); + + if (!resultBean.getSuccess()) { + return rb; + } + + entity.setFormSid(resultBean.getData()); + baseMapper.insert(entity); + sid = entity.getSid(); + } else { + // 更新操作 + AdBeverageAcceptanceApply entity = fetchBySid(sid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + adOfficeSuppliesDetailService.saveDetails(list, sid); + return rb.success().setData(sid); + } + + + 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); + return rb.success(); + } + + public ResultBean details(String sid, String application) { + ResultBean rb = ResultBean.fireFail(); + AdBeverageAcceptanceApplyDetailVo adOfficeSuppliesApplyDetailVo = baseMapper.details(sid); + if (adOfficeSuppliesApplyDetailVo == null) { + return rb.setMsg("该申请不存在"); + } + //基础字段赋值 + BeanUtil.copyProperties(oaFormService.getDetails(sid), adOfficeSuppliesApplyDetailVo); + List obj = new ArrayList<>(); + List detailVos = adOfficeSuppliesDetailService.getUpdateInit(sid); + if (!detailVos.isEmpty()) { + for (AdOfficeSuppliesDetailVo d : detailVos) { + FormCommon formCommon = new FormCommon(); + Map extra = new HashMap<>(); + formCommon.setId(d.getInventorySid()); + formCommon.setDictValue(d.getGoodsSpuName()); + if (StringUtils.isNotBlank(d.getCount())) { + extra.put("count",d.getCount()); + } + if (StringUtils.isNotBlank(d.getGoodsSkuOwnSpec())) { + extra.put("goodsSkuOwnSpec",d.getGoodsSkuOwnSpec()); + } + if (StringUtils.isNotBlank(d.getGoodsSkuSid())) { + extra.put("goodsSkuSid",d.getGoodsSkuSid()); + } + if (StringUtils.isNotBlank(d.getGoodsSpuSid())) { + extra.put("goodsSpuSid",d.getGoodsSpuSid()); + } + if (StringUtils.isNotBlank(d.getUnit())) { + extra.put("unit",d.getUnit()); + } + formCommon.setExtra(extra); + obj.add(formCommon); + } + } + adOfficeSuppliesApplyDetailVo.setList(obj); + return rb.success().setData(adOfficeSuppliesApplyDetailVo); + } + + /** + * 提交 + * + * @param dto + * @return + */ + public ResultBean submit(AdBeverageAcceptanceApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + ResultBean stringResultBean = saveOrUpdateDto(dto); + if (!stringResultBean.getSuccess()) { + return rb.setMsg(stringResultBean.getData()); + } + String businessSid = stringResultBean.getData(); + + SubmitDto submitDto = new SubmitDto(); + submitDto.setUserSid(dto.getCreateBySid()); + submitDto.setBusinessSid(businessSid); + + Map formVariables = new HashMap<>(); + formVariables = getMap(formVariables, businessSid); + submitDto.setFormVariables(formVariables); + submitDto.setProcDefId(ProcDefEnum.BGYPLYAPPLY.getProDefId()); + submitDto.setNextTaskId(dto.getTaskId()); + submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule()); + return oaFormService.submit(submitDto); + } + + /** + * 办理(同意) + * + * @param dto + * @return + */ + public ResultBean complete(CompleteDto dto) { + Map formVariables = dto.getFormVariables(); + formVariables = getMap(formVariables, dto.getBusinessSid()); + dto.setFormVariables(formVariables); + BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto(); + BeanUtil.copyProperties(dto, businessVariablesDto); + return oaFormService.complete(businessVariablesDto); + } + + /** + * 驳回 + * + * @param dto + * @return + */ + public ResultBean reject(TaskDto dto) { + Map formVariables = dto.getFormVariables(); + formVariables = getMap(formVariables, dto.getBusinessSid()); + dto.setFormVariables(formVariables); + return oaFormService.reject(dto); + } + + public ResultBean getFlowOperateTitle(NodeQuery query) { + // 默认失败返回 + ResultBean rb = ResultBean.fireFail(); + + // 获取next值和formVariables + int next = query.getNext(); + + // 获取并更新formVariables + Map formVariables = getMap(query.getFormVariables(), query.getBusinessSid()); + query.setFormVariables(formVariables); + + // 校验next参数是否有效(只允许0或1) + if (next != 0 && next != 1) { + return rb.setMsg("参数错误:next"); // 如果next不是0或1,返回错误信息 + } + + // 获取节点名称 + String data = getNodeName(query, next); + + // 如果data为null,表示未获取到有效的节点信息 + if (data == null) { + return rb.setMsg("没有获取到节点信息"); // 返回错误消息 + } + + // 返回成功的结果和获取到的节点名称 + return rb.success().setData(data); + } + + /** + * 网关参数组成 + * + * @param formVariables + * @param sid + * @return + */ + public Map getMap(Map formVariables, String sid) { + Map appMap = new HashMap<>(); + appMap.put("sid", sid); + /*appMap.put("editUrl", "approval/#/pages/EditOnboradingApplyActivity?sid=" + sid); + appMap.put("detailUrl", "approval/#/pages/DetailOnboradingApplyActivity?sid=" + sid); + appMap.put("flowOperateUrl", "oa/v1/HrHireApply/getFlowOperateTitle"); + appMap.put("agreeUrl", "oa/v1/HrHireApply/complete"); + appMap.put("stopUrl", "oa/v1/oaform/breakProcess"); + appMap.put("rejectUrl", "oa/v1/HrHireApply/reject"); + appMap.put("recallUrl", "oa/v1/oaform/revokeProcess"); + appMap.put("signUrl", "oa/v1/oaform/delegate"); + appMap.put("transferUrl", "oa/v1/oaform/assignTask");*/ + appMap.put(OaFormUrlEnum.HRHIREAPPLY_EDIT.getType(), OaFormUrlEnum.HRHIREAPPLY_EDIT.getUrl() + "?sid=" + sid); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_DETAIL.getType(), OaFormUrlEnum.HRHIREAPPLY_DETAIL.getUrl() + "?sid=" + sid); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getUrl()); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getUrl()); + appMap.put(OaFormUrlEnum.STOPURL.getType(), OaFormUrlEnum.STOPURL.getUrl()); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getType(), OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getUrl()); + appMap.put(OaFormUrlEnum.RECALLURL.getType(), OaFormUrlEnum.RECALLURL.getUrl()); + appMap.put(OaFormUrlEnum.SIGNURL.getType(), OaFormUrlEnum.SIGNURL.getUrl()); + appMap.put(OaFormUrlEnum.TRANSFERURL.getType(), OaFormUrlEnum.TRANSFERURL.getUrl()); + formVariables.put("app", appMap); + //根据组织查询是否是分公司 + OaForm oaForm = oaFormService.fetchBySid(sid); + AdBeverageAcceptanceApply adOfficeSuppliesApply = fetchBySid(sid); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData(); + //是否是分公司 + formVariables.put("isTrue", sysOrganization.getIsDept() == 0); + return formVariables; + } + + /** + * 根据next的值获取前一个节点或下一个节点的名称。 + * + * @param query 包含查询所需参数的NodeQuery对象 + * @param next 参数,0表示上一环节,1表示下一环节 + * @return 节点名称,如果失败则返回null + */ + private String getNodeName(NodeQuery query, int next) { + // 根据next值选择相应的服务方法获取节点信息 + ResultBean> resultBean = (next == 0) + ? oaFormService.getPreviousNodesForReject(query) // 获取上一环节的节点 + : oaFormService.getNextNodesForSubmit(query); // 获取下一环节的节点 + // 如果服务调用成功 + if (resultBean.getSuccess()) { + // 清除结果列表中的null值,避免空节点 + resultBean.getData().removeAll(Collections.singleton(null)); + // 如果结果列表非空,返回第一个节点的名称 + if (!resultBean.getData().isEmpty()) { + return resultBean.getData().get(0).getName(); + } + } else { + // 如果服务调用失败,返回null + return null; + } + // 如果结果为空,返回null + return null; + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyVo.java new file mode 100644 index 0000000000..779f1d9faa --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptanceapply/AdBeverageAcceptanceApplyVo.java @@ -0,0 +1,53 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adbeverageacceptanceapply; + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class AdBeverageAcceptanceApplyVo { + + private String sid; + /* private String userSid; + private String orgPath;*/ + private String orgSidPath; + private String createBySid; + + @ApiModelProperty("备注") + private String remarks; + private List list = new ArrayList<>(); + + private String taskId; + @ApiModelProperty("流程实例id") + private String procInsId; + +// private String testPage; +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetail.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetail.java new file mode 100644 index 0000000000..f4644abc5d --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetail.java @@ -0,0 +1,77 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adbeverageacceptancedetail; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: yxt-oa(认定人员)
+ * File: AdExpatriatesDetail.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetail
+ * Description: 驻外人员认定列表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-20 15:35:08
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "集团用酒领用申请列表", description = "集团用酒领用申请列表") +@TableName("ad_beverage_acceptance_detail") +public class AdBeverageAcceptanceDetail extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请sid") + private String mainSid; // 申请sid + @ApiModelProperty("物品基础信息Sid") + private String goodsSpuSid; // 物品基础信息Sid + @ApiModelProperty("商品名称") + private String goodsSpuName; // 商品名称 + @ApiModelProperty("物品Skusid") + private String goodsSkuSid; // 物品Skusid + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; // 规格型号 + @ApiModelProperty("计量单位") + private String unit; // 计量单位 + @ApiModelProperty("数量") + private BigDecimal count; // 库存数量 + @ApiModelProperty("库存sid") + private String inventorySid; // 库存sid + @ApiModelProperty("单价") + private BigDecimal price; // 单价 + @ApiModelProperty("合计金额") + private BigDecimal priceTotal; // 合计金额 + + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailDto.java new file mode 100644 index 0000000000..a2cdf53d09 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailDto.java @@ -0,0 +1,70 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adbeverageacceptancedetail; + + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(认定人员)
+ * File: AdExpatriatesDetailDto.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailDto
+ * Description: 驻外人员认定列表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-20 15:35:08
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "驻外人员认定列表 数据传输对象", description = "驻外人员认定列表 数据传输对象") +public class AdBeverageAcceptanceDetailDto implements Dto { + + @ApiModelProperty("驻外人员") + private FormCommon expatriatesObj; + private String expatriatesKey; + private String expatriatesValue; + @ApiModelProperty("驻外人员部门") + private FormCommon deptObj; + private String deptKey; + private String deptValue; + @ApiModelProperty("驻外人员职位") + private FormCommon jobObj; + private String jobKey; + private String jobValue; + @ApiModelProperty("驻外人员家庭常住地址") + private String expatriatesHomeAddress; + @ApiModelProperty("驻外人员工作地址") + private String expatriatesWorkAddress; + @ApiModelProperty("驻外人员开始驻外时间") + private String expatriatesDate; +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailListDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailListDetailVo.java new file mode 100644 index 0000000000..5260105860 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailListDetailVo.java @@ -0,0 +1,66 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adbeverageacceptancedetail; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(认定人员)
+ * File: AdExpatriatesDetailVo.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo
+ * Description: 驻外人员认定列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-20 15:35:08
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象") +public class AdBeverageAcceptanceDetailListDetailVo implements Vo { + + private String sid; + + @ApiModelProperty("驻外人员") + private String expatriatesValue; + @ApiModelProperty("驻外人员部门") + private String deptValue; + @ApiModelProperty("驻外人员职位") + private String jobValue; + @ApiModelProperty("驻外人员家庭常住地址") + private String expatriatesHomeAddress; + @ApiModelProperty("驻外人员工作地址") + private String expatriatesWorkAddress; + @ApiModelProperty("驻外人员开始驻外时间") + private String expatriatesDate; + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailMapper.java new file mode 100644 index 0000000000..9daf747b59 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailMapper.java @@ -0,0 +1,41 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adbeverageacceptancedetail; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface AdBeverageAcceptanceDetailMapper extends BaseMapper { + + @Select("select * from ad_office_supplies_detail where mainSid = #{mainSid}") + List selectByMainSid(String mainSid); + + List getUpdateInit(String sid); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailMapper.xml new file mode 100644 index 0000000000..f95347aa9b --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailMapper.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailService.java new file mode 100644 index 0000000000..f65beae17e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailService.java @@ -0,0 +1,87 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adbeverageacceptancedetail; + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.common.base.service.MybatisBaseService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +@Service +public class AdBeverageAcceptanceDetailService extends MybatisBaseService { + + public void saveDetails(List list, String sid) { + //根据sid查询明细并删除 + List list2 = baseMapper.selectByMainSid(sid); + list2.removeAll(Collections.singleton(null)); + if (!list2.isEmpty()) { + list2.stream().forEach(v -> { + deleteBySid(v.getSid()); + }); + } + list.removeAll(Collections.singleton(null)); + if (!list.isEmpty()) { + list.stream().forEach(f -> { + AdBeverageAcceptanceDetail detail = new AdBeverageAcceptanceDetail(); + detail.setMainSid(sid); + detail.setInventorySid(f.getId()); + detail.setGoodsSpuName(f.getDictValue()); + if (null != f.getExtra()) { + Map e = f.getExtra(); + for (Map.Entry entry : e.entrySet()) { + if (StringUtils.isNotBlank((String)entry.getValue())) { + if (entry.getKey().equals("count")) { + detail.setCount(new BigDecimal((String)entry.getValue())); + } + if (entry.getKey().equals("goodsSkuOwnSpec")) { + detail.setGoodsSkuOwnSpec((String)entry.getValue()); + } + if (entry.getKey().equals("goodsSkuSid")) { + detail.setGoodsSkuSid((String)entry.getValue()); + } + if (entry.getKey().equals("goodsSpuSid")) { + detail.setGoodsSpuSid((String)entry.getValue()); + } + if (entry.getKey().equals("unit")) { + detail.setUnit((String)entry.getValue()); + } + } + } + } + baseMapper.insert(detail); + }); + } + } + + public List getUpdateInit(String sid) { + return baseMapper.getUpdateInit(sid); + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailVo.java new file mode 100644 index 0000000000..a6ecf52b7f --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailVo.java @@ -0,0 +1,67 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adbeverageacceptancedetail; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(认定人员)
+ * File: AdExpatriatesDetailVo.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo
+ * Description: 驻外人员认定列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-20 15:35:08
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象") +public class AdBeverageAcceptanceDetailVo implements Vo { + + private String sid; + + @ApiModelProperty("物品基础信息Sid") + private String goodsSpuSid; // 物品基础信息Sid + @ApiModelProperty("商品名称") + private String goodsSpuName; // 商品名称 + @ApiModelProperty("物品Skusid") + private String goodsSkuSid; // 物品Skusid + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; // 规格型号 + @ApiModelProperty("计量单位") + private String unit; // 计量单位 + @ApiModelProperty("库存数量") + private String count; // 库存数量 + @ApiModelProperty("库存sid") + private String inventorySid; // 库存sid +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApply.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApply.java new file mode 100644 index 0000000000..d4e5033899 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApply.java @@ -0,0 +1,44 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adofficesuppliesapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "办公用品领用", description = "办公用品领用") +@TableName("ad_office_supplies_apply") +public class AdOfficeSuppliesApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("基础表单sid") + private String formSid; // 基础表单sid + + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyDetailVo.java new file mode 100644 index 0000000000..4fa2efec42 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyDetailVo.java @@ -0,0 +1,23 @@ +package com.yxt.anrui.oa.biz.adofficesuppliesapply; + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.anrui.oa.biz.oaform.OaFormCommonVo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/1/21 + **/ +@Data +public class AdOfficeSuppliesApplyDetailVo extends OaFormCommonVo { + + @ApiModelProperty("备注") + private String remarks; + + private List list = new ArrayList<>(); +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyDto.java new file mode 100644 index 0000000000..30b388d44e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyDto.java @@ -0,0 +1,59 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adofficesuppliesapply; + + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.anrui.oa.biz.oaform.OaFormDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * Project: oa(驻外人员认定申请)
+ * File: AdExpatriatesApplyDto.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesapply.AdExpatriatesApplyDto
+ * Description: 驻外人员认定申请 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-16 15:22:53
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "驻外人员认定申请 数据传输对象", description = "驻外人员认定申请 数据传输对象") +public class AdOfficeSuppliesApplyDto extends OaFormDto { + + @ApiModelProperty("备注") + private String remarks; + + private List list = new ArrayList<>(); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyMapper.java new file mode 100644 index 0000000000..9c2b991e10 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyMapper.java @@ -0,0 +1,37 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adofficesuppliesapply; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface AdOfficeSuppliesApplyMapper extends BaseMapper { + + int selectBySid(String join); + + AdOfficeSuppliesApplyDetailVo details(String sid); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyMapper.xml new file mode 100644 index 0000000000..687b436684 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyMapper.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyService.java new file mode 100644 index 0000000000..fcdebf7a22 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyService.java @@ -0,0 +1,343 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adofficesuppliesapply; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.oa.biz.adofficesuppliesdetail.AdOfficeSuppliesDetailService; +import com.yxt.anrui.oa.biz.adofficesuppliesdetail.AdOfficeSuppliesDetailVo; +import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService; +import com.yxt.anrui.oa.biz.oaform.*; +import com.yxt.anrui.oa.biz.oaform.flowable.*; +import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; + +@Service +public class AdOfficeSuppliesApplyService extends MybatisBaseService { + + @Autowired + private OaAppendixService oaAppendixService; + @Autowired + private OaFormService oaFormService; + @Autowired + private AdOfficeSuppliesDetailService adOfficeSuppliesDetailService; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + + public ResultBean getSaveInit(String userSid, String orgPath) { + ResultBean rb = ResultBean.fireFail(); + AdOfficeSuppliesApplyVo adOfficeSuppliesApplyVo = new AdOfficeSuppliesApplyVo(); + adOfficeSuppliesApplyVo.setCreateBySid(userSid); + adOfficeSuppliesApplyVo.setOrgSidPath(orgPath); + return rb.success().setData(adOfficeSuppliesApplyVo); + } + + public ResultBean getUpdateInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + AdOfficeSuppliesApplyVo adOfficeSuppliesApplyVo = new AdOfficeSuppliesApplyVo(); + AdOfficeSuppliesApply adOfficeSuppliesApply = fetchBySid(sid); + if (adOfficeSuppliesApply == null) { + return rb.setMsg("该申请不存在"); + } + OaForm oaForm = oaFormService.fetchBySid(sid); + adOfficeSuppliesApplyVo.setTaskId(oaForm.getTaskId()); + adOfficeSuppliesApplyVo.setProcInsId(oaForm.getProcInstId()); + //根据部门sid获取orgPath并赋值 + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); + String orgSidPath = organizationVo.getOrgSidPath(); + adOfficeSuppliesApplyVo.setOrgSidPath(orgSidPath); + adOfficeSuppliesApplyVo.setCreateBySid(oaForm.getCreateBySid()); + BeanUtil.copyProperties(adOfficeSuppliesApply, adOfficeSuppliesApplyVo); + List list = adOfficeSuppliesDetailService.getUpdateInit(sid); + list.removeAll(Collections.singleton(null)); + List officeObj = new ArrayList<>(); + if (!list.isEmpty()) { + for (AdOfficeSuppliesDetailVo d : list) { + FormCommon formCommon = new FormCommon(); + Map extra = new HashMap<>(); + formCommon.setId(d.getInventorySid()); + formCommon.setDictValue(d.getGoodsSpuName()); + if (StringUtils.isNotBlank(d.getCount())) { + extra.put("count",d.getCount()); + } + if (StringUtils.isNotBlank(d.getGoodsSkuOwnSpec())) { + extra.put("goodsSkuOwnSpec",d.getGoodsSkuOwnSpec()); + } + if (StringUtils.isNotBlank(d.getGoodsSkuSid())) { + extra.put("goodsSkuSid",d.getGoodsSkuSid()); + } + if (StringUtils.isNotBlank(d.getGoodsSpuSid())) { + extra.put("goodsSpuSid",d.getGoodsSpuSid()); + } + if (StringUtils.isNotBlank(d.getUnit())) { + extra.put("unit",d.getUnit()); + } + formCommon.setExtra(extra); + officeObj.add(formCommon); + } + } + adOfficeSuppliesApplyVo.setList(officeObj); + adOfficeSuppliesApplyVo.setSid(sid); + return rb.success().setData(adOfficeSuppliesApplyVo); + } + + public ResultBean saveOrUpdateDto(AdOfficeSuppliesApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + List list = dto.getList(); + if (StringUtils.isBlank(sid)) { + // 新建操作 + AdOfficeSuppliesApply entity = new AdOfficeSuppliesApply(); + BeanUtil.copyProperties(dto, entity, "sid"); + + dto.setBillNo("BGYPLY"); + dto.setSid(entity.getSid()); + ResultBean resultBean = oaFormService.saveOaForm(dto); + + if (!resultBean.getSuccess()) { + return rb; + } + + entity.setFormSid(resultBean.getData()); + baseMapper.insert(entity); + sid = entity.getSid(); + } else { + // 更新操作 + AdOfficeSuppliesApply entity = fetchBySid(sid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + adOfficeSuppliesDetailService.saveDetails(list, sid); + return rb.success().setData(sid); + } + + + 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); + return rb.success(); + } + + public ResultBean details(String sid, String application) { + ResultBean rb = ResultBean.fireFail(); + AdOfficeSuppliesApplyDetailVo adOfficeSuppliesApplyDetailVo = baseMapper.details(sid); + if (adOfficeSuppliesApplyDetailVo == null) { + return rb.setMsg("该申请不存在"); + } + //基础字段赋值 + BeanUtil.copyProperties(oaFormService.getDetails(sid), adOfficeSuppliesApplyDetailVo); + List obj = new ArrayList<>(); + List detailVos = adOfficeSuppliesDetailService.getUpdateInit(sid); + if (!detailVos.isEmpty()) { + for (AdOfficeSuppliesDetailVo d : detailVos) { + FormCommon formCommon = new FormCommon(); + Map extra = new HashMap<>(); + formCommon.setId(d.getInventorySid()); + formCommon.setDictValue(d.getGoodsSpuName()); + if (StringUtils.isNotBlank(d.getCount())) { + extra.put("count",d.getCount()); + } + if (StringUtils.isNotBlank(d.getGoodsSkuOwnSpec())) { + extra.put("goodsSkuOwnSpec",d.getGoodsSkuOwnSpec()); + } + if (StringUtils.isNotBlank(d.getGoodsSkuSid())) { + extra.put("goodsSkuSid",d.getGoodsSkuSid()); + } + if (StringUtils.isNotBlank(d.getGoodsSpuSid())) { + extra.put("goodsSpuSid",d.getGoodsSpuSid()); + } + if (StringUtils.isNotBlank(d.getUnit())) { + extra.put("unit",d.getUnit()); + } + formCommon.setExtra(extra); + obj.add(formCommon); + } + } + adOfficeSuppliesApplyDetailVo.setList(obj); + return rb.success().setData(adOfficeSuppliesApplyDetailVo); + } + + /** + * 提交 + * + * @param dto + * @return + */ + public ResultBean submit(AdOfficeSuppliesApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + ResultBean stringResultBean = saveOrUpdateDto(dto); + if (!stringResultBean.getSuccess()) { + return rb.setMsg(stringResultBean.getData()); + } + String businessSid = stringResultBean.getData(); + + SubmitDto submitDto = new SubmitDto(); + submitDto.setUserSid(dto.getCreateBySid()); + submitDto.setBusinessSid(businessSid); + + Map formVariables = new HashMap<>(); + formVariables = getMap(formVariables, businessSid); + submitDto.setFormVariables(formVariables); + submitDto.setProcDefId(ProcDefEnum.BGYPLYAPPLY.getProDefId()); + submitDto.setNextTaskId(dto.getTaskId()); + submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule()); + return oaFormService.submit(submitDto); + } + + /** + * 办理(同意) + * + * @param dto + * @return + */ + public ResultBean complete(CompleteDto dto) { + Map formVariables = dto.getFormVariables(); + formVariables = getMap(formVariables, dto.getBusinessSid()); + dto.setFormVariables(formVariables); + BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto(); + BeanUtil.copyProperties(dto, businessVariablesDto); + return oaFormService.complete(businessVariablesDto); + } + + /** + * 驳回 + * + * @param dto + * @return + */ + public ResultBean reject(TaskDto dto) { + Map formVariables = dto.getFormVariables(); + formVariables = getMap(formVariables, dto.getBusinessSid()); + dto.setFormVariables(formVariables); + return oaFormService.reject(dto); + } + + public ResultBean getFlowOperateTitle(NodeQuery query) { + // 默认失败返回 + ResultBean rb = ResultBean.fireFail(); + + // 获取next值和formVariables + int next = query.getNext(); + + // 获取并更新formVariables + Map formVariables = getMap(query.getFormVariables(), query.getBusinessSid()); + query.setFormVariables(formVariables); + + // 校验next参数是否有效(只允许0或1) + if (next != 0 && next != 1) { + return rb.setMsg("参数错误:next"); // 如果next不是0或1,返回错误信息 + } + + // 获取节点名称 + String data = getNodeName(query, next); + + // 如果data为null,表示未获取到有效的节点信息 + if (data == null) { + return rb.setMsg("没有获取到节点信息"); // 返回错误消息 + } + + // 返回成功的结果和获取到的节点名称 + return rb.success().setData(data); + } + + /** + * 网关参数组成 + * + * @param formVariables + * @param sid + * @return + */ + public Map getMap(Map formVariables, String sid) { + Map appMap = new HashMap<>(); + appMap.put("sid", sid); + /*appMap.put("editUrl", "approval/#/pages/EditOnboradingApplyActivity?sid=" + sid); + appMap.put("detailUrl", "approval/#/pages/DetailOnboradingApplyActivity?sid=" + sid); + appMap.put("flowOperateUrl", "oa/v1/HrHireApply/getFlowOperateTitle"); + appMap.put("agreeUrl", "oa/v1/HrHireApply/complete"); + appMap.put("stopUrl", "oa/v1/oaform/breakProcess"); + appMap.put("rejectUrl", "oa/v1/HrHireApply/reject"); + appMap.put("recallUrl", "oa/v1/oaform/revokeProcess"); + appMap.put("signUrl", "oa/v1/oaform/delegate"); + appMap.put("transferUrl", "oa/v1/oaform/assignTask");*/ + appMap.put(OaFormUrlEnum.HRHIREAPPLY_EDIT.getType(), OaFormUrlEnum.HRHIREAPPLY_EDIT.getUrl() + "?sid=" + sid); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_DETAIL.getType(), OaFormUrlEnum.HRHIREAPPLY_DETAIL.getUrl() + "?sid=" + sid); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getUrl()); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getUrl()); + appMap.put(OaFormUrlEnum.STOPURL.getType(), OaFormUrlEnum.STOPURL.getUrl()); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getType(), OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getUrl()); + appMap.put(OaFormUrlEnum.RECALLURL.getType(), OaFormUrlEnum.RECALLURL.getUrl()); + appMap.put(OaFormUrlEnum.SIGNURL.getType(), OaFormUrlEnum.SIGNURL.getUrl()); + appMap.put(OaFormUrlEnum.TRANSFERURL.getType(), OaFormUrlEnum.TRANSFERURL.getUrl()); + formVariables.put("app", appMap); + //根据组织查询是否是分公司 + OaForm oaForm = oaFormService.fetchBySid(sid); + AdOfficeSuppliesApply adOfficeSuppliesApply = fetchBySid(sid); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData(); + //是否是分公司 + formVariables.put("isTrue", sysOrganization.getIsDept() == 0); + return formVariables; + } + + /** + * 根据next的值获取前一个节点或下一个节点的名称。 + * + * @param query 包含查询所需参数的NodeQuery对象 + * @param next 参数,0表示上一环节,1表示下一环节 + * @return 节点名称,如果失败则返回null + */ + private String getNodeName(NodeQuery query, int next) { + // 根据next值选择相应的服务方法获取节点信息 + ResultBean> resultBean = (next == 0) + ? oaFormService.getPreviousNodesForReject(query) // 获取上一环节的节点 + : oaFormService.getNextNodesForSubmit(query); // 获取下一环节的节点 + // 如果服务调用成功 + if (resultBean.getSuccess()) { + // 清除结果列表中的null值,避免空节点 + resultBean.getData().removeAll(Collections.singleton(null)); + // 如果结果列表非空,返回第一个节点的名称 + if (!resultBean.getData().isEmpty()) { + return resultBean.getData().get(0).getName(); + } + } else { + // 如果服务调用失败,返回null + return null; + } + // 如果结果为空,返回null + return null; + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyVo.java new file mode 100644 index 0000000000..d94d648470 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesapply/AdOfficeSuppliesApplyVo.java @@ -0,0 +1,53 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adofficesuppliesapply; + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class AdOfficeSuppliesApplyVo { + + private String sid; + /* private String userSid; + private String orgPath;*/ + private String orgSidPath; + private String createBySid; + + @ApiModelProperty("备注") + private String remarks; + private List list = new ArrayList<>(); + + private String taskId; + @ApiModelProperty("流程实例id") + private String procInsId; + +// private String testPage; +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetail.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetail.java new file mode 100644 index 0000000000..7e6a51e0d2 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetail.java @@ -0,0 +1,73 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adofficesuppliesdetail; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: yxt-oa(认定人员)
+ * File: AdExpatriatesDetail.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetail
+ * Description: 驻外人员认定列表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-20 15:35:08
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "办公用品领用列表", description = "办公用品领用列表") +@TableName("ad_office_supplies_detail") +public class AdOfficeSuppliesDetail extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请sid") + private String mainSid; // 申请sid + @ApiModelProperty("物品基础信息Sid") + private String goodsSpuSid; // 物品基础信息Sid + @ApiModelProperty("商品名称") + private String goodsSpuName; // 商品名称 + @ApiModelProperty("物品Skusid") + private String goodsSkuSid; // 物品Skusid + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; // 规格型号 + @ApiModelProperty("计量单位") + private String unit; // 计量单位 + @ApiModelProperty("数量") + private BigDecimal count; // 库存数量 + @ApiModelProperty("库存sid") + private String inventorySid; // 库存sid + + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailDto.java new file mode 100644 index 0000000000..b4ddf66f26 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailDto.java @@ -0,0 +1,70 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adofficesuppliesdetail; + + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(认定人员)
+ * File: AdExpatriatesDetailDto.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailDto
+ * Description: 驻外人员认定列表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-20 15:35:08
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "驻外人员认定列表 数据传输对象", description = "驻外人员认定列表 数据传输对象") +public class AdOfficeSuppliesDetailDto implements Dto { + + @ApiModelProperty("驻外人员") + private FormCommon expatriatesObj; + private String expatriatesKey; + private String expatriatesValue; + @ApiModelProperty("驻外人员部门") + private FormCommon deptObj; + private String deptKey; + private String deptValue; + @ApiModelProperty("驻外人员职位") + private FormCommon jobObj; + private String jobKey; + private String jobValue; + @ApiModelProperty("驻外人员家庭常住地址") + private String expatriatesHomeAddress; + @ApiModelProperty("驻外人员工作地址") + private String expatriatesWorkAddress; + @ApiModelProperty("驻外人员开始驻外时间") + private String expatriatesDate; +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailMapper.java new file mode 100644 index 0000000000..c38e32aafa --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailMapper.java @@ -0,0 +1,41 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adofficesuppliesdetail; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface AdOfficeSuppliesDetailMapper extends BaseMapper { + + @Select("select * from ad_office_supplies_detail where mainSid = #{mainSid}") + List selectByMainSid(String mainSid); + + List getUpdateInit(String sid); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailMapper.xml new file mode 100644 index 0000000000..f95347aa9b --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailMapper.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailService.java new file mode 100644 index 0000000000..97e63f5ac4 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailService.java @@ -0,0 +1,87 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adofficesuppliesdetail; + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.common.base.service.MybatisBaseService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +@Service +public class AdOfficeSuppliesDetailService extends MybatisBaseService { + + public void saveDetails(List list, String sid) { + //根据sid查询明细并删除 + List list2 = baseMapper.selectByMainSid(sid); + list2.removeAll(Collections.singleton(null)); + if (!list2.isEmpty()) { + list2.stream().forEach(v -> { + deleteBySid(v.getSid()); + }); + } + list.removeAll(Collections.singleton(null)); + if (!list.isEmpty()) { + list.stream().forEach(f -> { + AdOfficeSuppliesDetail detail = new AdOfficeSuppliesDetail(); + detail.setMainSid(sid); + detail.setInventorySid(f.getId()); + detail.setGoodsSpuName(f.getDictValue()); + if (null != f.getExtra()) { + Map e = f.getExtra(); + for (Map.Entry entry : e.entrySet()) { + if (StringUtils.isNotBlank((String)entry.getValue())) { + if (entry.getKey().equals("count")) { + detail.setCount(new BigDecimal((String)entry.getValue())); + } + if (entry.getKey().equals("goodsSkuOwnSpec")) { + detail.setGoodsSkuOwnSpec((String)entry.getValue()); + } + if (entry.getKey().equals("goodsSkuSid")) { + detail.setGoodsSkuSid((String)entry.getValue()); + } + if (entry.getKey().equals("goodsSpuSid")) { + detail.setGoodsSpuSid((String)entry.getValue()); + } + if (entry.getKey().equals("unit")) { + detail.setUnit((String)entry.getValue()); + } + } + } + } + baseMapper.insert(detail); + }); + } + } + + public List getUpdateInit(String sid) { + return baseMapper.getUpdateInit(sid); + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailVo.java new file mode 100644 index 0000000000..0754415071 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailVo.java @@ -0,0 +1,67 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adofficesuppliesdetail; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(认定人员)
+ * File: AdExpatriatesDetailVo.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo
+ * Description: 驻外人员认定列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-20 15:35:08
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象") +public class AdOfficeSuppliesDetailVo implements Vo { + + private String sid; + + @ApiModelProperty("物品基础信息Sid") + private String goodsSpuSid; // 物品基础信息Sid + @ApiModelProperty("商品名称") + private String goodsSpuName; // 商品名称 + @ApiModelProperty("物品Skusid") + private String goodsSkuSid; // 物品Skusid + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; // 规格型号 + @ApiModelProperty("计量单位") + private String unit; // 计量单位 + @ApiModelProperty("库存数量") + private String count; // 库存数量 + @ApiModelProperty("库存sid") + private String inventorySid; // 库存sid +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java index f759713d59..6b989b5a5a 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java @@ -10,6 +10,7 @@ public enum ProcDefEnum { OALEAVEAPPLY("请假申请", "process_su0yph7n:1:15957504"), OAMENDAPPLY("补卡申请", "process_9suucr96:1:16072504"), HIHIREAPPLY("招聘需求", "process_zy0m4jrp:1:16802504"), + BGYPLYAPPLY("办公用品领用", ""), ; diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java index 2fc4cf574b..d1ab4cc805 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java @@ -323,4 +323,15 @@ public class WmsInventoryRest { PagerVo pv = wmsInventoryService.inventoryStockList(pq); return rb.success().setData(pv); } + + //------------------------------ 行政类审批查询库存 --------------------------------------- + @ApiOperation("行政类审批查询库存") + @PostMapping("/oaInventoryList") + public ResultBean> oaInventoryList(@RequestParam("orgPath") String orgPath,@RequestParam("warehouseTypeValue") String warehouseTypeValue) { + ResultBean> rb = ResultBean.fireFail(); + List list = wmsInventoryService.oaInventoryList(orgPath,warehouseTypeValue); + return rb.success().setData(list); + } + + } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/FormCommon.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/FormCommon.java new file mode 100644 index 0000000000..1f824ad512 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/FormCommon.java @@ -0,0 +1,27 @@ +package com.yxt.wms.biz.inventory.wmsinventory; + +import lombok.Data; + +import java.util.Map; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/1/16 + **/ +@Data +public class FormCommon { + + private String id; + private String dictValue; + + private Map extra; + + // 静态方法,直接通过方法创建对象并赋值 + public static FormCommon of(String id, String dictValue) { + FormCommon formCommon = new FormCommon(); + formCommon.setId(id); + formCommon.setDictValue(dictValue); + return formCommon; + } +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java index 03b75673f4..3af437e3fb 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java @@ -104,6 +104,8 @@ public interface WmsInventoryMapper extends BaseMapper { IPage inventoryStockList(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); + List selOaInventoryList(@Param("useOrgSid")String useOrgSid, @Param("warehouseTypeValue")String warehouseTypeValue); + @Select("select count from wms_inventory where goodsID = #{goodsID}") String selCountByGoodsID(String goodsID); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml index 048d1ecf67..feff5df0c7 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml @@ -765,4 +765,9 @@ ${ew.sqlSegment} + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java index eda26d4283..eb1a064b20 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java @@ -23,6 +23,7 @@ import com.yxt.wms.biz.inventory.wmsinventory.report.InventoryStockListQuery; import com.yxt.wms.biz.inventory.wmsinventory.report.InventoryStockListVo; import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuDetailsVo; import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuFeign; +import com.yxt.wms.feign.base.basegoodsskuextend.BaseGoodsSkuExtendFeign; import com.yxt.wms.feign.pms.PmsPurchasebackDetailFeign; import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign; @@ -56,7 +57,8 @@ public class WmsInventoryService extends MybatisBaseService listPage(PagerQuery pq) { WmsInventoryQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -1284,6 +1286,57 @@ public class WmsInventoryService extends MybatisBaseService oaInventoryList(String orgPath, String warehouseTypeValue) { + List list = new ArrayList<>(); + String useOrgSid = ""; + if (StringUtils.isNotBlank(orgPath)) { + List split = Arrays.asList(orgPath.split("/")); + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + useOrgSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + useOrgSid = sysOrganization.getSid(); + } + } + List inventories = baseMapper.selOaInventoryList(useOrgSid,warehouseTypeValue); + if (!inventories.isEmpty()) { + for (WmsInventory d : inventories) { + FormCommon f = new FormCommon(); + f.setId(d.getSid()); + f.setDictValue(d.getGoodsSpuName()); + Map extra = new HashMap<>(); + if (null != d.getCount()) { + extra.put("count",d.getCount().toString()); + } + if (StringUtils.isNotBlank(d.getGoodsSkuOwnSpec())) { + extra.put("goodsSkuOwnSpec",d.getGoodsSkuOwnSpec()); + } + if (StringUtils.isNotBlank(d.getGoodsSkuSid())) { + extra.put("goodsSkuSid",d.getGoodsSkuSid()); + } + if (StringUtils.isNotBlank(d.getGoodsSpuSid())) { + extra.put("goodsSpuSid",d.getGoodsSpuSid()); + } + if (StringUtils.isNotBlank(d.getUnit())) { + extra.put("unit",d.getUnit()); + } + if (warehouseTypeValue.equals("招待库")) { + String price = baseGoodsSkuExtendFeign.selSalesPrice(d.getGoodsSkuSid()).getData(); + if (StringUtils.isNotBlank(price)) { + extra.put("price",price); + } else { + extra.put("price",""); + } + } + f.setExtra(extra); + list.add(f); + } + } + return list; + } + public ResultBean selCountByGoodsID(String goodsID) { ResultBean rb = ResultBean.fireFail(); String count = baseMapper.selCountByGoodsID(goodsID); diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldinventory/WmsOldInventoryMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldinventory/WmsOldInventoryMapper.xml index 17709fca42..5e1651b4e0 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldinventory/WmsOldInventoryMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldinventory/WmsOldInventoryMapper.xml @@ -115,7 +115,7 @@ wir.busTypeValue, wir.count, wir.currentCount, - wir.billObjName as manufacturerName, + wir.manufacturerName, abbv.vinNo from wms_inventory_record wir LEFT JOIN wms_inventory_batch wib diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldinventory/WmsOldInventoryService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldinventory/WmsOldInventoryService.java index a9169f329a..734fce4f7e 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldinventory/WmsOldInventoryService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldinventory/WmsOldInventoryService.java @@ -314,7 +314,7 @@ public class WmsOldInventoryService extends MybatisBaseService selSalesPrice(@RequestParam("skuSid") String skuSid); }