Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 1 month ago
parent
commit
99bc0a14b0
  1. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbelow/FinPaymentapplyDetailsBelow.java
  2. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbelow/FinPaymentapplyDetailsBelowDetailsVo.java
  3. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbelow/FinPaymentapplyDetailsBelowDto.java
  4. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveVo.java
  5. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  6. 29
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java
  7. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java
  8. 450
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryallocatebill/WmsInventoryAllocateBillService.java

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbelow/FinPaymentapplyDetailsBelow.java

@ -66,8 +66,7 @@ public class FinPaymentapplyDetailsBelow extends BaseEntity {
@ApiModelProperty("平仓款名称")
private String closFundName;
@ApiModelProperty("开通日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date openDate;
private String openDate;
@ApiModelProperty("付款单位sid")
private String payCompanySid;
@ApiModelProperty("付款单位")

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbelow/FinPaymentapplyDetailsBelowDetailsVo.java

@ -68,8 +68,7 @@ public class FinPaymentapplyDetailsBelowDetailsVo implements Vo {
@ApiModelProperty("平仓款名称")
private String closFundName;
@ApiModelProperty("开通日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date openDate;
private String openDate;
@ApiModelProperty("付款单位sid")
private String payCompanySid;
@ApiModelProperty("付款单位")

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbelow/FinPaymentapplyDetailsBelowDto.java

@ -71,8 +71,7 @@ public class FinPaymentapplyDetailsBelowDto implements Dto {
@ApiModelProperty("平仓款名称")
private String closFundName;
@ApiModelProperty("开通日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date openDate;
private String openDate;
@ApiModelProperty("付款单位sid")
private String payCompanySid;
@ApiModelProperty("付款单位")

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentapplydetailsbeloweve/FinPaymentapplyDetailsBelowEveVo.java

@ -44,8 +44,7 @@ public class FinPaymentapplyDetailsBelowEveVo implements Vo {
@ApiModelProperty("平仓款名称")
private String costTitleValue;
@ApiModelProperty("融资付款开通日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date openDate;
private String openDate;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("付款单位名称")

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -2084,7 +2084,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
loanDiffDetailssDto.setBorrowName(busSalesOrderVehicle.getBorrowName());
loanDiffDetailssDto.setBorrowSid(busSalesOrderVehicle.getBorrowerSid());
// loanDiffDetailssDto.setMakeLoan(new BigDecimal(finUncollectedReceivablesDetailed.getReveivableMoney()));
loanDiffDetailssDto.setMakeLoan(new BigDecimal(currentReceivableMoney));
loanDiffDetailssDto.setMakeLoan(new BigDecimal(currentReceivableMoney).add(finSelectedReceivablesDetailed.getSubscriptionMoney()));
loanDiffDetailssDto.setRealityLoan(finSelectedReceivablesDetailed.getSubscriptionMoney());
loanDiffDetailssDto.setDiffLoan(decimalAll);
loanDiffDetailssDto.setMakeDiscount(loanSolutions.getActualDiscount());
@ -2260,7 +2260,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
loanDiffDetailssDto.setBorrowName(busSalesOrderVehicle.getBorrowName());
loanDiffDetailssDto.setBorrowSid(busSalesOrderVehicle.getBorrowerSid());
// loanDiffDetailssDto.setMakeLoan(new BigDecimal(finUncollectedReceivablesDetailed.getReveivableMoney()));
loanDiffDetailssDto.setMakeLoan(new BigDecimal(currentReceivableMoney));
loanDiffDetailssDto.setMakeLoan(new BigDecimal(currentReceivableMoney).add(finSelectedReceivablesDetailed.getSubscriptionMoney()));
loanDiffDetailssDto.setRealityLoan(finSelectedReceivablesDetailed.getSubscriptionMoney());
loanDiffDetailssDto.setDiffLoan(decimalAll);
loanDiffDetailssDto.setMakeDiscount(loanSolutions.getActualDiscount());

29
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java

@ -12,6 +12,7 @@ import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApply;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo;
@ -770,14 +771,30 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
}
}
}
if (!voucherDetails.isEmpty()) {
generalVoucher.setVoucherDetails(voucherDetails);
finKingDeeFeign.saveLateVoucher(generalVoucher);
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
Future future1 = pool.submit(() -> {
if (!voucherDetails.isEmpty()) {
generalVoucher.setVoucherDetails(voucherDetails);
finKingDeeFeign.saveLateVoucher(generalVoucher);
}
});
Future future2 = pool.submit(() -> {
if (!planSids.isEmpty()) {
int i = loanRepaymentPlanDetailsService.updateOweState(planSids);
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
if (!planSids.isEmpty()) {
int i = loanRepaymentPlanDetailsService.updateOweState(planSids);
}
}
}

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java

@ -597,11 +597,11 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
busVinStateSetQuery.setState(1);
ResultBean resultBean2 = busSalesOrderVehicleFeign.setFundState(busVinStateSetQuery);
}else if("二次转租".equals(loanOutboundApply.getDisposal())){
}/*else if("二次转租".equals(loanOutboundApply.getDisposal())){
busVinStateSetQuery.setState(3);
ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
}else if("二次销售".equals(loanOutboundApply.getDisposal())){
}*/else if("二次销售".equals(loanOutboundApply.getDisposal())){
//ToDo:
}

450
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryallocatebill/WmsInventoryAllocateBillService.java

@ -31,6 +31,7 @@ import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.wms.feign.portal.sysuser.SysUserFeign;
import com.yxt.wms.feign.portal.sysuserrole.SysUserRoleFeign;
import com.yxt.wms.utils.Rule;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
@ -61,6 +62,8 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
private FlowFeign flowFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private SysUserRoleFeign sysUserRoleFeign;
public PagerVo<WmsInventoryAllocateBillVoNew> listPageVo(PagerQuery<WmsInventoryAllocateBillQueryNew> pq) {
WmsInventoryAllocateBillQueryNew query = pq.getParams();
@ -210,7 +213,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
}
}
/**********************************************流程**************************************************/
/**********************************************调拨申请(集团内同一分公司两一级站间调拨)流程**************************************************/
public ResultBean submitApply(SubmitFlowDto dto) {
ResultBean rb = ResultBean.fireFail();
@ -231,6 +234,10 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
//用户的部门全路径sid
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getDeptSid()).getData();
if (sysOrganization != null) {
@ -241,7 +248,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
bv.setFormVariables(variables);
if (r == 1) {
//ToDo:流程定义id
bv.setModelId(ProcDefEnum.WMSINVENCHECKREPORT.getProDefId());
bv.setModelId(ProcDefEnum.WMSINVENTORYALLOCATEBILLTHREE.getProDefId());
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
@ -321,6 +328,10 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
String businessSid = bv.getBusinessSid();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
@ -365,7 +376,14 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//查询业务信息
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
@ -377,7 +395,14 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//查询业务信息
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
@ -407,6 +432,11 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//判断发起人是否为配件主管
String createBySid = wmsInventoryAllocateBill.getCreateBySid();
List<String> list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
@ -522,4 +552,420 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven
flowFeign.assignTask(delegateQuery);
return rb.success();
}
/**********************************************调拨申请(集团内不同分公司两一级站间调拨)流程**************************************************/
public ResultBean submitApply2(SubmitFlowDto dto) {
ResultBean rb = ResultBean.fireFail();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, wmsInventoryAllocateBill);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
String businessSid = saveOrUpdateDto(dto);
wmsInventoryAllocateBill = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//用户的部门全路径sid
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getDeptSid()).getData();
if (sysOrganization != null) {
bv.setOrgSidPath(sysOrganization.getOrgSidPath());
}
bv.setBusinessSid(businessSid);
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
if (r == 1) {
//ToDo:流程定义id
bv.setModelId(ProcDefEnum.WMSINVENTORYALLOCATEBILLTWO.getProDefId());
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
wmsInventoryAllocateBill = fetchBySid(businessSid);
//==================================添加线程
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
WmsInventoryAllocateBill finalWmsInventoryAllocateBill = wmsInventoryAllocateBill;
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(finalWmsInventoryAllocateBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("调拨申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
//==================================添加线程
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (org.apache.commons.lang3.StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(wmsInventoryAllocateBill.getTaskId());
bv.setTaskDefKey(wmsInventoryAllocateBill.getNodeId());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
public ResultBean complete2(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setFormVariables(variables);
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getDeptSid()).getData();
if (sysOrganization != null) {
bv.setOrgSidPath(sysOrganization.getOrgSidPath());
}
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
if (bv.getTaskId().equals(wmsInventoryAllocateBill.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
} else {
//极光推送
wmsInventoryAllocateBill = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowVo.setProcDefId(wmsInventoryAllocateBill.getProcDefId());
messageFlowVo.setProcInsId(wmsInventoryAllocateBill.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("调拨申请");
messageFlowableQuery.setMsgContent(wmsInventoryAllocateBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("调拨申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean<List<FlowNodeVo>> getPreviousNodesForReject2(FlowNodeQuery query) {
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
List<FlowNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<FlowNodeVo>> getNextNodesForSubmit2(FlowNodeQuery query) {
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
List<FlowNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean taskReject2(FlowTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(businessSid);
if (wmsInventoryAllocateBill == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = wmsInventoryAllocateBill.getTaskId();
if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (org.apache.commons.lang3.StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
if (org.apache.commons.lang3.StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
wmsInventoryAllocateBill = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = wmsInventoryAllocateBill.getProcInstId();
messageFlowVo.setProcInsId(procId);
messageFlowVo.setProcDefId(wmsInventoryAllocateBill.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("调拨申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextName = listResultBean.getData().get(0).getName_();
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
if ("发起申请".equals(nextName)) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(wmsInventoryAllocateBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("调拨申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
/**********************************************调拨申请(自有、合作二级站间调拨)流程**************************************************/
public ResultBean submitApply3(SubmitFlowDto dto) {
ResultBean rb = ResultBean.fireFail();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, wmsInventoryAllocateBill);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
String businessSid = saveOrUpdateDto(dto);
wmsInventoryAllocateBill = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//用户的部门全路径sid
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getDeptSid()).getData();
if (sysOrganization != null) {
bv.setOrgSidPath(sysOrganization.getOrgSidPath());
}
bv.setBusinessSid(businessSid);
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
if (r == 1) {
//ToDo:流程定义id
bv.setModelId(ProcDefEnum.WMSINVENTORYALLOCATEBILLONE.getProDefId());
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
wmsInventoryAllocateBill = fetchBySid(businessSid);
//==================================添加线程
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
WmsInventoryAllocateBill finalWmsInventoryAllocateBill = wmsInventoryAllocateBill;
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(finalWmsInventoryAllocateBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("调拨申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
//==================================添加线程
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (org.apache.commons.lang3.StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(wmsInventoryAllocateBill.getTaskId());
bv.setTaskDefKey(wmsInventoryAllocateBill.getNodeId());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
public ResultBean complete3(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setFormVariables(variables);
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getDeptSid()).getData();
if (sysOrganization != null) {
bv.setOrgSidPath(sysOrganization.getOrgSidPath());
}
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
if (bv.getTaskId().equals(wmsInventoryAllocateBill.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
} else {
//极光推送
wmsInventoryAllocateBill = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowVo.setProcDefId(wmsInventoryAllocateBill.getProcDefId());
messageFlowVo.setProcInsId(wmsInventoryAllocateBill.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("调拨申请");
messageFlowableQuery.setMsgContent(wmsInventoryAllocateBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("调拨申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean<List<FlowNodeVo>> getPreviousNodesForReject3(FlowNodeQuery query) {
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
List<FlowNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<FlowNodeVo>> getNextNodesForSubmit3(FlowNodeQuery query) {
ResultBean<List<FlowNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(query.getBusinessSid());
bv.setModelId(wmsInventoryAllocateBill.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
List<FlowNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean taskReject3(FlowTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
WmsInventoryAllocateBill wmsInventoryAllocateBill = fetchBySid(businessSid);
if (wmsInventoryAllocateBill == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = wmsInventoryAllocateBill.getTaskId();
if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (org.apache.commons.lang3.StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
if (org.apache.commons.lang3.StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
wmsInventoryAllocateBill = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = wmsInventoryAllocateBill.getProcInstId();
messageFlowVo.setProcInsId(procId);
messageFlowVo.setProcDefId(wmsInventoryAllocateBill.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("调拨申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextName = listResultBean.getData().get(0).getName_();
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
if ("发起申请".equals(nextName)) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(wmsInventoryAllocateBill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("调拨申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
}

Loading…
Cancel
Save