|
|
@ -41,6 +41,8 @@ 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.math.BigInteger; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
@ -171,7 +173,8 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public String saveOrUpdateDto(WmsInventoryAllocateBillDtoNew dto) { |
|
|
|
public ResultBean<String> saveOrUpdateDto(WmsInventoryAllocateBillDtoNew dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
List<WmsInventoryAllocateBillDetailDtoNew> wmsInventoryAllocateBillDetailNewList = dto.getWmsInventoryAllocateBillDetailNewList(); |
|
|
|
if (StringUtils.isBlank(dtoSid)) { |
|
|
@ -190,10 +193,19 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
dto.setCreateOrgName(sysOrganizationVo.getName()); |
|
|
|
String sid = this.insertByDto(dto); |
|
|
|
for (WmsInventoryAllocateBillDetailDtoNew wmsInventoryAllocateBillDetailDtoNew : wmsInventoryAllocateBillDetailNewList) { |
|
|
|
if (wmsInventoryAllocateBillDetailDtoNew.getTaxPrice().compareTo(new BigDecimal(BigInteger.ZERO)) == 0){ |
|
|
|
deleteBySid(sid); |
|
|
|
return rb.setMsg("所选商品成本价不能为0"); |
|
|
|
} |
|
|
|
wmsInventoryAllocateBillDetailDtoNew.setBillSid(sid); |
|
|
|
wmsInventoryAllocateBillDetailService.insertByDto(wmsInventoryAllocateBillDetailDtoNew); |
|
|
|
} |
|
|
|
return sid; |
|
|
|
return rb.success().setData(sid); |
|
|
|
} |
|
|
|
for (WmsInventoryAllocateBillDetailDtoNew wmsInventoryAllocateBillDetailDtoNew : wmsInventoryAllocateBillDetailNewList) { |
|
|
|
if (wmsInventoryAllocateBillDetailDtoNew.getTaxPrice().compareTo(new BigDecimal(BigInteger.ZERO)) == 0){ |
|
|
|
return rb.setMsg("所选商品成本价不能为0"); |
|
|
|
} |
|
|
|
} |
|
|
|
this.updateByDto(dto); |
|
|
|
wmsInventoryAllocateBillDetailService.delByMainSid(dtoSid); |
|
|
@ -201,7 +213,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
wmsInventoryAllocateBillDetailDtoNew.setBillSid(dtoSid); |
|
|
|
wmsInventoryAllocateBillDetailService.insertByDto(wmsInventoryAllocateBillDetailDtoNew); |
|
|
|
} |
|
|
|
return dtoSid; |
|
|
|
return rb.success().setData(dtoSid); |
|
|
|
} |
|
|
|
|
|
|
|
public String insertByDto(WmsInventoryAllocateBillDtoNew dto) { |
|
|
@ -231,7 +243,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
if (r == 0) { |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致"); |
|
|
|
} |
|
|
|
String businessSid = saveOrUpdateDto(dto); |
|
|
|
String businessSid = saveOrUpdateDto(dto).getData(); |
|
|
|
wmsInventoryAllocateBill = fetchBySid(businessSid); |
|
|
|
//创建BusinessVariables实体对象
|
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
@ -633,7 +645,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
if (r == 0) { |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致"); |
|
|
|
} |
|
|
|
String businessSid = saveOrUpdateDto(dto); |
|
|
|
String businessSid = saveOrUpdateDto(dto).getData(); |
|
|
|
wmsInventoryAllocateBill = fetchBySid(businessSid); |
|
|
|
//创建BusinessVariables实体对象
|
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
@ -659,7 +671,8 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
List<WmsInventoryAllocateBillDetailDtoNew> wmsInventoryAllocateBillDetailNewList = dto.getWmsInventoryAllocateBillDetailNewList(); |
|
|
|
for (WmsInventoryAllocateBillDetailDtoNew wmsInventoryAllocateBillDetailDtoNew : wmsInventoryAllocateBillDetailNewList) { |
|
|
|
flowNodeQuery.setNodeNames("调出方站长审批"); |
|
|
|
flowNodeQuery.setValue(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice().toString()); |
|
|
|
BigDecimal zk = wmsInventoryAllocateBillDetailDtoNew.getRequAmount().divide(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice()).multiply(new BigDecimal("10")); |
|
|
|
flowNodeQuery.setValue(zk.toString()); |
|
|
|
f0 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); |
|
|
|
if (f0) { |
|
|
|
break; |
|
|
@ -667,7 +680,8 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
} |
|
|
|
for (WmsInventoryAllocateBillDetailDtoNew wmsInventoryAllocateBillDetailDtoNew : wmsInventoryAllocateBillDetailNewList) { |
|
|
|
flowNodeQuery.setNodeNames("调入方站长审批"); |
|
|
|
flowNodeQuery.setValue(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice().toString()); |
|
|
|
BigDecimal zk = wmsInventoryAllocateBillDetailDtoNew.getRequAmount().divide(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice()).multiply(new BigDecimal("10")); |
|
|
|
flowNodeQuery.setValue(zk.toString()); |
|
|
|
f1 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); |
|
|
|
if (f1) { |
|
|
|
break; |
|
|
@ -676,15 +690,10 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
variables.put("iscdy", f0); |
|
|
|
variables.put("isrdy", f1); |
|
|
|
UserRoleQuery userRoleQuery = new UserRoleQuery(); |
|
|
|
userRoleQuery.setRoleSid("bdacdca7-7a62-49b1-84c6-e32a4ffab777"); |
|
|
|
if (list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777")) { |
|
|
|
ResultBean<List<Map<String, Object>>> resultBean1 = flowTaskFeign.getNextNodesForSubmit(bv); |
|
|
|
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
|
|
|
|
List<GetNodeVo> voList = Optional.ofNullable(resultBean1.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); |
|
|
|
List<String> candidateGroups = voList.get(0).getCandidateGroups(); |
|
|
|
userRoleQuery.setRoleSid(candidateGroups.get(0)); |
|
|
|
userRoleQuery.setOrgSid(wmsInventoryAllocateBill.getOutPlatSid()); |
|
|
|
userRoleQuery.setOrgSid(wmsInventoryAllocateBill.getInPlatSid()); |
|
|
|
} else { |
|
|
|
userRoleQuery.setRoleSid("bdacdca7-7a62-49b1-84c6-e32a4ffab777"); |
|
|
|
userRoleQuery.setOrgSid(wmsInventoryAllocateBill.getOutPlatSid()); |
|
|
|
} |
|
|
|
List<SysUserVo> sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData(); |
|
|
@ -696,7 +705,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(nextNodeUserSids)) { |
|
|
|
bv.setNextNodeUserSids(""); |
|
|
|
return rb.setMsg("下一环节暂无审批人员,请联系管理员"); |
|
|
|
} else { |
|
|
|
String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(",")); |
|
|
|
bv.setNextNodeUserSids(substring); |
|
|
@ -781,7 +790,8 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
List<WmsInventoryAllocatebillDetailDetailsVoNew> wmsInventoryAllocatebillDetailDetailsVoNews = wmsInventoryAllocateBillDetailService.selByMainSid(businessSid); |
|
|
|
for (WmsInventoryAllocatebillDetailDetailsVoNew wmsInventoryAllocateBillDetailDtoNew : wmsInventoryAllocatebillDetailDetailsVoNews) { |
|
|
|
flowNodeQuery.setNodeNames("调出方站长审批"); |
|
|
|
flowNodeQuery.setValue(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice().toString()); |
|
|
|
BigDecimal zk = wmsInventoryAllocateBillDetailDtoNew.getRequAmount().divide(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice()).multiply(new BigDecimal("10")); |
|
|
|
flowNodeQuery.setValue(zk.toString()); |
|
|
|
f0 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); |
|
|
|
if (f0) { |
|
|
|
break; |
|
|
@ -789,7 +799,8 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
} |
|
|
|
for (WmsInventoryAllocatebillDetailDetailsVoNew wmsInventoryAllocateBillDetailDtoNew : wmsInventoryAllocatebillDetailDetailsVoNews) { |
|
|
|
flowNodeQuery.setNodeNames("调入方站长审批"); |
|
|
|
flowNodeQuery.setValue(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice().toString()); |
|
|
|
BigDecimal zk = wmsInventoryAllocateBillDetailDtoNew.getRequAmount().divide(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice()).multiply(new BigDecimal("10")); |
|
|
|
flowNodeQuery.setValue(zk.toString()); |
|
|
|
f1 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); |
|
|
|
if (f1) { |
|
|
|
break; |
|
|
@ -807,14 +818,27 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
bv.setOrgSidPath(sysOrganization.getOrgSidPath()); |
|
|
|
} |
|
|
|
bv.setModelId(wmsInventoryAllocateBill.getProcDefId()); |
|
|
|
if (bv.getTaskDefKey().equals("Activity_1jchfap")) {//调出方站长审批
|
|
|
|
ResultBean<List<Map<String, Object>>> resultBean1 = flowTaskFeign.getNextNodesForSubmit(bv); |
|
|
|
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
|
|
|
|
List<GetNodeVo> voList = Optional.ofNullable(resultBean1.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); |
|
|
|
List<String> candidateGroups = voList.get(0).getCandidateGroups(); |
|
|
|
UserRoleQuery userRoleQuery = new UserRoleQuery(); |
|
|
|
//特殊处理
|
|
|
|
//获取调入方组织信息
|
|
|
|
SysOrganizationVo drOrg = sysOrganizationFeign.fetchBySid(wmsInventoryAllocateBill.getInPlatSid()).getData(); |
|
|
|
//流程预演
|
|
|
|
ResultBean<List<Map<String, Object>>> resultBean1 = flowTaskFeign.getNextNodesForSubmit(bv); |
|
|
|
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
|
|
|
|
List<GetNodeVo> voList = Optional.ofNullable(resultBean1.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); |
|
|
|
//获取下一环节审批角色
|
|
|
|
List<String> candidateGroups = voList.get(0).getCandidateGroups(); |
|
|
|
UserRoleQuery userRoleQuery = new UserRoleQuery(); |
|
|
|
if (candidateGroups != null && candidateGroups.size() > 0){ |
|
|
|
userRoleQuery.setRoleSid(candidateGroups.get(0)); |
|
|
|
userRoleQuery.setOrgSid(wmsInventoryAllocateBill.getOutPlatSid()); |
|
|
|
if (bv.getTaskDefKey().equals("Activity_1kuhabd")) {//调出方站长审批
|
|
|
|
if (!f0){ |
|
|
|
userRoleQuery.setOrgSid(wmsInventoryAllocateBill.getInPlatSid()); |
|
|
|
bv.setOrgSidPath(drOrg.getOrgSidPath()); |
|
|
|
} |
|
|
|
} else if (bv.getTaskDefKey().equals("Activity_1ri7ft5")) {//调出方省(分)公司总经理审批
|
|
|
|
userRoleQuery.setOrgSid(wmsInventoryAllocateBill.getInPlatSid()); |
|
|
|
bv.setOrgSidPath(drOrg.getOrgSidPath()); |
|
|
|
} |
|
|
|
List<SysUserVo> sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData(); |
|
|
|
StringBuilder nextNodeUserSids = new StringBuilder(); |
|
|
|
if (sysUserVos.size() > 0) { |
|
|
@ -824,7 +848,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(nextNodeUserSids)) { |
|
|
|
bv.setNextNodeUserSids(""); |
|
|
|
return rb.setMsg("下一环节暂无审批人员,请联系管理员"); |
|
|
|
} else { |
|
|
|
String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(",")); |
|
|
|
bv.setNextNodeUserSids(substring); |
|
|
@ -885,7 +909,8 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
List<WmsInventoryAllocatebillDetailDetailsVoNew> wmsInventoryAllocatebillDetailDetailsVoNews = wmsInventoryAllocateBillDetailService.selByMainSid(query.getBusinessSid()); |
|
|
|
for (WmsInventoryAllocatebillDetailDetailsVoNew wmsInventoryAllocateBillDetailDtoNew : wmsInventoryAllocatebillDetailDetailsVoNews) { |
|
|
|
flowNodeQuery.setNodeNames("调出方站长审批"); |
|
|
|
flowNodeQuery.setValue(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice().toString()); |
|
|
|
BigDecimal zk = wmsInventoryAllocateBillDetailDtoNew.getRequAmount().divide(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice()).multiply(new BigDecimal("10")); |
|
|
|
flowNodeQuery.setValue(zk.toString()); |
|
|
|
f0 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); |
|
|
|
if (f0) { |
|
|
|
break; |
|
|
@ -893,7 +918,8 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
} |
|
|
|
for (WmsInventoryAllocatebillDetailDetailsVoNew wmsInventoryAllocateBillDetailDtoNew : wmsInventoryAllocatebillDetailDetailsVoNews) { |
|
|
|
flowNodeQuery.setNodeNames("调入方站长审批"); |
|
|
|
flowNodeQuery.setValue(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice().toString()); |
|
|
|
BigDecimal zk = wmsInventoryAllocateBillDetailDtoNew.getRequAmount().divide(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice()).multiply(new BigDecimal("10")); |
|
|
|
flowNodeQuery.setValue(zk.toString()); |
|
|
|
f1 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); |
|
|
|
if (f1) { |
|
|
|
break; |
|
|
@ -932,7 +958,8 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
List<WmsInventoryAllocatebillDetailDetailsVoNew> wmsInventoryAllocatebillDetailDetailsVoNews = wmsInventoryAllocateBillDetailService.selByMainSid(query.getBusinessSid()); |
|
|
|
for (WmsInventoryAllocatebillDetailDetailsVoNew wmsInventoryAllocateBillDetailDtoNew : wmsInventoryAllocatebillDetailDetailsVoNews) { |
|
|
|
flowNodeQuery.setNodeNames("调出方站长审批"); |
|
|
|
flowNodeQuery.setValue(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice().toString()); |
|
|
|
BigDecimal zk = wmsInventoryAllocateBillDetailDtoNew.getRequAmount().divide(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice()).multiply(new BigDecimal("10")); |
|
|
|
flowNodeQuery.setValue(zk.toString()); |
|
|
|
f0 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); |
|
|
|
if (f0) { |
|
|
|
break; |
|
|
@ -940,7 +967,8 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
} |
|
|
|
for (WmsInventoryAllocatebillDetailDetailsVoNew wmsInventoryAllocateBillDetailDtoNew : wmsInventoryAllocatebillDetailDetailsVoNews) { |
|
|
|
flowNodeQuery.setNodeNames("调入方站长审批"); |
|
|
|
flowNodeQuery.setValue(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice().toString()); |
|
|
|
BigDecimal zk = wmsInventoryAllocateBillDetailDtoNew.getRequAmount().divide(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice()).multiply(new BigDecimal("10")); |
|
|
|
flowNodeQuery.setValue(zk.toString()); |
|
|
|
f1 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); |
|
|
|
if (f1) { |
|
|
|
break; |
|
|
@ -994,7 +1022,8 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
List<WmsInventoryAllocatebillDetailDetailsVoNew> wmsInventoryAllocatebillDetailDetailsVoNews = wmsInventoryAllocateBillDetailService.selByMainSid(query.getBusinessSid()); |
|
|
|
for (WmsInventoryAllocatebillDetailDetailsVoNew wmsInventoryAllocateBillDetailDtoNew : wmsInventoryAllocatebillDetailDetailsVoNews) { |
|
|
|
flowNodeQuery.setNodeNames("调出方站长审批"); |
|
|
|
flowNodeQuery.setValue(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice().toString()); |
|
|
|
BigDecimal zk = wmsInventoryAllocateBillDetailDtoNew.getRequAmount().divide(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice()).multiply(new BigDecimal("10")); |
|
|
|
flowNodeQuery.setValue(zk.toString()); |
|
|
|
f0 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); |
|
|
|
if (f0) { |
|
|
|
break; |
|
|
@ -1002,7 +1031,8 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
} |
|
|
|
for (WmsInventoryAllocatebillDetailDetailsVoNew wmsInventoryAllocateBillDetailDtoNew : wmsInventoryAllocatebillDetailDetailsVoNews) { |
|
|
|
flowNodeQuery.setNodeNames("调入方站长审批"); |
|
|
|
flowNodeQuery.setValue(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice().toString()); |
|
|
|
BigDecimal zk = wmsInventoryAllocateBillDetailDtoNew.getRequAmount().divide(wmsInventoryAllocateBillDetailDtoNew.getTaxPrice()).multiply(new BigDecimal("10")); |
|
|
|
flowNodeQuery.setValue(zk.toString()); |
|
|
|
f1 = sysFlowPowerFeign.flowPermissions(flowNodeQuery); |
|
|
|
if (f1) { |
|
|
|
break; |
|
|
@ -1060,7 +1090,7 @@ public class WmsInventoryAllocateBillService extends MybatisBaseService<WmsInven |
|
|
|
if (r == 0) { |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致"); |
|
|
|
} |
|
|
|
String businessSid = saveOrUpdateDto(dto); |
|
|
|
String businessSid = saveOrUpdateDto(dto).getData(); |
|
|
|
wmsInventoryAllocateBill = fetchBySid(businessSid); |
|
|
|
//创建BusinessVariables实体对象
|
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|