diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyQuery.java index 9920a67389..2affb82760 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyQuery.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyQuery.java @@ -31,4 +31,10 @@ public class BusVehicleApplyQuery implements Query { private String modelName; @ApiModelProperty(value = "用户sid") private String userSid; + + @ApiModelProperty("采购类型") + private String applyTypeKey; + + @ApiModelProperty("采购原因") + private String schedulingTypeKey; } 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/basemanufactorsubscription/BaseManufactorSubscriptionService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java index 6269cbe910..88419365ac 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java @@ -213,6 +213,9 @@ public class BaseManufactorSubscriptionService 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 @@ -350,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; + } + /** * 判断提交的流程是否被允许 * @@ -459,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("该申请已存在,请务重复提交!"); } } 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/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 }} - + + + + 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-scm/anrui-scm-ui/src/views/supplychain/changjiaxitong/manufacturers.vue b/anrui-scm/anrui-scm-ui/src/views/supplychain/changjiaxitong/manufacturers.vue index 71de0afe9e..5c721235d6 100644 --- a/anrui-scm/anrui-scm-ui/src/views/supplychain/changjiaxitong/manufacturers.vue +++ b/anrui-scm/anrui-scm-ui/src/views/supplychain/changjiaxitong/manufacturers.vue @@ -8,7 +8,7 @@ {{ searchxianshitit }} - + + + + + +
查询 @@ -54,11 +59,16 @@ {{ scope.row.state == '0' ? '未认款' : '已认款' }} - + + + +