diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/AppStandRecordApplyDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/AppStandRecordApplyDetailsVo.java new file mode 100644 index 0000000000..13a19dd53e --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/AppStandRecordApplyDetailsVo.java @@ -0,0 +1,98 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.as.standrecordapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Project: anrui-scm(合作二级站备案申请)
+ * File: ScmStandRecordApplyVo.java
+ * Class: com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyVo
+ * Description: 合作二级站备案申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-22 16:05:59
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "合作二级站备案申请 视图数据详情", description = "合作二级站备案申请 视图数据详情") +public class AppStandRecordApplyDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("流程实例的sid") + private String procInsId; + @ApiModelProperty("taskId") + private String taskId; + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("创建人姓名") + private String createByName; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("申请日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + @ApiModelProperty("二级站名称") + private String siteName; // 二级站名称 + @ApiModelProperty("法人") + private String legalPerson; // 法人 + @ApiModelProperty("法人电话") + private String phone; // 法人电话 + @ApiModelProperty("负责人") + private String directorName; // 负责人 + @ApiModelProperty("负责人电话") + private String directorPhone; // 负责人电话 + @ApiModelProperty("社会统一信用代码") + private String unifiedCreditCode; // 社会统一信用代码 + @ApiModelProperty("证件有效期") + private String termValidity; // 证件有效期 + @ApiModelProperty("地址") + private String address; // 地址 + @ApiModelProperty("合作有效期") + private String limitedTerm; // 合作有效期 + @ApiModelProperty("授信金额") + private BigDecimal creditGranting; // 授信金额 + @ApiModelProperty("营业执照") + private List appBusinessLicenseFile = new ArrayList<>(); + @ApiModelProperty("合作协议") + private List appAgreementFile = new ArrayList<>(); + @ApiModelProperty("其他资料") + private List appOtherFile = new ArrayList<>(); +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/AppStandRecordApplyFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/AppStandRecordApplyFeign.java new file mode 100644 index 0000000000..c82ae9024a --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/AppStandRecordApplyFeign.java @@ -0,0 +1,64 @@ +package com.yxt.anrui.terminal.api.as.standrecordapply; + +import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppDelegateQuery; +import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowDto; +import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowQuery; +import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowTaskQuery; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +/** + * @Author + * @Date + * @Description + */ +@FeignClient( + contextId = "terminal-AppStandRecordApply", + name = "anrui-terminal", + path = "v1/secondaryCooperativeStation") +public interface AppStandRecordApplyFeign { + + @ApiOperation("详情") + @GetMapping("/fetchDetailsBySid/{sid}") + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + /**********************************************流程********************************************/ + + @ApiOperation("办理") + @PutMapping("/agreeCreditInfo") + @ResponseBody + ResultBean agreeCreditInfo(@RequestBody AppFlowDto dto); + + @ApiOperation("驳回") + @PutMapping("/rejectCreditInfo") + @ResponseBody + ResultBean rejectCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("撤回") + @PutMapping("/recallCreditInfo") + @ResponseBody + ResultBean recallCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("终止") + @PutMapping("/stopCreditInfo") + @ResponseBody + ResultBean stopCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap AppFlowQuery query); + + @ApiOperation(value = "加签") + @PutMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody AppDelegateQuery delegateQuery); + + @ApiOperation(value = "转办") + @PutMapping(value = "/assignTask") + @ResponseBody + public ResultBean assignTask(@RequestBody AppDelegateQuery delegateQuery); +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppDelegateQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppDelegateQuery.java new file mode 100644 index 0000000000..76c518cac4 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppDelegateQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.as.standrecordapply.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 10:16 + */ +@Data +public class AppDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowDto.java new file mode 100644 index 0000000000..4ab70c23a6 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowDto.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.terminal.api.as.standrecordapply.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:09 + * @Description + */ +@Data +public class AppFlowDto implements Dto { + private static final long serialVersionUID = 3626473483180150495L; + + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:procInsId") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty(value = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowQuery.java new file mode 100644 index 0000000000..5cb496037c --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowQuery.java @@ -0,0 +1,28 @@ +package com.yxt.anrui.terminal.api.as.standrecordapply.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:15 + * @Description + */ +@Data +public class AppFlowQuery implements Query { + private static final long serialVersionUID = 5514095179438249641L; + + @ApiModelProperty(value = "节点key") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + @NotNull(message = "参数错误:next") + private Integer next; + + @ApiModelProperty("组织机构全路径") + private String orgPath; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowTaskQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowTaskQuery.java new file mode 100644 index 0000000000..1bc513bd6d --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/standrecordapply/flowable/AppFlowTaskQuery.java @@ -0,0 +1,47 @@ +package com.yxt.anrui.terminal.api.as.standrecordapply.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:11 + * @Description + */ +@Data +public class AppFlowTaskQuery implements Query { + private static final long serialVersionUID = -7082170710942810289L; + + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + @JsonProperty("procInsId") + private String instanceId; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/standrecordapply/AppStandRecordApplyRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/standrecordapply/AppStandRecordApplyRest.java new file mode 100644 index 0000000000..9f1ac790b9 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/standrecordapply/AppStandRecordApplyRest.java @@ -0,0 +1,85 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.as.standrecordapply; + +import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppDelegateQuery; +import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowDto; +import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowQuery; +import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowTaskQuery; +import com.yxt.anrui.terminal.api.as.standrecordapply.AppStandRecordApplyDetailsVo; +import com.yxt.anrui.terminal.api.as.standrecordapply.AppStandRecordApplyFeign; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("v1/secondaryCooperativeStation") +public class AppStandRecordApplyRest implements AppStandRecordApplyFeign { + + @Autowired + private AppStandRecordApplyService appStandRecordApplyService; + + @Override + public ResultBean fetchDetailsBySid(String sid) { + return appStandRecordApplyService.fetchDetailsBySid(sid); + } + + @Override + public ResultBean agreeCreditInfo(AppFlowDto dto) { + return appStandRecordApplyService.agreeCreditInfo(dto); + } + + @Override + public ResultBean rejectCreditInfo(AppFlowTaskQuery query) { + return appStandRecordApplyService.rejectCreditInfo(query); + } + + @Override + public ResultBean recallCreditInfo(AppFlowTaskQuery query) { + return appStandRecordApplyService.recallCreditInfo(query); + } + + @Override + public ResultBean stopCreditInfo(AppFlowTaskQuery query) { + return appStandRecordApplyService.stopCreditInfo(query); + } + + @Override + public ResultBean getFlowOperateTitle(AppFlowQuery query) { + return appStandRecordApplyService.getFlowOperateTitle(query); + } + + @Override + public ResultBean delegate(AppDelegateQuery delegateQuery) { + return appStandRecordApplyService.delegate(delegateQuery); + } + + @Override + public ResultBean assignTask(AppDelegateQuery delegateQuery) { + return appStandRecordApplyService.assignTask(delegateQuery); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/standrecordapply/AppStandRecordApplyService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/standrecordapply/AppStandRecordApplyService.java new file mode 100644 index 0000000000..1d54e587de --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/standrecordapply/AppStandRecordApplyService.java @@ -0,0 +1,191 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.as.standrecordapply; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.terminal.api.as.standrecordapply.AppStandRecordApplyDetailsVo; +import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppDelegateQuery; +import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowDto; +import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowQuery; +import com.yxt.anrui.terminal.api.as.standrecordapply.flowable.AppFlowTaskQuery; +import com.yxt.anrui.terminal.fegin.asstandrecordapply.AsStandRecordApplyDetailsVo; +import com.yxt.anrui.terminal.fegin.asstandrecordapply.AsStandRecordApplyFegin; +import com.yxt.anrui.terminal.fegin.asstandrecordapply.AsStandRecordApplyUrl; +import com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable.*; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@Service +public class AppStandRecordApplyService { + + @Resource + private AsStandRecordApplyFegin asStandRecordApplyFegin; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysUserFeign sysUserFeign; + + public ResultBean fetchDetailsBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + AsStandRecordApplyDetailsVo data = asStandRecordApplyFegin.fetchDetailsBySid(sid).getData(); + AppStandRecordApplyDetailsVo appStandRecordApplyDetailsVo = new AppStandRecordApplyDetailsVo(); + BeanUtil.copyProperties(data,appStandRecordApplyDetailsVo); + appStandRecordApplyDetailsVo.setProcInsId(data.getProcInstId()); + List businessLicenseFile = data.getBusinessLicenseFile(); + List agreementFile = data.getAgreementFile(); + List otherFile = data.getOtherFile(); + ArrayList appBusinessLicenseFile = new ArrayList<>(); + ArrayList appAgreementFile = new ArrayList<>(); + ArrayList appOtherFile = new ArrayList<>(); + for (AsStandRecordApplyUrl asStandRecordApplyUrl : businessLicenseFile) { + appBusinessLicenseFile.add(asStandRecordApplyUrl.getUrl()); + } + for (AsStandRecordApplyUrl asStandRecordApplyUrl : agreementFile) { + appAgreementFile.add(asStandRecordApplyUrl.getUrl()); + } + for (AsStandRecordApplyUrl asStandRecordApplyUrl : otherFile) { + appOtherFile.add(asStandRecordApplyUrl.getUrl()); + } + appStandRecordApplyDetailsVo.setAppBusinessLicenseFile(appBusinessLicenseFile); + appStandRecordApplyDetailsVo.setAppAgreementFile(appAgreementFile); + appStandRecordApplyDetailsVo.setAppOtherFile(appOtherFile); + return rb.success().setData(appStandRecordApplyDetailsVo); + } + + public ResultBean agreeCreditInfo(AppFlowDto dto) { + ResultBean rb = ResultBean.fireFail(); + //根据用户sid获取staffSid + ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + CompleteStandRecordApplyDto completeStandRecordApplyDto = new CompleteStandRecordApplyDto(); + BeanUtil.copyProperties(dto, completeStandRecordApplyDto); + completeStandRecordApplyDto.setOrgSidPath(orgSidPath); + ResultBean resultBean = asStandRecordApplyFegin.complete(completeStandRecordApplyDto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean rejectCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + StandRecordApplyTaskQuery standRecordApplyTaskQuery = new StandRecordApplyTaskQuery(); + BeanUtil.copyProperties(query, standRecordApplyTaskQuery); + ResultBean resultBean = asStandRecordApplyFegin.taskReject(standRecordApplyTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean recallCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + StandRecordApplyTaskQuery standRecordApplyTaskQuery = new StandRecordApplyTaskQuery(); + BeanUtil.copyProperties(query, standRecordApplyTaskQuery); + ResultBean resultBean = asStandRecordApplyFegin.revokeProcess(standRecordApplyTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean stopCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + StandRecordApplyTaskQuery standRecordApplyTaskQuery = new StandRecordApplyTaskQuery(); + BeanUtil.copyProperties(query, standRecordApplyTaskQuery); + ResultBean resultBean = asStandRecordApplyFegin.breakProcess(standRecordApplyTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean getFlowOperateTitle(AppFlowQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + StandRecordApplyNodeQuery getNodeQuery = new StandRecordApplyNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> getPreviousNodesForReject = asStandRecordApplyFegin.getPreviousNodesForReject(getNodeQuery); + if (getPreviousNodesForReject.getSuccess()) { + getPreviousNodesForReject.getData().removeAll(Collections.singleton(null)); + data = getPreviousNodesForReject.getData().get(0).getName(); + } else { + return rb.setMsg(getPreviousNodesForReject.getMsg()); + } + } else if (next == 1) { + ResultBean> getNextNodesForSubmit = asStandRecordApplyFegin.getNextNodesForSubmit(getNodeQuery); + if (getNextNodesForSubmit.getSuccess()) { + getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); + data = getNextNodesForSubmit.getData().get(0).getName(); + } else { + return rb.setMsg(getNextNodesForSubmit.getMsg()); + } + } else { + return rb.setMsg("参数错误:next"); + } + return rb.success().setData(data); + } + + public ResultBean delegate(AppDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + StandRecordApplyDelegateQuery delegateQuery1 = new + StandRecordApplyDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + asStandRecordApplyFegin.delegate(delegateQuery1); + return rb.success(); + } + + public ResultBean assignTask(AppDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + StandRecordApplyDelegateQuery delegateQuery1 = new + StandRecordApplyDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + asStandRecordApplyFegin.assignTask(delegateQuery1); + return rb.success(); + } +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyDetailsVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyDetailsVo.java new file mode 100644 index 0000000000..166fd9ea27 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyDetailsVo.java @@ -0,0 +1,114 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.fegin.asstandrecordapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Project: anrui-scm(合作二级站备案申请)
+ * File: ScmStandRecordApplyVo.java
+ * Class: com.yxt.anrui.scm.api.scmstandrecordapply.ScmStandRecordApplyVo
+ * Description: 合作二级站备案申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-10-22 16:05:59
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "合作二级站备案申请 视图数据详情", description = "合作二级站备案申请 视图数据详情") +public class AsStandRecordApplyDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("创建人sid") + private String createBySid; + @ApiModelProperty("备注") + private String remarks; // 备注 + @ApiModelProperty("申请日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + @ApiModelProperty("创建人姓名") + private String createByName; // 创建人姓名 + @ApiModelProperty("申请编号") + private String billNo; + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("二级站名称") + private String siteName; // 二级站名称 + @ApiModelProperty("法人") + private String legalPerson; // 法人 + @ApiModelProperty("法人电话") + private String phone; // 法人电话 + @ApiModelProperty("负责人") + private String directorName; // 负责人 + @ApiModelProperty("负责人电话") + private String directorPhone; // 负责人电话 + @ApiModelProperty("社会统一信用代码") + private String unifiedCreditCode; // 社会统一信用代码 + @ApiModelProperty("证件有效期") + private String termValidity; // 证件有效期 + @ApiModelProperty("地址") + private String address; // 地址 + @ApiModelProperty("合作有效期") + private String limitedTerm; // 合作有效期 + @ApiModelProperty("授信金额") + private BigDecimal creditGranting; // 授信金额 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("环节定义的sid") + private String nodeSid; // 环节定义的sid + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("taskId") + private String taskId; // taskId + @ApiModelProperty("营业执照") + private List businessLicenseFile = new ArrayList<>(); + @ApiModelProperty("合作协议") + private List agreementFile = new ArrayList<>(); + @ApiModelProperty("其他资料") + private List otherFile = new ArrayList<>(); +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyFegin.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyFegin.java new file mode 100644 index 0000000000..614d8bf8e4 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyFegin.java @@ -0,0 +1,59 @@ +package com.yxt.anrui.terminal.fegin.asstandrecordapply; + +import com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable.*; +import com.yxt.anrui.terminal.fegin.astechtitleapply.flowable.*; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +@FeignClient( + contextId = "yxt-as-AsStandRecordApply", + name = "yxt-as", + path = "v1/secondaryCooperativeStation" +) +public interface AsStandRecordApplyFegin { + + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchDetailsBySid/{sid}") + @ResponseBody + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody CompleteStandRecordApplyDto query); + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap StandRecordApplyNodeQuery query); + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap StandRecordApplyNodeQuery query); + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean taskReject(@Valid @RequestBody StandRecordApplyTaskQuery query); + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@Valid @RequestBody StandRecordApplyTaskQuery query); + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@Valid @RequestBody StandRecordApplyTaskQuery query); + + @ApiOperation(value = "加签") + @PostMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody StandRecordApplyDelegateQuery query); + + @ApiOperation(value = "转办") + @PutMapping(value = "/assignTask") + @ResponseBody + public ResultBean assignTask(@RequestBody StandRecordApplyDelegateQuery query); +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyUrl.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyUrl.java new file mode 100644 index 0000000000..3e764cce90 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/AsStandRecordApplyUrl.java @@ -0,0 +1,35 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.fegin.asstandrecordapply; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +@Data +public class AsStandRecordApplyUrl implements Vo { + + private String url; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/CompleteStandRecordApplyDto.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/CompleteStandRecordApplyDto.java new file mode 100644 index 0000000000..aefb8c9a42 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/CompleteStandRecordApplyDto.java @@ -0,0 +1,35 @@ +package com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class CompleteStandRecordApplyDto { + + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "用户全路径sid") + private String orgSidPath; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:instanceId") + private String instanceId; + @ApiModelProperty(value = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyDelegateQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyDelegateQuery.java new file mode 100644 index 0000000000..88d549b931 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyDelegateQuery.java @@ -0,0 +1,23 @@ +package com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class StandRecordApplyDelegateQuery { + + private String userSid; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyNodeQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyNodeQuery.java new file mode 100644 index 0000000000..8a96d5a11f --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyNodeQuery.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class StandRecordApplyNodeQuery { + + @ApiModelProperty(value = "环节定义id") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyNodeVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyNodeVo.java new file mode 100644 index 0000000000..ebda7311b1 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyNodeVo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class StandRecordApplyNodeVo { + + @ApiModelProperty(value = "节点名称") + private String name; + @ApiModelProperty(value = "节点id") + private String id; + @ApiModelProperty(value = "审批组") + private List candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyTaskQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyTaskQuery.java new file mode 100644 index 0000000000..7bd4442265 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asstandrecordapply/flowable/StandRecordApplyTaskQuery.java @@ -0,0 +1,43 @@ +package com.yxt.anrui.terminal.fegin.asstandrecordapply.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class StandRecordApplyTaskQuery { + + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + private String instanceId; +} 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 8b4fdb6ec2..98065eef38 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 @@ -47,9 +47,16 @@ public class BaseGoodsSkuExtendRest { public ResultBean delete(@PathVariable("sid") String sid) { return baseGoodsSkuExtendService.delete(sid); } + @ApiOperation("更改可用状态") @GetMapping("/updateIsEnable/{sid}/{isEnable}") public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable) { return baseGoodsSkuExtendService.updateIsEnable(sid,isEnable); } + + @ApiOperation("根据skuSid修改销售单价") + @PostMapping("/updateSalesPrice") + ResultBean updateSalesPrice(@RequestParam("skuSid") String skuSid,@RequestParam("salesPrice") String salesPrice){ + return baseGoodsSkuExtendService.updateSalesPrice(skuSid,salesPrice); + } } diff --git a/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuRest.java b/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuRest.java index 6f29888fb9..6310c0a22f 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuRest.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSkuRest.java @@ -87,4 +87,12 @@ public class BaseGoodsSkuRest { List goodsDeptVos = baseGoodsSkuService.selectGoods(name,orgPath); return rb.success().setData(goodsDeptVos); } + + @ApiOperation("根据商品类别sid查询对应的skusid") + @PostMapping("/fetchSkuSid") + ResultBean> fetchSkuSid(@RequestParam("goodTypeSid") String goodTypeSid) { + ResultBean rb = ResultBean.fireFail(); + List skuSids = baseGoodsSkuService.fetchSkuSid(goodTypeSid); + return rb.success().setData(skuSids); + } } diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.java index cc533a2244..dd688eac58 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.java @@ -29,4 +29,6 @@ public interface BaseGoodsSkuMapper extends BaseMapper { IPage getGoodsListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); List selectGoods(@Param("name") String name, @Param("useOrgSid") String useOrgSid); + + List fetchSkuSid(String goodTypeSid); } diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.xml b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.xml index d94a428dd0..d764835a0a 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.xml +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.xml @@ -96,4 +96,14 @@ , '%') + + diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuService.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuService.java index 20da8960e0..da67297c3d 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuService.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuService.java @@ -264,4 +264,8 @@ public class BaseGoodsSkuService extends MybatisBaseService fetchSkuSid(String goodTypeSid) { + return baseMapper.fetchSkuSid(goodTypeSid); + } } 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 17f75a5e27..66079e9db1 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.Update; /** * @author wangpengfei @@ -15,6 +16,11 @@ import org.apache.ibatis.annotations.Param; public interface BaseGoodsSkuExtendMapper extends BaseMapper { IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - BaseGoodsSkuExtendVo getExtendBySkuSid(@Param("skuSid")String skuSid); - BaseGoodsSkuExtendVo getExtendBySid(@Param("sid")String sid); + + BaseGoodsSkuExtendVo getExtendBySkuSid(@Param("skuSid") String skuSid); + + BaseGoodsSkuExtendVo getExtendBySid(@Param("sid") String sid); + + @Update("update base_goods_sku_extend set salesPrice = #{salesPrice} where goodsSkuSid = #{skuSid}") + void updateSalesPrice(@Param("skuSid") String skuSid, @Param("salesPrice") String salesPrice); } 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 8a0fa2e3ce..f2d7987953 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 @@ -50,8 +50,8 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService qw = new QueryWrapper<>(); - if(StringUtils.isNotBlank(query.getName())){ - qw.like("goodsName",query.getName()); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("goodsName", query.getName()); } IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.listPage(page, qw); @@ -67,12 +67,13 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService saveOrUpdate(BaseGoodsSkuExtendDto dto) { ResultBean rb = ResultBean.fireFail(); String sid = ""; - BaseGoodsSkuExtend extend=baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid())); - if (null!=extend) { + BaseGoodsSkuExtend extend = baseMapper.selectOne(new QueryWrapper().eq("sid", dto.getSid())); + if (null != extend) { sid = dto.getSid(); BaseGoodsSkuExtend wmsGoods = fetchBySid(dto.getSid()); BeanUtil.copyProperties(dto, wmsGoods); @@ -81,10 +82,10 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService selSid(@RequestParam("goodsTypeSid") String goodsTypeSid,@RequestParam("deptSid") String deptSid){ + return smsPricestrategyBillDetailService.selSid(goodsTypeSid,deptSid); + } } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsPricestrategyBillGoodstypedetailRest.java b/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsPricestrategyBillGoodstypedetailRest.java index e0f0e56c58..94a2c2f0f2 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsPricestrategyBillGoodstypedetailRest.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsPricestrategyBillGoodstypedetailRest.java @@ -25,15 +25,16 @@ *********************************************************/ package com.yxt.sms.apiadmin; -import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; -import com.yxt.common.core.vo.PagerVo; -import com.yxt.sms.biz.smspricestrategybillgoodstypedetail.*; +import com.yxt.sms.biz.smspricestrategybillgoodstypedetail.SmsPricestrategyBillGoodstypedetailDetailsVo; +import com.yxt.sms.biz.smspricestrategybillgoodstypedetail.SmsPricestrategyBillGoodstypedetailService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * Project: yxt-sms(价格策略)
* File: SmsPricestrategyBillGoodstypedetailFeignFallback.java
@@ -52,4 +53,14 @@ import org.springframework.web.bind.annotation.*; @RequestMapping("v1/smspricestrategybillgoodstypedetail") public class SmsPricestrategyBillGoodstypedetailRest { + @Autowired + private SmsPricestrategyBillGoodstypedetailService smsPricestrategyBillGoodstypedetailService; + + @ApiOperation("根据定调价明细sid查询") + @GetMapping("/selByMainSid") + public ResultBean> selByMainSid(@RequestParam("mainSid") String mainSid){ + ResultBean rb = ResultBean.fireFail(); + List smsPricestrategyBillGoodstypedetailDetailsVos = smsPricestrategyBillGoodstypedetailService.selByMainSid(mainSid); + return rb.success().setData(smsPricestrategyBillGoodstypedetailDetailsVos); + } } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybill/SmsPricestrategyBillService.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybill/SmsPricestrategyBillService.java index c394b4a049..ca311b36ec 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybill/SmsPricestrategyBillService.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybill/SmsPricestrategyBillService.java @@ -55,6 +55,10 @@ import com.yxt.sms.feign.portal.sysstafforg.SysStaffOrgFeign; import com.yxt.sms.feign.portal.sysuserrole.SysUserRoleFeign; import com.yxt.sms.feign.privilege.PrivilegeQuery; import com.yxt.sms.feign.sysuser.SysUserFeign; +import com.yxt.sms.feign.wms.wmsinventory.WmsInventoryFeign; +import com.yxt.sms.feign.wms.wmsinventoryrecord.WmsInventoryRecordFeign; +import com.yxt.sms.feign.yxtbase.BaseGoodsSkuExtendFeign; +import com.yxt.sms.feign.yxtbase.BaseGoodsSkuFeign; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -65,6 +69,8 @@ import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; import java.util.concurrent.*; import java.util.stream.Collectors; @@ -85,585 +91,623 @@ import java.util.stream.Collectors; @Service public class SmsPricestrategyBillService extends MybatisBaseService { - @Autowired - private SmsPricestrategyBillDetailService smsPricestrategyBillDetailService; - @Autowired - private SmsPricestrategyBillGoodstypedetailService smsPricestrategyBillGoodstypedetailService; - @Autowired - private SysOrganizationFeign sysOrganizationFeign; - @Autowired - private SysStaffOrgFeign sysStaffOrgFeign; - @Autowired - private FlowableFeign flowableFeign; - @Autowired - private FlowTaskFeign flowTaskFeign; - @Autowired - private FlowFeign flowFeign; - @Autowired - private MessageFeign messageFeign; - @Autowired - private SysUserFeign sysUserFeign; - @Autowired - private SysUserRoleFeign sysUserRoleFeign; - - public PagerVo listPageVo(PagerQuery pq) { - SmsPricestrategyBillQuery query = pq.getParams(); - QueryWrapper qw = new QueryWrapper<>(); - //========================================数据授权开始 - if (StringUtils.isNotBlank(query.getMenuUrl())) { - PrivilegeQuery privilegeQuery = new PrivilegeQuery(); - privilegeQuery.setOrgPath(query.getOrgPath()); - privilegeQuery.setMenuUrl(query.getMenuUrl()); - privilegeQuery.setUserSid(query.getUserSid()); - ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); - if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { - //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) - String orgSidPath = query.getOrgPath(); - orgSidPath = orgSidPath + "/"; - int i1 = orgSidPath.indexOf("/"); - int i2 = orgSidPath.indexOf("/", i1 + 1); - int i3 = orgSidPath.indexOf("/", i2 + 1); - int i4 = orgSidPath.indexOf("/", i3 + 1); - String orgLevelKey = defaultIdReltBean.getData(); - if ("1".equals(orgLevelKey)) { - orgSidPath = orgSidPath.substring(0, i1); - qw.like("s.orgSidPath", orgSidPath); - } else if ("2".equals(orgLevelKey)) { - orgSidPath = orgSidPath.substring(0, i2); - qw.like("s.orgSidPath", orgSidPath); - } else if ("3".equals(orgLevelKey)) { - orgSidPath = orgSidPath.substring(0, i3); - qw.like("s.orgSidPath", orgSidPath); - } else if ("4".equals(orgLevelKey)) { - orgSidPath = orgSidPath.substring(0, i4); - qw.like("s.orgSidPath", orgSidPath); - } else if ("5".equals(orgLevelKey)) { - qw.eq("sb.createBySid", query.getUserSid()); - } else { - PagerVo p = new PagerVo<>(); - return p; - } - } else { - PagerVo p = new PagerVo<>(); - return p; - } - } - if (StringUtils.isNotBlank(query.getUseOrgName())) { - qw.like("sb.useOrgName", query.getUseOrgName()); - } - if (StringUtils.isNotBlank(query.getDeptName())) { - qw.like("sb.deptName", query.getDeptName()); - } - if (StringUtils.isNotBlank(query.getCreateByName())) { - qw.like("sb.createByName", query.getCreateByName()); - } - if (StringUtils.isNotBlank(query.getBillNo())) { - qw.like("sb.billNo", query.getBillNo()); - } - String createStartTime = query.getCreateStartTime(); - String createEndTime = query.getCreateEndTime(); - qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (sb.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). - apply(StringUtils.isNotEmpty(createEndTime), "date_format (sb.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" - ); - String finishStartTime = query.getFinishStartTime(); - String finishEndTime = query.getFinishEndTime(); - qw.apply(StringUtils.isNotEmpty(finishStartTime), "date_format (sb.finishTime,'%Y-%m-%d') >= date_format('" + finishStartTime + "','%Y-%m-%d')"). - apply(StringUtils.isNotEmpty(finishEndTime), "date_format (sb.finishTime,'%Y-%m-%d') <= date_format('" + finishEndTime + "','%Y-%m-%d')" - ); - qw.orderByDesc("sb.createTime"); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - - public String saveOrUpdateDto(SmsPricestrategyBillDto dto){ + @Autowired + private SmsPricestrategyBillDetailService smsPricestrategyBillDetailService; + @Autowired + private SmsPricestrategyBillGoodstypedetailService smsPricestrategyBillGoodstypedetailService; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private FlowableFeign flowableFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + @Autowired + private FlowFeign flowFeign; + @Autowired + private MessageFeign messageFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private SysUserRoleFeign sysUserRoleFeign; + @Autowired + private BaseGoodsSkuFeign baseGoodsSkuFeign; + @Resource + private WmsInventoryFeign wmsInventoryFeign; + @Autowired + private WmsInventoryRecordFeign wmsInventoryRecordFeign; + @Autowired + private BaseGoodsSkuExtendFeign baseGoodsSkuExtendFeign; + + public PagerVo listPageVo(PagerQuery pq) { + SmsPricestrategyBillQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("sb.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("sb.useOrgName", query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getDeptName())) { + qw.like("sb.deptName", query.getDeptName()); + } + if (StringUtils.isNotBlank(query.getCreateByName())) { + qw.like("sb.createByName", query.getCreateByName()); + } + if (StringUtils.isNotBlank(query.getBillNo())) { + qw.like("sb.billNo", query.getBillNo()); + } + String createStartTime = query.getCreateStartTime(); + String createEndTime = query.getCreateEndTime(); + qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (sb.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(createEndTime), "date_format (sb.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + String finishStartTime = query.getFinishStartTime(); + String finishEndTime = query.getFinishEndTime(); + qw.apply(StringUtils.isNotEmpty(finishStartTime), "date_format (sb.finishTime,'%Y-%m-%d') >= date_format('" + finishStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(finishEndTime), "date_format (sb.finishTime,'%Y-%m-%d') <= date_format('" + finishEndTime + "','%Y-%m-%d')" + ); + qw.orderByDesc("sb.createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public String saveOrUpdateDto(SmsPricestrategyBillDto dto) { + String dtoSid = dto.getSid(); + List smsPricestrategyBillDetailList = dto.getSmsPricestrategyBillDetailList(); + String deptSid = dto.getDeptSid(); + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(deptSid).getData(); + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(deptVo.getOrgSidPath()).getData(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); + dto.setUseOrgSid(useOrgSid); + dto.setUseOrgName(organizationVo.getName()); + if (StringUtils.isBlank(dtoSid)) { + //生成单据编号 + String billNo = ""; + String date = DateUtil.format(DateUtil.date(), "yyyyMM"); + billNo = "JGCL" + organizationVo.getOrgCode() + date; + String i = baseMapper.selectNum(billNo); + if (StringUtils.isNotBlank(i)) { + billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); + } else { + billNo = Rule.getBillNo(billNo, 0); + } + dto.setBillNo(billNo); + String sid = this.insertByDto(dto); + for (SmsPricestrategyBillDetailDto smsPricestrategyBillDetailDto : smsPricestrategyBillDetailList) { + smsPricestrategyBillDetailDto.setMainSid(sid); + String sid1 = smsPricestrategyBillDetailService.saveOrUpdateDto(smsPricestrategyBillDetailDto); + if (smsPricestrategyBillDetailDto.getStrategyType() == 1) { + SmsPricestrategyBillGoodstypedetailDto smsPricestrategyBillGoodstypedetailDto = new SmsPricestrategyBillGoodstypedetailDto(); + smsPricestrategyBillGoodstypedetailDto.setDetailSid(sid1); + smsPricestrategyBillGoodstypedetailDto.setMarkupRate(smsPricestrategyBillDetailDto.getGdMarkupRate()); + smsPricestrategyBillGoodstypedetailDto.setRangeStart(new BigDecimal("0")); + smsPricestrategyBillGoodstypedetailDto.setRangeEnd(new BigDecimal("99999999")); + smsPricestrategyBillGoodstypedetailService.saveOrUpdateDto(smsPricestrategyBillGoodstypedetailDto); + } else { + List smsPricestrategyBillGoodstypedetailList = smsPricestrategyBillDetailDto.getSmsPricestrategyBillGoodstypedetailList(); + for (SmsPricestrategyBillGoodstypedetailDto smsPricestrategyBillGoodstypedetailDto : smsPricestrategyBillGoodstypedetailList) { + smsPricestrategyBillGoodstypedetailDto.setDetailSid(sid1); + smsPricestrategyBillGoodstypedetailService.saveOrUpdateDto(smsPricestrategyBillGoodstypedetailDto); + } + } + } + return sid; + } + this.updateByDto(dto); + List smsPricestrategyBillDetailDetailsVos = smsPricestrategyBillDetailService.selByMainSid(dtoSid); + for (SmsPricestrategyBillDetailDetailsVo smsPricestrategyBillDetailDetailsVo : smsPricestrategyBillDetailDetailsVos) { + smsPricestrategyBillGoodstypedetailService.delByMainSid(smsPricestrategyBillDetailDetailsVo.getSid()); + } + smsPricestrategyBillDetailService.delByMainSid(dtoSid); + for (SmsPricestrategyBillDetailDto smsPricestrategyBillDetailDto : smsPricestrategyBillDetailList) { + smsPricestrategyBillDetailDto.setMainSid(dtoSid); + String sid1 = smsPricestrategyBillDetailService.saveOrUpdateDto(smsPricestrategyBillDetailDto); + if (smsPricestrategyBillDetailDto.getStrategyType() == 1) { + SmsPricestrategyBillGoodstypedetailDto smsPricestrategyBillGoodstypedetailDto = new SmsPricestrategyBillGoodstypedetailDto(); + smsPricestrategyBillGoodstypedetailDto.setDetailSid(sid1); + smsPricestrategyBillGoodstypedetailDto.setMarkupRate(smsPricestrategyBillDetailDto.getGdMarkupRate()); + smsPricestrategyBillGoodstypedetailService.saveOrUpdateDto(smsPricestrategyBillGoodstypedetailDto); + } else { + List smsPricestrategyBillGoodstypedetailList = smsPricestrategyBillDetailDto.getSmsPricestrategyBillGoodstypedetailList(); + for (SmsPricestrategyBillGoodstypedetailDto smsPricestrategyBillGoodstypedetailDto : smsPricestrategyBillGoodstypedetailList) { + smsPricestrategyBillGoodstypedetailDto.setDetailSid(sid1); + smsPricestrategyBillGoodstypedetailService.saveOrUpdateDto(smsPricestrategyBillGoodstypedetailDto); + } + } + } + return dtoSid; + } + + public String insertByDto(SmsPricestrategyBillDto dto) { + SmsPricestrategyBill entity = new SmsPricestrategyBill(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + entity.setNodeState("待提交"); + baseMapper.insert(entity); + return entity.getSid(); + } + + public void updateByDto(SmsPricestrategyBillDto dto) { String dtoSid = dto.getSid(); - List smsPricestrategyBillDetailList = dto.getSmsPricestrategyBillDetailList(); - String deptSid = dto.getDeptSid(); - SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(deptSid).getData(); - String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(deptVo.getOrgSidPath()).getData(); - SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); - dto.setUseOrgSid(useOrgSid); - dto.setUseOrgName(organizationVo.getName()); - if (StringUtils.isBlank(dtoSid)) { - //生成单据编号 - String billNo = ""; - String date = DateUtil.format(DateUtil.date(), "yyyyMM"); - billNo = "JGCL" + organizationVo.getOrgCode() + date; - String i = baseMapper.selectNum(billNo); - if (StringUtils.isNotBlank(i)) { - billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); - } else { - billNo = Rule.getBillNo(billNo, 0); - } - dto.setBillNo(billNo); - String sid = this.insertByDto(dto); - for (SmsPricestrategyBillDetailDto smsPricestrategyBillDetailDto : smsPricestrategyBillDetailList) { - smsPricestrategyBillDetailDto.setMainSid(sid); - String sid1 = smsPricestrategyBillDetailService.saveOrUpdateDto(smsPricestrategyBillDetailDto); - if (smsPricestrategyBillDetailDto.getStrategyType() == 1){ - SmsPricestrategyBillGoodstypedetailDto smsPricestrategyBillGoodstypedetailDto = new SmsPricestrategyBillGoodstypedetailDto(); - smsPricestrategyBillGoodstypedetailDto.setDetailSid(sid1); - smsPricestrategyBillGoodstypedetailDto.setMarkupRate(smsPricestrategyBillDetailDto.getGdMarkupRate()); - smsPricestrategyBillGoodstypedetailService.saveOrUpdateDto(smsPricestrategyBillGoodstypedetailDto); - }else { - List smsPricestrategyBillGoodstypedetailList = smsPricestrategyBillDetailDto.getSmsPricestrategyBillGoodstypedetailList(); - for (SmsPricestrategyBillGoodstypedetailDto smsPricestrategyBillGoodstypedetailDto : smsPricestrategyBillGoodstypedetailList) { - smsPricestrategyBillGoodstypedetailDto.setDetailSid(sid1); - smsPricestrategyBillGoodstypedetailService.saveOrUpdateDto(smsPricestrategyBillGoodstypedetailDto); - } - } - } - return sid; - } - this.updateByDto(dto); - List smsPricestrategyBillDetailDetailsVos = smsPricestrategyBillDetailService.selByMainSid(dtoSid); - for (SmsPricestrategyBillDetailDetailsVo smsPricestrategyBillDetailDetailsVo : smsPricestrategyBillDetailDetailsVos) { - smsPricestrategyBillGoodstypedetailService.delByMainSid(smsPricestrategyBillDetailDetailsVo.getSid()); - } - smsPricestrategyBillDetailService.delByMainSid(dtoSid); - for (SmsPricestrategyBillDetailDto smsPricestrategyBillDetailDto : smsPricestrategyBillDetailList) { - smsPricestrategyBillDetailDto.setMainSid(dtoSid); - String sid1 = smsPricestrategyBillDetailService.saveOrUpdateDto(smsPricestrategyBillDetailDto); - if (smsPricestrategyBillDetailDto.getStrategyType() == 1){ - SmsPricestrategyBillGoodstypedetailDto smsPricestrategyBillGoodstypedetailDto = new SmsPricestrategyBillGoodstypedetailDto(); - smsPricestrategyBillGoodstypedetailDto.setDetailSid(sid1); - smsPricestrategyBillGoodstypedetailDto.setMarkupRate(smsPricestrategyBillDetailDto.getGdMarkupRate()); - smsPricestrategyBillGoodstypedetailService.saveOrUpdateDto(smsPricestrategyBillGoodstypedetailDto); - }else { - List smsPricestrategyBillGoodstypedetailList = smsPricestrategyBillDetailDto.getSmsPricestrategyBillGoodstypedetailList(); - for (SmsPricestrategyBillGoodstypedetailDto smsPricestrategyBillGoodstypedetailDto : smsPricestrategyBillGoodstypedetailList) { - smsPricestrategyBillGoodstypedetailDto.setDetailSid(sid1); - smsPricestrategyBillGoodstypedetailService.saveOrUpdateDto(smsPricestrategyBillGoodstypedetailDto); - } - } - } - return dtoSid; - } - - public String insertByDto(SmsPricestrategyBillDto dto){ - SmsPricestrategyBill entity = new SmsPricestrategyBill(); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - entity.setNodeState("待提交"); - baseMapper.insert(entity); - return entity.getSid(); - } - - public void updateByDto(SmsPricestrategyBillDto dto){ - String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { return; - } - SmsPricestrategyBill entity = fetchBySid(dtoSid); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.updateById(entity); - } - - public SmsPricestrategyBillDetailsVo fetchDetailsVoBySid(String sid){ - SmsPricestrategyBill entity = fetchBySid(sid); - SmsPricestrategyBillDetailsVo vo = new SmsPricestrategyBillDetailsVo(); - BeanUtil.copyProperties(entity, vo); - List smsPricestrategyBillDetailDetailsVos = smsPricestrategyBillDetailService.selByMainSid(sid); - vo.setSmsPricestrategyBillDetailList(smsPricestrategyBillDetailDetailsVos); - for (SmsPricestrategyBillDetailDetailsVo smsPricestrategyBillDetailDetailsVo : smsPricestrategyBillDetailDetailsVos) { - List smsPricestrategyBillGoodstypedetailDetailsVos = smsPricestrategyBillGoodstypedetailService.selByMainSid(smsPricestrategyBillDetailDetailsVo.getSid()); - if (smsPricestrategyBillDetailDetailsVo.getStrategyType() == 1){ - SmsPricestrategyBillGoodstypedetailDetailsVo smsPricestrategyBillGoodstypedetailDetailsVo = smsPricestrategyBillGoodstypedetailDetailsVos.get(0); - smsPricestrategyBillDetailDetailsVo.setGdMarkupRate(smsPricestrategyBillGoodstypedetailDetailsVo.getMarkupRate()); - }else { - smsPricestrategyBillDetailDetailsVo.setSmsPricestrategyBillGoodstypedetailList(smsPricestrategyBillGoodstypedetailDetailsVos); - } - } - return vo; - } + } + SmsPricestrategyBill entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } - public ResultBean delAll(String[] sids) { - ResultBean rb = ResultBean.fireFail(); - //查询该sid中是否有流程不是待提交的 - int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); - if (count > 0) { - return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败"); - } - delBySids(sids); - for (String sid : sids) { - List smsPricestrategyBillDetailDetailsVos = smsPricestrategyBillDetailService.selByMainSid(sid); - for (SmsPricestrategyBillDetailDetailsVo smsPricestrategyBillDetailDetailsVo : smsPricestrategyBillDetailDetailsVos) { - smsPricestrategyBillGoodstypedetailService.delByMainSid(smsPricestrategyBillDetailDetailsVo.getSid()); - } - smsPricestrategyBillDetailService.delByMainSid(sid); - } - return rb.success(); - } + public SmsPricestrategyBillDetailsVo fetchDetailsVoBySid(String sid) { + SmsPricestrategyBill entity = fetchBySid(sid); + SmsPricestrategyBillDetailsVo vo = new SmsPricestrategyBillDetailsVo(); + BeanUtil.copyProperties(entity, vo); + List smsPricestrategyBillDetailDetailsVos = smsPricestrategyBillDetailService.selByMainSid(sid); + vo.setSmsPricestrategyBillDetailList(smsPricestrategyBillDetailDetailsVos); + for (SmsPricestrategyBillDetailDetailsVo smsPricestrategyBillDetailDetailsVo : smsPricestrategyBillDetailDetailsVos) { + List smsPricestrategyBillGoodstypedetailDetailsVos = smsPricestrategyBillGoodstypedetailService.selByMainSid(smsPricestrategyBillDetailDetailsVo.getSid()); + if (smsPricestrategyBillDetailDetailsVo.getStrategyType() == 1) { + SmsPricestrategyBillGoodstypedetailDetailsVo smsPricestrategyBillGoodstypedetailDetailsVo = smsPricestrategyBillGoodstypedetailDetailsVos.get(0); + smsPricestrategyBillDetailDetailsVo.setGdMarkupRate(smsPricestrategyBillGoodstypedetailDetailsVo.getMarkupRate()); + } else { + smsPricestrategyBillDetailDetailsVo.setSmsPricestrategyBillGoodstypedetailList(smsPricestrategyBillGoodstypedetailDetailsVos); + } + } + return vo; + } - public ResultBean submit(SubmitSmsPricestrategyBillDto dto) { - ResultBean rb = ResultBean.fireFail(); - SmsPricestrategyBill smsPricestrategyBill = fetchBySid(dto.getSid()); - int r = submitBusinessData(dto, smsPricestrategyBill); - if (r == 3) { - return rb.setMsg("该申请不存在"); - } - if (r == 0) { - return rb.setMsg("操作失败!提交的数据不一致"); - } - //新增修改保存 - String businessSid = saveOrUpdateDto(dto); - smsPricestrategyBill = fetchBySid(businessSid); - //创建BusinessVariables实体对象 - BusinessVariables bv = new BusinessVariables(); - //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 - Map variables = new HashMap<>(); - //用户的部门全路径sid - SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(smsPricestrategyBill.getDeptSid()).getData(); - bv.setOrgSidPath(deptVo.getOrgSidPath()); - //业务sid - bv.setBusinessSid(businessSid); - //用户sid - bv.setUserSid(smsPricestrategyBill.getCreateBySid()); - //若app移动端有此功能,则传递appMap参数 - Map appMap = new HashMap<>(); - appMap.put("sid", businessSid); - //需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。 - variables.put("app", appMap); - //判断发起人是否为配件主管 - String createBySid = smsPricestrategyBill.getCreateBySid(); - List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); - variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); - //流程定义id - bv.setModelId(ProcDefEnum.SMSPRICESTRATEGYBILL.getProDefId()); - bv.setFormVariables(variables); - if (r == 1) { - ResultBean voResultBean = flowFeign.startProcess(bv); - UpdateFlowFieldVo ufVo = voResultBean.getData(); - updateFlowFiled(BeanUtil.beanToMap(ufVo)); - //极光推送 - smsPricestrategyBill = fetchBySid(businessSid); - //==================================添加线程 - try { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("demo-pool-%d").build(); - ExecutorService pool = new ThreadPoolExecutor(2, 100, - 0L, TimeUnit.MILLISECONDS, - new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - SmsPricestrategyBill pricestrategyBill = smsPricestrategyBill; - Future future1 = pool.submit(() -> { - //极光推送 - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName("价格策略申请"); - messageFlowableQuery.setMsgContent(pricestrategyBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle("价格策略申请"); - messageFeign.pushMessage(messageFlowableQuery); - }); - } catch (Exception e) { - e.printStackTrace(); - } - //==================================添加线程 - return voResultBean; - } - if (r == 2) { - // ToDo:驳回到发起人后再次提交 - if (StringUtils.isBlank(dto.getInstanceId())) { - return rb.setMsg("参数错误:instanceId"); - } - bv.setTaskId(smsPricestrategyBill.getTaskId()); - bv.setTaskDefKey(smsPricestrategyBill.getNodeId()); - bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); - bv.setInstanceId(dto.getInstanceId()); - return complete(bv); - } - return rb; - } + public ResultBean delAll(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + //查询该sid中是否有流程不是待提交的 + int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); + if (count > 0) { + return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败"); + } + delBySids(sids); + for (String sid : sids) { + List smsPricestrategyBillDetailDetailsVos = smsPricestrategyBillDetailService.selByMainSid(sid); + for (SmsPricestrategyBillDetailDetailsVo smsPricestrategyBillDetailDetailsVo : smsPricestrategyBillDetailDetailsVos) { + smsPricestrategyBillGoodstypedetailService.delByMainSid(smsPricestrategyBillDetailDetailsVo.getSid()); + } + smsPricestrategyBillDetailService.delByMainSid(sid); + } + return rb.success(); + } - private synchronized int submitBusinessData(SubmitSmsPricestrategyBillDto dto, SmsPricestrategyBill smsPricestrategyBill) { - int r = 0; - if (StringUtils.isBlank(dto.getSid())) { - r = 1; - } else { - if (smsPricestrategyBill != null) { - String businessTaskId = smsPricestrategyBill.getTaskId(); - if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { - //新提交 - r = 1; - } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { - //二次提交//只有数据一致的时候才能进行下一步 - r = 2; - } - } else { - r = 3; - } + public ResultBean submit(SubmitSmsPricestrategyBillDto dto) { + ResultBean rb = ResultBean.fireFail(); + SmsPricestrategyBill smsPricestrategyBill = fetchBySid(dto.getSid()); + int r = submitBusinessData(dto, smsPricestrategyBill); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + //新增修改保存 + String businessSid = saveOrUpdateDto(dto); + smsPricestrategyBill = fetchBySid(businessSid); + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //用户的部门全路径sid + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(smsPricestrategyBill.getDeptSid()).getData(); + bv.setOrgSidPath(deptVo.getOrgSidPath()); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(smsPricestrategyBill.getCreateBySid()); + //若app移动端有此功能,则传递appMap参数 + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + //需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。 + variables.put("app", appMap); + //判断发起人是否为配件主管 + String createBySid = smsPricestrategyBill.getCreateBySid(); + List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); + variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); + //流程定义id + bv.setModelId(ProcDefEnum.SMSPRICESTRATEGYBILL.getProDefId()); + bv.setFormVariables(variables); + if (r == 1) { + ResultBean voResultBean = flowFeign.startProcess(bv); + UpdateFlowFieldVo ufVo = voResultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(ufVo)); + //极光推送 + smsPricestrategyBill = fetchBySid(businessSid); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + SmsPricestrategyBill pricestrategyBill = smsPricestrategyBill; + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("价格策略申请"); + messageFlowableQuery.setMsgContent(pricestrategyBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("价格策略申请"); + messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + return voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + bv.setTaskId(smsPricestrategyBill.getTaskId()); + bv.setTaskDefKey(smsPricestrategyBill.getNodeId()); + bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } - } - return r; - } + private synchronized int submitBusinessData(SubmitSmsPricestrategyBillDto dto, SmsPricestrategyBill smsPricestrategyBill) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (smsPricestrategyBill != null) { + String businessTaskId = smsPricestrategyBill.getTaskId(); + if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { + //新提交 + r = 1; + } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { + //二次提交//只有数据一致的时候才能进行下一步 + r = 2; + } + } else { + r = 3; + } - private int updateFlowFiled(Map map) { - return baseMapper.updateFlowFiled(map); - } + } + return r; + } - public ResultBean complete(BusinessVariables bv) { - ResultBean rb = ResultBean.fireFail(); - String businessSid = bv.getBusinessSid(); - SmsPricestrategyBill smsPricestrategyBill = fetchBySid(businessSid); - Map variables = new HashMap<>(); - //判断发起人是否为配件主管 - String createBySid = smsPricestrategyBill.getCreateBySid(); - List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); - variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); - Map appMap = new HashMap<>(); - appMap.put("sid", businessSid); - variables.put("app", appMap); - FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); - if (StringUtils.isBlank(smsPricestrategyBill.getProcDefId())) { - flowProcessMapQuery.setProDefKey(bv.getModelId()); - } else { - flowProcessMapQuery.setProDefKey(smsPricestrategyBill.getProcDefId()); - } - flowProcessMapQuery.setVariables(variables); - variables = flowableFeign.getMap(flowProcessMapQuery).getData(); - //======================================= - bv.setFormVariables(variables); - SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(smsPricestrategyBill.getDeptSid()).getData(); - bv.setOrgSidPath(deptVo.getOrgSidPath()); - if (bv.getTaskId().equals(smsPricestrategyBill.getTaskId())) { - ResultBean resultBean = flowFeign.handleProsess(bv); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - UpdateFlowFieldVo ufVo = resultBean.getData(); - updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); - if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + private int updateFlowFiled(Map map) { + return baseMapper.updateFlowFiled(map); + } - } else { - //极光推送 - smsPricestrategyBill = fetchBySid(businessSid); - //==================================添加线程 - try { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("demo-pool-%d").build(); - ExecutorService pool = new ThreadPoolExecutor(2, 100, - 0L, TimeUnit.MILLISECONDS, - new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - SmsPricestrategyBill pricestrategyBill = smsPricestrategyBill; - Future future1 = pool.submit(() -> { - //极光推送 - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - ufVo.setProcDefId(pricestrategyBill.getProcDefId()); - ufVo.setProcInsId(pricestrategyBill.getProcInstId()); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName("价格策略申请"); - messageFlowableQuery.setMsgContent(pricestrategyBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle("价格策略申请"); - messageFeign.pushMessage(messageFlowableQuery); - }); - } catch (Exception e) { - e.printStackTrace(); - } - //==================================添加线程 - } - return rb.success().setData(resultBean.getData()); - } else { - return rb.setMsg("操作失败!提交的数据不一致"); - } - } + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = bv.getBusinessSid(); + SmsPricestrategyBill smsPricestrategyBill = fetchBySid(businessSid); + Map variables = new HashMap<>(); + //判断发起人是否为配件主管 + String createBySid = smsPricestrategyBill.getCreateBySid(); + List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); + variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); + if (StringUtils.isBlank(smsPricestrategyBill.getProcDefId())) { + flowProcessMapQuery.setProDefKey(bv.getModelId()); + } else { + flowProcessMapQuery.setProDefKey(smsPricestrategyBill.getProcDefId()); + } + flowProcessMapQuery.setVariables(variables); + variables = flowableFeign.getMap(flowProcessMapQuery).getData(); + //======================================= + bv.setFormVariables(variables); + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(smsPricestrategyBill.getDeptSid()).getData(); + bv.setOrgSidPath(deptVo.getOrgSidPath()); + if (bv.getTaskId().equals(smsPricestrategyBill.getTaskId())) { + ResultBean resultBean = flowFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + List smsPricestrategyBillDetailDetailsVos = smsPricestrategyBillDetailService.selByMainSid(businessSid); + for (SmsPricestrategyBillDetailDetailsVo smsPricestrategyBillDetailDetailsVo : smsPricestrategyBillDetailDetailsVos) { + List smsPricestrategyBillGoodstypedetailDetailsVos = smsPricestrategyBillGoodstypedetailService.selByMainSid(smsPricestrategyBillDetailDetailsVo.getSid()); + List skuSids = baseGoodsSkuFeign.fetchSkuSid(smsPricestrategyBillDetailDetailsVo.getGoodsTypeSid()).getData(); + for (String skuSid : skuSids) { + BigDecimal price = wmsInventoryFeign.compute(skuSid).getData(); + if (price.compareTo(BigDecimal.ZERO) == 0) { + //查找出入库记录中最后一次销售出库的销售价 + BigDecimal cost = wmsInventoryRecordFeign.selCost(skuSid).getData(); + if (cost.compareTo(BigDecimal.ZERO) == 1){ + for (SmsPricestrategyBillGoodstypedetailDetailsVo smsPricestrategyBillGoodstypedetailDetailsVo : smsPricestrategyBillGoodstypedetailDetailsVos) { + if (cost.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeStart()) != -1 && cost.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeEnd()) != 1) { + BigDecimal markupRate = smsPricestrategyBillGoodstypedetailDetailsVo.getMarkupRate(); + cost = cost.add(cost.multiply(markupRate).divide(new BigDecimal("100"))); + baseGoodsSkuExtendFeign.updateSalesPrice(skuSid, cost.toString()); + } + } + } + } else { + for (SmsPricestrategyBillGoodstypedetailDetailsVo smsPricestrategyBillGoodstypedetailDetailsVo : smsPricestrategyBillGoodstypedetailDetailsVos) { + if (price.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeStart()) != -1 && price.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeEnd()) != 1) { + BigDecimal markupRate = smsPricestrategyBillGoodstypedetailDetailsVo.getMarkupRate(); + price = price.add(price.multiply(markupRate).divide(new BigDecimal("100"))); + baseGoodsSkuExtendFeign.updateSalesPrice(skuSid, price.toString()); + } + } + } + } + } + } else { + //极光推送 + smsPricestrategyBill = fetchBySid(businessSid); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + SmsPricestrategyBill pricestrategyBill = smsPricestrategyBill; + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + ufVo.setProcDefId(pricestrategyBill.getProcDefId()); + ufVo.setProcInsId(pricestrategyBill.getProcInstId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("价格策略申请"); + messageFlowableQuery.setMsgContent(pricestrategyBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("价格策略申请"); + messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } - public ResultBean> getPreviousNodesForReject(SmsPricestrategyBillNodeQuery query) { - ResultBean> rb = ResultBean.fireFail(); - BusinessVariables bv = new BusinessVariables(); - BeanUtil.copyProperties(query, bv); - //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 - Map variables = new HashMap<>(); - //查询业务信息 - SmsPricestrategyBill smsPricestrategyBill = fetchBySid(query.getBusinessSid()); - //判断发起人是否为配件主管 - String createBySid = smsPricestrategyBill.getCreateBySid(); - List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); - variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); - bv.setModelId(smsPricestrategyBill.getProcDefId()); - bv.setFormVariables(variables); - //======================================= - ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); - //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo - List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SmsPricestrategyBillNodeVo.class)).collect(Collectors.toList()); - return rb.success().setData(voList); - } + public ResultBean> getPreviousNodesForReject(SmsPricestrategyBillNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //查询业务信息 + SmsPricestrategyBill smsPricestrategyBill = fetchBySid(query.getBusinessSid()); + //判断发起人是否为配件主管 + String createBySid = smsPricestrategyBill.getCreateBySid(); + List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); + variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); + bv.setModelId(smsPricestrategyBill.getProcDefId()); + bv.setFormVariables(variables); + //======================================= + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SmsPricestrategyBillNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } - public ResultBean> getNextNodesForSubmit(SmsPricestrategyBillNodeQuery query) { - ResultBean> rb = ResultBean.fireFail(); - BusinessVariables bv = new BusinessVariables(); - BeanUtil.copyProperties(query, bv); - //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 - Map variables = new HashMap<>(); - //查询业务信息 - SmsPricestrategyBill smsPricestrategyBill = fetchBySid(query.getBusinessSid()); - //判断发起人是否为配件主管 - String createBySid = smsPricestrategyBill.getCreateBySid(); - List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); - variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); - bv.setModelId(smsPricestrategyBill.getProcDefId()); - bv.setFormVariables(variables); - //======================================= - ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); - //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo - List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SmsPricestrategyBillNodeVo.class)).collect(Collectors.toList()); - return rb.success().setData(voList); - } + public ResultBean> getNextNodesForSubmit(SmsPricestrategyBillNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //查询业务信息 + SmsPricestrategyBill smsPricestrategyBill = fetchBySid(query.getBusinessSid()); + //判断发起人是否为配件主管 + String createBySid = smsPricestrategyBill.getCreateBySid(); + List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); + variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); + bv.setModelId(smsPricestrategyBill.getProcDefId()); + bv.setFormVariables(variables); + //======================================= + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SmsPricestrategyBillNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } - public ResultBean reject(SmsPricestrategyBillTaskQuery query) { - ResultBean rb = ResultBean.fireFail(); - String businessSid = query.getBusinessSid(); - SmsPricestrategyBill smsPricestrategyBill = fetchBySid(businessSid); - if (smsPricestrategyBill == null) { - return rb.setMsg("该申请不存在"); - } - String businessTaskId = smsPricestrategyBill.getTaskId(); - if (StringUtils.isNotBlank(businessTaskId)) { - if (businessTaskId.equals(query.getTaskId())) { - if (StringUtils.isBlank(query.getComment())) { - return rb.setMsg("请填写意见"); - } - if (StringUtils.isBlank(query.getUserSid())) { - return rb.setMsg("参数错误:userSid"); - } - FlowTaskVo flowTaskVo = new FlowTaskVo(); - BeanUtil.copyProperties(query, flowTaskVo); - Map variables = new HashMap<>(); - Map appMap = new HashMap<>(); - appMap.put("sid", businessSid); - variables.put("app", appMap); - //判断发起人是否为配件主管 - String createBySid = smsPricestrategyBill.getCreateBySid(); - List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); - variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); - flowTaskVo.setValues(variables); - ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - UpdateFlowFieldVo ufVo = resultBean.getData(); - Map map = BeanUtil.beanToMap(ufVo); - //更新业务中的流程相关的参数 - updateFlowFiled(map); - //极光推送 - smsPricestrategyBill = fetchBySid(businessSid); - //==================================添加线程 - try { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("demo-pool-%d").build(); - ExecutorService pool = new ThreadPoolExecutor(2, 100, - 0L, TimeUnit.MILLISECONDS, - new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - SmsPricestrategyBill pricestrategyBill = smsPricestrategyBill; - Future future1 = pool.submit(() -> { - //极光推送 - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - String procId = pricestrategyBill.getProcInstId(); - ufVo.setProcInsId(procId); - ufVo.setProcDefId(pricestrategyBill.getProcDefId()); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName("价格策略申请"); - ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); - String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); - List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); - if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(pricestrategyBill.getCreateBySid())) { - messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); - } else { - messageFlowableQuery.setMsgContent(pricestrategyBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - } - messageFlowableQuery.setMsgTitle("价格策略申请"); - messageFeign.pushMessage(messageFlowableQuery); - }); - } catch (Exception e) { - e.printStackTrace(); - } - //==================================添加线程 - return rb.success(); - } - } - return rb.setMsg("操作失败!提交的数据不一致!"); - } + public ResultBean reject(SmsPricestrategyBillTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = query.getBusinessSid(); + SmsPricestrategyBill smsPricestrategyBill = fetchBySid(businessSid); + if (smsPricestrategyBill == null) { + return rb.setMsg("该申请不存在"); + } + String businessTaskId = smsPricestrategyBill.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + //判断发起人是否为配件主管 + String createBySid = smsPricestrategyBill.getCreateBySid(); + List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData(); + variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")); + flowTaskVo.setValues(variables); + ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + Map map = BeanUtil.beanToMap(ufVo); + //更新业务中的流程相关的参数 + updateFlowFiled(map); + //极光推送 + smsPricestrategyBill = fetchBySid(businessSid); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + SmsPricestrategyBill pricestrategyBill = smsPricestrategyBill; + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + String procId = pricestrategyBill.getProcInstId(); + ufVo.setProcInsId(procId); + ufVo.setProcDefId(pricestrategyBill.getProcDefId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("价格策略申请"); + ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); + if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(pricestrategyBill.getCreateBySid())) { + messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); + } else { + messageFlowableQuery.setMsgContent(pricestrategyBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + messageFlowableQuery.setMsgTitle("价格策略申请"); + messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } - public ResultBean revokeProcess(SmsPricestrategyBillTaskQuery query) { - ResultBean rb = ResultBean.fireFail(); - if (StringUtils.isBlank(query.getUserSid())) { - return rb.setMsg("参数错误:userSid"); - } - SmsPricestrategyBill smsPricestrategyBill = fetchBySid(query.getBusinessSid()); - String businessTaskId = smsPricestrategyBill.getTaskId(); - if (StringUtils.isNotBlank(businessTaskId)) { - if (businessTaskId.equals(query.getTaskId())) { - FlowTaskVo flowTaskVo = new FlowTaskVo(); - BeanUtil.copyProperties(query, flowTaskVo); - ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); - return rb.success().setData(resultBean.getData()); - } - } - return rb.setMsg("操作失败,提交的数据不一致!"); - } + public ResultBean revokeProcess(SmsPricestrategyBillTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + SmsPricestrategyBill smsPricestrategyBill = fetchBySid(query.getBusinessSid()); + String businessTaskId = smsPricestrategyBill.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败,提交的数据不一致!"); + } - public ResultBean breakProcess(SmsPricestrategyBillTaskQuery query) { - ResultBean rb = ResultBean.fireFail(); - if (StringUtils.isBlank(query.getInstanceId())) { - return rb.setMsg("参数错误:instanceId"); - } - if (StringUtils.isBlank(query.getUserSid())) { - return rb.setMsg("参数错误:userSid"); - } - if (StringUtils.isBlank(query.getComment())) { - return rb.setMsg("请填写意见"); - } - SmsPricestrategyBill smsPricestrategyBill = fetchBySid(query.getBusinessSid()); - String businessTaskId = smsPricestrategyBill.getTaskId(); - if (StringUtils.isNotBlank(businessTaskId)) { - if (query.getUserSid().equals(smsPricestrategyBill.getCreateBySid())) { - FlowTaskVo flowTaskVo = new FlowTaskVo(); - BeanUtil.copyProperties(query, flowTaskVo); - ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - Map map = BeanUtil.beanToMap(resultBean.getData()); - updateFlowFiled(map); - return rb.success().setData(resultBean.getData()); - } else { - if (businessTaskId.equals(query.getTaskId())) { - FlowTaskVo flowTaskVo = new FlowTaskVo(); - BeanUtil.copyProperties(query, flowTaskVo); - ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - Map map = BeanUtil.beanToMap(resultBean.getData()); - updateFlowFiled(map); - return rb.success().setData(resultBean.getData()); - } - } + public ResultBean breakProcess(SmsPricestrategyBillTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + SmsPricestrategyBill smsPricestrategyBill = fetchBySid(query.getBusinessSid()); + String businessTaskId = smsPricestrategyBill.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (query.getUserSid().equals(smsPricestrategyBill.getCreateBySid())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } else { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } + } - } - return rb.setMsg("操作失败!提交的数据不一致!"); - } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } - public ResultBean delegate(SmsPricestrategyBillDelegateQuery query) { - ResultBean rb = ResultBean.fireFail(); - FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); - BeanUtil.copyProperties(query, delegateQuery); - flowFeign.delegate(delegateQuery); - return rb.success(); - } + public ResultBean delegate(SmsPricestrategyBillDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.delegate(delegateQuery); + return rb.success(); + } } \ No newline at end of file diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.java index 28083f5218..f35455d3ea 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.java @@ -57,4 +57,6 @@ public interface SmsPricestrategyBillDetailMapper extends BaseMapper selByMainSid(String mainSid); + + String selSid(@Param("goodsTypeSid") String goodsTypeSid,@Param("deptSid") String deptSid); } \ No newline at end of file diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.xml b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.xml index f92a84a21b..d1e84539e6 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.xml +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailMapper.xml @@ -3,4 +3,16 @@ + + \ No newline at end of file diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailService.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailService.java index eb4685185d..0bcb1dbc0e 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailService.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smspricestrategybilldetail/SmsPricestrategyBillDetailService.java @@ -28,6 +28,7 @@ package com.yxt.sms.biz.smspricestrategybilldetail; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.core.result.ResultBean; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -90,4 +91,10 @@ public class SmsPricestrategyBillDetailService extends MybatisBaseService selByMainSid(String mainSid) { return baseMapper.selByMainSid(mainSid); } + + public ResultBean selSid(String goodsTypeSid, String deptSid) { + ResultBean rb = ResultBean.fireFail(); + String sid = baseMapper.selSid(goodsTypeSid,deptSid); + return rb.success().setData(sid); + } } \ No newline at end of file diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeign.java b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeign.java index b797ab1389..1063738a86 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeign.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeign.java @@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.math.BigDecimal; import java.util.List; /** @@ -39,4 +40,8 @@ public interface WmsInventoryFeign { @ApiOperation("根据goodsID获取数据") @GetMapping("/getListByGoodsID") public ResultBean> getListByGoodsID(@RequestParam("goodsID") String goodsID); + + @ApiOperation("根据商品skuSid计算平均入库价") + @GetMapping("/compute") + ResultBean compute(@RequestParam("skuSid") String skuSid); } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeignFallback.java b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeignFallback.java index 50b23a75aa..991a015ed6 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeignFallback.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventory/WmsInventoryFeignFallback.java @@ -30,6 +30,7 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import org.springframework.stereotype.Component; +import java.math.BigDecimal; import java.util.List; /** @@ -67,4 +68,9 @@ public class WmsInventoryFeignFallback implements WmsInventoryFeign { public ResultBean> getListByGoodsID(String goodsID) { return null; } + + @Override + public ResultBean compute(String skuSid) { + return null; + } } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventoryrecord/WmsInventoryRecordFeign.java b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventoryrecord/WmsInventoryRecordFeign.java index 45e758582b..5bdcb4d4c8 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventoryrecord/WmsInventoryRecordFeign.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventoryrecord/WmsInventoryRecordFeign.java @@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.math.BigDecimal; import java.util.List; /** @@ -29,4 +30,8 @@ public interface WmsInventoryRecordFeign { @ApiOperation("新增或修改") @PostMapping("/save") public ResultBean save(@RequestBody WmsInventoryRecordDto dto); + + @ApiOperation("查找出入库记录中最后一次销售出库的销售价") + @PostMapping("/selCost") + ResultBean selCost(@RequestParam("skuSid") String skuSid); } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuExtendFeign.java b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuExtendFeign.java new file mode 100644 index 0000000000..c8af706bd8 --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuExtendFeign.java @@ -0,0 +1,26 @@ +package com.yxt.sms.feign.yxtbase; + +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +/** + * @description: 库存信息 + * @author: fzz + * @date: 2024/3/7 + **/ +@FeignClient( + contextId = "yxt-base-BaseGoodsSkuExtend", + name = "yxt-base", + path = "/apiadmin/base/basegoodsskuextend" +) +public interface BaseGoodsSkuExtendFeign { + + @ApiOperation("根据skuSid修改销售单价") + @PostMapping("/updateSalesPrice") + ResultBean updateSalesPrice(@RequestParam("skuSid") String skuSid,@RequestParam("salesPrice") String salesPrice); +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuFeign.java b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuFeign.java new file mode 100644 index 0000000000..f38a72b1ae --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/feign/yxtbase/BaseGoodsSkuFeign.java @@ -0,0 +1,31 @@ +package com.yxt.sms.feign.yxtbase; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.sms.feign.wms.wmsinventory.*; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +/** + * @description: 库存信息 + * @author: fzz + * @date: 2024/3/7 + **/ +@FeignClient( + contextId = "yxt-base-BaseGoodsSku", + name = "yxt-base", + path = "/apiadmin/base/basegoodssku" +) +public interface BaseGoodsSkuFeign { + + @ApiOperation("根据商品类别sid查询对应的skusid") + @PostMapping("/fetchSkuSid") + ResultBean> fetchSkuSid(@RequestParam("goodTypeSid") String goodTypeSid); +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java index 3d80031a5e..df6d190d5f 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java @@ -156,9 +156,18 @@ public class WmsInventoryRecordRest { PagerVo pv = wmsInventoryRecordService.listPage(pagerQuery); return rb.success().setData(pv); } - + @ApiOperation("拆件库出入库查询") + @PostMapping("/splitRecordInventoryList ") + ResultBean> splitRecordInventoryList(@RequestBody PagerQuery pagerQuery){ + ResultBean> rb = ResultBean.fireFail(); + WmsInventoryRecordsQuery params = pagerQuery.getParams(); + params.setType("拆件库"); + pagerQuery.setParams(params); + PagerVo pv = wmsInventoryRecordService.listPage(pagerQuery); + return rb.success().setData(pv); + } @PostMapping("/exportExcel") - @ApiOperation(value = "导出") + @ApiOperation(value = "出入库记录导出") public void exportExcel(@RequestBody WmsInventoryRecordsQuery query) { //得到所有要导出的数据 List exportVoList = wmsInventoryRecordService.listExcel(query); @@ -173,6 +182,23 @@ public class WmsInventoryRecordRest { ExportExcelUtils.export(fileNameURL, exportVoList, WmsInventoryRecordsExcelVo.class, response); } + @PostMapping("/splitRecordExportExcel") + @ApiOperation(value = "拆件出入库记录导出") + public void splitRecordExportExcel(@RequestBody WmsInventoryRecordsQuery query) { + query.setType("拆件库"); + //得到所有要导出的数据 + List exportVoList = wmsInventoryRecordService.listExcel(query); + //定义导出的excel名字 + String excelName = "拆件出入库查询"; + String fileNameURL = ""; + try { + fileNameURL = URLEncoder.encode(excelName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + ExportExcelUtils.export(fileNameURL, exportVoList, WmsInventoryRecordsExcelVo.class, response); + + } @ApiOperation("新增出入库记录") @@ -186,4 +212,10 @@ public class WmsInventoryRecordRest { ResultBean selNum(@RequestParam("sourceBillSid") String sourceBillSid, @RequestParam("goodsID") String goodsID){ return wmsInventoryRecordService.selNum(sourceBillSid,goodsID); } + + @ApiOperation("查找出入库记录中最后一次销售出库的销售价") + @PostMapping("/selCost") + ResultBean selCost(@RequestParam("skuSid") String skuSid){ + return wmsInventoryRecordService.selCost(skuSid); + } } 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 1e0bcec063..4c72ade283 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 @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; import java.net.URLEncoder; import java.util.List; @@ -57,7 +58,7 @@ public class WmsInventoryRest { } - @ApiOperation("分页列表") + @ApiOperation("库存查询") @PostMapping("/listPage") public ResultBean> listPage(@RequestBody PagerQuery pq) { ResultBean> rb = ResultBean.fireFail(); @@ -65,6 +66,17 @@ public class WmsInventoryRest { return rb.success().setData(pv); } + @ApiOperation("拆件库存查询") + @PostMapping("/splitInventoryList") + public ResultBean> splitInventoryList(@RequestBody PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + WmsInventoryQuery params = pq.getParams(); + params.setType("拆件库"); + pq.setParams(params); + PagerVo pv = wmsInventoryService.listPage(pq); + return rb.success().setData(pv); + } + @ApiOperation("删除/批量删除") @DeleteMapping("/delBySids") ResultBean delBySids(@RequestBody String[] sids) { @@ -128,6 +140,24 @@ public class WmsInventoryRest { } + @PostMapping("/splitInventoryExportExcel") + @ApiOperation(value = "拆件库存导出") + public void splitInventoryExportExcel(@RequestBody WmsInventoryQuery query) { + query.setType("拆件库"); + //得到所有要导出的数据 + List exportVoList = wmsInventoryService.listExcel(query); + //定义导出的excel名字 + String excelName = "库存列表"; + String fileNameURL = ""; + try { + fileNameURL = URLEncoder.encode(excelName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + ExportExcelUtils.export(fileNameURL, exportVoList, WmsInventoryVoExcelVo.class, response); + + } + @ApiOperation("修改库存数量") @PostMapping("/updateInventoryCount") ResultBean updateInventoryCount(@RequestBody WmsUpdateCountQuery query) { @@ -237,6 +267,14 @@ public class WmsInventoryRest { return rb.success().setData(pv); } + @ApiOperation("根据商品skuSid计算平均入库价") + @GetMapping("/compute") + ResultBean compute(@RequestParam("skuSid") String skuSid){ + ResultBean rb = ResultBean.fireFail(); + BigDecimal price = wmsInventoryService.compute(skuSid); + return rb.success().setData(price); + } + //-----------------------------app------------------------------------------- @ApiOperation("app配件库存查询") @PostMapping("/fittingsInventory2") 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 7bb919c10a..7dc393044d 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 @@ -14,6 +14,7 @@ import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; import java.util.List; /** @@ -93,4 +94,6 @@ public interface WmsInventoryMapper extends BaseMapper { IPage deadStockList(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); String selByGoodsIdAndRackSid(@Param("goodsID") String goodsID,@Param("warehouseRackSid") String warehouseRackSid); + + BigDecimal compute(String skuSid); } 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 653e44cbcc..2c9a9b90bb 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 @@ -5,19 +5,26 @@ + + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryQuery.java index d52e5b5702..874a4013e0 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryQuery.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryQuery.java @@ -28,5 +28,20 @@ public class WmsInventoryQuery implements Query { @ApiModelProperty("批次号") private String batchNumber; - //供应商 + @ApiModelProperty("厂家") + private String manufacturerName; + @ApiModelProperty("供应商") + private String supplierName; + + private String menuUrl; + private String orgPath; + private String userSid; + + @ApiModelProperty("首次入库开始") + private String firstInStartDate; + @ApiModelProperty("首次入库结束") + private String firstInEndDate; + @ApiModelProperty("库龄") + private String dateAge; + private String type; //库存类型 } 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 dad03bdbc9..d22bdbbff4 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 @@ -64,28 +64,160 @@ public class WmsInventoryService extends MybatisBaseService listPage(PagerQuery pq) { WmsInventoryQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(query.getMenuUrl())) { + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("a.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getGoodsID())) { qw.like("a.goodsID", query.getGoodsID()); } - if (StringUtils.isNotBlank(query.getWarehouseName())) { - qw.like("a.warehouseName", query.getWarehouseName()); + if (StringUtils.isNotBlank(query.getGoodsSpuName())) { + qw.like("a.goodsSpuName", query.getGoodsSpuName()); } if (StringUtils.isNotBlank(query.getGoodsSkuCode())) { qw.like("a.goodsSkuCode", query.getGoodsSkuCode()); } - if (StringUtils.isNotBlank(query.getGoodsSpuName())) { - qw.like("a.goodsSpuName", query.getGoodsSpuName()); + if (StringUtils.isNotBlank(query.getWarehouseName())) { + qw.like("a.warehouseName", query.getWarehouseName()); } - if (StringUtils.isNotBlank(query.getBatchNumber())) { - qw.like("a.batchNumber", query.getBatchNumber()); + if (StringUtils.isNotBlank(query.getWarehouseRackCode())) { + qw.like("a.warehouseRackCode", query.getWarehouseRackCode()); + } + if (StringUtils.isNotBlank(query.getSupplierName())) { + qw.like("a.supplierName", query.getSupplierName()); + } + if (StringUtils.isNotBlank(query.getManufacturerName())) { + qw.like("a.manufacturerName", query.getManufacturerName()); + } + qw.apply(StringUtils.isNotBlank(query.getFirstInStartDate()), "date_format (a.firstInDate,'%Y-%m-%d') >= date_format('" + query.getFirstInStartDate() + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(query.getFirstInEndDate()), "date_format (a.firstInDate,'%Y-%m-%d') <= date_format('" + query.getFirstInEndDate() + "','%Y-%m-%d')" + ); + if (StringUtils.isNotBlank(query.getDateAge())) { + qw.apply("DATEDIFF(NOW(), DATE_FORMAT( a.firstInDate, '%Y-%m-%d' )) <" + query.getDateAge()); + } + if (StringUtils.isNotBlank(query.getType())) { + if (query.getType().equals("拆件库")) { + qw.eq("i.warehouseTypeValue", "拆件库"); + } } - IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.listPage(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } + + public List listExcel(WmsInventoryQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(query.getMenuUrl())) { + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("a.createBySid", query.getUserSid()); + } else { + return new ArrayList<>(); + } + } else { + return new ArrayList<>(); + } + } + + if (StringUtils.isNotBlank(query.getGoodsID())) { + qw.like("a.goodsID", query.getGoodsID()); + } + if (StringUtils.isNotBlank(query.getGoodsSpuName())) { + qw.like("a.goodsSpuName", query.getGoodsSpuName()); + } + if (StringUtils.isNotBlank(query.getGoodsSkuCode())) { + qw.like("a.goodsSkuCode", query.getGoodsSkuCode()); + } + if (StringUtils.isNotBlank(query.getWarehouseName())) { + qw.like("a.warehouseName", query.getWarehouseName()); + } + if (StringUtils.isNotBlank(query.getWarehouseRackCode())) { + qw.like("a.warehouseRackCode", query.getWarehouseRackCode()); + } + if (StringUtils.isNotBlank(query.getSupplierName())) { + qw.like("a.supplierName", query.getSupplierName()); + } + if (StringUtils.isNotBlank(query.getManufacturerName())) { + qw.like("a.manufacturerName", query.getManufacturerName()); + } + qw.apply(StringUtils.isNotBlank(query.getFirstInStartDate()), "date_format (a.firstInDate,'%Y-%m-%d') >= date_format('" + query.getFirstInStartDate() + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(query.getFirstInEndDate()), "date_format (a.firstInDate,'%Y-%m-%d') <= date_format('" + query.getFirstInEndDate() + "','%Y-%m-%d')" + ); + if (StringUtils.isNotBlank(query.getDateAge())) { + qw.apply("DATEDIFF(NOW(), DATE_FORMAT( a.firstInDate, '%Y-%m-%d' )) <" + query.getDateAge()); + } + if (StringUtils.isNotBlank(query.getType())) { + if (query.getType().equals("拆件库")) { + qw.eq("i.warehouseTypeValue", "拆件库"); + } + } + List list = baseMapper.listExcel(qw); + list.removeAll(Collections.singleton(null)); + return list; + } + /** * 入库 * @@ -256,20 +388,7 @@ public class WmsInventoryService extends MybatisBaseService listExcel(WmsInventoryQuery query) { - QueryWrapper qw = new QueryWrapper<>(); - if (query != null) { - if (StringUtils.isNotBlank(query.getGoodsSpuName())) { - qw.like("goodsSpuName", query.getGoodsSpuName()); - } - if (StringUtils.isNotBlank(query.getWarehouseName())) { - qw.like("warehouseName", query.getWarehouseName()); - } - } - List list = baseMapper.listExcel(qw); - list.removeAll(Collections.singleton(null)); - return list; - } + public ResultBean updateInventoryCount(WmsUpdateCountQuery query) { ResultBean rb = ResultBean.fireFail(); @@ -1077,4 +1196,9 @@ public class WmsInventoryService extends MybatisBaseService String selByGoodsID(String content); BigDecimal selNum(@Param("sourceBillSid") String sourceBillSid, @Param("goodsID") String goodsID); + + BigDecimal selCost(String skuSid); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordMapper.xml index eacea6b0d8..78cb35e811 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordMapper.xml @@ -80,7 +80,8 @@ case wir.billType when 1 then '入库' when 0 then '出库' end as billType, DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime, wir.busTypeValue, - wir.billObjName, + wir.customerName, + wir.supplierName, wir.count, wir.currentCount from wms_inventory_record wir @@ -90,28 +91,33 @@ select wir.goodsID, - wir.goodsSpuName, - wir.goodsSkuCode, - wir.goodsSkuOwnSpec, - wir.warehouseName, - wir.warehouseRackCode, - wir.billNo, - DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime, - wir.busTypeValue, - wir.batchNumber, - wir.billObjName, - wir.currentCount, - wir.count, - wir.unit, - (@rank := @rank + 1) rankNo - from wms_inventory_record wir, - (SELECT @rank := 0) t + wir.goodsSpuName, + wir.goodsSkuCode, + wir.goodsSkuOwnSpec, + wir.warehouseName, + wir.warehouseRackCode, + wir.billNo, + IF(wir.billType = 1,'入库','出库') billType, + DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime, + wir.busTypeValue, + wir.supplierName, + wir.customerName, + wir.manufacturerName, + wir.currentCount, + wir.count, + wir.unit, + wir.handlerName, + wir.cost, + wir.amount, + wir.tax, + wir.guidPrice, + ui.`name` createByName, + (@rank := @rank + 1) rankNo + from wms_inventory_record wir + LEFT JOIN wms_inventory as wi ON wir.inventorySid = wi.sid + LEFT JOIN wms_warehouse_info as i ON wir.warehouseSid = i.sid + LEFT JOIN anrui_portal.sys_organization as s ON wi.useOrgSid = s.sid + LEFT JOIN anrui_portal.sys_user as u ON wir.createBySid = u.sid + LEFT JOIN anrui_portal.sys_staffinfo as ui ON u.staffSid = ui.sid, + (SELECT @rank := 0) t ${ew.sqlSegment} @@ -190,4 +209,14 @@ AND sourceBillSid = #{sourceBillSid} AND billType = 1 + + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java index 1ad021eaa2..75a9fca3dc 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java @@ -30,8 +30,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.wms.biz.inventory.wmsinventory.WmsInventory; import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryService; +import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryVo; import com.yxt.wms.biz.inventory.wmsinventoryrecord.report.*; import com.yxt.wms.biz.inventory.wmsoldinventory.WmsOldInventoryDetailsListVo; +import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; import com.yxt.wms.feign.portal.sysuser.SysUserFeign; import com.yxt.wms.feign.portal.sysuser.SysUserVo; import org.apache.commons.lang3.StringUtils; @@ -229,6 +231,44 @@ public class WmsInventoryRecordService extends MybatisBaseService listPage(PagerQuery pagerQuery) { WmsInventoryRecordsQuery query = pagerQuery.getParams(); QueryWrapper qw = new QueryWrapper<>(); + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(query.getMenuUrl())) { + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("wir.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } //ToDo:添加查询条件 if (StringUtils.isNotBlank(query.getGoodsID())) { qw.like("wir.goodsID", query.getGoodsID()); @@ -249,13 +289,9 @@ public class WmsInventoryRecordService extends MybatisBaseService= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')"). - apply(com.yxt.common.base.utils.StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (wir.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')" + apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (wir.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')" ); - IPage page = PagerUtil.queryToPage(pagerQuery); - IPage pagging = baseMapper.listPage(page, qw); - for (WmsInventoryRecordsVo record : pagging.getRecords()) { - if (StringUtils.isNotBlank(record.getCreateBySid())) { - SysUserVo sysUserVo = sysUserFeign.fetchBySid(record.getCreateBySid()).getData(); - record.setCreateByName(sysUserVo.getName()); + //操作人 + if (StringUtils.isNotBlank(query.getCreateByName())) { + qw.like("ui.`name`", query.getCreateByName()); + } + //经办人 + if (StringUtils.isNotBlank(query.getHandlerName())) { + qw.like("wir.handlerName", query.getHandlerName()); + } + if (StringUtils.isNotBlank(query.getType())) { + if (query.getType().equals("拆件库")) { + qw.eq("i.warehouseTypeValue", "拆件库"); } } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.listPage(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } public List listExcel(WmsInventoryRecordsQuery query) { QueryWrapper qw = new QueryWrapper<>(); + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(query.getMenuUrl())) { + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("wir.createBySid", query.getUserSid()); + } else { + return new ArrayList<>(); + } + } else { + return new ArrayList<>(); + } + } //ToDo:添加查询条件 if (StringUtils.isNotBlank(query.getGoodsID())) { qw.like("wir.goodsID", query.getGoodsID()); @@ -307,13 +386,9 @@ public class WmsInventoryRecordService extends MybatisBaseService= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')"). apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (wir.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')" ); + //操作人 + if (StringUtils.isNotBlank(query.getCreateByName())) { + qw.like("ui.`name`", query.getCreateByName()); + } + //经办人 + if (StringUtils.isNotBlank(query.getHandlerName())) { + qw.like("wir.handlerName", query.getHandlerName()); + } + if (StringUtils.isNotBlank(query.getType())) { + if (query.getType().equals("拆件库")) { + qw.eq("i.warehouseTypeValue", "拆件库"); + } + } List list = baseMapper.listExcel(qw); list.removeAll(Collections.singleton(null)); return list; @@ -430,4 +518,10 @@ public class WmsInventoryRecordService extends MybatisBaseService selCost(String skuSid) { + ResultBean rb = ResultBean.fireFail(); + BigDecimal cost = baseMapper.selCost(skuSid); + return rb.success().setData(cost); + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsExcelVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsExcelVo.java index 4b67ca4957..490598ea34 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsExcelVo.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsExcelVo.java @@ -22,7 +22,7 @@ public class WmsInventoryRecordsExcelVo { @ExportEntityMap(CnName = "商品名称", EnName = "goodsSpuName") private String goodsSpuName; @ApiModelProperty("商品编码") - @ExportEntityMap(CnName = "商品编码", EnName = "goodsSkuCode") + @ExportEntityMap(CnName = "图号", EnName = "goodsSkuCode") private String goodsSkuCode; @ApiModelProperty("规格") @ExportEntityMap(CnName = "规格", EnName = "goodsSkuOwnSpec") @@ -39,9 +39,7 @@ public class WmsInventoryRecordsExcelVo { @ApiModelProperty("来源单号") @ExportEntityMap(CnName = "来源单号", EnName = "billNo") private String billNo; - - - @ApiModelProperty("单据类型(1入库、0出库)") + @ApiModelProperty("单据类型(1入库、0出库)") @ExportEntityMap(CnName = "单据类型", EnName = "billType") private String billType; @ExportEntityMap(CnName = "发生时间", EnName = "createTime") @@ -49,18 +47,38 @@ public class WmsInventoryRecordsExcelVo { @ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)") @ExportEntityMap(CnName = "业务类型", EnName = "busTypeValue") private String busTypeValue; - @ApiModelProperty("客户/供应商名称") - @ExportEntityMap(CnName = "客户/供应商名称", EnName = "billObjName") - private String billObjName; - @ApiModelProperty("批次号") - @ExportEntityMap(CnName = "批次号", EnName = "batchNumber") - private String batchNumber; - @ApiModelProperty("数量") + @ApiModelProperty("供应商") + @ExportEntityMap(CnName = "供应商", EnName = "supplierName") + private String supplierName; + @ExportEntityMap(CnName = "客户", EnName = "customerName") + private String customerName; @ExportEntityMap(CnName = "数量", EnName = "count") private String count; @ApiModelProperty("出入库后的库存量") - @ExportEntityMap(CnName = "出入库后的库存量", EnName = "currentCount") + @ExportEntityMap(CnName = "出入库后的库存", EnName = "currentCount") private String currentCount; + @ApiModelProperty("出入库单价") + @ExportEntityMap(CnName = "出入库单价", EnName = "cost") + private String cost; + @ApiModelProperty("出入库金额 ") + @ExportEntityMap(CnName = "出入库金额", EnName = "amount") + private String amount; + @ApiModelProperty("税率") + @ExportEntityMap(CnName = "税率", EnName = "tax") + private String tax; + @ApiModelProperty("销售指导价") + @ExportEntityMap(CnName = "销售指导价", EnName = "guidPrice") + private String guidPrice; + + @ApiModelProperty("操作人") + @ExportEntityMap(CnName = "操作人", EnName = "createByName") + private String createByName; + @ApiModelProperty("经办人") + @ExportEntityMap(CnName = "经办人(领料人/退料人)", EnName = "handlerName") + private String handlerName; + + + } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsQuery.java index dbe71e0216..1cd8dc619c 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsQuery.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsQuery.java @@ -22,8 +22,10 @@ public class WmsInventoryRecordsQuery implements Query { private String warehouseName; @ApiModelProperty("库位编号") private String warehouseRackCode; - @ApiModelProperty("客户/供应商名称") - private String billObjName; + @ApiModelProperty("厂家") + private String manufacturerName; + @ApiModelProperty("供应商") + private String supplierName; @ApiModelProperty("批次号") private String batchNumber; @ApiModelProperty("来源单据编号") @@ -36,4 +38,12 @@ public class WmsInventoryRecordsQuery implements Query { private String createTimeStart; @ApiModelProperty("发生结束时间") private String createTimeEnd; + @ApiModelProperty("操作人") + private String createByName; + @ApiModelProperty("经办人") + private String handlerName; + private String menuUrl; + private String orgPath; + private String userSid; + private String type; //库存类型 } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsVo.java index 7552822063..d313fa04fd 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsVo.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordsVo.java @@ -21,12 +21,14 @@ public class WmsInventoryRecordsVo { private String goodsSkuCode; @ApiModelProperty("规格型号") private String goodsSkuOwnSpec; + @ApiModelProperty("计量单位") + private String unit; @ApiModelProperty("仓库名称") private String warehouseName; - @ApiModelProperty("库区名称") - private String warehouseAreaName; @ApiModelProperty("库位编号") private String warehouseRackCode; + @ApiModelProperty("库区名称") + private String warehouseAreaName; @ApiModelProperty("来源单据编号") private String billNo; @ApiModelProperty("单据类型(1入库、0出库)") @@ -34,18 +36,27 @@ public class WmsInventoryRecordsVo { private String createTime; @ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)") private String busTypeValue; - @ApiModelProperty("客户/供应商名称") - private String billObjName; - @ApiModelProperty("批次号") - private String batchNumber; + @ApiModelProperty("厂家") + private String manufacturerName; + @ApiModelProperty("供应商") + private String supplierName; + @ApiModelProperty("客户") + private String customerName; @ApiModelProperty("出入库后的库存量") private String currentCount; @ApiModelProperty("数量") private String count; - @ApiModelProperty("计量单位") - private String unit; + + @ApiModelProperty("出入库单价") + private String cost; + @ApiModelProperty("出入库金额 ") + private String amount; + @ApiModelProperty("税率") + private String tax; + @ApiModelProperty("销售指导价") + private String guidPrice; + @ApiModelProperty("操作人") - private String createBySid; private String createByName; @ApiModelProperty("经办人") private String handlerName; diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java index 1acf0a1720..28c76146a8 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java @@ -46,12 +46,16 @@ import com.yxt.wms.feign.base.basegoodspu.BaseGoodsSpu; import com.yxt.wms.feign.base.basegoodspu.BaseGoodsSpuFeign; 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.portal.privilege.PrivilegeQuery; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo; import com.yxt.wms.feign.portal.sysstafforg.SysStaffOrgFeign; import com.yxt.wms.feign.portal.sysuser.SysUserFeign; import com.yxt.wms.feign.portal.sysuser.SysUserVo; +import com.yxt.wms.feign.sms.smspricestrategybilldetail.SmsPricesTrategyBillDetailFeign; +import com.yxt.wms.feign.sms.smsspricestrategybillgoodstypedetail.SmsPricesTrategyBillGoodsTypeDetailFeign; +import com.yxt.wms.feign.sms.smsspricestrategybillgoodstypedetail.SmsPricestrategyBillGoodstypedetailDetailsVo; import com.yxt.wms.utils.BillNo; import com.yxt.wms.utils.Rule; import org.springframework.beans.factory.annotation.Autowired; @@ -110,7 +114,11 @@ public class WmsShelfBillService extends MybatisBaseService listPage(PagerQuery pq) { WmsShelfBillQuery query = pq.getParams(); @@ -750,6 +758,23 @@ public class WmsShelfBillService extends MybatisBaseService data = smsPricesTrategyBillGoodsTypeDetailFeign.selByMainSid(tjmxSid).getData(); + for (SmsPricestrategyBillGoodstypedetailDetailsVo smsPricestrategyBillGoodstypedetailDetailsVo : data) { + BigDecimal cost = receiptBillDetail.getCost(); + if (cost.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeStart()) != -1 && cost.compareTo(smsPricestrategyBillGoodstypedetailDetailsVo.getRangeEnd()) != 1) { + BigDecimal markupRate = smsPricestrategyBillGoodstypedetailDetailsVo.getMarkupRate(); + cost = cost.add(cost.multiply(markupRate).divide(new BigDecimal("100"))); + baseGoodsSkuExtendFeign.updateSalesPrice(shelfBillGoods.getGoodsSkuSid(), cost.toString()); + } + } + } BigDecimal actualCount = BigDecimal.ZERO; if (null != shelfBillGoods.getActualCount()) { actualCount = shelfBillGoods.getActualCount(); @@ -784,7 +809,6 @@ public class WmsShelfBillService extends MybatisBaseService selSid(@RequestParam("goodsTypeSid") String goodsTypeSid,@RequestParam("deptSid") String deptSid); +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricesTrategyBillGoodsTypeDetailFeign.java b/yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricesTrategyBillGoodsTypeDetailFeign.java new file mode 100644 index 0000000000..76245f044f --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricesTrategyBillGoodsTypeDetailFeign.java @@ -0,0 +1,26 @@ +package com.yxt.wms.feign.sms.smsspricestrategybillgoodstypedetail; + +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/20 + **/ +@FeignClient( + contextId = "yxt-sms-SmsPricesTrategyBillGoodsTypeDetail", + name = "yxt-sms", + path = "v1/smspricestrategybillgoodstypedetail" + ) +public interface SmsPricesTrategyBillGoodsTypeDetailFeign { + + @ApiOperation("根据定调价明细sid查询") + @GetMapping("/selByMainSid") + public ResultBean> selByMainSid(@RequestParam("mainSid") String mainSid); +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricestrategyBillGoodstypedetailDetailsVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricestrategyBillGoodstypedetailDetailsVo.java new file mode 100644 index 0000000000..90ab723a6c --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/feign/sms/smsspricestrategybillgoodstypedetail/SmsPricestrategyBillGoodstypedetailDetailsVo.java @@ -0,0 +1,64 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.feign.sms.smsspricestrategybillgoodstypedetail; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: yxt-sms(价格策略)
+ * File: SmsPricestrategyBillGoodstypedetailVo.java
+ * Class: com.yxt.sms.api.smspricestrategybillgoodstypedetail.SmsPricestrategyBillGoodstypedetailVo
+ * Description: 价格策略商品类别明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-28 14:32:24
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "价格策略商品类别明细 视图数据详情", description = "价格策略商品类别明细 视图数据详情") +public class SmsPricestrategyBillGoodstypedetailDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("业务sid") + private String detailSid; // 业务sid + @ApiModelProperty("区间起始") + private BigDecimal rangeStart; // 区间起始 + @ApiModelProperty("区间截止") + private BigDecimal rangeEnd; // 区间截止 + @ApiModelProperty("加价比例") + private BigDecimal markupRate; // 加价比例 + +} \ No newline at end of file