diff --git a/oms_web/oms_vue/src/views/inventory/outer/components/GenerateDeliveryForm.vue b/oms_web/oms_vue/src/views/inventory/outer/components/GenerateDeliveryForm.vue index 49843736..fc3f54e6 100644 --- a/oms_web/oms_vue/src/views/inventory/outer/components/GenerateDeliveryForm.vue +++ b/oms_web/oms_vue/src/views/inventory/outer/components/GenerateDeliveryForm.vue @@ -182,7 +182,7 @@ export default { }); }, handleSelectPurchaseBeforeImport() { - if (((this.productData.orderType || '1') === '1' ) && !(this.outerData.vendorName.startsWith('新华三') && this.productData.productType==='2')) { + if (((this.productData.orderType || '1') === '1' ) && !this.outerData.vendorName.startsWith('新华三') ) { this.purchaseOrderSelectVisible = true; }else{ this.handleImport() @@ -228,6 +228,7 @@ export default { this.isImported = true; this.$nextTick(() => { if (this.$refs.snTable) { + this.$refs.snTable.clearSelection(); this.$refs.snTable.toggleAllSelection(); this.selectedSnList = this.snList; } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsInventoryInnerServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsInventoryInnerServiceImpl.java index b7878e4b..e3f1caba 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsInventoryInnerServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsInventoryInnerServiceImpl.java @@ -272,7 +272,7 @@ public class OmsInventoryInnerServiceImpl implements IOmsInventoryInnerService { throw new ServiceException("产品编码对应产品未找到"); } Map warehouseInfoMap=Collections.emptyMap(); - if ("2".equalsIgnoreCase(orderType) || (("2".equalsIgnoreCase(productInfos.get(0).getType()) && productInfos.get(0).getVendorName().startsWith("新华三"))) ){ + if ("2".equalsIgnoreCase(orderType) || (productInfos.get(0).getVendorName().startsWith("新华三")) ){ List warehouseNameList = inventoryInfoExcelDtoList.stream().map(InventoryInfoExcelDto::getWarehouseName).distinct().collect(Collectors.toList()); if (warehouseNameList.size() > 1){ throw new ServiceException("导入清单只能有一个仓库"); @@ -293,7 +293,7 @@ public class OmsInventoryInnerServiceImpl implements IOmsInventoryInnerService { info.setModel(productInfos.get(0).getModel()); info.setProductDesc(productInfos.get(0).getDescription()); info.setInnerPrice(item.getInnerPrice()); - if ("2".equalsIgnoreCase(orderType)|| (("2".equalsIgnoreCase(productInfos.get(0).getType()) && productInfos.get(0).getVendorName().startsWith("新华三"))) ){ + if ("2".equalsIgnoreCase(orderType)|| ((productInfos.get(0).getVendorName().startsWith("新华三"))) ){ OmsWarehouseInfo omsWarehouseInfo = finalWarehouseInfoMap.get(item.getWarehouseName()); info.setWarehouseId(omsWarehouseInfo.getId()); info.setWarehouseName(omsWarehouseInfo.getWarehouseName()); diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java index 5f86ddcc..1265ec5f 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java @@ -42,6 +42,7 @@ import com.ruoyi.sip.flowable.domain.Todo; import com.ruoyi.sip.dto.HomepageQueryDto; import com.ruoyi.sip.dto.OrderExcelNumStaticsDto; import com.ruoyi.sip.dto.StatisticsDetailDto; +import com.ruoyi.sip.flowable.service.IBuApproveConfigService; import com.ruoyi.sip.mapper.OmsStockInfoMapper; import com.ruoyi.sip.mapper.ProjectInfoMapper; import com.ruoyi.sip.service.*; @@ -50,6 +51,7 @@ import com.ruoyi.sip.flowable.service.TodoCommonTemplate; import com.ruoyi.sip.flowable.service.TodoService; import com.ruoyi.common.utils.mail.TemplateMailUtil; import com.ruoyi.sip.vo.OrderInfoVo; +import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; @@ -61,6 +63,7 @@ import org.flowable.engine.runtime.ProcessInstance; import org.flowable.task.api.Task; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import com.ruoyi.sip.mapper.ProjectOrderInfoMapper; import com.ruoyi.common.core.text.Convert; @@ -131,6 +134,13 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To private Integer endHour; @Value("${unis.mail.businessRoleId:103}") private String businessRoleId; + + @Autowired + private ISysConfigService configService; + + @Autowired + @Lazy + private IBuApproveConfigService approveConfigService; /** * 查询订单管理 * @@ -430,12 +440,15 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To String orderFlowKey = ProjectOrderInfo.ProcessTypeEnum.ONLINE.getCode().equals(projectOrderInfo.getProcessType()) ? orderOnlineFlowKey : orderOfflineFlowKey; + String amountConfig = configService.selectConfigByKey("order.approve.amount.config"); + BigDecimal amountConfigNumber = new BigDecimal(amountConfig); //启动流程 todoService.startProcess(getFlowBusinessKey(existProjectOrderInfo.getOrderCode(), projectOrderInfo.getProcessType()), new HashMap() {{ put("processTemplate", projectOrderInfo.getProcessTemplate()); put("processType", projectOrderInfo.getProcessType()); put("applyUserName", ShiroUtils.getSysUser().getUserName()); put("applyUser", ShiroUtils.getUserId()); + put("skipLeader",projectOrderInfo.getShipmentAmount().compareTo(amountConfigNumber)<0); put("partnerUser",partnerInfos.get(0).getSystemUserId()); put("extendField1", projectOrderInfo.getVersionCode()); }}, orderFlowKey); @@ -1174,7 +1187,26 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To handleBusinessApproval(businessKey); } else if ("省代".equals(taskName)) { handlePartnerApproval(businessKey); - } else if ("公司领导".equals(taskName)) { + } else if ("领导1".equals(taskName) && todo.getApplyTime().compareTo(DateUtils.parseDate("2025-12-19"))>0){ + ProjectOrderInfo orderInfo = selectProjectOrderInfoByOrderCode(businessKey); + String amountConfig = configService.selectConfigByKey("order.approve.amount.config"); + BigDecimal amountConfigNumber = new BigDecimal(amountConfig); + if (orderInfo.getShipmentAmount().compareTo(amountConfigNumber)<0){ + handleCompanyLeaderApproval(businessKey); + //查询对应的数据 插入已办数据 + List approveUserList = approveConfigService.listByProcessKeyAndTaskName(todo.getProcessKey(), "公司领导"); + for (Long l : approveUserList) { + todoService.completed(new HashMap<>(), todo.getTaskId(), businessKey); + todo.setApproveUser(l.toString()); + todo.setTaskName("公司领导"); + todo.setApproveUserName(userService.selectUserById(l).getUserName()); + todo.setApproveOpinion("默认审批"); + todo.setNextAllApproveUserName(null); + todo.setAllApproveUserName(null); + todoService.insertTodoCompleted(Arrays.asList(todo)); + } + } + }else if ("公司领导".equals(taskName)) { //黄雪秋处理 流程状态更改 if (ShiroUtils.getUserId().equals(118L)) { @@ -1559,8 +1591,11 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To query.setProcessKeyList(Arrays.asList(orderOnlineFlowKey,orderOfflineFlowKey)); List list = todoService.selectTodoList(query); for (Todo todo1 : list) { - - todo1.setVariables(new HashMap<>(todo.getVariables())); + Map temp = new HashMap<>(); + for (Map.Entry entry : todo.getVariables().entrySet()) { + temp.put(entry.getKey(), new String(entry.getValue().toString())); + } + todo1.setVariables(temp); approveOrder(todo1); } }