From 7879d15f9ab91a56e744926f79fa7a58ddae4030 Mon Sep 17 00:00:00 2001 From: Zhao Qiqi <1287235164@qq.com> Date: Wed, 10 Aug 2022 14:05:51 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E8=BD=A6=E5=9E=8B=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BF=AB=E9=80=9F=E6=96=B0=E5=A2=9E=E6=8C=89?= =?UTF-8?q?=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/cheliang/chexing/chexing.vue | 33 ++++++++++++++ .../src/views/cheliang/chexing/chexingAdd.vue | 43 +++++++++++++++++-- .../supplychain/yancheguanli/yancheguanli.vue | 11 +++++ 3 files changed, 83 insertions(+), 4 deletions(-) diff --git a/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexing.vue b/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexing.vue index e990e2df88..693dbf6f7b 100644 --- a/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexing.vue +++ b/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexing.vue @@ -222,6 +222,13 @@ export default { return { btndisabled: false, btnList: [ + { + type: 'primary', + size: 'small', + icon: 'plus', + btnKey: 'toQuickAdd', + btnLabel: '快速新增' + }, { type: 'primary', size: 'small', @@ -345,6 +352,9 @@ export default { btnHandle(btnKey) { console.log('XXXXXXXXXXXXXXX ' + btnKey) switch (btnKey) { + case 'toQuickAdd': + this.toQuickAdd() + break case 'toAdd': this.toAdd() break @@ -558,6 +568,29 @@ export default { this.sids = aa console.log('sids', this.sids) }, + // 打开快速添加 + toQuickAdd() { + if (this.sids.length === 1) { + this.viewState = 2 + const sid = this.sids[0] + this.$refs['divadd'].showQuickAdd(sid) + } else if (this.sids.length > 1) { + this.$notify({ + title: '提示', + message: '不能选中多个车型进行快速新增操作!', + type: 'info', + duration: 2000 + }) + } else { + this.$notify({ + title: '提示', + message: '没有选择车型进行快速新增操作!', + type: 'error', + duration: 2000 + }) + return + } + }, // 打开添加 toAdd() { this.viewState = 2 diff --git a/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexingAdd.vue b/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexingAdd.vue index a0541762bf..5d6557d444 100644 --- a/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexingAdd.vue +++ b/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexingAdd.vue @@ -191,8 +191,7 @@ import { SaveList, selectByOrgSid } from '@/api/cheliang/basevehiclemodel' -import {fetchBySid} from '@/api/cheliang/dictcommons' -import { typeValues } from '@/api/cheliang/dictcommons' +import { fetchBySid, typeValues } from '@/api/cheliang/dictcommons' import Upload from '@/components/uploadFile/uploadImg.vue' export default { @@ -353,7 +352,41 @@ export default { this.setDetaList() this.getChang() }, - + showQuickAdd(sid) { + this.$nextTick(() => { + this.$refs['dataForm'].clearValidate() + }) + this.dialogStatus = 'add' + this.stateId = 0 + this.viewTitle = '【新增】常用配置信息' + // 此时数据必须修改才能保存 + const userSid = window.sessionStorage.getItem('userSid') + getAll({ sid: sid, userSid: userSid }).then(resp => { + if (resp.success) { + const data = resp.data + this.temp = data + this.temp = JSON.parse(JSON.stringify(this.temp).replace( + /baseVehicleModelAppendixVos/g, + 'baseVehicleModelAppendixDtos' + ) + ) + this.temp.sid = '' + if (this.temp.baseVehicleModelAppendixDtos.length > 0) { + for (var i = 0; i < this.temp.baseVehicleModelAppendixDtos.length; i++) { + var imgName = this.temp.baseVehicleModelAppendixDtos[i].filePath.split('/') + this.imgList.push({ + name: imgName[imgName.length - 1], + url: this.temp.baseVehicleModelAppendixDtos[i].filePath + }) + } + console.log('123123', this.imgList) + } + } + }) + this.getPathSid() + this.setDetaList() + this.getChang() + }, showEdit(sid, row) { console.log(sid) console.log('imgList', this.imgList) @@ -426,13 +459,15 @@ export default { }, getUrl() { console.log('已有图片', this.imgList) + var img_file = [] for (var i = 0; i < this.imgList.length; i++) { console.log(this.temp) - this.temp.baseVehicleModelAppendixDtos.push({ + img_file.push({ modelSid: this.temp.sid, filePath: this.imgList[i].url }) } + this.temp.baseVehicleModelAppendixDtos = img_file }, updateUrl() { console.log('回显', this.imgList) diff --git a/anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanli.vue b/anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanli.vue index 6352d59481..02a6b66f85 100644 --- a/anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanli.vue +++ b/anrui-scm/anrui-scm-ui/src/views/supplychain/yancheguanli/yancheguanli.vue @@ -29,6 +29,13 @@ + + + + +
查询 @@ -126,6 +133,8 @@ export default { vin: '', model: '', purchaseType: '', + inspectedStartDate:'', + inspectedEndDate:'', userSid: window.sessionStorage.getItem('userSid') } }, @@ -187,6 +196,8 @@ export default { vin: '', model: '', purchaseType: '', + inspectedStartDate:'', + inspectedEndDate:'', userSid: window.sessionStorage.getItem('userSid') } } From 32cae028ab5c29049c417834cecc47db8e3e1dcb Mon Sep 17 00:00:00 2001 From: Zhao Qiqi <1287235164@qq.com> Date: Wed, 10 Aug 2022 14:38:29 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=20=E5=B8=B8=E7=94=A8=E9=85=8D=E7=BD=AE=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E7=9A=84=E5=90=8E=E6=A1=A5=E9=80=9F=E6=AF=94=E6=8B=86?= =?UTF-8?q?=E5=88=86=E6=88=90=E5=90=8E=E6=A1=A5=E3=80=81=E9=80=9F=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/flow/orderSalesTodo.js | 19 ++++++++++++++++++- .../api/salesManagement/orderManagement.js | 4 ++-- .../views/cheliang/chexing/chexinglook.vue | 7 ++++++- .../chexing/relation/changyongpeizhi.vue | 7 ++++++- 4 files changed, 32 insertions(+), 5 deletions(-) diff --git a/anrui-buscenter/anrui-buscenter-ui/src/api/flow/orderSalesTodo.js b/anrui-buscenter/anrui-buscenter-ui/src/api/flow/orderSalesTodo.js index 27e7428dcb..b2803ddb73 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/api/flow/orderSalesTodo.js +++ b/anrui-buscenter/anrui-buscenter-ui/src/api/flow/orderSalesTodo.js @@ -1,6 +1,6 @@ import request from '@/utils/request' -// 销售订单代办任务同意办理 +// 销售订单代办任务同意办理 (8.9修改后) export function businessAgree(params) { return request({ url: "/buscenter/v1/bussalesorder/complete", @@ -47,3 +47,20 @@ export function revokeTask(params) { } }) } + +// 销售订单审批流程(同意)获取下一环节 (8.9修改后) +export function getNextNodesForSubmit(params) { + return request({ + url: '/buscenter/v1/bussalesorder/getNextNodesForSubmit', + method: 'get', + params: params + }) +} +// 审批流程(驳回、终止)获取上一环节(8.9修改后) +export function getPreviousNodesForReject(params) { + return request({ + url: '/buscenter/v1/bussalesorder/getPreviousNodesForReject', + method: 'get', + params: params + }) +} diff --git a/anrui-buscenter/anrui-buscenter-ui/src/api/salesManagement/orderManagement.js b/anrui-buscenter/anrui-buscenter-ui/src/api/salesManagement/orderManagement.js index 9befda46dd..39e656a779 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/api/salesManagement/orderManagement.js +++ b/anrui-buscenter/anrui-buscenter-ui/src/api/salesManagement/orderManagement.js @@ -36,7 +36,7 @@ export function saveOrderForm(data) { }); } -// 编辑、详情初始化 已改 +// 编辑、详情初始化 已改(8.9修改后) export function fetchDetailsBySid(params) { return request({ url: "/buscenter/v1/bussalesorder/fetchDetailsBySid/" + params.sid, @@ -44,7 +44,7 @@ export function fetchDetailsBySid(params) { params: params, }); } -// 销售订单提交接口 +// 销售订单提交接口 (8.9修改后) export function submitOrderForm(params) { return request({ url: "/buscenter/v1/bussalesorder/submit", diff --git a/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexinglook.vue b/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexinglook.vue index 209bb61772..c5af5c683e 100644 --- a/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexinglook.vue +++ b/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexinglook.vue @@ -165,7 +165,12 @@ {{ props.row.specification }} - + + + + diff --git a/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/changyongpeizhi.vue b/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/changyongpeizhi.vue index f5f2c92a92..ce20bd58c3 100644 --- a/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/changyongpeizhi.vue +++ b/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/changyongpeizhi.vue @@ -166,7 +166,12 @@ {{ scope.row.specification }} - + + + + From 679d184fa34c2779dc877511d142616a5572a284 Mon Sep 17 00:00:00 2001 From: Zhao Qiqi <1287235164@qq.com> Date: Wed, 10 Aug 2022 16:32:22 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E5=B8=B8=E7=94=A8=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=BE=B7=E5=90=8E=E6=A1=A5=E9=80=9F=E6=AF=94?= =?UTF-8?q?=20=E8=A7=A3=E5=86=B3=E7=BB=84=E7=BB=87=E6=9E=B6=E6=9E=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../relation/chexingguanlianchangyong.vue | 7 ++++- .../chexingpeizhi/changyongpeizhi.vue | 7 ++++- .../organizationManage/organizationManage.vue | 27 ++++++++++++------- 3 files changed, 30 insertions(+), 11 deletions(-) diff --git a/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingguanlianchangyong.vue b/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingguanlianchangyong.vue index 824eb60044..08d06163c1 100644 --- a/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingguanlianchangyong.vue +++ b/anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingguanlianchangyong.vue @@ -170,7 +170,12 @@ {{ scope.row.specification }} - + + + + diff --git a/anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhi.vue b/anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhi.vue index 49140e223c..8e3fcd6d92 100644 --- a/anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhi.vue +++ b/anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhi.vue @@ -183,7 +183,12 @@ {{ scope.row.specification }} - + + + + diff --git a/anrui-system-ui/src/views/organizationManage/organizationManage.vue b/anrui-system-ui/src/views/organizationManage/organizationManage.vue index 982f64cfb4..a8ee76fbe0 100644 --- a/anrui-system-ui/src/views/organizationManage/organizationManage.vue +++ b/anrui-system-ui/src/views/organizationManage/organizationManage.vue @@ -44,7 +44,7 @@ 主管人员 - + @@ -52,7 +52,7 @@ 分管人员 - + @@ -217,7 +217,7 @@ 主管人员 - + @@ -225,7 +225,7 @@ 分管人员 - + @@ -312,7 +312,7 @@ export default { sort: '', isDept: '' }, - + fgStaffSid: [], formBackup: Object.assign({}, this.form), isshow: 'table', page: { @@ -376,7 +376,12 @@ export default { }) }, save() { - this.form.fgStaffSid = this.form.fgStaffSid.join() + if (this.fgStaffSid.length > 0) { + this.form.fgStaffSid = this.fgStaffSid.join() + } else { + this.form.fgStaffName = '' + this.form.fgStaffSid = '' + } this.form.organizationSid = this.$store.getters.userInfo.orgSid // this.form.dlxx = typeof(this.form.dlxx) == 'string' ? this.form.dlxx : this.form.dlxx.join() if (this.form.sid) { @@ -384,7 +389,7 @@ export default { putOrgtree(this.form).then(res => { this.isshow = 'table' this.getOrgTree() - this.handleNodeClick({ sid: this.form.psid }) + this.handleNodeClick({sid: this.form.psid}) this.$message({ message: res.msg, type: 'success' @@ -423,10 +428,13 @@ export default { if (response.success) { this.form = response.data this.form.fgStaffName = response.data.fgNames - this.form.fgStaffSid = response.data.fgStaffSid.split(',') + this.form.fgStaffSid = response.data.fgStaffSid + if (this.form.fgStaffSid) { + this.fgStaffSid = response.data.fgStaffSid.split(',') + } this.form.zgStaffName = response.data.zgNames this.form.zgStaffSid = response.data.zgStaffSid - console.log('112233445566', this.form) + console.log('编辑回显的数据', this.form) } }) // console.log('点击编辑', row) @@ -465,6 +473,7 @@ export default { this.form.fgStaffSid = data.fgSids.split(',') }, nodeSave() { // 节点编辑保存 + console.log('这是保存nodeSave(0') this.form.fgStaffSid = this.form.fgStaffSid.join() postOrgtree(this.form).then(res => { this.getOrgTree() From 1368a06c836bc8d1af899ce6589f80bcc9094046 Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Wed, 10 Aug 2022 17:07:01 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=8E=92=E4=BA=A7=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anrui-base/anrui-base-biz/pom.xml | 6 + .../com/yxt/anrui/base/BaseApplication.java | 2 +- .../BusVehicleApplyService.java | 103 ++++++++++++++++-- .../anrui/flowable/biz/flow/FlowableRest.java | 4 +- 4 files changed, 105 insertions(+), 10 deletions(-) diff --git a/anrui-base/anrui-base-biz/pom.xml b/anrui-base/anrui-base-biz/pom.xml index 27fbe6d277..009c6630ae 100644 --- a/anrui-base/anrui-base-biz/pom.xml +++ b/anrui-base/anrui-base-biz/pom.xml @@ -8,6 +8,7 @@ 0.0.1 + 4.0.0 anrui-base-biz @@ -15,6 +16,11 @@ 0.0.1 + + com.yxt.messagecenter + message-center-api + 0.0.1 + com.yxt yxt-common-base diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java index ee3c30fe90..24218ee78d 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java @@ -12,7 +12,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; "com.yxt.common.base.config", "com.yxt.anrui.base" }) -@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.buscenter", "com.yxt.anrui.riskcenter", "com.yxt.anrui.scm","com.yxt.anrui.crm","com.yxt.anrui.flowable","com.yxt.anrui.fin"}) +@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.buscenter", "com.yxt.anrui.riskcenter", "com.yxt.anrui.scm","com.yxt.anrui.crm","com.yxt.anrui.flowable","com.yxt.anrui.fin","com.yxt.messagecenter"}) public class BaseApplication { public static void main(String[] args) { diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java index 6fb3b50e1a..e7a88f1803 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java @@ -41,17 +41,28 @@ 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.portal.api.sysuser.UserQuery; import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.JPushServer; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.message.AppMessageDto; +import com.yxt.messagecenter.api.message.MessageFeign; +import com.yxt.messagecenter.api.messagelist.MessageListDto; +import com.yxt.messagecenter.api.messagelist.MessageListFeign; +import com.yxt.messagecenter.api.messagetype.MessageTypeFeign; +import com.yxt.messagecenter.api.messagetype.MessageTypeVo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; import java.util.stream.Collectors; /** @@ -94,6 +105,13 @@ public class BusVehicleApplyService extends MybatisBaseService variables = new HashMap<>(); - Map appMap = new HashMap<>(); - appMap.put("sid",businessSid); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); variables.put("money", Integer.valueOf(dto.getCurrentAmount()).intValue() > 0); - variables.put("app",appMap); + variables.put("app", appMap); //用户的部门全路径sid bv.setOrgSidPath(orgSidPath); //业务sid @@ -357,6 +375,8 @@ public class BusVehicleApplyService extends MybatisBaseService> nodeVoList = getNextNodesForSubmit(getNodeQuery); + //根据组织架构、角色两个参数取相关符合条件的用户信息 + UserQuery userQuery = new UserQuery(); + userQuery.setRoleSid(nodeVoList.getData().get(0).getCandidateGroups().get(0)); + userQuery.setOrgSidPath(orgSidPath); + List sysUserVos = sysUserFeign.getUserByRole(userQuery).getData(); + StringBuilder nextNodeUserSids = new StringBuilder(); + List stringList = new ArrayList<>(); + for (SysUserVo su : sysUserVos) { + stringList.add(su.getSid()); +// nextNodeUserSids.append(su.getSid()).append(","); + } + //符合条件的用户的sid,拼接的字符串 +// String nextNodeUserSids_ = nextNodeUserSids.toString(); + //标题、内容、消息类别key、消息类别名称、 + JPushServer.sendPushAlias("排产申请审批", busVehicleApply.getCreateByName() + "的排产申请", "msg_type", "系统消息", stringList.toArray(new String[stringList.size()])); + } + + public String getMessage(List list) { + // 1、保存消息体 + AppMessageDto messageDto = new AppMessageDto(); + ResultBean> messageBean = messageTypeFeign.selectAppMsgTypeList("0002"); + if (messageBean.getSuccess() && messageBean.getData() != null) { + List typeVoList = messageBean.getData(); + for (MessageTypeVo message : typeVoList) { + if (message.getMsgType().equals("系统消息")) { + messageDto.setMsgTypeSid(message.getMsgTypeSid()); + messageDto.setMsgType(message.getMsgType()); + } + } + } + messageDto.setMsgTitle("排产申请审批"); + messageDto.setMsgContent("排产申请审批"); + messageDto.setMsgSource("排产"); + String msgSid = messageFeign.saveOrUpdateAppMessage(messageDto).getData(); + String msgTypeSid = messageDto.getMsgTypeSid(); + // 2、保存至消息列表 + // 使用多线程保存 + List> futures = new ArrayList>(); + ExecutorService executor = Executors.newFixedThreadPool(4); + for (String receverSid : list) { + Future f = executor.submit(new Runnable() { + @Override + public void run() { + try { + System.out.println("run start-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName()); + MessageListDto messageList = new MessageListDto(); + messageList.setMsgSid(msgSid); + messageList.setRDelStatus(0); + messageList.setSDelStatus(0); + messageList.setReceiverSid(receverSid); + messageListFeign.save(messageList); + System.out.println("run end-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName()); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + futures.add(f); + } + executor.shutdown(); + return msgSid; + } + /** * 判断提交的流程是否被允许 * diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java index ab75a1dd0d..6e32aac329 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java @@ -271,9 +271,9 @@ public class FlowableRest implements FlowableFeign { return rb.setMsg("任务不存在"); } String assignee = task.getAssignee(); - if(StringUtils.isNotBlank(assignee)&& assignee.indexOf(userSid)<0){ + /* if(StringUtils.isNotBlank(assignee)&& assignee.indexOf(userSid)<0){ return rb.setMsg("当前用户不是环节的待办人,不能进行办理操作!"); - } + }*/ String nodeState = ""; String taskDefKey = ""; vo.setSid(businessSid); From f170dfcd8aaef689c5a8ca6ba2c2a55c4fcd116f Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Wed, 10 Aug 2022 17:18:46 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=8E=92=E4=BA=A7=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E8=B4=A2=E5=8A=A1=E4=BF=AE=E6=94=B9=E4=B8=BA=E8=AE=A2=E9=87=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/biz/busvehicleapply/BusVehicleApplyService.java | 4 ++-- .../scm/biz/scmvehiclegression/ScmVehicleGressionService.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java index e7a88f1803..507412fda9 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java @@ -555,8 +555,8 @@ public class BusVehicleApplyService extends MybatisBaseService scmVehicleGressionVos = baseMapper.getlastTimeEqual(dto.getVinNo(), dto.getTargetLocationSid()); if (scmVehicleGressionVos.size() > 0) { if (StringUtils.isNotBlank(scmVehicleGressionVos.get(0).getNodeState())) { - if (!(scmVehicleGressionVos.get(0).getNodeState().contains("已办结") || scmVehicleGressionVos.get(0).getNodeState().contains("申请"))) { + if (!(scmVehicleGressionVos.get(0).getNodeState().contains("已办结") || scmVehicleGressionVos.get(0).getNodeState().contains("终止") || scmVehicleGressionVos.get(0).getNodeState().contains("申请"))) { return rb.setMsg("该申请已存在,请务重复提交!"); } } From b9eff063cc6e7a168e826996e8c24d16b1c87470 Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Wed, 10 Aug 2022 17:23:56 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=B8=8A=E8=A3=85=E8=B0=83=E4=BB=B7?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5=E3=80=82=20=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseManufactorSubscriptionQuery.java | 3 + .../basevehinstall/BaseVehinstallFeign.java | 5 + .../BaseVehinstallFeignFallback.java | 5 + .../basevehinstall/BaseVehinstallQuery.java | 4 + .../api/basevehinstall/BaseVehinstallVo.java | 2 + .../BaseVehinstallmodelFeign.java | 5 - .../BaseVehinstallModpriceFeign.java | 39 +++ .../BaseVehinstallModpriceFeignFallback.java | 39 +++ .../BaseVehInstallModPriceCompleteDto.java | 41 +++ .../flow/BaseVehInstallModPriceTaskQuery.java | 44 +++ .../flow/GetNodeQuery.java | 24 ++ .../flow/GetNodeVo.java | 25 ++ .../flow/SubmitBaseVehInstallModPriceDto.java | 22 ++ .../BaseVehinstallModpricedetailDto.java | 3 +- .../BaseInternalPurchaseService.java | 6 + .../biz/basevehicle/BaseVehicleMapper.java | 2 + .../biz/basevehicle/BaseVehicleMapper.xml | 7 + .../biz/basevehicle/BaseVehicleService.java | 8 +- .../basevehinstall/BaseVehinstallRest.java | 7 + .../basevehinstall/BaseVehinstallService.java | 60 ++++ .../BaseVehinstallModpriceMapper.java | 3 + .../BaseVehinstallModpriceMapper.xml | 15 + .../BaseVehinstallModpriceRest.java | 51 ++++ .../BaseVehinstallModpriceService.java | 263 +++++++++++++++++- .../anrui/flowable/api/utils/ProcDefEnum.java | 3 +- .../sysorganization/SysOrganizationRest.java | 1 + .../biz/sysstafforg/SysStaffOrgMapper.java | 3 + .../biz/sysstafforg/SysStaffOrgService.java | 4 + 28 files changed, 683 insertions(+), 11 deletions(-) create mode 100644 anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceCompleteDto.java create mode 100644 anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceTaskQuery.java create mode 100644 anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeQuery.java create mode 100644 anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeVo.java create mode 100644 anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/SubmitBaseVehInstallModPriceDto.java diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionQuery.java index e64d8b197e..5717427e4d 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionQuery.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionQuery.java @@ -64,6 +64,9 @@ public class BaseManufactorSubscriptionQuery implements Query { @ApiModelProperty("认款结束日期") private String subscriptionEndDate; // 认款结束日期 + @ApiModelProperty("厂家采购类型key") + private String applyTypeKey; // 厂家采购类型key + @ApiModelProperty("创建组织sid") private String createOrgSid; // 创建组织sid } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java index a987edde96..8bbc1449d7 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java @@ -61,6 +61,11 @@ public interface BaseVehinstallFeign { @ResponseBody public ResultBean> listPage(@RequestBody PagerQuery pq); + @ApiOperation("上装调价选择上装台账") + @PostMapping("/vehInsMod") + @ResponseBody + public ResultBean> vehInsMod(@RequestBody PagerQuery pq); + @ApiOperation("新增或修改") @PostMapping("/save") @ResponseBody diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java index a098ea3d94..0547488ee6 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java @@ -54,6 +54,11 @@ public class BaseVehinstallFeignFallback implements BaseVehinstallFeign { return rb.setMsg("接口anrui-base/basevehinstall/listPage无法访问"); } + @Override + public ResultBean> vehInsMod(PagerQuery pq) { + return null; + } + @Override public ResultBean save(BaseVehinstallDto dto){ return ResultBean.fireFail().setMsg("接口anrui-base/basevehinstall/save无法访问"); diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallQuery.java index 9c0308819c..be3f33b2b7 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallQuery.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallQuery.java @@ -32,6 +32,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * Project: anrui-base(上装配置管理)
* File: BaseVehinstallQuery.java
@@ -67,4 +69,6 @@ public class BaseVehinstallQuery implements Query { private String noticeModel; // 公告型号 @ApiModelProperty("创建组织") private String createOrgSid; // 创建组织 + @ApiModelProperty("上装台账sid") + private List jacketSidList; // 上装台账sid } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallVo.java index f1809e081c..da4bc0eef5 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallVo.java @@ -83,4 +83,6 @@ public class BaseVehinstallVo implements Vo { private String priceDate; // 入库日期 @ApiModelProperty("出库日期") private String salesDate; // 出库日期 + @ApiModelProperty("主车销售指导价") + private String vehGuidePrice; // 主车销售指导价 } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodel/BaseVehinstallmodelFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodel/BaseVehinstallmodelFeign.java index 9609d1e1b4..ef38afa8b7 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodel/BaseVehinstallmodelFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodel/BaseVehinstallmodelFeign.java @@ -76,9 +76,4 @@ public interface BaseVehinstallmodelFeign { @GetMapping("/fetchDetailsBySid/{sid}") @ResponseBody public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); - - /**********************************流程接口*******************************************/ - - - } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeign.java index ee5e0a426b..ac27803ab1 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeign.java @@ -25,14 +25,23 @@ *********************************************************/ package com.yxt.anrui.base.api.basevehinstallmodprice; +import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceCompleteDto; +import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceTaskQuery; +import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery; +import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceCompleteDto; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceTaskQuery; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.SubmitBaseVehInstallModPriceDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; 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; /** @@ -75,4 +84,34 @@ public interface BaseVehinstallModpriceFeign { @GetMapping("/fetchDetailsBySid/{sid}") @ResponseBody public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + /*************************************上装调价流程**************************************/ + + @ApiOperation("提交上装调价流程") + @PostMapping("/submitBaseVehInstallModPrice") + public ResultBean submitBaseVehInstallModPrice(@Valid @RequestBody SubmitBaseVehInstallModPriceDto dto); + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody BaseVehInstallModPriceCompleteDto query); + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query); + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query); + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean taskReject(@Valid @RequestBody BaseVehInstallModPriceTaskQuery query); + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@Valid @RequestBody BaseVehInstallModPriceTaskQuery query); + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@Valid @RequestBody BaseVehInstallModPriceTaskQuery query); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeignFallback.java index 013b8b2e21..e3e5368222 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/BaseVehinstallModpriceFeignFallback.java @@ -25,6 +25,10 @@ *********************************************************/ package com.yxt.anrui.base.api.basevehinstallmodprice; +import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceCompleteDto; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceTaskQuery; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.SubmitBaseVehInstallModPriceDto; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -69,4 +73,39 @@ public class BaseVehinstallModpriceFeignFallback implements BaseVehinstallModpri ResultBean rb = ResultBean.fireFail(); return rb.setMsg("接口anrui-base/basevehinstallmodprice/fetchDetailsBySid无法访问"); } + + @Override + public ResultBean submitBaseVehInstallModPrice(SubmitBaseVehInstallModPriceDto dto) { + return null; + } + + @Override + public ResultBean complete(BaseVehInstallModPriceCompleteDto query) { + return null; + } + + @Override + public ResultBean getNextNodesForSubmit(GetNodeQuery query) { + return null; + } + + @Override + public ResultBean getPreviousNodesForReject(GetNodeQuery query) { + return null; + } + + @Override + public ResultBean taskReject(BaseVehInstallModPriceTaskQuery query) { + return null; + } + + @Override + public ResultBean revokeProcess(BaseVehInstallModPriceTaskQuery query) { + return null; + } + + @Override + public ResultBean breakProcess(BaseVehInstallModPriceTaskQuery query) { + return null; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceCompleteDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceCompleteDto.java new file mode 100644 index 0000000000..c68b29bc9e --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceCompleteDto.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.base.api.basevehinstallmodprice.flow; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/6/28 9:01 + * @Description + */ +@Data +public class BaseVehInstallModPriceCompleteDto implements Dto { + private static final long serialVersionUID = 3240453987322803352L; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "用户全路径sid") + @NotBlank(message = "参数错误:orgSidPath") + 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 = "意见") + @NotBlank(message = "参数错误:comment") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "暂不确定是不是需要前端传的:还是有分支的时候传??") + private Map formVariables; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceTaskQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceTaskQuery.java new file mode 100644 index 0000000000..233c4285bd --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/BaseVehInstallModPriceTaskQuery.java @@ -0,0 +1,44 @@ +package com.yxt.anrui.base.api.basevehinstallmodprice.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/6/28 17:29 + * @Description 终止、撤回、驳回查询参数 + */ +@Data +public class BaseVehInstallModPriceTaskQuery implements Query { + private static final long serialVersionUID = -4006020771892400451L; + /** + * 终止、驳回、撤回 + */ + @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/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeQuery.java new file mode 100644 index 0000000000..700b5f8db9 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeQuery.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.base.api.basevehinstallmodprice.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/6/28 10:42 + * @Description + */ +@Data +public class GetNodeQuery implements Query { + private static final long serialVersionUID = -5674867230708197611L; + + @ApiModelProperty(value = "环节定义id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; +/* + @ApiModelProperty(value = "不确定是否需要前端传:还是有分支网关的时候传??") + private Map formVariables;*/ +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeVo.java new file mode 100644 index 0000000000..c41d7851ba --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/GetNodeVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.base.api.basevehinstallmodprice.flow; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/28 11:09 + * @Description + */ +@Data +public class GetNodeVo implements Vo { + private static final long serialVersionUID = 8802774014747063504L; + @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-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/SubmitBaseVehInstallModPriceDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/SubmitBaseVehInstallModPriceDto.java new file mode 100644 index 0000000000..bbef240301 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodprice/flow/SubmitBaseVehInstallModPriceDto.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.base.api.basevehinstallmodprice.flow; + +import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceDto; +import com.yxt.anrui.base.api.basevehinstallmodprice.BaseVehinstallModpriceDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/27 13:38 + * @Description + */ +@Data +public class SubmitBaseVehInstallModPriceDto extends BaseVehinstallModpriceDto { + private static final long serialVersionUID = 378585162071125756L; + @ApiModelProperty("意见") + private String comment; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodpricedetail/BaseVehinstallModpricedetailDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodpricedetail/BaseVehinstallModpricedetailDto.java index cd75dddab3..36fff23c67 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodpricedetail/BaseVehinstallModpricedetailDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstallmodpricedetail/BaseVehinstallModpricedetailDto.java @@ -75,5 +75,6 @@ public class BaseVehinstallModpricedetailDto implements Dto { private BigDecimal incOrDecInPrice; // 价格增减数额 @ApiModelProperty("调整后整车销售指导价") private BigDecimal adjustVehGuidedPrice; // 调整后整车销售指导价 - + @ApiModelProperty("备注") + private String remarks; // 备注 } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java index a30af4c9d6..0a552964b5 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java @@ -26,6 +26,7 @@ package com.yxt.anrui.base.biz.baseinternalpurchase; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -40,6 +41,7 @@ import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto; import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto; import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto; +import com.yxt.anrui.base.api.basevehicle.BaseVehicleVo; import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfig; import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo; import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply; @@ -460,6 +462,10 @@ public class BaseInternalPurchaseService extends MybatisBaseService resultBean1 = scmVehicleExamineFeign.saveEntryCarInspectedInfo(scmEntryVehicleExamineDto); if (!resultBean1.getSuccess()) { return rb.setMsg("验车业务模块的数据推送失败!"); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java index 2e436aad5b..dfc8d48bd0 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java @@ -428,4 +428,6 @@ public interface BaseVehicleMapper extends BaseMapper { int getStockNum(@Param(Constants.WRAPPER) QueryWrapper qwq); List> purSellVinNoAndLoc(@Param(Constants.WRAPPER) QueryWrapper qw); + + BaseVehicle selVehicleByVinNoAndOrgSid(@Param("vinNo") String vinNo,@Param("createOrgSid") String createOrgSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml index 1a93737213..b09612c92b 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml @@ -1009,4 +1009,11 @@ ${ew.sqlSegment} + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java index 556e75b436..aa288c4f33 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java @@ -1634,9 +1634,11 @@ public class BaseVehicleService extends MybatisBaseService stringList = baseVehinstallService.selectListVo(createOrgSid); QueryWrapper qw = new QueryWrapper<>(); - qw.notIn("bv.vinNo", stringList); qw.eq("bv.createOrgSid", createOrgSid); qw.eq("bvm.createOrg", createOrgSid); + if (stringList.size() > 0) { + qw.notIn("bv.vinNo", stringList); + } List baseExistingCarListVo = baseMapper.selExistingCar(qw); return rb.success().setData(baseExistingCarListVo); } @@ -2144,4 +2146,8 @@ public class BaseVehicleService extends MybatisBaseService> maps = baseMapper.purSellVinNoAndLoc(qw); return rb.success().setData(maps); } + + public BaseVehicle selVehicleByVinNoAndOrgSid(String vinNo, String createOrgSid) { + return baseMapper.selVehicleByVinNoAndOrgSid(vinNo,createOrgSid); + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java index 5da7e54d34..25cbe97c85 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java @@ -72,6 +72,13 @@ public class BaseVehinstallRest implements BaseVehinstallFeign { return rb.success().setData(pv); } + @Override + public ResultBean> vehInsMod(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = baseVehinstallService.vehInsMod(pq); + return rb.success().setData(pv); + } + @Override @ApiOperation("新增或修改") @PostMapping("/save") diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java index 9e09235a91..686e48a7f7 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java @@ -28,9 +28,13 @@ package com.yxt.anrui.base.biz.basevehinstall; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodel; import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodelDetailsVo; +import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo; +import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService; import com.yxt.anrui.base.biz.basevehinstallmodel.BaseVehinstallmodelService; +import com.yxt.anrui.base.biz.basevehmodelconfig.BaseVehmodelConfigService; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -67,6 +71,10 @@ public class BaseVehinstallService extends MybatisBaseService createQueryWrapper(BaseVehinstallQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -122,6 +130,10 @@ public class BaseVehinstallService extends MybatisBaseService selectListVo(String createOrgSid) { return baseMapper.selectListVo(createOrgSid); } + + public PagerVo vehInsMod(PagerQuery pq) { + BaseVehinstallQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("bv.createOrg",query.getCreateOrgSid()); + qw.eq("bvm.createOrgSid",query.getCreateOrgSid()); + if (StringUtils.isNotBlank(query.getVehicleTypeKey())){ + qw.eq("bvm.vehicleTypeKey",query.getVehicleTypeKey()); + } + if (StringUtils.isNotBlank(query.getRefitMethodKey())){ + qw.eq("bvm.refitMethodKey",query.getRefitMethodKey()); + } + if (StringUtils.isNotBlank(query.getRefitFactory())){ + qw.like("bvm.refitFactory",query.getRefitFactory()); + } + if (StringUtils.isNotBlank(query.getInstallNameKey())){ + qw.eq("bvm.installNameKey",query.getInstallNameKey()); + } + if (StringUtils.isNotBlank(query.getColorKey())){ + qw.eq("bvm.colorKey",query.getColorKey()); + } + if (StringUtils.isNotBlank(query.getPlateMaterialKey())){ + qw.eq("bvm.plateMaterialKey",query.getPlateMaterialKey()); + } + if (StringUtils.isNotBlank(query.getNoticeModel())){ + qw.like("bv.noticeModel",query.getNoticeModel()); + } + if (StringUtils.isNotBlank(query.getVinNo())){ + qw.like("bv.vinNo",query.getVinNo()); + } + if (query.getJacketSidList().size() > 0) { + qw.notIn("bv.sid", query.getJacketSidList()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + List records = pagging.getRecords(); + for (BaseVehinstallVo record : records) { + String vinNo = record.getVinNo(); + BaseVehicle baseVehicle = baseVehicleService.selVehicleByVinNoAndOrgSid(vinNo, query.getCreateOrgSid()); + String modelSid = baseVehicle.getModelSid(); + String modelConfigSid = baseVehicle.getModelConfigSid(); + BaseVehmodelVo baseVehmodelVo = baseVehmodelConfigService.selectVehPur(modelSid, modelConfigSid, query.getCreateOrgSid()); + String guidedPrice = baseVehmodelVo.getGuidedPrice(); + record.setVehGuidePrice(guidedPrice); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.java index 53d2070372..887acdfa1b 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.java @@ -36,6 +36,7 @@ import com.yxt.anrui.base.api.basevehinstallmodprice.BaseVehinstallModprice; import com.yxt.anrui.base.api.basevehinstallmodprice.BaseVehinstallModpriceVo; import java.util.List; +import java.util.Map; /** * Project: anrui-base(上装调价)
@@ -62,4 +63,6 @@ public interface BaseVehinstallModpriceMapper extends BaseMapper selectListVo(); + + int updateFlowFiled(Map beanToMap); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.xml index 861891c607..8b2357c792 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceMapper.xml @@ -10,4 +10,19 @@ + + + UPDATE base_vehinstall_modprice + SET nodeState=#{nodeState}, nodeSid=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid=#{sid} + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceRest.java index a742bf23bf..ff56b72e4d 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceRest.java @@ -25,6 +25,16 @@ *********************************************************/ package com.yxt.anrui.base.biz.basevehinstallmodprice; +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceCompleteDto; +import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceTaskQuery; +import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery; +import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceCompleteDto; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceTaskQuery; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.SubmitBaseVehInstallModPriceDto; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -92,4 +102,45 @@ public class BaseVehinstallModpriceRest implements BaseVehinstallModpriceFeign { public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ return baseVehinstallModpriceService.fetchDetailsVoBySid(sid); } + + /************************************上装调价申请流程******************************/ + + @Override + public ResultBean submitBaseVehInstallModPrice(SubmitBaseVehInstallModPriceDto dto) { + return baseVehinstallModpriceService.submitBaseVehInstallModPrice(dto); + } + + @Override + public ResultBean complete(BaseVehInstallModPriceCompleteDto query) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.BASEVEHINSTALLMODPRICE.getProDefId()); + bv.setFormVariables(BeanUtil.beanToMap(query)); + return baseVehinstallModpriceService.complete(bv); + } + + @Override + public ResultBean getNextNodesForSubmit(GetNodeQuery query) { + return baseVehinstallModpriceService.getNextNodesForSubmit(query); + } + + @Override + public ResultBean getPreviousNodesForReject(GetNodeQuery query) { + return baseVehinstallModpriceService.getPreviousNodesForReject(query); + } + + @Override + public ResultBean taskReject(BaseVehInstallModPriceTaskQuery query) { + return baseVehinstallModpriceService.taskReject(query); + } + + @Override + public ResultBean revokeProcess(BaseVehInstallModPriceTaskQuery query) { + return baseVehinstallModpriceService.revokeProcess(query); + } + + @Override + public ResultBean breakProcess(BaseVehInstallModPriceTaskQuery query) { + return baseVehinstallModpriceService.breakProcess(query); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceService.java index a0cd3d59dd..9dcaa01d5b 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstallmodprice/BaseVehinstallModpriceService.java @@ -26,11 +26,31 @@ package com.yxt.anrui.base.biz.basevehinstallmodprice; import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModprice; +import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery; +import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto; +import com.yxt.anrui.base.api.basemodelmodpricemodel.BaseModelModpriceModelVo; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.BaseVehInstallModPriceTaskQuery; +import com.yxt.anrui.base.api.basevehinstallmodprice.flow.SubmitBaseVehInstallModPriceDto; import com.yxt.anrui.base.api.basevehinstallmodpricedetail.BaseVehinstallModpricedetailDetailsVo; import com.yxt.anrui.base.api.basevehinstallmodpricedetail.BaseVehinstallModpricedetailDto; +import com.yxt.anrui.base.api.basevehinstallmodpricedetail.BaseVehinstallModpricedetailVo; +import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfig; +import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo; import com.yxt.anrui.base.biz.basevehinstallmodpricedetail.BaseVehinstallModpricedetailService; +import com.yxt.anrui.flowable.api.flow.FlowableFeign; +import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +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 org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -47,7 +67,12 @@ import com.yxt.anrui.base.api.basevehinstallmodprice.BaseVehinstallModpriceFeign import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Collectors; /** * Project: anrui-base(上装调价)
@@ -67,6 +92,14 @@ public class BaseVehinstallModpriceService extends MybatisBaseService createQueryWrapper(BaseVehinstallModpriceQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -90,7 +123,7 @@ public class BaseVehinstallModpriceService extends MybatisBaseService saveOrUpdateDto(BaseVehinstallModpriceDto dto) { ResultBean rb = ResultBean.fireFail(); String dtoSid = dto.getSid(); List baseVehinstallModpricedetails = dto.getBaseVehinstallModpricedetails(); @@ -101,7 +134,7 @@ public class BaseVehinstallModpriceService extends MybatisBaseService insertByDto(BaseVehinstallModpriceDto dto) { ResultBean rb = ResultBean.fireFail(); BaseVehinstallModprice entity = new BaseVehinstallModprice(); BeanUtil.copyProperties(dto, entity, "id", "sid"); + entity.setNodeState("待提交"); baseMapper.insert(entity); return rb.success().setMsg("添加成功").setData(entity.getSid()); } @@ -152,4 +186,227 @@ public class BaseVehinstallModpriceService extends MybatisBaseService userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean orgByStaffSid = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!orgByStaffSid.getSuccess()) { + return rb.setMsg(orgByStaffSid.getMsg()); + } + //用户的组织全路径 + String orgSidPath = orgByStaffSid.getData().getOrgSidPath(); + BaseVehinstallModprice baseVehinstallModprice = fetchBySid(dto.getSid()); + int r = submitBusinessData(dto, baseVehinstallModprice); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + //新增修改保存 + ResultBean resultBean = saveOrUpdateDto(dto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + String businessSid = resultBean.getData(); + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值 + Map variables = BeanUtil.beanToMap(dto); + //若有网关,则赋值网关中判断的字段。 + variables.put("businessSid", businessSid); + //用户的部门全路径sid + bv.setOrgSidPath(orgSidPath); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(dto.getCreateBySid()); + bv.setFormVariables(variables); + //流程定义id + bv.setModelId(ProcDefEnum.BASEVEHINSTALLMODPRICE.getProDefId()); + if (r == 1) { + ResultBean voResultBean = flowableFeign.startProcess(bv); + UpdateFlowFieldVo ufVo = voResultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(ufVo)); + return voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + bv.setTaskId(baseVehinstallModprice.getTaskId()); + bv.setTaskDefKey(baseVehinstallModprice.getNodeSid()); + bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } + + /** + * 判断提交的流程是否被允许 + * + * @param dto + * @return + */ + private synchronized int submitBusinessData(SubmitBaseVehInstallModPriceDto dto, BaseVehinstallModprice baseVehinstallModprice) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (baseVehinstallModprice != null) { + String businessTaskId = baseVehinstallModprice.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; + } + + } + return r; + } + + private int updateFlowFiled(Map beanToMap) { + return baseMapper.updateFlowFiled(beanToMap); + } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + BaseVehinstallModprice baseVehinstallModprice = fetchBySid(bv.getBusinessSid()); + List baseVehinstallModpricedetailDetailsVos = baseVehinstallModpricedetailService.fetchByMainSid(bv.getBusinessSid()); + if (bv.getTaskId().equals(baseVehinstallModprice.getTaskId())) { + ResultBean resultBean = flowableFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + //String taskDefKey = resultBean.getData().getTaskDefKey(); + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + /*if ("Event_end".equals(taskDefKey)) { + for (BaseVehinstallModpricedetailDetailsVo baseVehinstallModpricedetailDetailsVo : baseVehinstallModpricedetailDetailsVos) { + BigDecimal incOrDecInPrice = baseVehinstallModpricedetailDetailsVo.getIncOrDecInPrice(); + BigDecimal guidedPrice = baseVehinstallModpricedetailDetailsVo.getGuidedPrice(); + guidedPrice = guidedPrice.add(incOrDecInPrice); + String modelSid = baseVehinstallModpricedetailDetailsVo.getModelSid(); + String configSid = baseVehinstallModpricedetailDetailsVo.getConfigSid(); + String createOrgSid = baseVehinstallModpricedetailDetailsVo.getCreateOrgSid(); + BaseVehmodelConfig baseVehmodelConfig = baseVehmodelConfigMapper.selectSid(modelSid, configSid, createOrgSid); + if (baseVehmodelConfig == null) { + return rb.setMsg("车型配置不存在"); + } + baseVehmodelConfigMapper.updateGuidedPrice(guidedPrice, baseVehmodelConfig.getSid()); + } + }*/ + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + public ResultBean getNextNodesForSubmit(GetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.BASEVEHINSTALLMODPRICE.getProDefId()); + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); +// List voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean getPreviousNodesForReject(GetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(ProcDefEnum.BASEVEHINSTALLMODPRICE.getProDefId()); + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); +// List voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean taskReject(BaseVehInstallModPriceTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + BaseVehinstallModprice baseVehinstallModprice = fetchBySid(query.getBusinessSid()); + if (baseVehinstallModprice == null) { + return rb.setMsg("该申请不存在"); + } + String businessTaskId = baseVehinstallModprice.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + //更新业务中的流程相关的参数 + updateFlowFiled(map); + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean revokeProcess(BaseVehInstallModPriceTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + //根据业务sid查询调价申请 + BaseVehinstallModprice baseVehinstallModprice = fetchBySid(query.getBusinessSid()); + String businessTaskId = baseVehinstallModprice.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(BaseVehInstallModPriceTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + BaseVehinstallModprice baseVehinstallModprice = fetchBySid(query.getBusinessSid()); + String businessTaskId = baseVehinstallModprice.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + 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()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } } \ No newline at end of file diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java index ca79eaea5f..9d38d19749 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java @@ -28,7 +28,8 @@ public enum ProcDefEnum { FINPAYAPPLY("付款申请","process_gin2tntb:3:457508"), BUSDELIVEREDAPPLY("出库申请","process_wgt1n66l:2:357504"), BASEACCADJAPPLY("调账申请","process_r6pyzqoz:1:400012"), - BASESHUNINVOICAPPLY("调车开票申请","process_u4xrvaso:1:400008") + BASESHUNINVOICAPPLY("调车开票申请","process_u4xrvaso:1:400008"), + BASEVEHINSTALLMODPRICE("上装调价申请","process_s0a0svth:1:492508"), ; ProcDefEnum(String proDefName, String proDefId) { diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java index 46144ea43b..00398b8882 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java @@ -101,6 +101,7 @@ public class SysOrganizationRest implements SysOrganizationFeign { entity.setSid(sid); String zgStaffSid = dto.getZgStaffSid(); String fgStaffSid = dto.getFgStaffSid(); + sysStaffOrgService.delZGAndFGByOrgSid(sid); // sysStaffOrgService.delByOrgSid(sid);//?为啥要删掉???暂时注释 if (org.apache.commons.lang3.StringUtils.isNotBlank(zgStaffSid)) { sysOrganizationService.addSysStaffOrg(zgStaffSid, "1", entity); diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java index 6991e1f36d..320256ba89 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java @@ -81,4 +81,7 @@ public interface SysStaffOrgMapper extends BaseMapper { @Select("select * from sys_staff_org where staffSid=#{sid}") SysStaffOrg getOrgByStaffSid(String sid); + + @Delete("delete from sys_staff_org where orgSid=#{sid} and (manageType = 1 or manageType = 2)") + void delZGAndFGByOrgSid(String sid); } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java index 0b2beb84e4..b615c4612d 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java @@ -238,4 +238,8 @@ public class SysStaffOrgService extends MybatisBaseService