From d80d4d404813cd6f91d013d289b03e25e0d6c110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=93=E8=BF=AA?= <2596750866@qq.com> Date: Wed, 18 Sep 2024 09:01:03 +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=E3=80=81=E7=BC=96=E8=BE=91=E3=80=81=E5=A7=94?= =?UTF-8?q?=E5=A4=96=E9=A2=86=E6=96=99=E5=88=97=E8=A1=A8=E3=80=81=E7=BB=8F?= =?UTF-8?q?=E7=90=86=E3=80=81=E4=B8=BB=E7=AE=A1=E5=AE=A1=E6=89=B9=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=EF=BC=9B=20=E6=96=B0=E5=A2=9E=E5=A7=94=E5=A4=96?= =?UTF-8?q?=E9=A2=86=E6=96=99=E8=AF=A6=E6=83=85=E3=80=81=E9=A9=B3=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=A1=B5=E9=9D=A2=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=E5=AE=9E=E4=BD=93?= =?UTF-8?q?=E7=B1=BB=E3=80=81=E8=AF=A6=E6=83=85=E3=80=81vo=E7=B1=BB?= =?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=99controller=E3=80=81service=E3=80=81mapper=E6=96=87?= =?UTF-8?q?=E4=BB=B6=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OutsourceRequisitionController.java | 22 +- .../system/domain/OutsourceRequisition.java | 13 +- .../domain/OutsourceRequisitionDetail.java | 199 +++++++- .../domain/Vo/OutsourceRequisitionVO.java | 2 + .../mapper/OutsourceRequisitionMapper.java | 3 + .../service/IOutsourceRequisitionService.java | 7 + .../impl/OutsourceRequisitionServiceImpl.java | 117 ++++- .../system/OutsourceRequisitionMapper.xml | 47 +- .../outsource_order/addRequisition.html | 300 ++++++++---- .../system/outsource_requisition/detail.html | 267 ++++++++++ .../system/outsource_requisition/edit.html | 461 +++++++++++++----- .../outsource_requisition.html | 75 +-- .../taskModifyApply.html | 323 ++++++++++++ .../outsource_requisition/taskWwjlVerify.html | 306 ++++++++++-- .../outsource_requisition/taskWwzgVerify.html | 308 ++++++++++-- 15 files changed, 2064 insertions(+), 386 deletions(-) create mode 100644 ruoyi-admin/src/main/resources/templates/system/outsource_requisition/detail.html create mode 100644 ruoyi-admin/src/main/resources/templates/system/outsource_requisition/taskModifyApply.html 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 29a71d36..c1f1b10d 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 @@ -175,6 +175,8 @@ public class OutsourceRequisitionController extends BaseController if (processIsFinish) { // 审核通过 outsourceRequisitionVO.setAuditStatus("1"); + OutsourceRequisitionVO requisitionVO = outsourceRequisitionService.selectOutsourceRequisitionByOutsourceRequisitionId(outsourceRequisitionVO.getOutsourceRequisitionId()); + outsourceRequisitionService.generateWarehouseOutOrder(requisitionVO); // 提交 if("submit".equals(instanceType)){ // 使用状态-是 @@ -191,10 +193,10 @@ public class OutsourceRequisitionController extends BaseController // erpBomVo.setUseStatus("1"); } } - outsourceRequisitionService.updateOutsourceRequisition(outsourceRequisitionVO); + outsourceRequisitionService.updateAuditRequisition(outsourceRequisitionVO); // 驳回申请后继续申请,可能修改表单 if (saveEntityBoolean) { - outsourceRequisitionService.updateOutsourceRequisition(outsourceRequisitionVO); + outsourceRequisitionService.updateAuditRequisition(outsourceRequisitionVO); } return success("任务已完成"); } @@ -207,8 +209,6 @@ public class OutsourceRequisitionController extends BaseController public String edit(@PathVariable("outsourceRequisitionId") Long outsourceRequisitionId, ModelMap mmap) { OutsourceRequisition outsourceRequisition = outsourceRequisitionService.selectOutsourceRequisitionByOutsourceRequisitionId(outsourceRequisitionId); - List outsourceOrderVO = outsourceOrderService.selectOutsourceOrderByOutsourceOrderNo(outsourceRequisition.getOutsourceOrderNo()); - mmap.put("outsourceOrderList",outsourceOrderVO); mmap.put("outsourceRequisition", outsourceRequisition); return prefix + "/edit"; } @@ -220,7 +220,7 @@ public class OutsourceRequisitionController extends BaseController @Log(title = "委外领料", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody - public AjaxResult editSave(OutsourceRequisitionVO outsourceRequisitionVO) + public AjaxResult editSave(@RequestBody OutsourceRequisitionVO outsourceRequisitionVO) { return toAjax(outsourceRequisitionService.updateOutsourceRequisition(outsourceRequisitionVO)); } @@ -236,4 +236,16 @@ public class OutsourceRequisitionController extends BaseController { return toAjax(outsourceRequisitionService.deleteOutsourceRequisitionByOutsourceRequisitionIds(ids)); } + + /** + * 委外领料详情 + */ + @RequiresPermissions("system:outsource_requisition:detail") + @GetMapping("/detail/{outsourceRequisitionId}") + public String detail(@PathVariable("outsourceRequisitionId") Long outsourceRequisitionId, ModelMap mmap) + { + OutsourceRequisition outsourceRequisition = outsourceRequisitionService.selectOutsourceRequisitionByOutsourceRequisitionId(outsourceRequisitionId); + mmap.put("outsourceRequisition", outsourceRequisition); + return prefix + "/detail"; + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceRequisition.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceRequisition.java index 0d3bde48..04eca222 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceRequisition.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceRequisition.java @@ -1,5 +1,6 @@ package com.ruoyi.system.domain; +import java.math.BigDecimal; import java.util.Date; import java.util.List; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -34,11 +35,11 @@ public class OutsourceRequisition extends BaseEntity /** 物料合计 */ @Excel(name = "物料合计") - private Long materialAmount; + private int materialAmount; /** 数量总计 */ @Excel(name = "数量总计") - private Long totalAmount; + private BigDecimal totalAmount; /** 审核状态 */ @Excel(name = "审核状态") @@ -108,19 +109,19 @@ public class OutsourceRequisition extends BaseEntity this.requisitionPerson = requisitionPerson; } - public Long getMaterialAmount() { + public int getMaterialAmount() { return materialAmount; } - public void setMaterialAmount(Long materialAmount) { + public void setMaterialAmount(int materialAmount) { this.materialAmount = materialAmount; } - public Long getTotalAmount() { + public BigDecimal getTotalAmount() { return totalAmount; } - public void setTotalAmount(Long totalAmount) { + public void setTotalAmount(BigDecimal totalAmount) { this.totalAmount = totalAmount; } 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 f8b56920..2becd6ab 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 @@ -5,6 +5,8 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; +import java.math.BigDecimal; + /** * 委外领料详情对象 outsource_requisition_detail * @@ -22,17 +24,66 @@ public class OutsourceRequisitionDetail extends BaseEntity @Excel(name = "委外领料编号") private String outsourceRequisitionNo; + /** 委外订单编号 */ + @Excel(name = "委外订单编号") + private String outsourceOrderNo; + /** 料号 */ @Excel(name = "料号") private String materialNo; + /** 物料名称 */ + private String materialName; + + /** 物料类型 */ + private String materialType; + + /** 物料图片 */ + private String materialPhotoUrl; + + /** 单位 */ + private String unit; + + /** 描述 */ + private String description; + + /** 品牌 */ + private String brand; + + /** 加工方式 */ + private String processMethod; + + /** 计划委外数 */ + private BigDecimal plannedOutsourceAmount; + +// 实际委外数 + private BigDecimal actualOutsourceAmount; + +// 关联单号 + private String correlationCodes; + +// 委外工序信息 + private String outsourceProcessInfo; + +// 计价单位信息 + private String chargeUnitInfo; + +// 每个物料规格信息 + private String singleMaterialInfo; + +// 供应商信息 + private String supplierInfo; + +// 交付时间信息 + private String deliveryTimeInfo; + /** 已委外领料数 */ @Excel(name = "已委外领料数") - private Long takenMaterial; + private BigDecimal takenMaterial; /** 本次委外领料数 */ @Excel(name = "本次委外领料数") - private Long takingMaterial; + private BigDecimal takingMaterial; public void setOutsourceRequisitionDetailId(Long outsourceRequisitionDetailId) { @@ -61,25 +112,161 @@ public class OutsourceRequisitionDetail extends BaseEntity { return materialNo; } - public void setTakenMaterial(Long takenMaterial) + public void setTakenMaterial(BigDecimal takenMaterial) { this.takenMaterial = takenMaterial; } - public Long getTakenMaterial() + public BigDecimal getTakenMaterial() { return takenMaterial; } - public void setTakingMaterial(Long takingMaterial) + public void setTakingMaterial(BigDecimal takingMaterial) { this.takingMaterial = takingMaterial; } - public Long getTakingMaterial() + public BigDecimal getTakingMaterial() { return takingMaterial; } + public String getOutsourceOrderNo() { + return outsourceOrderNo; + } + + public void setOutsourceOrderNo(String outsourceOrderNo) { + this.outsourceOrderNo = outsourceOrderNo; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getMaterialType() { + return materialType; + } + + public void setMaterialType(String materialType) { + this.materialType = materialType; + } + + public String getMaterialPhotourl() { + return materialPhotoUrl; + } + + public void setMaterialPhotourl(String materialPhotoUrl) { + this.materialPhotoUrl = materialPhotoUrl; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public String getProcessMethod() { + return processMethod; + } + + public void setProcessMethod(String processMethod) { + this.processMethod = processMethod; + } + + public BigDecimal getPlannedOutsourceAmount() { + return plannedOutsourceAmount; + } + + public void setPlannedOutsourceAmount(BigDecimal plannedOutsourceAmount) { + this.plannedOutsourceAmount = plannedOutsourceAmount; + } + + public BigDecimal getActualOutsourceAmount() { + return actualOutsourceAmount; + } + + public void setActualOutsourceAmount(BigDecimal actualOutsourceAmount) { + this.actualOutsourceAmount = actualOutsourceAmount; + } + + public String getOutsourceProcessInfo() { + return outsourceProcessInfo; + } + + public void setOutsourceProcessInfo(String outsourceProcessInfo) { + this.outsourceProcessInfo = outsourceProcessInfo; + } + + public String getChargeUnitInfo() { + return chargeUnitInfo; + } + + public void setChargeUnitInfo(String chargeUnitInfo) { + this.chargeUnitInfo = chargeUnitInfo; + } + + public String getSingleMaterialInfo() { + return singleMaterialInfo; + } + + public void setSingleMaterialInfo(String singleMaterialInfo) { + this.singleMaterialInfo = singleMaterialInfo; + } + + public String getSupplierInfo() { + return supplierInfo; + } + + public void setSupplierInfo(String supplierInfo) { + this.supplierInfo = supplierInfo; + } + + public String getDeliveryTimeInfo() { + return deliveryTimeInfo; + } + + public void setDeliveryTimeInfo(String deliveryTimeInfo) { + this.deliveryTimeInfo = deliveryTimeInfo; + } + + public String getMaterialPhotoUrl() { + return materialPhotoUrl; + } + + public void setMaterialPhotoUrl(String materialPhotoUrl) { + this.materialPhotoUrl = materialPhotoUrl; + } + + public String getCorrelationCodes() { + return correlationCodes; + } + + public void setCorrelationCodes(String correlationCodes) { + this.correlationCodes = correlationCodes; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/OutsourceRequisitionVO.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/OutsourceRequisitionVO.java index fd94fd6a..f899d2c9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/OutsourceRequisitionVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/OutsourceRequisitionVO.java @@ -14,6 +14,8 @@ public class OutsourceRequisitionVO extends OutsourceRequisition { private String taskId; /** 任务名称 */ private String taskName; +// 当前状态 + private String taskStatus; /** 办理时间 */ private Date doneTime; /** 创建人 */ 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 130520af..b595e344 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 @@ -95,4 +95,7 @@ public interface OutsourceRequisitionMapper * @return 结果 */ public int deleteOutsourceRequisitionDetailByOutsourceRequisitionNo(String outsourceRequisitionNo); + +// 根据领料单号/委外单号/料号组合查询领料详情列表 + public List selectRequisitionDetailByNo(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 9ef29795..e78eaa45 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 @@ -4,6 +4,7 @@ import com.ruoyi.system.domain.OutsourceRequisition; import com.ruoyi.system.domain.Vo.OutsourceQuoteVO; import com.ruoyi.system.domain.Vo.OutsourceRequisitionVO; import org.activiti.engine.runtime.ProcessInstance; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -48,6 +49,10 @@ public interface IOutsourceRequisitionService */ public int updateOutsourceRequisition(OutsourceRequisitionVO outsourceRequisitionVO); + // 更新审批后信息 + @Transactional + int updateAuditRequisition(OutsourceRequisitionVO outsourceRequisitionVO); + /** * 批量删除委外领料 * @@ -69,4 +74,6 @@ public interface IOutsourceRequisitionService * */ ProcessInstance submitApply(OutsourceRequisitionVO outsourceRequisitionVO); + + public int generateWarehouseOutOrder(OutsourceRequisitionVO outsourceRequisitionVO); } 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 2aa6209f..d8b5599c 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 @@ -7,17 +7,20 @@ import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.PageDomain; import com.ruoyi.common.core.page.TableSupport; import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.exception.BusinessException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.process.general.service.IProcessService; import com.ruoyi.process.todoitem.mapper.BizTodoItemMapper; -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 com.ruoyi.system.mapper.OutsourceRequisitionMapper; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.service.IOutsourceRequisitionService; +import com.ruoyi.warehouse.domain.WarehouseOutOrder; +import com.ruoyi.warehouse.domain.WarehouseOutOrderDetail; +import com.ruoyi.warehouse.mapper.WarehouseOutOrderDetailMapper; +import com.ruoyi.warehouse.mapper.WarehouseOutOrderMapper; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; import org.activiti.engine.impl.persistence.entity.TaskEntityImpl; @@ -63,6 +66,12 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer @Autowired private IProcessService processService; + @Autowired + private WarehouseOutOrderMapper warehouseOutOrderMapper; + + @Autowired + private WarehouseOutOrderDetailMapper outOrderDetailMapper; + /** * 查询委外领料 * @@ -135,11 +144,12 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer } else { tempOutsourceRequisitionVO.setTaskName("未启动"); } + tempOutsourceRequisitionVO.setTaskStatus(tempOutsourceRequisitionVO.getTaskName()); if(tempOutsourceRequisitionVO.getAuditStatus()!=null){ if(tempOutsourceRequisitionVO.getAuditStatus().equals("1")){ - tempOutsourceRequisitionVO.setTaskName("审核通过"); + tempOutsourceRequisitionVO.setTaskStatus("审核通过"); }else if(tempOutsourceRequisitionVO.getAuditStatus().equals("2")){ - tempOutsourceRequisitionVO.setTaskName("审核拒绝"); + tempOutsourceRequisitionVO.setTaskStatus("审核拒绝"); } } returnList.add(tempOutsourceRequisitionVO); @@ -169,6 +179,9 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer outsourceRequisitionVO.setRequisitionPerson(loginName); outsourceRequisitionVO.setOutsourceRequisitionNo(outsourceRequisitionNo); int rows = outsourceRequisitionMapper.insertOutsourceRequisition(outsourceRequisitionVO); + if(rows<=0){ + throw new BusinessException("新增委外领料单数据失败"); + } insertOutsourceRequisitionDetail(outsourceRequisitionVO); return rows; } @@ -186,12 +199,44 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer outsourceRequisitionVO.setUpdateTime(DateUtils.getNowDate()); String loginName = ShiroUtils.getLoginName(); outsourceRequisitionVO.setUpdateBy(loginName); - int rows = outsourceRequisitionMapper.updateOutsourceRequisition(outsourceRequisitionVO); + List outsourceRequisitionDetailList = outsourceRequisitionVO.getOutsourceRequisitionDetailList(); + String requisitionNo = outsourceRequisitionVO.getOutsourceRequisitionNo(); + List newRequisitionDetails = new ArrayList<>(); + if (StringUtils.isNotNull(outsourceRequisitionDetailList)) { + for (OutsourceRequisitionDetail detail:outsourceRequisitionDetailList) { + if(detail.getTakingMaterial().intValue()!=0){ + OutsourceRequisitionDetail temp = new OutsourceRequisitionDetail(); + temp.setMaterialNo(detail.getMaterialNo()); + temp.setOutsourceRequisitionNo(detail.getOutsourceRequisitionNo()); + List oldRequisitionDetails = outsourceRequisitionMapper.selectRequisitionDetailByNo(temp); + for (OutsourceRequisitionDetail oldDetail:oldRequisitionDetails) { + oldDetail.setTakingMaterial(detail.getTakingMaterial()); + newRequisitionDetails.add(oldDetail); + } + } + } + } + if(StringUtils.isEmpty(newRequisitionDetails)){ + throw new BusinessException("更新领料单详情数据失败"); + } outsourceRequisitionMapper.deleteOutsourceRequisitionDetailByOutsourceRequisitionNo(outsourceRequisitionVO.getOutsourceRequisitionNo()); - insertOutsourceRequisitionDetail(outsourceRequisitionVO); + OutsourceRequisitionVO requisitionVO = new OutsourceRequisitionVO(); + requisitionVO.setOutsourceRequisitionNo(requisitionNo); + requisitionVO.setOutsourceRequisitionDetailList(newRequisitionDetails); + insertOutsourceRequisitionDetail(requisitionVO); + int rows = outsourceRequisitionMapper.updateOutsourceRequisition(outsourceRequisitionVO); return rows; } +// 更新审批后信息 + @Transactional + @Override + public int updateAuditRequisition(OutsourceRequisitionVO outsourceRequisitionVO){ + outsourceRequisitionVO.setUpdateBy(ShiroUtils.getLoginName()); + outsourceRequisitionVO.setUpdateTime(DateUtils.getNowDate()); + int rows = outsourceRequisitionMapper.updateOutsourceRequisition(outsourceRequisitionVO); + return rows; + } /** * 批量删除委外领料 * @@ -229,7 +274,7 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer // 保存 insertOutsourceRequisition(outsourceRequisitionVO); // 启动流程 - String applyTitle = user.getUserName()+"发起了委外报价提交审批-"+DateUtils.dateTimeNow(); + String applyTitle = user.getUserName()+"发起了委外领料提交审批-"+DateUtils.dateTimeNow(); String instanceType = "submit"; ProcessInstance processInstance = startProcessInstance(applyTitle,instanceType,outsourceRequisitionVO, user); String processInstanceId = processInstance.getProcessInstanceId(); @@ -306,4 +351,62 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer } } } +// 根据委外领料单生成出库单 + public int generateWarehouseOutOrder(OutsourceRequisitionVO outsourceRequisitionVO){ + WarehouseOutOrder warehouseOutOrder = new WarehouseOutOrder(); + warehouseOutOrder.setOutOrderCode(redisCache.generateBillNo("CK")); + warehouseOutOrder.setWarehouseOutStatus("0"); + warehouseOutOrder.setRelatedOrderCode(outsourceRequisitionVO.getOutsourceRequisitionNo()); + warehouseOutOrder.setWarehouseOrderType("3"); + warehouseOutOrder.setOutMakeCode(outsourceRequisitionVO.getOutsourceOrderNo()); + warehouseOutOrder.setWarehouseOutType("3"); + warehouseOutOrder.setBusinessName(outsourceRequisitionVO.getRequisitionPerson()); + warehouseOutOrder.setMaterialSum(outsourceRequisitionVO.getMaterialAmount()); + warehouseOutOrder.setEnterpriseSum(outsourceRequisitionVO.getTotalAmount().intValue()); + warehouseOutOrder.setApplyName(outsourceRequisitionVO.getRequisitionPerson()); + warehouseOutOrder.setCreateBy(ShiroUtils.getLoginName()); + warehouseOutOrder.setCreateTime(DateUtils.getNowDate()); + + List requisitionDetails = outsourceRequisitionVO.getOutsourceRequisitionDetailList(); + if(StringUtils.isEmpty(requisitionDetails)){ + throw new BusinessException("委外领料单详情为空!"); + }else{ + for (OutsourceRequisitionDetail detail:requisitionDetails) { + WarehouseOutOrderDetail warehouseOutOrderDetail = generateWarehouseOutOrderDetail(detail); + warehouseOutOrderDetail.setOutOrderCode(warehouseOutOrder.getOutOrderCode()); + warehouseOutOrderDetail.setApplyName(warehouseOutOrder.getApplyName()); + outOrderDetailMapper.insertWarehouseOutOrderDetail(warehouseOutOrderDetail); + } + } + int insertResult = warehouseOutOrderMapper.insertWarehouseOutOrder(warehouseOutOrder); + if(insertResult<=0){ + throw new BusinessException("新增委外领料出库单数据失败"); + } + return 0; + } +// 根据委外领料单详情生成出库单详情 + public WarehouseOutOrderDetail generateWarehouseOutOrderDetail(OutsourceRequisitionDetail requisitionDetail){ + WarehouseOutOrderDetail warehouseOutOrderDetail = new WarehouseOutOrderDetail(); + warehouseOutOrderDetail.setWarehouseOutStatus("0"); + warehouseOutOrderDetail.setRelatedOrderCode(requisitionDetail.getOutsourceRequisitionNo()); + warehouseOutOrderDetail.setOutMakeCode(requisitionDetail.getOutsourceOrderNo()); + warehouseOutOrderDetail.setWarehouseOrderType("3"); + warehouseOutOrderDetail.setWarehouseOutType("3"); + warehouseOutOrderDetail.setMaterialNo(requisitionDetail.getMaterialNo()); + warehouseOutOrderDetail.setMaterialName(requisitionDetail.getMaterialName()); + warehouseOutOrderDetail.setMaterialPhotourl(requisitionDetail.getMaterialPhotourl()); + warehouseOutOrderDetail.setMaterialType(requisitionDetail.getMaterialType()); + warehouseOutOrderDetail.setMaterialBrand(requisitionDetail.getBrand()); + warehouseOutOrderDetail.setMaterialUnit(requisitionDetail.getUnit()); + warehouseOutOrderDetail.setMaterialDescribe(requisitionDetail.getDescription()); + warehouseOutOrderDetail.setMaterialProcessMethod(requisitionDetail.getProcessMethod()); + warehouseOutOrderDetail.setMaterialSum(1); + warehouseOutOrderDetail.setEnterpriseSum(requisitionDetail.getTakingMaterial().intValue()); + warehouseOutOrderDetail.setOutOrderSum(0); + warehouseOutOrderDetail.setHasOutOrderSum(0); + warehouseOutOrderDetail.setApplyOutOrderSum(requisitionDetail.getTakingMaterial().intValue()); + warehouseOutOrderDetail.setCreateBy(ShiroUtils.getLoginName()); + warehouseOutOrderDetail.setCreateTime(DateUtils.getNowDate()); + return warehouseOutOrderDetail; + } } diff --git a/ruoyi-admin/src/main/resources/mapper/system/OutsourceRequisitionMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/OutsourceRequisitionMapper.xml index fc6a7235..72ecc092 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/OutsourceRequisitionMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/OutsourceRequisitionMapper.xml @@ -36,7 +36,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + + + + + + @@ -45,6 +61,14 @@ 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_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 + from outsource_requisition_detail + + @@ -161,10 +184,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - insert into outsource_requisition_detail( outsource_requisition_detail_id, outsource_requisition_no, material_no, taken_material, taking_material) values + insert into outsource_requisition_detail( 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,correlation_codes, + outsource_process_info, charge_unit_info, single_material_info, supplier_info, delivery_time_info, taken_material, taking_material) values - ( #{item.outsourceRequisitionDetailId}, #{item.outsourceRequisitionNo}, #{item.materialNo}, #{item.takenMaterial}, #{item.takingMaterial}) + ( #{item.outsourceRequisitionDetailId}, #{item.outsourceRequisitionNo}, #{item.outsourceOrderNo}, #{item.materialNo}, #{item.materialName}, #{item.materialType}, + #{item.materialPhotoUrl}, #{item.description}, #{item.brand}, #{item.unit}, #{item.processMethod}, #{item.plannedOutsourceAmount}, #{item.actualOutsourceAmount}, #{item.correlationCodes}, + #{item.outsourceProcessInfo}, #{item.chargeUnitInfo}, #{item.singleMaterialInfo}, #{item.supplierInfo}, #{item.deliveryTimeInfo}, + #{item.takenMaterial}, #{item.takingMaterial}) + + \ 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 06420597..69a2ce67 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 @@ -6,10 +6,44 @@ +
- +
+ +
+ +
+
+
+
+
+
@@ -17,20 +51,20 @@

订单合计:

-
- -
- +
+
+ +
+ +
-
-
- -
- +
+ +
+ +
- -
@@ -40,6 +74,7 @@ diff --git a/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/detail.html b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/detail.html new file mode 100644 index 00000000..3a5f5a3c --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/detail.html @@ -0,0 +1,267 @@ + + + + + + + + + + +
+ + +
+
+ + +
+

订单合计:

+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/edit.html b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/edit.html index 1e805c44..3a81ff13 100644 --- a/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/edit.html +++ b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/edit.html @@ -1,151 +1,364 @@ - + + + + + -
-
-

委外领料信息

- -
-
- -
- -
-
-
-
-
- -
- -
-
-
-
-
- -
- -
+
+ + +
+
+ + +
+

订单合计:

+
+
+ +
+
-
-
- -
- -
+
+ +
+
-
-
- -
- -
-
-
-

委外领料详情信息

-
-
- - -
-
-
-
-
- +
- - + } + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/outsource_requisition.html b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/outsource_requisition.html index 78319e34..d92ed0a7 100644 --- a/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/outsource_requisition.html +++ b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/outsource_requisition.html @@ -41,7 +41,7 @@
-
+
@@ -53,7 +53,7 @@ var detailFlag = [[${@permission.hasPermi('system:outsource_requisition:detail')}]]; var prefix = ctx + "system/outsource_requisition"; var auditStatusDatas = [[${@dict.getType('auditStatus')}]]; - var requisitionStatusDatas = [[${@dict.getType('requisitionStatus')}]]; + var requisitionStatusDatas = [[${@dict.getType('pickStatus')}]]; var loginName = [[${@permission.getPrincipalProperty('loginName')}]]; @@ -66,9 +66,27 @@ removeUrl: prefix + "/remove", exportUrl: prefix + "/export", modalName: "委外领料", + pageList: [5, 10, 25, 50], + pageSize: 10, + // fixedColumns: true, // 启用冻结列 + // fixedRightNumber: 1, // 冻结右列个数 columns: [{ checkbox: true }, + { + field: 'taskStatus', + title: '当前状态', + align: 'center', + formatter: function(value, row, index) { + if(row.auditStatus!="1"&&value != "未启动"){ + return '' + value + ''; + } + if(value === "未启动"){ + return '' + value + ''; + } + return '' + value + ''; + } + }, { field: 'auditStatus', title: '审核状态', @@ -77,13 +95,7 @@ return $.table.selectDictLabel(auditStatusDatas, value); } }, - { - field: 'requisitionStatus', - title: '领料状态', - formatter: function(value, row, index) { - return $.table.selectDictLabel(requisitionStatusDatas, value); - } - }, { + { field: 'instanceId', title: '流程实例ID', visible: false @@ -124,29 +136,27 @@ field: 'applyTime', title: '申请时间' }, + { + field: 'requisitionStatus', + title: '领料状态', + formatter: function(value, row, index) { + return $.table.selectDictLabel(requisitionStatusDatas, value); + } + }, { field: 'taskId', title: '当前任务ID', visible: false }, { - field: 'todoUserId', - title: '待办用户ID', + field: 'taskName', + title: '当前任务名称', visible: false }, { - field: 'taskName', - title: '当前状态', - align: 'center', - formatter: function(value, row, index) { - if(row.auditStatus!="1"&&value != "未启动"){ - return '' + value + ''; - } - if(value === "未启动"){ - return '' + value + ''; - } - return '' + value + ''; - } + field: 'todoUserId', + title: '待办用户ID', + visible: false }, { field: 'outsourceRequisitionId', @@ -175,7 +185,8 @@ }, { field: 'createTime', - title: '录入时间' + title: '录入时间', + visible: false, }, { field: 'updateBy', @@ -190,14 +201,11 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - // 审核状态-审核通过 使用状态-是 未发起作废流程 - if(row.auditStatus=="1"){ - // 作废 - // actions.push(' 作废'); - // 编辑 - actions.push(' 编辑 '); + // 审核状态-审核拒绝 + if(row.auditStatus=="2"){ + // actions.push(' 编辑 '); }else{ - actions.push(' 编辑 '); + // actions.push(' 编辑 '); } // 有流程实例id if (row.instanceId) { @@ -212,9 +220,10 @@ // 审批历史 actions.push(' 审批历史 '); // 进度查看 - actions.push(' 进度查看 '); + actions.push(' 进度 '); } - actions.push('详情'); + actions.push(' 编辑 '); + actions.push('详情'); return actions.join(''); } }], diff --git a/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/taskModifyApply.html b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/taskModifyApply.html new file mode 100644 index 00000000..955d8069 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/taskModifyApply.html @@ -0,0 +1,323 @@ + + + + + + + + + +
+
+ + +
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+ +
+

订单合计:

+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/taskWwjlVerify.html b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/taskWwjlVerify.html index 6c2840c1..06b56606 100644 --- a/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/taskWwjlVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/taskWwjlVerify.html @@ -5,9 +5,20 @@ +
-
+ @@ -16,47 +27,31 @@
-
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ +
+ +
+
+
+ +
+
+ + +
+
+
+
+ +
+ +
+
@@ -68,15 +63,33 @@
- +
-
- +
+ +
+

订单合计:

+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
@@ -84,10 +97,20 @@ \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/taskWwzgVerify.html b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/taskWwzgVerify.html index aa5331f6..f9669594 100644 --- a/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/taskWwzgVerify.html +++ b/ruoyi-admin/src/main/resources/templates/system/outsource_requisition/taskWwzgVerify.html @@ -5,9 +5,20 @@ +
-
+ @@ -16,47 +27,31 @@
-
+
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ +
+ +
+
+
+ +
+
+ + +
+
+
+
+ +
+ +
+
@@ -68,15 +63,33 @@
- +
-
- +
+ +
+

订单合计:

+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
@@ -84,10 +97,20 @@ \ No newline at end of file