From 88060fce057317ce96b28e374c1712ba0a549b97 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Thu, 25 Jul 2024 17:05:20 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=20=E5=B7=A5=E7=A8=8B=E7=AE=A1=E7=90=86?= =?UTF-8?q?=20=E6=96=B0=E5=A2=9E=E5=BC=80=E5=8F=91=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8D=95=E4=BF=AE=E6=94=B9=E9=A1=B5=E9=9D=A2=EF=BC=9A=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=BC=80=E5=8F=91=E4=BF=AE=E6=94=B9=E5=8D=95=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E6=96=B9=E6=B3=95=20=E6=96=B0=E5=A2=9E=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E4=BF=AE=E6=94=B9=E5=8D=95=E5=90=8E=E7=AB=AF=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E4=BF=AE=E6=94=B9=E7=AA=97=E5=8F=A3=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=20=E6=96=B0=E5=A2=9E=E5=BC=80=E5=8F=91=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8D=95=E4=BF=AE=E6=94=B9=E4=BF=9D=E5=AD=98=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20=E6=96=B0=E5=A2=9E=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8D=95=20=E5=BC=80=E5=8F=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=89=A9=E6=96=99=E5=90=8E=E7=AB=AF=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20=E6=96=B0=E5=A2=9E=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8D=95=20=E9=87=87=E8=B4=AD=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=89=A9=E6=96=99=E5=90=8E=E7=AB=AF=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20=E6=96=B0=E5=A2=9E=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8D=95=E6=8F=90=E4=BA=A4=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E4=BF=AE=E6=94=B9=E5=8D=95=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=BC=B9=E7=AA=97=E5=90=8E=E7=AB=AF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=20=E6=96=B0=E5=A2=9E=E5=BC=80=E5=8F=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=8D=95=E8=87=AA=E5=8A=A8=E7=BB=91=E5=AE=9A=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=AD=97=E6=AE=B5=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=20=E6=96=B0=E5=A2=9E=E5=BC=80=E5=8F=91=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8D=95=20=E5=AE=8C=E6=88=90=E4=BB=BB=E5=8A=A1=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E6=8E=A5=E5=8F=A3=20=E4=BF=AE=E6=94=B9=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E4=BF=AE=E6=94=B9=E5=8D=95=E5=92=8C=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8D=95=E8=AF=A6=E6=83=85=20=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E5=8D=95=E5=8F=B7=E5=AD=97=E6=AE=B5=E4=B8=A4=E8=80=85?= =?UTF-8?q?=E4=BF=9D=E6=8C=81=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErpDevelopModifyorderController.java | 167 ++- .../erp/domain/ErpDevelopModifyorder.java | 12 +- .../domain/ErpDevelopModifyorderDetail.java | 12 +- .../ErpDevelopModifyorderDetailMapper.java | 5 + .../mapper/ErpDevelopModifyorderMapper.java | 9 +- .../IErpDevelopModifyorderService.java | 24 +- .../ErpDevelopModifyorderServiceImpl.java | 132 +- .../erp/ErpDevelopModifyorderDetailMapper.xml | 17 +- .../erp/ErpDevelopModifyorderMapper.xml | 21 +- .../erp/developModifyOrder/edit.html | 1144 ++++++++++------- 10 files changed, 1015 insertions(+), 528 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpDevelopModifyorderController.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpDevelopModifyorderController.java index 78c0b720..e93e8a4d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpDevelopModifyorderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpDevelopModifyorderController.java @@ -1,17 +1,27 @@ package com.ruoyi.erp.controller; +import java.util.HashMap; import java.util.List; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.erp.domain.ErpDevelopModifyorderDetail; import com.ruoyi.erp.domain.ErpMaterial; import com.ruoyi.erp.domain.ErpMaterialVo; +import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderVo; import com.ruoyi.erp.service.IErpMaterialService; +import com.ruoyi.process.general.service.IProcessService; +import com.ruoyi.sales.domain.VO.SalesAftersalesNoticeVO; import com.ruoyi.system.domain.SysMakeOrder; import com.ruoyi.system.domain.SysMakeorderDept; import com.ruoyi.system.domain.SysSalesOrderChild; import com.ruoyi.system.mapper.SysMakeOrderMapper; import com.ruoyi.system.service.ISysSalesOrderChildService; import com.ruoyi.system.service.ISysUserService; +import org.activiti.engine.RuntimeService; +import org.activiti.engine.TaskService; +import org.activiti.engine.runtime.ProcessInstance; +import org.activiti.engine.task.Task; +import org.apache.commons.lang3.BooleanUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -26,6 +36,9 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + /** * 开发修改单Controller * @@ -53,6 +66,15 @@ public class ErpDevelopModifyorderController extends BaseController @Autowired private IErpMaterialService erpMaterialService; + @Autowired + private TaskService taskService; + + @Autowired + private RuntimeService runtimeService; + + @Autowired + private IProcessService processService; + @RequiresPermissions("erp:developModifyOrder:view") @GetMapping() @@ -117,7 +139,9 @@ public class ErpDevelopModifyorderController extends BaseController @ResponseBody public AjaxResult addSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) { - return toAjax(erpDevelopModifyorderService.insertErpDevelopModifyorder(erpDevelopModifyorder)); + + erpDevelopModifyorderService.submitApply(erpDevelopModifyorder); + return AjaxResult.success(); } @@ -169,6 +193,96 @@ public class ErpDevelopModifyorderController extends BaseController + /** + * 加载审批弹窗 + * @param taskId + * @param mmap + * @return + */ + @GetMapping("/showVerifyDialog/{taskId}") + public String showVerifyDialog(@PathVariable("taskId") String taskId, ModelMap mmap) { + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + String processInstanceId = task.getProcessInstanceId(); + ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); + ErpDevelopModifyorderVo erpDevelopModifyorderVo = erpDevelopModifyorderService.selectErpDevelopModifyorderById(new Long(processInstance.getBusinessKey())); + mmap.put("formData", erpDevelopModifyorderVo); + mmap.put("taskId", taskId); + String verifyName = task.getTaskDefinitionKey().substring(0, 1).toUpperCase() + task.getTaskDefinitionKey().substring(1); + return prefix + "/task" + verifyName; + } + + /** + * 自动绑定页面字段 + */ + @ModelAttribute("preloadObj") + public ErpDevelopModifyorderVo getObj(@RequestParam(value = "developOrderId", required = false) Long developOrderId, HttpSession session) { + if (developOrderId != null) { + + return erpDevelopModifyorderService.selectErpDevelopModifyorderById(developOrderId); + } + return new ErpDevelopModifyorderVo(); + } + + + + + /** + * 完成任务 + * + * @return + */ + @RequestMapping(value = "/complete/{taskId}", method = {RequestMethod.POST, RequestMethod.GET}) + @ResponseBody + public AjaxResult complete(@PathVariable("taskId") String taskId, @RequestParam(value = "saveEntity", required = false) String saveEntity, + @ModelAttribute("preloadObj") ErpDevelopModifyorderVo erpDevelopModifyorderVo, HttpServletRequest request) { + boolean saveEntityBoolean = BooleanUtils.toBoolean(saveEntity); + //获取实例id + String instanceId = erpDevelopModifyorderVo.getInstanceId(); + //获取实例类型 + String instanceType = erpDevelopModifyorderVo.getInstanceType(); + boolean approvedFlag = processService.complete(taskId, instanceId, erpDevelopModifyorderVo.getApplyTitle(), erpDevelopModifyorderVo.getDevelopOrderCode(), "developModifyOrder", new HashMap(), request); + if(!approvedFlag){ + // 审核状态-审核拒绝 + erpDevelopModifyorderVo.setAuditStatus("2"); + } + // 如果任务已结束更新业务表状态 + boolean processIsFinish = processService.judgeProcessIsFinish(instanceId); + if (processIsFinish) { + // 审核通过 + erpDevelopModifyorderVo.setAuditStatus("1"); + String developOderCode = erpDevelopModifyorderVo.getDevelopOrderCode(); +// SalesAftersalesNoticeVO tempSalesAftersalesNoticeVO = salesAftersalesNoticeService.selectSalesAftersalesNoticeByCode(aftersalesNoticeCode); +// +// //如果审核通过生成售后单 +// aftersalesOrderService.generateAftersalesOrderBySalesAftersalesNotice(tempSalesAftersalesNoticeVO); + + // 提交 + if("submit".equals(instanceType)){ + // 使用状态-是 +// erpBomVo.setUseStatus("1"); + } + // 作废 + else if("cancel".equals(instanceType)){ + // 使用状态-已作废 +// erpBomVo.setUseStatus("2"); + } + // 恢复 + else if("restore".equals(instanceType)){ + // 使用状态-是 +// erpBomVo.setUseStatus("1"); + } + } + erpDevelopModifyorderService.updateErpDevelopModifyorder(erpDevelopModifyorderVo); + // 驳回申请后继续申请,可能修改表单 + if (saveEntityBoolean) { + erpDevelopModifyorderService.updateErpDevelopModifyorder(erpDevelopModifyorderVo); + } + return success("任务已完成"); + } + + + + /** * 修改开发修改单 */ @@ -176,9 +290,49 @@ public class ErpDevelopModifyorderController extends BaseController public String edit(@PathVariable("developOrderId") Long developOrderId, ModelMap mmap) { ErpDevelopModifyorder erpDevelopModifyorder = erpDevelopModifyorderService.selectErpDevelopModifyorderById(developOrderId); + mmap.put("beforeUpdateRemark", erpDevelopModifyorder.getBeforeUpdateRemark()); + mmap.put("afterUpdateRemark", erpDevelopModifyorder.getAfterUpdateRemark()); mmap.put("erpDevelopModifyorder", erpDevelopModifyorder); return prefix + "/edit"; } + + /** + * 修改保存开发修改单 + */ + @RequiresPermissions("erp:developModifyOrder:edit") + @Log(title = "开发修改单", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) + { + return toAjax(erpDevelopModifyorderService.updateErpDevelopModifyorder(erpDevelopModifyorder)); + } + + /** + * 修改开发修改单 开发修改物料查询 + */ + @PostMapping("/getDevelopModifyMaterialById") + @ResponseBody + public TableDataInfo getDevelopModifyMaterialById(@RequestParam("developOrderId") Long developOrderId) + { + startPage(); + List erpDevelopModifyorderList = erpDevelopModifyorderService.selectDevelopModifyMaterialById(developOrderId); + return getDataTable(erpDevelopModifyorderList); + } + + /** + * 修改开发修改单 采购修改物料查询 + */ + @PostMapping("/getDevelopModifyDetailMaterialByCode") + @ResponseBody + public TableDataInfo getDevelopModifyDetailMaterialByCode(@RequestParam("developOrderCode") String developOrderCode) + { + startPage(); + List erpDevelopModifyorderDetailList = erpDevelopModifyorderService.selectDevelopModifyDetailMaterialByCode(developOrderCode); + return getDataTable(erpDevelopModifyorderDetailList); + } + + /**相关人员确认*/ @GetMapping("/confirm/{developOrderId}") public String confrimDetail(@PathVariable("developOrderId") Long developOrderId, ModelMap mmap) @@ -195,17 +349,6 @@ public class ErpDevelopModifyorderController extends BaseController mmap.put("erpDevelopModifyorder", erpDevelopModifyorder); return prefix + "/pickAdd"; } - /** - * 修改保存开发修改单 - */ - @RequiresPermissions("erp:developModifyOrder:edit") - @Log(title = "开发修改单", businessType = BusinessType.UPDATE) - @PostMapping("/edit") - @ResponseBody - public AjaxResult editSave(ErpDevelopModifyorder erpDevelopModifyorder) - { - return toAjax(erpDevelopModifyorderService.updateErpDevelopModifyorder(erpDevelopModifyorder)); - } /** * 查看开发修改单详情 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpDevelopModifyorder.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpDevelopModifyorder.java index 887f1f3b..eb56e6b4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpDevelopModifyorder.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpDevelopModifyorder.java @@ -25,7 +25,7 @@ public class ErpDevelopModifyorder extends BaseEntity /** 开发修改单号 */ @Excel(name = "开发修改单号") - private String developOderCode; + private String developOrderCode; /** 生产单号 */ @Excel(name = "生产单号") @@ -162,14 +162,14 @@ public class ErpDevelopModifyorder extends BaseEntity { return developOrderId; } - public void setDevelopOderCode(String developOderCode) + public void setDevelopOrderCode(String developOrderCode) { - this.developOderCode = developOderCode; + this.developOrderCode = developOrderCode; } - public String getDevelopOderCode() + public String getDevelopOrderCode() { - return developOderCode; + return developOrderCode; } public void setMaterialNo(String materialNo) { @@ -426,7 +426,7 @@ public class ErpDevelopModifyorder extends BaseEntity public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("developOrderId", getDevelopOrderId()) - .append("developOderCode", getDevelopOderCode()) + .append("developOrderCode", getDevelopOrderCode()) .append("makeNo",getMakeNo()) .append("materialNo", getMaterialNo()) .append("purchaseStorageStatus", getPurchaseStorageStatus()) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpDevelopModifyorderDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpDevelopModifyorderDetail.java index 7dcba111..f7646939 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpDevelopModifyorderDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpDevelopModifyorderDetail.java @@ -22,7 +22,7 @@ public class ErpDevelopModifyorderDetail extends BaseEntity /** 开发修改单单号 */ @Excel(name = "开发修改单单号") - private String developOderCode; + private String developOrderCode; /** 生产单号 */ @Excel(name = "生产单号") @@ -82,14 +82,14 @@ public class ErpDevelopModifyorderDetail extends BaseEntity { return developOrderDetailId; } - public void setDevelopOderCode(String developOderCode) + public void setDevelopOrderCode(String developOrderCode) { - this.developOderCode = developOderCode; + this.developOrderCode = developOrderCode; } - public String getDevelopOderCode() + public String getDevelopOrderCode() { - return developOderCode; + return developOrderCode; } public void setMakeNo(String makeNo) { @@ -204,7 +204,7 @@ public class ErpDevelopModifyorderDetail extends BaseEntity public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("developOrderDetailId", getDevelopOrderDetailId()) - .append("developOderCode", getDevelopOderCode()) + .append("developOrderCode", getDevelopOrderCode()) .append("makeNo", getMakeNo()) .append("materialNo", getMaterialNo()) .append("materialName", getMaterialName()) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderDetailMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderDetailMapper.java index b79fbbd1..8b2ab6b3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderDetailMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderDetailMapper.java @@ -74,4 +74,9 @@ public interface ErpDevelopModifyorderDetailMapper * @return 结果 */ public int restoreErpDevelopModifyorderDetailById(Long developOrderDetailId); + + /** + * 根据开发修改单号查询开发修改详情物料信息 + * */ + List selectDevelopModifyDetailMaterialByCode(String developOrderCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderMapper.java index 9520c428..7bac86cf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.erp.mapper; import java.util.List; import com.ruoyi.erp.domain.ErpDevelopModifyorder; +import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderVo; /** * 开发修改单Mapper接口 @@ -17,7 +18,7 @@ public interface ErpDevelopModifyorderMapper * @param developOrderId 开发修改单ID * @return 开发修改单 */ - public ErpDevelopModifyorder selectErpDevelopModifyorderById(Long developOrderId); + public ErpDevelopModifyorderVo selectErpDevelopModifyorderById(Long developOrderId); /** * 查询开发修改单列表 @@ -74,4 +75,10 @@ public interface ErpDevelopModifyorderMapper * @return 结果 */ public int restoreErpDevelopModifyorderById(Long developOrderId); + + + /** + * 根据开发修改单查询开发修改物料 + * */ + List selectDevelopModifyMaterialById(Long developOrderId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpDevelopModifyorderService.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpDevelopModifyorderService.java index 68fec642..a105367c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpDevelopModifyorderService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpDevelopModifyorderService.java @@ -2,6 +2,10 @@ package com.ruoyi.erp.service; import java.util.List; import com.ruoyi.erp.domain.ErpDevelopModifyorder; +import com.ruoyi.erp.domain.ErpDevelopModifyorderDetail; +import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderVo; +import com.ruoyi.system.domain.SysSalesOrder; +import org.activiti.engine.runtime.ProcessInstance; /** * 开发修改单Service接口 @@ -17,7 +21,7 @@ public interface IErpDevelopModifyorderService * @param developOrderId 开发修改单ID * @return 开发修改单 */ - public ErpDevelopModifyorder selectErpDevelopModifyorderById(Long developOrderId); + public ErpDevelopModifyorderVo selectErpDevelopModifyorderById(Long developOrderId); /** * 查询开发修改单列表 @@ -72,4 +76,22 @@ public interface IErpDevelopModifyorderService * @return */ int restoreErpDevelopModifyorderById(Long developOrderId); + + + + /** + * 审批流程启动 + * */ + ProcessInstance submitApply(ErpDevelopModifyorder erpDevelopModifyorder); + + /** + * 根据开发修改单id查询开发修改物料 + * */ + List selectDevelopModifyMaterialById(Long developOrderId); + + + /** + * 根据开发修改单号查询开发修改详情物料信息 + * */ + List selectDevelopModifyDetailMaterialByCode(String developOrderCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpDevelopModifyorderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpDevelopModifyorderServiceImpl.java index f387440b..6c02db98 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpDevelopModifyorderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpDevelopModifyorderServiceImpl.java @@ -1,19 +1,29 @@ package com.ruoyi.erp.service.impl; -import java.util.List; +import java.util.*; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.erp.domain.ErpDevelopModifyorderDetail; import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderMaterialVo; +import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderVo; import com.ruoyi.erp.mapper.ErpDevelopModifyorderDetailMapper; +import com.ruoyi.process.general.service.IProcessService; +import com.ruoyi.process.todoitem.mapper.BizTodoItemMapper; +import com.ruoyi.sales.domain.SalesAftersalesNotice; +import com.ruoyi.system.mapper.SysUserMapper; +import com.ruoyi.system.service.ISysRoleService; +import org.activiti.engine.TaskService; +import org.activiti.engine.runtime.ProcessInstance; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.erp.mapper.ErpDevelopModifyorderMapper; import com.ruoyi.erp.domain.ErpDevelopModifyorder; import com.ruoyi.erp.service.IErpDevelopModifyorderService; import com.ruoyi.common.core.text.Convert; +import org.springframework.transaction.annotation.Transactional; /** * 开发修改单Service业务层处理 @@ -33,6 +43,22 @@ public class ErpDevelopModifyorderServiceImpl implements IErpDevelopModifyorderS @Autowired private RedisCache redisCache; + + @Autowired + private IProcessService processService; + + @Autowired + private ISysRoleService roleService; + + @Autowired + private SysUserMapper userMapper; + + @Autowired + private TaskService taskService; + + @Autowired + private BizTodoItemMapper todoItemMapper; + /** * 查询开发修改单 * @@ -40,7 +66,7 @@ public class ErpDevelopModifyorderServiceImpl implements IErpDevelopModifyorderS * @return 开发修改单 */ @Override - public ErpDevelopModifyorder selectErpDevelopModifyorderById(Long developOrderId) + public ErpDevelopModifyorderVo selectErpDevelopModifyorderById(Long developOrderId) { return erpDevelopModifyorderMapper.selectErpDevelopModifyorderById(developOrderId); } @@ -71,7 +97,7 @@ public class ErpDevelopModifyorderServiceImpl implements IErpDevelopModifyorderS erpDevelopModifyorder.setCreateTime(DateUtils.getNowDate()); String developOderCode = redisCache.generateBillNo("KF"); - erpDevelopModifyorder.setDevelopOderCode(developOderCode); + erpDevelopModifyorder.setDevelopOrderCode(developOderCode); ErpDevelopModifyorderMaterialVo erpDevelopModifyorderMaterialVo = erpDevelopModifyorder.getDevelopModifyorderMaterialVoList().get(0); erpDevelopModifyorder.setMaterialNo(erpDevelopModifyorderMaterialVo.getMaterialNo()); @@ -83,7 +109,7 @@ public class ErpDevelopModifyorderServiceImpl implements IErpDevelopModifyorderS //添加采购物料相关数据 ErpDevelopModifyorderDetail erpDevelopModifyorderDetail = erpDevelopModifyorder.getDevelopModifyorderDetailList().get(0); - erpDevelopModifyorderDetail.setDevelopOderCode(developOderCode); + erpDevelopModifyorderDetail.setDevelopOrderCode(developOderCode); developModifyorderDetailMapper.insertErpDevelopModifyorderDetail(erpDevelopModifyorderDetail); @@ -96,12 +122,20 @@ public class ErpDevelopModifyorderServiceImpl implements IErpDevelopModifyorderS * @param erpDevelopModifyorder 开发修改单 * @return 结果 */ + @Transactional(rollbackFor = Exception.class) @Override public int updateErpDevelopModifyorder(ErpDevelopModifyorder erpDevelopModifyorder) { String loginName = ShiroUtils.getLoginName(); erpDevelopModifyorder.setUpdateBy(loginName); - erpDevelopModifyorder.setUpdateTime(DateUtils.getNowDate()); + erpDevelopModifyorder.setUpdateTime(new Date()); + + //添加采购物料相关数据 + ErpDevelopModifyorderDetail erpDevelopModifyorderDetail = erpDevelopModifyorder.getDevelopModifyorderDetailList().get(0); + erpDevelopModifyorderDetail.setUpdateBy(loginName); + erpDevelopModifyorderDetail.setUpdateTime(new Date()); + developModifyorderDetailMapper.updateErpDevelopModifyorderDetail(erpDevelopModifyorderDetail); + return erpDevelopModifyorderMapper.updateErpDevelopModifyorder(erpDevelopModifyorder); } @@ -152,4 +186,92 @@ public class ErpDevelopModifyorderServiceImpl implements IErpDevelopModifyorderS { return erpDevelopModifyorderMapper.restoreErpDevelopModifyorderById(developOrderId); } + + + + @Transactional(rollbackFor = Exception.class) + @Override + public ProcessInstance submitApply(ErpDevelopModifyorder erpDevelopModifyorder) { + SysUser user = ShiroUtils.getSysUser(); + erpDevelopModifyorder.setAuditStatus("0"); + erpDevelopModifyorder.setPurchaseStorageStatus("0"); + erpDevelopModifyorder.setQualityStatus("0"); + erpDevelopModifyorder.setCompleteStatus("0"); + erpDevelopModifyorder.setFinshStatus("0"); + //插入数据 + insertErpDevelopModifyorder(erpDevelopModifyorder); + // 启动流程 + String applyTitle = user.getUserName()+"发起了开发修改单提交审批-"+DateUtils.dateTimeNow(); + String instanceType = "submit"; + ProcessInstance processInstance = startProcessInstance(applyTitle,instanceType,erpDevelopModifyorder, user); + String processInstanceId = processInstance.getProcessInstanceId(); + // 提交实例id + erpDevelopModifyorder.setSubmitInstanceId(processInstanceId); + // 存在提交完就流程结束的情况 + boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId); + if(processIsFinish){ + // 审核状态-审核通过 + erpDevelopModifyorder.setAuditStatus("1"); + } + erpDevelopModifyorderMapper.updateErpDevelopModifyorder(erpDevelopModifyorder); + return processInstance; + } + + + /** + * 根据开发修改单查询开发修改物料 + * */ + @Override + public List selectDevelopModifyMaterialById(Long developOrderId) { + return erpDevelopModifyorderMapper.selectDevelopModifyMaterialById(developOrderId); + } + + + /** + * 根据开发修改单号查询开发修改详情物料信息 + * */ + @Override + public List selectDevelopModifyDetailMaterialByCode(String developOrderCode) { + + return developModifyorderDetailMapper.selectDevelopModifyDetailMaterialByCode(developOrderCode); + } + + + /** + * 创建售后单审核流程 + * @param applyTitle + * @param instanceType + * @param user + * @return + */ + private ProcessInstance startProcessInstance(String applyTitle, String instanceType, ErpDevelopModifyorder erpDevelopModifyorder, SysUser user) { + Long developOrderId = erpDevelopModifyorder.getDevelopOrderId(); + String businessKey = developOrderId.toString(); // 实体类 ID,作为流程的业务 key + String key = "developModifyOrder"; + Map variables = new HashMap<>(); + // 构造authority传参 + buildAuthority(user, variables); + erpDevelopModifyorder.setApplyTitle(applyTitle); + // 启动流程 + ProcessInstance processInstance = processService.submitApply(user.getLoginName(), businessKey, applyTitle, erpDevelopModifyorder.getDevelopOrderCode(), key, variables); + String processInstanceId = processInstance.getId(); + erpDevelopModifyorder.setInstanceId(processInstanceId); // 建立双向关系 + erpDevelopModifyorder.setInstanceType(instanceType); + return processInstance; + } + + /** + * 发起人节点判断 + * */ + private void buildAuthority(SysUser user, Map variables) { + Set roleKeys = roleService.selectRoleKeys(user.getUserId()); + // 角色不同审核人不同 + if(roleKeys.contains("gcwyRole")){ + variables.put("authority",1); + }else if(roleKeys.contains("gcjlRole")){ + variables.put("authority",2); + }else if(roleKeys.contains("gczgRole")){ + variables.put("authority",3); + } + } } diff --git a/ruoyi-admin/src/main/resources/mapper/erp/ErpDevelopModifyorderDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/erp/ErpDevelopModifyorderDetailMapper.xml index 68da0a52..9cfdfc8a 100644 --- a/ruoyi-admin/src/main/resources/mapper/erp/ErpDevelopModifyorderDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/erp/ErpDevelopModifyorderDetailMapper.xml @@ -6,7 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -27,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select develop_order_detail_id, develop_oder_code, make_no, material_no, material_name, material_type, material_photo_url, material_unit, material_brand, material_describe, material_process_method, bom_id, material_num, update_finish_time, create_by, create_time, update_by, update_time, remark from erp_develop_modifyorder_detail + select develop_order_detail_id, develop_order_code, make_no, material_no, material_name, material_type, material_photo_url, material_unit, material_brand, material_describe, material_process_method, bom_id, material_num, update_finish_time, create_by, create_time, update_by, update_time, remark from erp_develop_modifyorder_detail - + + + insert into erp_develop_modifyorder_detail - develop_oder_code, + develop_order_code, make_no, material_no, material_name, @@ -64,7 +69,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" remark, - #{developOderCode}, + #{developOrderCode}, #{makeNo}, #{materialNo}, #{materialName}, @@ -88,7 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update erp_develop_modifyorder_detail - develop_oder_code = #{developOderCode}, + develop_order_code = #{developOrderCode}, make_no = #{makeNo}, material_no = #{materialNo}, material_name = #{materialName}, diff --git a/ruoyi-admin/src/main/resources/mapper/erp/ErpDevelopModifyorderMapper.xml b/ruoyi-admin/src/main/resources/mapper/erp/ErpDevelopModifyorderMapper.xml index d6e23ce4..e56a3458 100644 --- a/ruoyi-admin/src/main/resources/mapper/erp/ErpDevelopModifyorderMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/erp/ErpDevelopModifyorderMapper.xml @@ -6,7 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -44,16 +44,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select develop_order_id, develop_oder_code, make_no, material_no, purchase_storage_status, quality_status, audit_status, complete_status, finsh_status, use_status, material_name, material_type, material_photo_url, material_unit, material_brand, material_describe, material_process_method, user_id, update_finish_time, before_update_remark, after_update_remark, create_by, create_time, user_name, update_by, update_time, remark, instance_id, instance_type, submit_instance_id, apply_title, apply_time, apply_user, cancel_instance_id, restore_instance_id from erp_develop_modifyorder + select develop_order_id, develop_order_code, make_no, material_no, purchase_storage_status, quality_status, audit_status, complete_status, finsh_status, use_status, material_name, material_type, material_photo_url, material_unit, material_brand, material_describe, material_process_method, user_id, update_finish_time, before_update_remark, after_update_remark, create_by, create_time, user_name, update_by, update_time, remark, instance_id, instance_type, submit_instance_id, apply_title, apply_time, apply_user, cancel_instance_id, restore_instance_id from erp_develop_modifyorder - + + + insert into erp_develop_modifyorder - develop_oder_code, + develop_order_code, make_no, material_no, purchase_storage_status, @@ -107,7 +112,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" restore_instance_id, - #{developOderCode}, + #{developOrderCode}, #{makeNo}, #{materialNo}, #{purchaseStorageStatus}, @@ -147,7 +152,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update erp_develop_modifyorder - develop_oder_code = #{developOderCode}, + develop_order_code = #{developOrderCode}, make_no = #{makeNo}, material_no = #{materialNo}, purchase_storage_status = #{purchaseStorageStatus}, diff --git a/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/edit.html b/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/edit.html index 17f4c9b7..dcd89273 100644 --- a/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/edit.html +++ b/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/edit.html @@ -1,520 +1,698 @@ - + -
-
- -
- -
- -
+
+ + + +
+ +
+
-
-
- -
- -
-
-
- -
- - -
+
+
+ +
+
+ +
- -
-
-
- 选择开发修改单物料 - - 添加修改物料 - -
+
+ + + +
+
+
+ 选择开发修改单物料 + + 添加修改物料 +
-
-
-
-
+
+
+
+
-
-
-
- 选择采购物料 - - 添加修改物料 - -
+
+ +
+
-
-
-
-
+
+
+ +
+
-
-
-
- 选择通知人 - - 添加通知人 - -
+
+
+
+
+ 选择采购物料 + + 添加修改物料 +
-
-
-
-
+
+
+
+
- - - - - + }) + layer.close(index); + } + + // 逻辑删除前端的一行数据 + function removePurchase(materialNo){ + $("#bootstrap-table-purchase").bootstrapTable('remove', { + field: 'materialNo', + values: materialNo + }) + } + + \ No newline at end of file