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 @@