From 77dc2f8142714be1aae5d751604256b18193dfff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=93=E8=BF=AA?= <2596750866@qq.com> Date: Mon, 23 Dec 2024 20:07:31 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E5=A7=94=E5=A4=96=E5=8A=A0=E5=B7=A5=20?= =?UTF-8?q?=E5=A7=94=E5=A4=96=E9=A2=86=E6=96=99=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A7=94=E5=A4=96=E9=A2=86=E6=96=99=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=EF=BC=8C=E4=BF=AE=E6=94=B9=E7=89=A9=E6=96=99=E8=A1=A8?= =?UTF-8?q?=E6=A0=BC=E5=AE=9A=E4=B9=89=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=AD=90?= =?UTF-8?q?=E8=A1=A8=E5=AE=9A=E4=B9=89=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=AD=90?= =?UTF-8?q?=E8=A1=A8=E5=88=9D=E5=A7=8B=E5=8C=96=E6=96=B9=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E8=A1=A5=E5=85=A8=E5=AD=90=E8=A1=A8=E5=AD=97=E6=AE=B5=EF=BC=9B?= =?UTF-8?q?=20=E4=BF=AE=E6=94=B9=E5=90=88=E5=B9=B6=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E7=9A=84material=E7=9A=84=E8=AE=B0=E5=BD=95=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=92=8C=E7=89=A9=E6=96=99=E5=AF=B9=E8=B1=A1=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E8=AF=AD=E5=8F=A5=EF=BC=8C=E6=B7=BB=E5=8A=A0=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E8=AF=A6=E6=83=85id=E5=AD=97=E6=AE=B5=EF=BC=9B=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B5=E9=9D=A2=E6=8F=90=E4=BA=A4=E5=87=BD?= =?UTF-8?q?=E6=95=B0=EF=BC=8C=E6=A0=B9=E6=8D=AE=E5=B1=82=E7=BA=A7=E4=B8=8D?= =?UTF-8?q?=E5=90=8C=E5=88=86=E5=88=AB=E5=BE=AA=E7=8E=AF=E5=A4=84=E7=90=86?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1=E6=95=B0=E6=8D=AE=EF=BC=8C=E6=8B=BC=E6=8E=A5?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=B2=E8=BF=94=E5=9B=9E=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E5=A7=94=E5=A4=96=E9=A2=86?= =?UTF-8?q?=E6=96=99=E8=AF=A6=E6=83=85=E3=80=81=E5=A7=94=E5=A4=96=E7=BB=8F?= =?UTF-8?q?=E7=90=86=E3=80=81=E5=A7=94=E5=A4=96=E4=B8=BB=E7=AE=A1=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E9=A1=B5=E9=9D=A2=E6=98=BE=E7=A4=BA=E7=BB=93=E6=9E=84?= =?UTF-8?q?=EF=BC=8C=E6=B7=BB=E5=8A=A0=E4=B8=BB=E5=AD=90=E8=A1=A8=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E6=96=B9=E6=B3=95=EF=BC=9B=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=A7=94=E5=A4=96=E9=A2=86=E6=96=99=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1=EF=BC=8C=E6=95=B0=E5=80=BC=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=94=B9=E4=B8=BAInteger=EF=BC=8C=E6=96=B0=E5=A2=9E=E7=88=B6?= =?UTF-8?q?=E7=BA=A7id=E3=80=81=E9=98=B6=E5=B1=82=E3=80=81=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E7=8A=B6=E6=80=81=E3=80=81=E5=A7=94=E5=A4=96=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E8=AF=A6=E6=83=85id=E5=AD=97=E6=AE=B5=EF=BC=9B=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=A1=E6=89=B9=E5=AE=8C=E6=88=90controlle?= =?UTF-8?q?r=E6=96=B9=E6=B3=95=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E7=88=B6=E7=BA=A7iD=E6=9F=A5=E8=AF=A2=E5=A7=94?= =?UTF-8?q?=E5=A4=96=E9=A2=86=E6=96=99=E8=AF=A6=E6=83=85controller?= =?UTF-8?q?=E6=96=B9=E6=B3=95=EF=BC=9B=20=E6=96=B0=E5=A2=9E=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E7=88=B6=E7=BA=A7iD=E6=9F=A5=E8=AF=A2=E5=A7=94?= =?UTF-8?q?=E5=A4=96=E9=A2=86=E6=96=99=E8=AF=A6=E6=83=85service=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E3=80=81=E6=96=B0=E5=A2=9E=E5=A7=94=E5=A4=96=E9=A2=86=E6=96=99?= =?UTF-8?q?=E3=80=81=E6=9B=B4=E6=96=B0=E5=AE=A1=E6=89=B9=E5=90=8E=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E3=80=81=E5=90=AF=E5=8A=A8=E6=B5=81=E7=A8=8B=E3=80=81?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A7=94=E5=A4=96=E9=A2=86=E6=96=99=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E4=BF=A1=E6=81=AFservice=E6=96=B9=E6=B3=95=EF=BC=9B?= =?UTF-8?q?=20=E4=BF=AE=E6=94=B9mapper=E5=AF=B9=E5=BA=94=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=AD=97=E6=AE=B5=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=8F=92=E5=85=A5=E5=92=8C=E6=9B=B4=E6=96=B0=E8=AF=A6?= =?UTF-8?q?=E6=83=85mapper=E6=96=B9=E6=B3=95=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OutsourceRequisitionController.java | 52 ++-- .../domain/OutsourceRequisitionDetail.java | 69 +++++- .../mapper/OutsourceRequisitionMapper.java | 8 +- .../service/IOutsourceRequisitionService.java | 5 + .../impl/OutsourceRequisitionServiceImpl.java | 71 +++++- .../system/OutsourceRequisitionMapper.xml | 126 +++++++++- .../outsource_order/addRequisition.html | 223 +++++++++++++----- .../system/outsource_requisition/detail.html | 98 +++++++- .../outsource_requisition.html | 14 +- .../outsource_requisition/taskWwjlVerify.html | 98 +++++++- .../outsource_requisition/taskWwzgVerify.html | 104 +++++++- 11 files changed, 720 insertions(+), 148 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceRequisitionController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceRequisitionController.java index fd356291..f2ff2b2c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceRequisitionController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceRequisitionController.java @@ -5,10 +5,7 @@ import java.util.List; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.process.general.service.IProcessService; -import com.ruoyi.system.domain.OutsourceOrder; -import com.ruoyi.system.domain.OutsourceQuoteChild; -import com.ruoyi.system.domain.OutsourceRequisition; -import com.ruoyi.system.domain.OutsourceRequisitionDetail; +import com.ruoyi.system.domain.*; import com.ruoyi.system.domain.Vo.OutsourceOrderVO; import com.ruoyi.system.domain.Vo.OutsourceQuoteVO; import com.ruoyi.system.domain.Vo.OutsourceRequisitionVO; @@ -149,7 +146,6 @@ public class OutsourceRequisitionController extends BaseController String processInstanceId = task.getProcessInstanceId(); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); OutsourceRequisitionVO outsourceRequisitionVO = outsourceRequisitionService.selectOutsourceRequisitionByOutsourceRequisitionId(new Long(processInstance.getBusinessKey())); - System.out.println(outsourceRequisitionVO); mmap.put("formData", outsourceRequisitionVO); mmap.put("taskId", taskId); String verifyName = task.getTaskDefinitionKey().substring(0, 1).toUpperCase() + task.getTaskDefinitionKey().substring(1); @@ -188,24 +184,29 @@ public class OutsourceRequisitionController extends BaseController // 如果任务已结束更新业务表状态 boolean processIsFinish = processService.judgeProcessIsFinish(instanceId); if (processIsFinish) { - // 审核通过 - outsourceRequisitionVO.setAuditStatus("1"); - OutsourceRequisitionVO requisitionVO = outsourceRequisitionService.selectOutsourceRequisitionByOutsourceRequisitionId(outsourceRequisitionVO.getOutsourceRequisitionId()); - outsourceRequisitionService.generateWarehouseOutOrder(requisitionVO); - // 提交 - if("submit".equals(instanceType)){ - // 使用状态-是 + if(!approvedFlag){ + // 审核状态-审核拒绝 + outsourceRequisitionVO.setAuditStatus("2"); + }else{ + // 审核通过 + outsourceRequisitionVO.setAuditStatus("1"); + OutsourceRequisitionVO requisitionVO = outsourceRequisitionService.selectOutsourceRequisitionByOutsourceRequisitionId(outsourceRequisitionVO.getOutsourceRequisitionId()); + outsourceRequisitionService.generateWarehouseOutOrder(requisitionVO); + // 提交 + if("submit".equals(instanceType)){ + // 使用状态-是 // erpBomVo.setUseStatus("1"); - } - // 作废 - else if("cancel".equals(instanceType)){ - // 使用状态-已作废 + } + // 作废 + else if("cancel".equals(instanceType)){ + // 使用状态-已作废 // erpBomVo.setUseStatus("2"); - } - // 恢复 - else if("restore".equals(instanceType)){ - // 使用状态-是 + } + // 恢复 + else if("restore".equals(instanceType)){ + // 使用状态-是 // erpBomVo.setUseStatus("1"); + } } } outsourceRequisitionService.updateAuditRequisition(outsourceRequisitionVO); @@ -263,4 +264,15 @@ public class OutsourceRequisitionController extends BaseController mmap.put("outsourceRequisition", outsourceRequisition); return prefix + "/detail"; } + + /** + * 查询委外领料详情 + */ + @PostMapping("/getRequisitionMaterial") + @ResponseBody + public TableDataInfo getRequisitionMaterial(OutsourceRequisitionDetail requisitionDetail) + { + List list = outsourceRequisitionService.selectOutsourceRequisitionDetailList(requisitionDetail); + return getDataTable(list); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceRequisitionDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceRequisitionDetail.java index 7fcef6f7..65aa5782 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceRequisitionDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceRequisitionDetail.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain; +import io.swagger.models.auth.In; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -62,11 +63,11 @@ public class OutsourceRequisitionDetail extends BaseEntity /** 计划委外数 */ @Excel(name = "计划委外数",sort = 10) - private BigDecimal plannedOutsourceAmount; + private Integer plannedOutsourceAmount; // 实际委外数 @Excel(name = "实际委外数",sort = 11) - private BigDecimal actualOutsourceAmount; + private Integer actualOutsourceAmount; // 关联单号 private String correlationCodes; @@ -88,11 +89,23 @@ public class OutsourceRequisitionDetail extends BaseEntity /** 已委外领料数 */ @Excel(name = "已委外领料数",sort = 12) - private BigDecimal takenMaterial; + private Integer takenMaterial; /** 本次委外领料数 */ @Excel(name = "本次委外领料数",sort = 13) - private BigDecimal takingMaterial; + private Integer takingMaterial; + + /** 父级id*/ + private Long parentId; + + /** 阶层*/ + private int level; + + /** 审批状态*/ + private String auditStatus; + + /** 委外计划详情id*/ + private Long planDetailId; public void setOutsourceRequisitionDetailId(Long outsourceRequisitionDetailId) { @@ -121,21 +134,21 @@ public class OutsourceRequisitionDetail extends BaseEntity { return materialNo; } - public void setTakenMaterial(BigDecimal takenMaterial) + public void setTakenMaterial(Integer takenMaterial) { this.takenMaterial = takenMaterial; } - public BigDecimal getTakenMaterial() + public Integer getTakenMaterial() { return takenMaterial; } - public void setTakingMaterial(BigDecimal takingMaterial) + public void setTakingMaterial(Integer takingMaterial) { this.takingMaterial = takingMaterial; } - public BigDecimal getTakingMaterial() + public Integer getTakingMaterial() { return takingMaterial; } @@ -204,19 +217,19 @@ public class OutsourceRequisitionDetail extends BaseEntity this.processMethod = processMethod; } - public BigDecimal getPlannedOutsourceAmount() { + public Integer getPlannedOutsourceAmount() { return plannedOutsourceAmount; } - public void setPlannedOutsourceAmount(BigDecimal plannedOutsourceAmount) { + public void setPlannedOutsourceAmount(Integer plannedOutsourceAmount) { this.plannedOutsourceAmount = plannedOutsourceAmount; } - public BigDecimal getActualOutsourceAmount() { + public Integer getActualOutsourceAmount() { return actualOutsourceAmount; } - public void setActualOutsourceAmount(BigDecimal actualOutsourceAmount) { + public void setActualOutsourceAmount(Integer actualOutsourceAmount) { this.actualOutsourceAmount = actualOutsourceAmount; } @@ -276,6 +289,38 @@ public class OutsourceRequisitionDetail extends BaseEntity this.correlationCodes = correlationCodes; } + public Long getParentId() { + return parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public String getAuditStatus() { + return auditStatus; + } + + public void setAuditStatus(String auditStatus) { + this.auditStatus = auditStatus; + } + + public Long getPlanDetailId() { + return planDetailId; + } + + public void setPlanDetailId(Long planDetailId) { + this.planDetailId = planDetailId; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceRequisitionMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceRequisitionMapper.java index 0931e16d..45523a47 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceRequisitionMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceRequisitionMapper.java @@ -34,10 +34,10 @@ public interface OutsourceRequisitionMapper /** * 查询委外领料详情列表 * - * @param outsourceRequisitionNo 委外领料编号 + * @param requisitionDetail 委外领料编号 * @return 委外领料详情集合 */ - public List selectOutsourceRequisitionDetailList(String outsourceRequisitionNo); + public List selectOutsourceRequisitionDetailList(OutsourceRequisitionDetail requisitionDetail); /** * 新增委外领料 @@ -100,4 +100,8 @@ public interface OutsourceRequisitionMapper public List selectRequisitionDetailByNo(OutsourceRequisitionDetail outsourceRequisitionDetail); public List selectOutsourceRequisitionDetailByCodes(String[] requisitionNos); + + public int insertOutsourceRequisitionDetail(OutsourceRequisitionDetail outsourceRequisitionDetail); + + public int updateOutsourceRequisitionDetail(OutsourceRequisitionDetail outsourceRequisitionDetail); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceRequisitionService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceRequisitionService.java index e78eaa45..8dd79866 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceRequisitionService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceRequisitionService.java @@ -1,6 +1,7 @@ package com.ruoyi.system.service; import com.ruoyi.system.domain.OutsourceRequisition; +import com.ruoyi.system.domain.OutsourceRequisitionDetail; import com.ruoyi.system.domain.Vo.OutsourceQuoteVO; import com.ruoyi.system.domain.Vo.OutsourceRequisitionVO; import org.activiti.engine.runtime.ProcessInstance; @@ -76,4 +77,8 @@ public interface IOutsourceRequisitionService public int generateWarehouseOutOrder(OutsourceRequisitionVO outsourceRequisitionVO); + + /** 查询委外领料详情列表*/ + public List selectOutsourceRequisitionDetailList(OutsourceRequisitionDetail requisitionDetail); + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java index 28288d6b..33893f38 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java @@ -83,9 +83,14 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer public OutsourceRequisitionVO selectOutsourceRequisitionByOutsourceRequisitionId(Long outsourceRequisitionId) { OutsourceRequisitionVO outsourceRequisitionVO = outsourceRequisitionMapper.selectOutsourceRequisitionByOutsourceRequisitionId(outsourceRequisitionId); - if(outsourceRequisitionMapper.selectOutsourceRequisitionDetailList(outsourceRequisitionVO.getOutsourceRequisitionNo())!=null){ - List details = outsourceRequisitionMapper.selectOutsourceRequisitionDetailList(outsourceRequisitionVO.getOutsourceRequisitionNo()); - outsourceRequisitionVO.setOutsourceRequisitionDetailList(details); + OutsourceRequisitionDetail tempDetail = new OutsourceRequisitionDetail(); + tempDetail.setOutsourceRequisitionNo(outsourceRequisitionVO.getOutsourceRequisitionNo()); + List details = outsourceRequisitionMapper.selectOutsourceRequisitionDetailList(tempDetail); + + List filtDetails = details.stream().filter(item ->item.getLevel() == 0).collect(Collectors.toList()); + + if(StringUtils.isNotEmpty(filtDetails)){ + outsourceRequisitionVO.setOutsourceRequisitionDetailList(filtDetails); } return outsourceRequisitionVO; } @@ -183,6 +188,17 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer if(rows<=0){ throw new BusinessException("新增委外领料单数据失败"); } + List requisitionDetails = outsourceRequisitionVO.getOutsourceRequisitionDetailList(); + for (OutsourceRequisitionDetail detail: requisitionDetails) { + if(detail.getLevel()==1){ + int hasPickNum = Optional.of(detail.getTakenMaterial()).orElse(0); + int pickNum = Optional.of(detail.getTakingMaterial()).orElse(0); + int actualNum = Optional.of(detail.getActualOutsourceAmount()).orElse(0); + if(hasPickNum + pickNum > actualNum){ + throw new BusinessException("物料"+detail.getMaterialNo()+"总领料数超出计划委外数,请检查"); + } + } + } insertOutsourceRequisitionDetail(outsourceRequisitionVO); return rows; } @@ -230,14 +246,28 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer } // 更新审批后信息 - @Transactional + @Transactional(rollbackFor = Exception.class) @Override public int updateAuditRequisition(OutsourceRequisitionVO outsourceRequisitionVO){ outsourceRequisitionVO.setUpdateBy(ShiroUtils.getLoginName()); outsourceRequisitionVO.setUpdateTime(DateUtils.getNowDate()); int rows = outsourceRequisitionMapper.updateOutsourceRequisition(outsourceRequisitionVO); + OutsourceRequisitionDetail tempDetail = new OutsourceRequisitionDetail(); + tempDetail.setOutsourceRequisitionNo(outsourceRequisitionVO.getOutsourceRequisitionNo()); + + List requisitionDetails = outsourceRequisitionMapper.selectRequisitionDetailByNo(tempDetail); + if(StringUtils.isNotEmpty(requisitionDetails)){ + for (OutsourceRequisitionDetail detail: requisitionDetails) { + detail.setAuditStatus(outsourceRequisitionVO.getAuditStatus()); + detail.setUpdateBy(ShiroUtils.getLoginName()); + detail.setUpdateTime(DateUtils.getNowDate()); + outsourceRequisitionMapper.updateOutsourceRequisitionDetail(detail); + } + } return rows; } + + /** * 批量删除委外领料 * @@ -268,6 +298,7 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer } @Override + @Transactional(rollbackFor = Exception.class) public ProcessInstance submitApply(OutsourceRequisitionVO outsourceRequisitionVO) { SysUser user = ShiroUtils.getSysUser(); outsourceRequisitionVO.setApplyUser(user.getLoginName()); @@ -286,6 +317,8 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer if(processIsFinish){ // 审核状态-审核通过 outsourceRequisitionVO.setAuditStatus("1"); + updateAuditRequisition(outsourceRequisitionVO); + generateWarehouseOutOrder(outsourceRequisitionVO); } outsourceRequisitionMapper.updateOutsourceRequisition(outsourceRequisitionVO); return processInstance; @@ -324,7 +357,7 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer variables.put("authority",1); }else if(roleKeys.contains("wwjlRole")){ variables.put("authority",2); - }else if(roleKeys.contains("wwzgRole")){ + }else if(roleKeys.contains("wwzgRole")||roleKeys.contains("admin")){ variables.put("authority",3); } } @@ -338,17 +371,22 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer { List outsourceRequisitionDetailList = outsourceRequisitionVO.getOutsourceRequisitionDetailList(); String outsourceRequisitionNo = outsourceRequisitionVO.getOutsourceRequisitionNo(); + Long parentId = 0L; if (StringUtils.isNotNull(outsourceRequisitionDetailList)) { - List list = new ArrayList(); - for (OutsourceRequisitionDetail outsourceRequisitionDetail : outsourceRequisitionDetailList) + for (OutsourceRequisitionDetail detail : outsourceRequisitionDetailList) { - outsourceRequisitionDetail.setOutsourceRequisitionNo(outsourceRequisitionNo); - list.add(outsourceRequisitionDetail); - } - if (list.size() > 0) - { - outsourceRequisitionMapper.batchOutsourceRequisitionDetail(list); + detail.setOutsourceRequisitionNo(outsourceRequisitionNo); + detail.setCreateBy(ShiroUtils.getLoginName()); + detail.setCreateTime(DateUtils.getNowDate()); + detail.setAuditStatus("0"); + if(detail.getLevel() == 0){ + outsourceRequisitionMapper.insertOutsourceRequisitionDetail(detail); + parentId = detail.getOutsourceRequisitionDetailId(); + }else if(detail.getLevel() == 1){ + detail.setParentId(parentId); + outsourceRequisitionMapper.insertOutsourceRequisitionDetail(detail); + } } } } @@ -419,4 +457,11 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer warehouseOutOrderDetail.setCreateTime(DateUtils.getNowDate()); return warehouseOutOrderDetail; } + + /** 查询委外领料详情列表*/ + @Override + public List selectOutsourceRequisitionDetailList(OutsourceRequisitionDetail requisitionDetail){ + return outsourceRequisitionMapper.selectOutsourceRequisitionDetailList(requisitionDetail); + } + } diff --git a/ruoyi-admin/src/main/resources/mapper/system/OutsourceRequisitionMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/OutsourceRequisitionMapper.xml index 92081121..12e8bf6f 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/OutsourceRequisitionMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/OutsourceRequisitionMapper.xml @@ -55,17 +55,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + - select outsource_requisition_id, outsource_requisition_no, outsource_order_no, requisition_person, create_by, create_time, update_by, update_time, material_amount, total_amount, audit_status,requisition_status,instance_id, instance_type, submit_instance_id, apply_title, apply_time, apply_user, cancel_instance_id, restore_instance_id from outsource_requisition + select outsource_requisition_id, outsource_requisition_no, outsource_order_no, + requisition_person, create_by, create_time, update_by, update_time, + material_amount, total_amount, audit_status,requisition_status,instance_id, + instance_type, submit_instance_id, apply_title, apply_time, apply_user, + cancel_instance_id, restore_instance_id from outsource_requisition select outsource_requisition_detail_id, outsource_requisition_no, outsource_order_no, material_no, material_name, material_type, material_photo_url, description, brand, unit, process_method, planned_outsource_amount, actual_outsource_amount, outsource_process_info, charge_unit_info, single_material_info, supplier_info, delivery_time_info, - taken_material, taking_material, correlation_codes + taken_material, taking_material, correlation_codes, parent_id, level, + create_by, create_time, update_by, update_time, audit_status, plan_detail_id from outsource_requisition_detail @@ -86,9 +99,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where outsource_requisition_id = #{outsourceRequisitionId} - - where outsource_requisition_no = #{outsourceRequisitionNo} + + and outsource_requisition_no = #{outsourceRequisitionNo} + and outsource_order_no = #{outsourceOrderNo} + and parent_id = #{parentId} + and plan_detail_id = #{planDetailId} + @@ -213,4 +231,104 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{outsourceRequisitionNo} + + + insert into outsource_requisition_detail + + outsource_requisition_no, + outsource_order_no, + material_no, + material_name, + material_type, + material_photo_url, + description, + brand, + unit, + process_method, + planned_outsource_amount, + actual_outsource_amount, + correlation_codes, + outsource_process_info, + charge_unit_info, + single_material_info, + supplier_info, + delivery_time_info, + taken_material, + taking_material, + parent_id, + `level`, + plan_detail_id, + audit_status, + create_by, + create_time, + update_by, + update_time, + + + #{outsourceRequisitionNo}, + #{outsourceOrderNo}, + #{materialNo}, + #{materialName}, + #{materialType}, + #{materialPhotoUrl}, + #{description}, + #{brand}, + #{unit}, + #{processMethod}, + #{plannedOutsourceAmount}, + #{actualOutsourceAmount}, + #{correlationCodes}, + #{outsourceProcessInfo}, + #{chargeUnitInfo}, + #{singleMaterialInfo}, + #{supplierInfo}, + #{deliveryTimeInfo}, + #{takenMaterial}, + #{takingMaterial}, + #{parentId}, + #{level}, + #{planDetailId}, + #{auditStatus}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update outsource_requisition_detail + + outsource_requisition_no = #{outsourceRequisitionNo}, + outsource_order_no = #{outsourceOrderNo}, + material_no = #{materialNo}, + material_name = #{materialName}, + material_type = #{materialType}, + material_photo_url = #{materialPhotoUrl}, + description = #{description}, + brand = #{brand}, + unit = #{unit}, + process_method = #{processMethod}, + planned_outsource_amount = #{plannedOutsourceAmount}, + actual_outsource_amount = #{actualOutsourceAmount}, + correlation_codes = #{correlationCodes}, + outsource_process_info = #{outsourceProcessInfo}, + charge_unit_info = #{chargeUnitInfo}, + single_material_info = #{singleMaterialInfo}, + supplier_info = #{supplierInfo}, + delivery_time_info = #{deliveryTimeInfo}, + taken_material = #{takenMaterial}, + taking_material = #{takingMaterial}, + parent_id = #{parentId}, + `level` = #{level}, + plan_detail_id = #{planDetailId}, + audit_status = #{auditStatus}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where outsource_requisition_detail_id = #{outsourceRequisitionDetailId} + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/outsource_order/addRequisition.html b/ruoyi-admin/src/main/resources/templates/system/outsource_order/addRequisition.html index d9eb0307..94a427cc 100644 --- a/ruoyi-admin/src/main/resources/templates/system/outsource_order/addRequisition.html +++ b/ruoyi-admin/src/main/resources/templates/system/outsource_order/addRequisition.html @@ -7,9 +7,9 @@