diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelInfo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelInfo.java index 53180b2a54..7305d283f1 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelInfo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelInfo.java @@ -43,6 +43,8 @@ public class OneExcelInfo { private String onceSuppRemark; //调整说明 private String adjustmentRemarks; + //备注 + private String remarks; //是否调整 private String isAdjustment; //调整金额 diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelVo.java index 5eb4cd832f..9a8dc9f3d2 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/OneExcelVo.java @@ -43,4 +43,6 @@ public class OneExcelVo { private String onceSuppRemark; @ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks") private String adjustmentRemarks; + @ExportEntityMap(CnName = "备注", EnName = "remarks") + private String remarks; } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelInfo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelInfo.java index 4489447094..256a83b5ad 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelInfo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelInfo.java @@ -48,6 +48,8 @@ public class TwoExcelInfo { private String secondSuppRemark; //调整说明 private String adjustmentRemarks; + //备注 + private String remarks; //是否调整 private String isAdjustment; //调整金额 diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelVo.java index 228fc62d0e..d20ac58b9f 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/TwoExcelVo.java @@ -49,4 +49,6 @@ public class TwoExcelVo { private String secondSuppRemark; @ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks") private String adjustmentRemarks; + @ExportEntityMap(CnName = "备注", EnName = "remarks") + private String remarks; } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java index 39a5a7bff0..8c5b8dc310 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java @@ -66,8 +66,6 @@ public interface ScmSpecialRebateMapper extends BaseMapper { IPage stayDisRebate(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - ScmSpecialRebateVo selectExcelInfo(@Param("createOrgSid") String createOrgSid, @Param("rebateTypeValue") String rebateTypeValue, @Param("rebateName") String rebateName, @Param("estimateRebate") String estimateRebate, @Param("palceGenDate") String palceGenDate, @Param("purchaseSystemName") String purchaseSystemName, @Param("brandName") String brandName); - ScmSpecialRebateVo selectExcel(@Param("createOrgSid") String createOrgSid, @Param("rebateTypeValue") String rebateTypeValue, @Param("rebateName") String rebateName, @Param("estimateRebate") String estimateRebate, @Param("palceGenDate") String palceGenDate, @Param("purchaseSystemName") String purchaseSystemName, @Param("brandName") String brandName, @Param("remarks") String remarks); void updateOneExcelInfo(@Param("uploadDate") String uploadDate, @Param("uploadMoney") String uploadMoney, @Param("stayDetermineMoney") String stayDetermineMoney, @Param("onceItureCost") String onceItureCost, @Param("onceTreatCost") String onceTreatCost, @Param("onceSuppCost") String onceSuppCost, @Param("onceSuppRemark") String onceSuppRemark, @Param("adjustmentRemarks") String adjustmentRemarks, @Param("isAdjustment") String isAdjustment, @Param("adjustmentMoney") String adjustmentMoney, @Param("diffAmount") String diffAmount, @Param("sid") String sid); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml index 91fb6d03ed..80fe637446 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml @@ -65,18 +65,6 @@ - - + + + + + + + + + select remarks, sid + from ad_pircarpul_apply + where sid = #{sid} + + + + + + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpulapply/AdSalecarpulApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpulapply/AdSalecarpulApplyService.java new file mode 100644 index 0000000000..5b5d3b4590 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpulapply/AdSalecarpulApplyService.java @@ -0,0 +1,300 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adsalecarpulapply; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.oa.biz.adpircarpulapply.AdPircarpulApplyDetailsVo; +import com.yxt.anrui.oa.biz.adsalecarpuldetail.AdSalecarpulDetailDto; +import com.yxt.anrui.oa.biz.adsalecarpuldetail.AdSalecarpulDetailService; +import com.yxt.anrui.oa.biz.adsalecarpuldetail.AdSalecarpulDetailVo; +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.file.OaFileEnum; +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 org.apache.commons.lang3.StringUtils; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class AdSalecarpulApplyService extends MybatisBaseService { + @Autowired + private OaAppendixService oaAppendixService; + @Autowired + private OaFormService oaFormService; + @Autowired + private AdSalecarpulDetailService adSalecarpulDetailService; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + + public ResultBean getSaveInit(String userSid, String orgPath) { + ResultBean rb = ResultBean.fireFail(); + AdSalecarpulApplyVo adSalecarpulApplyVo = new AdSalecarpulApplyVo(); + adSalecarpulApplyVo.setCreateBySid(userSid); + adSalecarpulApplyVo.setOrgSidPath(orgPath); + return rb.success().setData(adSalecarpulApplyVo); + } + + public ResultBean getUpdateInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + AdSalecarpulApplyVo adSalecarpulApplyVo = new AdSalecarpulApplyVo(); + AdSalecarpulApply adSalecarpulApply = fetchBySid(sid); + if (adSalecarpulApply == null) { + return rb.setMsg("该申请不存在"); + } +// adExpatriatesApplyVo.setTestPage(adExpatriatesApply.getTestPage()); + OaForm oaForm = oaFormService.fetchBySid(sid); + adSalecarpulApplyVo.setTaskId(oaForm.getTaskId()); + adSalecarpulApplyVo.setProcInsId(oaForm.getProcInstId()); + //根据部门sid获取orgPath并赋值 + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); + String orgSidPath = organizationVo.getOrgSidPath(); + adSalecarpulApplyVo.setOrgSidPath(orgSidPath); + adSalecarpulApplyVo.setCreateBySid(oaForm.getCreateBySid()); + BeanUtil.copyProperties(adSalecarpulApply, adSalecarpulApplyVo); + List list = adSalecarpulDetailService.getUpdateInit(sid); + List files = oaAppendixService.selectByLinkSid(sid, "图片"); + adSalecarpulApplyVo.setFiles(files); + List appes = oaAppendixService.selectByLinkSid(sid, "文件"); + adSalecarpulApplyVo.setAppes(appes); + adSalecarpulApplyVo.setList(list); + adSalecarpulApplyVo.setSid(sid); + return rb.success().setData(adSalecarpulApplyVo); + } + + public ResultBean saveOrUpdateDto(AdSalecarpulApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + List files = dto.getFiles(); + List appes = dto.getAppes(); + List list = dto.getList(); + if (StringUtils.isBlank(sid)) { + // 新建操作 + AdSalecarpulApply entity = new AdSalecarpulApply(); + BeanUtil.copyProperties(dto, entity, "sid"); + + dto.setBillNo("XSRYGDSCGYSQ"); + 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 { + // 更新操作 + AdSalecarpulApply entity = fetchBySid(sid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + adSalecarpulDetailService.saveDetails(list, sid); + // 处理附件 + saveFiles(sid, files, OaFileEnum.ADSALECARPULAPPLY.getAttachType(), "图片"); + saveFiles(sid, appes, OaFileEnum.ADSALECARPULAPPLY.getAttachType(), "文件"); + return rb.success().setData(sid); + } + + // 保存文件 + private void saveFiles(String sid, List files, String attachType, String fileType) { + files.removeAll(Collections.singleton(null)); + oaAppendixService.saveFile(sid, files, attachType, fileType); + } + + public ResultBean details(String sid, String application) { + ResultBean rb = ResultBean.fireFail(); + AdPircarpulApplyDetailsVo adPircarpulApplyDetailsVo = baseMapper.details(sid); + if (adPircarpulApplyDetailsVo == null) { + return rb.setMsg("该申请不存在"); + } + List files = oaAppendixService.selectByLinkSid(sid, "图片"); + List appes = oaAppendixService.selectByLinkSid(sid, "文件"); + adPircarpulApplyDetailsVo.setFiles(files); + adPircarpulApplyDetailsVo.setAppes(appes); + //基础字段赋值 + BeanUtil.copyProperties(oaFormService.getDetails(sid), adPircarpulApplyDetailsVo); + return rb.success().setData(adPircarpulApplyDetailsVo); + } + + /** + * 提交 + * + * @param dto + * @return + */ + public ResultBean submit(AdSalecarpulApplyDto 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.HIHIREAPPLY.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); + AdSalecarpulApply adSalecarpulApply = 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/adsalecarpulapply/AdSalecarpulApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpulapply/AdSalecarpulApplyVo.java new file mode 100644 index 0000000000..64e9f01c49 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpulapply/AdSalecarpulApplyVo.java @@ -0,0 +1,60 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adsalecarpulapply; + +import com.yxt.anrui.oa.biz.adsalecarpuldetail.AdSalecarpulDetailVo; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.util.ArrayList; +import java.util.List; + +@Data +@ApiModel(value = "销售人员固定私车公用申请 视图数据对象", description = "销售人员固定私车公用申请 视图数据对象") +public class AdSalecarpulApplyVo implements Vo { + + private String sid; + /* private String userSid; + private String orgPath;*/ + private String orgSidPath; + private String createBySid; + + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("图片") + private List files = new ArrayList<>(); + @ApiModelProperty("附件") + private List appes = new ArrayList<>(); + + 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/adsalecarpuldetail/AdSalecarpulDetail.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetail.java new file mode 100644 index 0000000000..8c766e192a --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetail.java @@ -0,0 +1,56 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adsalecarpuldetail; + +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; + +/** + * Project: 1(1)
+ * File: AdSalecarpulDetail.java
+ * Class: com.yxt.anrui.oa.api.adsalecarpuldetail.AdSalecarpulDetail
+ * Description: 销售人员固定私车公用列表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-02-26 11:41:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "销售人员固定私车公用列表", description = "销售人员固定私车公用列表") +@TableName("ad_salecarpul_detail") +public class AdSalecarpulDetail extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请sid") + private String mainSid; // 申请sid + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailDto.java new file mode 100644 index 0000000000..6bf5027fd3 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailDto.java @@ -0,0 +1,56 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adsalecarpuldetail; + + +import com.yxt.common.core.dto.Dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * Project: 1(1)
+ * File: AdSalecarpulDetailDto.java
+ * Class: com.yxt.anrui.oa.api.adsalecarpuldetail.AdSalecarpulDetailDto
+ * Description: 销售人员固定私车公用列表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-02-26 11:41:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "销售人员固定私车公用列表 数据传输对象", description = "销售人员固定私车公用列表 数据传输对象") +public class AdSalecarpulDetailDto implements Dto { + + private List detailFiles = new ArrayList<>(); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailMapper.java new file mode 100644 index 0000000000..5c3c0235bb --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailMapper.java @@ -0,0 +1,40 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adsalecarpuldetail; + +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 AdSalecarpulDetailMapper extends BaseMapper { + + List getUpdateInit(String sid); + + @Select("select * from ad_salecarpul_detail where mainSid = #{mainSid}") + List selectByMainSid(String mainSid); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailMapper.xml new file mode 100644 index 0000000000..45688b2195 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailMapper.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailService.java new file mode 100644 index 0000000000..e1ba0a9009 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailService.java @@ -0,0 +1,79 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adsalecarpuldetail; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService; +import com.yxt.anrui.oa.feign.file.OaFileEnum; +import com.yxt.common.base.service.MybatisBaseService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.Collections; +import java.util.List; + +@Service +public class AdSalecarpulDetailService extends MybatisBaseService { + + @Autowired + private OaAppendixService oaAppendixService; + + 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(details -> { + AdSalecarpulDetail adSalecarpulDetail = new AdSalecarpulDetail(); + BeanUtil.copyProperties(details, adSalecarpulDetail); + adSalecarpulDetail.setMainSid(sid); + baseMapper.insert(adSalecarpulDetail); + List detailFiles = details.getDetailFiles(); + saveFiles(adSalecarpulDetail.getSid(), detailFiles, OaFileEnum.ADSALECARPULAPPLY.getAttachType(), ""); + }); + } + } + + public List getUpdateInit(String sid) { + List adSalecarpulDetailVos = baseMapper.getUpdateInit(sid); + for (AdSalecarpulDetailVo adSalecarpulDetailVo : adSalecarpulDetailVos) { + List detailFiles = oaAppendixService.selectByLinkSid(adSalecarpulDetailVo.getSid()); + adSalecarpulDetailVo.setDetailFiles(detailFiles); + } + return adSalecarpulDetailVos; + } + + // 保存文件 + private void saveFiles(String sid, List files, String attachType, String fileType) { + files.removeAll(Collections.singleton(null)); + oaAppendixService.saveFile(sid, files, attachType, fileType); + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailVo.java new file mode 100644 index 0000000000..427c428c2e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulDetailVo.java @@ -0,0 +1,58 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adsalecarpuldetail; + + +import com.yxt.common.core.vo.Vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * Project: 1(1)
+ * File: AdSalecarpulDetailVo.java
+ * Class: com.yxt.anrui.oa.api.adsalecarpuldetail.AdSalecarpulDetailVo
+ * Description: 销售人员固定私车公用列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-02-26 11:41:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "销售人员固定私车公用列表 视图数据对象", description = "销售人员固定私车公用列表 视图数据对象") +public class AdSalecarpulDetailVo implements Vo { + + private String sid; // sid + + private List detailFiles = new ArrayList<>(); +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulListDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulListDetailVo.java new file mode 100644 index 0000000000..dc49c8552e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsalecarpuldetail/AdSalecarpulListDetailVo.java @@ -0,0 +1,56 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adsalecarpuldetail; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * Project: 1(1)
+ * File: AdSalecarpulDetailVo.java
+ * Class: com.yxt.anrui.oa.api.adsalecarpuldetail.AdSalecarpulDetailVo
+ * Description: 销售人员固定私车公用列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-02-26 11:41:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "销售人员固定私车公用列表 视图数据对象", description = "销售人员固定私车公用列表 视图数据对象") +public class AdSalecarpulListDetailVo implements Vo { + + private String sid; // sid + + private List detailFiles = new ArrayList<>(); +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsenpircarpulapply/AdSenpircarpulApply.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsenpircarpulapply/AdSenpircarpulApply.java index d9051ff8c2..b4324313d5 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsenpircarpulapply/AdSenpircarpulApply.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsenpircarpulapply/AdSenpircarpulApply.java @@ -31,28 +31,15 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -/** - * Project: yxt-oa(1)
- * File: AdSenpircarpulApply.java
- * Class: com.yxt.anrui.oa.api.adsenpircarpulapply.AdSenpircarpulApply
- * Description: 总经理级固定私车公用申请.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2025-02-20 11:28:22
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @Data @ApiModel(value = "总经理级固定私车公用申请", description = "总经理级固定私车公用申请") @TableName("ad_senpircarpul_apply") public class AdSenpircarpulApply extends BaseEntity { private static final long serialVersionUID = 1L; - @ApiModelProperty("基础表单sid") + @ApiModelProperty("基础表单sid") private String formSid; // 基础表单sid - @ApiModelProperty("关联审批sid列表,英文逗号分隔") + @ApiModelProperty("关联审批sid列表,英文逗号分隔") private String linkFormSids; // 关联审批sid列表,英文逗号分隔 } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsenpircarpulapply/AdSenpircarpulApplyDetailsVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsenpircarpulapply/AdSenpircarpulApplyDetailsVo.java index ac6aed69dc..3b949e05ba 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsenpircarpulapply/AdSenpircarpulApplyDetailsVo.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsenpircarpulapply/AdSenpircarpulApplyDetailsVo.java @@ -25,34 +25,17 @@ *********************************************************/ package com.yxt.anrui.oa.biz.adsenpircarpulapply; - -import com.yxt.anrui.oa.biz.adleasehostdetail.AdLeasehostListDetailVo; import com.yxt.anrui.oa.biz.adsenpircarpuldetail.AdSenpircarpulListDetailVo; -import com.yxt.common.core.vo.Vo; - +import com.yxt.anrui.oa.biz.oaform.OaFormCommonVo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; - import java.util.ArrayList; import java.util.List; -/** - * Project: yxt-oa(1)
- * File: AdSenpircarpulApplyVo.java
- * Class: com.yxt.anrui.oa.api.adsenpircarpulapply.AdSenpircarpulApplyVo
- * Description: 总经理级固定私车公用申请 视图数据对象.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2025-02-20 11:28:22
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @Data @ApiModel(value = "总经理级固定私车公用申请 视图数据详情", description = "总经理级固定私车公用申请 视图数据详情") -public class AdSenpircarpulApplyDetailsVo implements Vo { +public class AdSenpircarpulApplyDetailsVo extends OaFormCommonVo { @ApiModelProperty("备注") private String remarks; diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsenpircarpulapply/AdSenpircarpulApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsenpircarpulapply/AdSenpircarpulApplyMapper.xml index 6665a8c115..6f745dcc1c 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsenpircarpulapply/AdSenpircarpulApplyMapper.xml +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adsenpircarpulapply/AdSenpircarpulApplyMapper.xml @@ -3,7 +3,7 @@ - select remarks, sid from ad_pircarpul_apply where sid = #{sid} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java index 34cb963872..566fc10b75 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java @@ -22,7 +22,7 @@ public enum OaFileEnum { ADFROCKALLOTAPPLY("013", "工装订制配发附件"), ADPIRCARPULAPPLY("014", "临时私车公用附件"), ADSENPIRCARPULAPPLY("015", "总经理级固定私车公用附件"), - a("016", "销售人员固定私车公用方案附件"), + ADSALECARPULAPPLY("016", "销售人员固定私车公用方案附件"), ADFETEAPPLY("017", "商务宴请事前附件"), ;