diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.xml b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.xml
index dd516d2e9e..f7cd3cdd1b 100644
--- a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.xml
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.xml
@@ -27,6 +27,7 @@
ON ppb.`sourceBillSid` = pb.`sid`
LEFT JOIN pms_purchaseback_detail ppd
ON ppb.`sid` = ppd.`billSid`
+ LEFT JOIN anrui_portal.sys_organization as s ON ppb.deptSid = s.sid
${ew.sqlSegment}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillQuery.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillQuery.java
index 68342b5fbd..caa546d39f 100644
--- a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillQuery.java
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillQuery.java
@@ -80,4 +80,7 @@ public class PmsPurchasebackBillQuery implements Query {
@ApiModelProperty("组织全路径")
private String orgPath;
+ private String userSid;
+ @ApiModelProperty("菜单url")
+ private String menuUrl;
}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java
index 0be271bba5..079a98a457 100644
--- a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java
@@ -37,6 +37,7 @@ import com.yxt.pms.biz.pms.pmspurchasebackdetail.PmsPurchasebackDetailDto;
import com.yxt.pms.biz.pms.pmspurchasebackdetail.PmsPurchasebackDetailService;
import com.yxt.pms.biz.pms.pmspurchasebill.PmsPurchaseBill;
import com.yxt.pms.biz.pms.pmspurchasebill.PmsPurchaseBillService;
+import com.yxt.pms.biz.pms.pmspurchasebill.PmsPurchaseBillVo;
import com.yxt.pms.biz.pms.pmspurchasebill.PmsPurchaseChoiceBillDetailsVo;
import com.yxt.pms.feign.base.Rule;
import com.yxt.pms.feign.flowable.flow.*;
@@ -51,6 +52,8 @@ import com.yxt.pms.feign.message.MessageFlowableQuery;
import com.yxt.pms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.pms.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.pms.feign.portal.sysstafforg.SysStaffOrgFeign;
+import com.yxt.pms.feign.privilege.PrivilegeQuery;
+import com.yxt.pms.feign.sysuser.SysUserFeign;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@@ -96,13 +99,51 @@ public class PmsPurchasebackBillService extends MybatisBaseService listPageVo(PagerQuery pq) {
PmsPurchasebackBillQuery query = pq.getParams();
QueryWrapper qw = new QueryWrapper<>();
- String orgPath = query.getOrgPath();
- String createOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
- qw.eq("ppb.createOrgSid", createOrgSid);
+ //========================================数据授权开始
+ 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("ppb.createBySid", query.getUserSid());
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ }
if (StringUtils.isNotBlank(query.getCreateOrgName())) {
qw.like("ppb.createOrgName", query.getCreateOrgName());
}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDetailsVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDetailsVo.java
index 8ee4273a2e..cf8a310d90 100644
--- a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDetailsVo.java
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDetailsVo.java
@@ -109,10 +109,7 @@ public class PmsPurchaseBillDetailsVo implements Vo {
@ApiModelProperty("采购员姓名")
private String purchaserName;
@ApiModelProperty("预计到货日期")
- @JsonFormat(
- pattern = "yyyy-MM-dd HH:mm:ss",
- timezone = "GMT+8"
- )
+ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date deliveryDate;
@ApiModelProperty("运费")
private BigDecimal freight;
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDto.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDto.java
index 3bd23f9b65..ad82d28c82 100644
--- a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDto.java
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDto.java
@@ -99,10 +99,7 @@ public class PmsPurchaseBillDto implements Dto {
@ApiModelProperty("采购员姓名")
private String purchaserName;
@ApiModelProperty("预计到货日期")
- @JsonFormat(
- pattern = "yyyy-MM-dd HH:mm:ss",
- timezone = "GMT+8"
- )
+ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date deliveryDate;
@ApiModelProperty("运费")
private BigDecimal freight;
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.xml b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.xml
index 09f5e02245..0203a5d4aa 100644
--- a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.xml
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.xml
@@ -27,6 +27,7 @@
ON ppbi.`billSid` = ppb.`sid`
LEFT JOIN pms_purchase_bill_detail ppbd
ON ppbd.`billSid` = ppb.`sid`
+ LEFT JOIN anrui_portal.sys_organization as s ON ppb.deptSid = s.sid
${ew.sqlSegment}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillQuery.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillQuery.java
index 2279910ff9..9b5ab7e6dc 100644
--- a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillQuery.java
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillQuery.java
@@ -82,4 +82,7 @@ public class PmsPurchaseBillQuery implements Query {
@ApiModelProperty("组织全路径")
private String orgPath;
+ private String userSid;
+ @ApiModelProperty("菜单url")
+ private String menuUrl;
}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java
index afd1ba7a3b..2f8d185d88 100644
--- a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java
@@ -31,6 +31,7 @@ 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;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.common.core.result.ResultBean;
import com.yxt.pms.biz.pms.pmspurchasebackbill.PmsPurchasebackBillService;
import com.yxt.pms.biz.pms.pmspurchasebackdetail.PmsPurchasebackDetailService;
@@ -59,6 +60,8 @@ import com.yxt.pms.feign.message.MessageFlowableQuery;
import com.yxt.pms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.pms.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.pms.feign.portal.sysstafforg.SysStaffOrgFeign;
+import com.yxt.pms.feign.privilege.PrivilegeQuery;
+import com.yxt.pms.feign.sysuser.SysUserFeign;
import com.yxt.pms.feign.wms.wmsansbill.WmsAnsBillDetailDto;
import com.yxt.pms.feign.wms.wmsansbill.WmsAnsBillDto;
import com.yxt.pms.feign.wms.wmsansbill.WmsAnsBillFeign;
@@ -68,11 +71,13 @@ import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.vo.PagerVo;
+import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
+import java.util.concurrent.*;
import java.util.stream.Collectors;
/**
@@ -117,13 +122,52 @@ public class PmsPurchaseBillService extends MybatisBaseService listPageVo(PagerQuery pq) {
PmsPurchaseBillQuery query = pq.getParams();
QueryWrapper qw = new QueryWrapper<>();
- String orgPath = query.getOrgPath();
- String createOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
- qw.eq("ppb.createOrgSid", createOrgSid);
+ //========================================数据授权开始
+ 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("ppb.createBySid", query.getUserSid());
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ }
if (StringUtils.isNotBlank(query.getCreateOrgName())) {
qw.like("ppb.createOrgName", query.getCreateOrgName());
}
@@ -366,16 +410,31 @@ public class PmsPurchaseBillService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
+ PmsPurchaseBill purchaseBill = pmsPurchaseBill;
+ 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(purchaseBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ messageFlowableQuery.setMsgTitle("采购单申请");
+ messageFeign.pushMessage(messageFlowableQuery);
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ //==================================添加线程
return voResultBean;
}
if (r == 2) {
@@ -494,18 +553,33 @@ public class PmsPurchaseBillService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
+ PmsPurchaseBill purchaseBill = pmsPurchaseBill;
+ Future future1 = pool.submit(() -> {
+ //极光推送
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ ufVo.setProcDefId(purchaseBill.getProcDefId());
+ ufVo.setProcInsId(purchaseBill.getProcInstId());
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("采购单申请");
+ messageFlowableQuery.setMsgContent(purchaseBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ messageFlowableQuery.setMsgTitle("采购单申请");
+ messageFeign.pushMessage(messageFlowableQuery);
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ //==================================添加线程
}
return rb.success().setData(resultBean.getData());
} else {
@@ -568,26 +642,41 @@ public class PmsPurchaseBillService extends MybatisBaseService> 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(pmsPurchaseBill.getCreateBySid())) {
- messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
- } else {
- messageFlowableQuery.setMsgContent(pmsPurchaseBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ //==================================添加线程
+ 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());
+ PmsPurchaseBill purchaseBill = pmsPurchaseBill;
+ Future future1 = pool.submit(() -> {
+ //极光推送
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ String procId = purchaseBill.getProcInstId();
+ ufVo.setProcInsId(procId);
+ ufVo.setProcDefId(purchaseBill.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(purchaseBill.getCreateBySid())) {
+ messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
+ } else {
+ messageFlowableQuery.setMsgContent(purchaseBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ }
+ messageFlowableQuery.setMsgTitle("采购单申请");
+ messageFeign.pushMessage(messageFlowableQuery);
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
}
- messageFlowableQuery.setMsgTitle("采购单申请");
- messageFeign.pushMessage(messageFlowableQuery);
+ //==================================添加线程
return rb.success();
}
}
diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetail.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetail.java
index 27ddb3a58e..b8b58f6287 100644
--- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetail.java
+++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetail.java
@@ -31,7 +31,7 @@ public class WmsAnsBillDetail extends BaseEntity {
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("单位成本(采购价)")
- private String cost;
+ private BigDecimal cost;
@ApiModelProperty("预约数量(采购订单数量)")
private String orderCount;
@ApiModelProperty("待入库数量-根据收货单计算")