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 d6603b20..9b406d36 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 @@ -7,6 +7,7 @@ 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.ErpDevelopModifyorderRemindVo; import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderVo; import com.ruoyi.erp.service.IErpMaterialService; import com.ruoyi.process.general.service.IProcessService; @@ -42,14 +43,13 @@ import javax.servlet.http.HttpSession; /** * 开发修改单Controller - * + * * @author 刘晓旭 * @date 2024-04-18 */ @Controller @RequestMapping("/erp/developModifyOrder") -public class ErpDevelopModifyorderController extends BaseController -{ +public class ErpDevelopModifyorderController extends BaseController { private String prefix = "erp/developModifyOrder"; @Autowired @@ -82,8 +82,7 @@ public class ErpDevelopModifyorderController extends BaseController @RequiresPermissions("erp:developModifyOrder:view") @GetMapping() - public String developModifyOrder() - { + public String developModifyOrder() { return prefix + "/developModifyOrder"; } @@ -93,8 +92,7 @@ public class ErpDevelopModifyorderController extends BaseController @RequiresPermissions("erp:developModifyOrder:list") @PostMapping("/list") @ResponseBody - public TableDataInfo list(ErpDevelopModifyorderVo erpDevelopModifyorderVo) - { + public TableDataInfo list(ErpDevelopModifyorderVo erpDevelopModifyorderVo) { startPage(); List list = erpDevelopModifyorderService.selectErpDevelopModifyorderList(erpDevelopModifyorderVo); return getDataTable(list); @@ -103,10 +101,10 @@ public class ErpDevelopModifyorderController extends BaseController /** * 查找所有的工程员 - * */ - @GetMapping ("/getEngineerList") + */ + @GetMapping("/getEngineerList") @ResponseBody - public TableDataInfo getEngineerList(){ + public TableDataInfo getEngineerList() { startPage(); List list = sysUserService.selectRoleToUserList("gcwyRole,gcjlRole,gczgRole,yfzjRole,"); return getDataTable(list); @@ -119,15 +117,13 @@ public class ErpDevelopModifyorderController extends BaseController @Log(title = "开发修改单", businessType = BusinessType.EXPORT) @PostMapping("/exportAll") @ResponseBody - public AjaxResult exportAll(ErpDevelopModifyorderVo erpDevelopModifyorderVo) - { + public AjaxResult exportAll(ErpDevelopModifyorderVo erpDevelopModifyorderVo) { List list = erpDevelopModifyorderService.selectErpDevelopModifyorderList(erpDevelopModifyorderVo); ExcelUtil util = new ExcelUtil(ErpDevelopModifyorderVo.class); return util.exportExcel(list, "开发修改单数据"); } - /** * 导出选择的开发修改单列表 */ @@ -135,8 +131,7 @@ public class ErpDevelopModifyorderController extends BaseController @Log(title = "开发修改单", businessType = BusinessType.EXPORT) @PostMapping("/export") @ResponseBody - public AjaxResult export(@RequestBody String[] developOrderCodes) - { + public AjaxResult export(@RequestBody String[] developOrderCodes) { List list = erpDevelopModifyorderService.selectErpDevelopModifyorderListByCodes(developOrderCodes); ExcelUtil util = new ExcelUtil(ErpDevelopModifyorderVo.class); return util.exportExcel(list, "开发修改单数据"); @@ -147,8 +142,7 @@ public class ErpDevelopModifyorderController extends BaseController * 新增开发修改单 */ @GetMapping("/add") - public String add() - { + public String add() { return prefix + "/add"; } @@ -159,8 +153,7 @@ public class ErpDevelopModifyorderController extends BaseController @Log(title = "开发修改单", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody - public AjaxResult addSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) - { + public AjaxResult addSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) { erpDevelopModifyorderService.submitApply(erpDevelopModifyorder); return AjaxResult.success(); @@ -171,9 +164,8 @@ public class ErpDevelopModifyorderController extends BaseController * 加载开发修改物料信息选择弹窗 */ @GetMapping("/developModifyMaterialSelect") - public String materialSelect(@RequestParam String makeNo, ModelMap modelMap) - { - modelMap.put("makeNo",makeNo); + public String materialSelect(@RequestParam String makeNo, ModelMap modelMap) { + modelMap.put("makeNo", makeNo); return prefix + "/developModifyOrderMaterialSelect"; } @@ -182,8 +174,7 @@ public class ErpDevelopModifyorderController extends BaseController */ @PostMapping("/getMaterialListByMakeNo") @ResponseBody - public TableDataInfo getMaterialListByMakeNo(@RequestParam("makeNo") String makeNo) - { + public TableDataInfo getMaterialListByMakeNo(@RequestParam("makeNo") String makeNo) { startPage(); SysMakeOrder sysMakeOrder = sysMakeOrderMapper.selectSaleNoByMakeNo(makeNo); List list = sysSalesOrderChildService.selectSysSalesOrderChildByQuoteId(sysMakeOrder.getSaleNo()); @@ -195,8 +186,7 @@ public class ErpDevelopModifyorderController extends BaseController * 加载采购修改物料信息选择弹窗 */ @GetMapping("/purchaseMaterialSelect") - public String purchaseMaterialSelect() - { + public String purchaseMaterialSelect() { return prefix + "/purchaseOrderMaterialSelect"; } @@ -206,17 +196,16 @@ public class ErpDevelopModifyorderController extends BaseController */ @PostMapping("/getPurchaseMaterialList") @ResponseBody - public TableDataInfo getPurchaseMaterialList(ErpMaterial erpMaterial) - { + public TableDataInfo getPurchaseMaterialList(ErpMaterial erpMaterial) { startPage(); List erpMaterialVos = erpMaterialService.selectAllErpMaterialListWithBom(erpMaterial); return getDataTable(erpMaterialVos); } - /** * 加载审批弹窗 + * * @param taskId * @param mmap * @return @@ -248,8 +237,6 @@ public class ErpDevelopModifyorderController extends BaseController } - - /** * 完成任务 * @@ -265,7 +252,7 @@ public class ErpDevelopModifyorderController extends BaseController //获取实例类型 String instanceType = erpDevelopModifyorderVo.getInstanceType(); boolean approvedFlag = processService.complete(taskId, instanceId, erpDevelopModifyorderVo.getApplyTitle(), erpDevelopModifyorderVo.getDevelopOrderCode(), "developModifyOrder", new HashMap(), request); - if(!approvedFlag){ + if (!approvedFlag) { // 审核状态-审核拒绝 erpDevelopModifyorderVo.setAuditStatus("2"); } @@ -286,17 +273,17 @@ public class ErpDevelopModifyorderController extends BaseController // aftersalesOrderService.generateAftersalesOrderBySalesAftersalesNotice(tempSalesAftersalesNoticeVO); // 提交 - if("submit".equals(instanceType)){ + 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"); } @@ -310,14 +297,11 @@ public class ErpDevelopModifyorderController extends BaseController } - - /** * 修改开发修改单 */ @GetMapping("/edit/{developOrderId}") - public String edit(@PathVariable("developOrderId") Long developOrderId, ModelMap mmap) - { + public String edit(@PathVariable("developOrderId") Long developOrderId, ModelMap mmap) { ErpDevelopModifyorder erpDevelopModifyorder = erpDevelopModifyorderService.selectErpDevelopModifyorderById(developOrderId); mmap.put("beforeUpdateRemark", erpDevelopModifyorder.getBeforeUpdateRemark()); mmap.put("afterUpdateRemark", erpDevelopModifyorder.getAfterUpdateRemark()); @@ -332,8 +316,7 @@ public class ErpDevelopModifyorderController extends BaseController @Log(title = "开发修改单", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody - public AjaxResult editSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) - { + public AjaxResult editSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) { return toAjax(erpDevelopModifyorderService.updateErpDevelopModifyorder(erpDevelopModifyorder)); } @@ -342,8 +325,7 @@ public class ErpDevelopModifyorderController extends BaseController */ @PostMapping("/getDevelopModifyMaterialById") @ResponseBody - public TableDataInfo getDevelopModifyMaterialById(@RequestParam("developOrderId") Long developOrderId) - { + public TableDataInfo getDevelopModifyMaterialById(@RequestParam("developOrderId") Long developOrderId) { startPage(); List erpDevelopModifyorderList = erpDevelopModifyorderService.selectDevelopModifyMaterialById(developOrderId); return getDataTable(erpDevelopModifyorderList); @@ -354,60 +336,54 @@ public class ErpDevelopModifyorderController extends BaseController */ @PostMapping("/getDevelopModifyDetailMaterialByCode") @ResponseBody - public TableDataInfo getDevelopModifyDetailMaterialByCode(@RequestParam("developOrderCode") String developOrderCode) - { + public TableDataInfo getDevelopModifyDetailMaterialByCode(@RequestParam("developOrderCode") String developOrderCode) { startPage(); List erpDevelopModifyorderDetailList = erpDevelopModifyorderService.selectDevelopModifyDetailMaterialByCode(developOrderCode); return getDataTable(erpDevelopModifyorderDetailList); } - /** - * 查看开发修改单详情 - * */ + * 查看开发修改单详情 + */ @Log(title = "开发修改单", businessType = BusinessType.OTHER) @GetMapping("/detail/{developOrderId}") - public String detail(@PathVariable("developOrderId") Long developOrderId, ModelMap mmap){ + public String detail(@PathVariable("developOrderId") Long developOrderId, ModelMap mmap) { ErpDevelopModifyorder erpDevelopModifyorder = erpDevelopModifyorderService.selectErpDevelopModifyorderById(developOrderId); - mmap.put("erpDevelopModifyorder",erpDevelopModifyorder); + mmap.put("erpDevelopModifyorder", erpDevelopModifyorder); mmap.put("beforeUpdateRemark", erpDevelopModifyorder.getBeforeUpdateRemark()); mmap.put("afterUpdateRemark", erpDevelopModifyorder.getAfterUpdateRemark()); - return prefix+ "/detail"; + return prefix + "/detail"; } - /** * 修改保存开发修改单详情 */ @Log(title = "开发修改单", businessType = BusinessType.UPDATE) @PostMapping("/detail") @ResponseBody - public AjaxResult detailSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) - { + public AjaxResult detailSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) { return toAjax(erpDevelopModifyorderService.detailErpDevelopModifyorder(erpDevelopModifyorder)); } - - /**相关人员确认*/ + /** + * 相关人员确认 + */ @GetMapping("/confirm/{developOrderId}") - public String confrimDetail(@PathVariable("developOrderId") Long developOrderId, ModelMap mmap) - { + public String confrimDetail(@PathVariable("developOrderId") Long developOrderId, ModelMap mmap) { ErpDevelopModifyorder erpDevelopModifyorder = erpDevelopModifyorderService.selectErpDevelopModifyorderById(developOrderId); mmap.put("erpDevelopModifyorder", erpDevelopModifyorder); return prefix + "/confirm"; } - /** * 加载添加领料弹窗 - * */ + */ @GetMapping("/pickAdd/{developOrderId}") - public String pickAdd(@PathVariable("developOrderId") Long developOrderId, ModelMap mmap) - { + public String pickAdd(@PathVariable("developOrderId") Long developOrderId, ModelMap mmap) { ErpDevelopModifyorder erpDevelopModifyorder = erpDevelopModifyorderService.selectErpDevelopModifyorderById(developOrderId); mmap.put("erpDevelopModifyorder", erpDevelopModifyorder); return prefix + "/pickAdd"; @@ -416,27 +392,24 @@ public class ErpDevelopModifyorderController extends BaseController /** * 添加领料页面开发修改单物料详情 - * */ + */ @PostMapping("/showPickingDevelopModifyorderDetailList") @ResponseBody - public TableDataInfo showPickingDevelopModifyorderDetailList(@RequestParam("developOrderCode") String developOrderCode) - { + public TableDataInfo showPickingDevelopModifyorderDetailList(@RequestParam("developOrderCode") String developOrderCode) { startPage(); List erpDevelopModifyorderDetailList = erpDevelopModifyorderService.selectDevelopModifyDetailMaterialByCode(developOrderCode); return getDataTable(erpDevelopModifyorderDetailList); } - /** * 删除开发修改单 */ @RequiresPermissions("erp:developModifyOrder:remove") @Log(title = "开发修改单", businessType = BusinessType.DELETE) - @PostMapping( "/remove") + @PostMapping("/remove") @ResponseBody - public AjaxResult remove(String ids) - { + public AjaxResult remove(String ids) { return toAjax(erpDevelopModifyorderService.deleteErpDevelopModifyorderByIds(ids)); } @@ -445,9 +418,9 @@ public class ErpDevelopModifyorderController extends BaseController */ @RequiresPermissions("erp:developModifyOrder:cancel") @Log(title = "开发修改单", businessType = BusinessType.CANCEL) - @GetMapping( "/cancel/{id}") + @GetMapping("/cancel/{id}") @ResponseBody - public AjaxResult cancel(@PathVariable("id") Long id){ + public AjaxResult cancel(@PathVariable("id") Long id) { return toAjax(erpDevelopModifyorderService.cancelErpDevelopModifyorderById(id)); } @@ -456,15 +429,23 @@ public class ErpDevelopModifyorderController extends BaseController */ @RequiresPermissions("erp:developModifyOrder:restore") @Log(title = "开发修改单", businessType = BusinessType.RESTORE) - @GetMapping( "/restore/{id}") + @GetMapping("/restore/{id}") @ResponseBody - public AjaxResult restore(@PathVariable("id")Long id) - { + public AjaxResult restore(@PathVariable("id") Long id) { return toAjax(erpDevelopModifyorderService.restoreErpDevelopModifyorderById(id)); } - + /** + * 开发修改单查询通知人和确认时间 + * */ + @PostMapping("/getErpDevelopRemindPeopleList") + @ResponseBody + public TableDataInfo getErpDevelopRemindPeopleList(@RequestParam("developOrderCode") String developOrderCode) { + startPage(); + List erpDevelopModifyorderDetailList = erpDevelopModifyorderService.getErpDevelopRemindPeopleList(developOrderCode); + return getDataTable(erpDevelopModifyorderDetailList); + } } 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 7830d125..60da6be2 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 @@ -2,6 +2,7 @@ package com.ruoyi.erp.domain; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderMaterialVo; +import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderRemindVo; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -149,6 +150,9 @@ public class ErpDevelopModifyorder extends BaseEntity /** 开发修改单领料详情*/ private List developModifyorderPickingDetails; + /** 通知人*/ + private List modifyorderRemindVos; + public String getMakeNo() { return makeNo; } @@ -450,6 +454,14 @@ public class ErpDevelopModifyorder extends BaseEntity this.developModifyorderPickingDetails = developModifyorderPickingDetails; } + public List getModifyorderRemindVos() { + return modifyorderRemindVos; + } + + public void setModifyorderRemindVos(List modifyorderRemindVos) { + this.modifyorderRemindVos = modifyorderRemindVos; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -493,6 +505,7 @@ public class ErpDevelopModifyorder extends BaseEntity .append("developModifyorderDetailList",getDevelopModifyorderDetailList()) .append("developModifyorderMaterialVoList",getDevelopModifyorderMaterialVoList()) .append("developModifyorderPickingDetails",getDevelopModifyorderPickingDetails()) + .append("modifyorderRemindVos",getModifyorderRemindVos()) .toString(); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/vo/ErpDevelopModifyorderRemindVo.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/vo/ErpDevelopModifyorderRemindVo.java new file mode 100644 index 00000000..d7883ed0 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/domain/vo/ErpDevelopModifyorderRemindVo.java @@ -0,0 +1,16 @@ +package com.ruoyi.erp.domain.vo; + +import lombok.Data; + +import java.util.Date; + +/** +* 开发修改单通知人实体类 +* */ +@Data +public class ErpDevelopModifyorderRemindVo { + + private String receiverUser; + + private Date handleTime; +} 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 3148c093..5349ab3d 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 @@ -3,6 +3,7 @@ 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.ErpDevelopModifyorderRemindVo; import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderVo; import com.ruoyi.system.domain.SysSalesOrder; import org.activiti.engine.runtime.ProcessInstance; @@ -104,4 +105,9 @@ public interface IErpDevelopModifyorderService * 根据开发修改单号数组查询开发修改单列表集合 * */ List selectErpDevelopModifyorderListByCodes(String[] developOrderCodes); + + /** + * 根据开发修改单号查询提醒人员列表 + * */ + List getErpDevelopRemindPeopleList(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 eeb6f452..8041e927 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 @@ -12,6 +12,7 @@ import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.erp.domain.ErpDevelopModifyorderDetail; import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderMaterialVo; +import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderRemindVo; import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderVo; import com.ruoyi.erp.mapper.ErpDevelopModifyorderDetailMapper; import com.ruoyi.process.general.service.IProcessService; @@ -19,10 +20,12 @@ import com.ruoyi.process.todoitem.mapper.BizTodoItemMapper; import com.ruoyi.sales.domain.SalesAftersalesNotice; import com.ruoyi.sales.domain.VO.SalesAftersalesNoticeVO; import com.ruoyi.system.domain.SysMakeOrder; +import com.ruoyi.system.domain.SysRemind; import com.ruoyi.system.domain.SysSalesOrderVo; import com.ruoyi.system.mapper.SysMakeOrderMapper; import com.ruoyi.system.mapper.SysSalesOrderMapper; import com.ruoyi.system.mapper.SysUserMapper; +import com.ruoyi.system.service.ISysRemindService; import com.ruoyi.system.service.ISysRoleService; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.TaskService; @@ -79,6 +82,9 @@ public class ErpDevelopModifyorderServiceImpl implements IErpDevelopModifyorderS @Autowired private BizTodoItemMapper todoItemMapper; + @Autowired + private ISysRemindService remindService; + /** * 查询开发修改单 * @@ -100,6 +106,23 @@ public class ErpDevelopModifyorderServiceImpl implements IErpDevelopModifyorderS return erpDevelopModifyorderMapper.selectErpDevelopModifyorderListByCodes(developOrderCodes); } + /** + * 根据开发修改单号查询开发修改单详情列表 + * */ + @Override + public List getErpDevelopRemindPeopleList(String developOrderCode) { + List remindList = remindService.selectSysRemindListByBusinessKey(developOrderCode); + + List erpDevelopModifyorderRemindVos = new ArrayList<>(); + for (SysRemind sysRemind : remindList) { + ErpDevelopModifyorderRemindVo modifyorderRemindVo = new ErpDevelopModifyorderRemindVo(); + modifyorderRemindVo.setReceiverUser(sysRemind.getReceiverUser()); + modifyorderRemindVo.setHandleTime(sysRemind.getHandleTime()); + erpDevelopModifyorderRemindVos.add(modifyorderRemindVo); + } + return erpDevelopModifyorderRemindVos; + } + /** * 查询开发修改单列表 * @@ -216,7 +239,7 @@ public class ErpDevelopModifyorderServiceImpl implements IErpDevelopModifyorderS developModifyorderDetailMapper.insertErpDevelopModifyorderDetail(erpDevelopModifyorderDetail); } - + remindService.erpDevelopModifyorderRemind(erpDevelopModifyorder); return erpDevelopModifyorderMapper.insertErpDevelopModifyorder(erpDevelopModifyorder); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysRemindController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysRemindController.java index a5ab174d..d46bbbfd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysRemindController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysRemindController.java @@ -5,8 +5,10 @@ import java.util.List; import java.util.Map; import com.ruoyi.common.constant.BusinessKeysConstants; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.process.todoitem.domain.BizTodoItem; +import com.ruoyi.system.service.ISysUserService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -42,9 +44,13 @@ public class SysRemindController extends BaseController @Autowired private ISysRemindService sysRemindService; + @Autowired + private ISysUserService sysUserService; + @GetMapping() - public String remind() + public String remind(Map mmap) { + mmap.put("currentUser", ShiroUtils.getSysUser()); return prefix + "/remind"; } @@ -240,4 +246,16 @@ public class SysRemindController extends BaseController } + /** + * 查询所有接收人 + * */ + @PostMapping("/getAllReceiverUser") + @ResponseBody + public TableDataInfo getAllReceiverUser() { + startPage(); + List sysUsers = sysUserService.selectUserAll(); + return getDataTable(sysUsers); + } + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysRemind.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysRemind.java index 33a0e54b..9d1c8c8f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysRemind.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysRemind.java @@ -55,7 +55,7 @@ public class SysRemind extends BaseEntity /** 提醒时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "提醒时间", width = 30, dateFormat = "yyyy-MM-dd") private Date remindTime; @@ -68,6 +68,10 @@ public class SysRemind extends BaseEntity @Excel(name = "提醒内容") private String remindContent; + /** 与各个业务模块关联的唯一索引*/ + private String businessKey; + + /** 模块名称 存储的数据来自BusinessKeysConstants常量类 */ private String module; @@ -198,7 +202,16 @@ public class SysRemind extends BaseEntity { return remindContent; } - public void setModule(String module) + + public String getBusinessKey() { + return businessKey; + } + + public void setBusinessKey(String businessKey) { + this.businessKey = businessKey; + } + + public void setModule(String module) { this.module = module; } @@ -251,6 +264,7 @@ public class SysRemind extends BaseEntity .append("remindTime", getRemindTime()) .append("handleTime", getHandleTime()) .append("remindContent", getRemindContent()) + .append("businessKey", getBusinessKey()) .append("module", getModule()) .append("moduleUrl", getModuleUrl()) .append("isView", getIsView()) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysRemindMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysRemindMapper.java index 2cbe0fdb..38c134ab 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysRemindMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysRemindMapper.java @@ -78,4 +78,9 @@ public interface SysRemindMapper public int restoreSysRemindById(Long remindId); List selectUnHandleSysRemindList(Map paraMap); + + /** + * 根据业务主键查询系统提醒列表 + * */ + List selectSysRemindListByBusinessKey(String businessKey); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysRemindService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysRemindService.java index 64c1435a..9f1d2f99 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysRemindService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysRemindService.java @@ -3,6 +3,7 @@ package com.ruoyi.system.service; import java.util.List; import java.util.Map; +import com.ruoyi.erp.domain.ErpDevelopModifyorder; import com.ruoyi.system.domain.SysRemind; import com.ruoyi.warehouse.domain.WarehouseInventoryInquiry; @@ -97,5 +98,13 @@ public interface ISysRemindService { * */ int warehouseSafetyStockRemind(WarehouseInventoryInquiry warehouseInventoryInquiry); + /** + * 开发修改单通知人提醒 + * */ + int erpDevelopModifyorderRemind(ErpDevelopModifyorder erpDevelopModifyorder); + /** + * 根据业务主键查询提醒列表 + * */ + List selectSysRemindListByBusinessKey(String businessKey); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysRemindServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysRemindServiceImpl.java index 01594b21..df5ccd3b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysRemindServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysRemindServiceImpl.java @@ -10,6 +10,9 @@ import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.exception.BusinessException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; +import com.ruoyi.erp.domain.ErpDevelopModifyorder; +import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderRemindVo; +import com.ruoyi.erp.service.IErpDevelopModifyorderService; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.warehouse.domain.WarehouseInventoryInquiry; @@ -22,13 +25,12 @@ import com.ruoyi.common.core.text.Convert; /** * 系统提醒Service业务层处理 - * + * * @author 刘晓旭 * @date 2024-12-20 */ @Service -public class SysRemindServiceImpl implements ISysRemindService -{ +public class SysRemindServiceImpl implements ISysRemindService { @Autowired private SysRemindMapper sysRemindMapper; @@ -38,27 +40,28 @@ public class SysRemindServiceImpl implements ISysRemindService @Autowired private ISysDeptService sysDeptService; + @Autowired + private IErpDevelopModifyorderService developModifyorderService; + /** * 查询系统提醒 - * + * * @param remindId 系统提醒ID * @return 系统提醒 */ @Override - public SysRemind selectSysRemindById(Long remindId) - { + public SysRemind selectSysRemindById(Long remindId) { return sysRemindMapper.selectSysRemindById(remindId); } /** * 查询系统提醒列表 - * + * * @param sysRemind 系统提醒 * @return 系统提醒 */ @Override - public List selectSysRemindList(SysRemind sysRemind) - { + public List selectSysRemindList(SysRemind sysRemind) { return sysRemindMapper.selectSysRemindList(sysRemind); } @@ -74,15 +77,26 @@ public class SysRemindServiceImpl implements ISysRemindService return list; } + /** + * 根据业务主键查询系统提醒列表 + * + * @param businessKey 系统提醒 + * @return 系统提醒 + */ + @Override + public List selectSysRemindListByBusinessKey(String businessKey) { + List list = sysRemindMapper.selectSysRemindListByBusinessKey(businessKey); + return list; + } + /** * 新增系统提醒 - * + * * @param sysRemind 系统提醒 * @return 结果 */ @Override - public int insertSysRemind(SysRemind sysRemind) - { + public int insertSysRemind(SysRemind sysRemind) { String loginName = ShiroUtils.getLoginName(); sysRemind.setCreateBy(loginName); sysRemind.setCreateTime(DateUtils.getNowDate()); @@ -91,13 +105,12 @@ public class SysRemindServiceImpl implements ISysRemindService /** * 修改系统提醒 - * + * * @param sysRemind 系统提醒 * @return 结果 */ @Override - public int updateSysRemind(SysRemind sysRemind) - { + public int updateSysRemind(SysRemind sysRemind) { String loginName = ShiroUtils.getLoginName(); sysRemind.setUpdateBy(loginName); sysRemind.setUpdateTime(DateUtils.getNowDate()); @@ -106,8 +119,8 @@ public class SysRemindServiceImpl implements ISysRemindService /** - * 手动处理系统提醒 - * */ + * 手动处理系统提醒 + */ @Override public int updateManualHandleSysRemind(SysRemind sysRemind) { @@ -118,14 +131,14 @@ public class SysRemindServiceImpl implements ISysRemindService sysRemind.setHandleUser(loginName); sysRemind.setUpdateBy(loginName); sysRemind.setUpdateTime(DateUtils.getNowDate()); + return sysRemindMapper.updateSysRemind(sysRemind); } - /** - * 通用保存系统详情 - * */ + * 通用保存系统详情 + */ @Override public int detailSysRemind(SysRemind sysRemind) { return 1; @@ -133,25 +146,23 @@ public class SysRemindServiceImpl implements ISysRemindService /** * 删除系统提醒对象 - * + * * @param ids 需要删除的数据ID * @return 结果 */ @Override - public int deleteSysRemindByIds(String ids) - { + public int deleteSysRemindByIds(String ids) { return sysRemindMapper.deleteSysRemindByIds(Convert.toStrArray(ids)); } /** * 删除系统提醒信息 - * + * * @param remindId 系统提醒ID * @return 结果 */ @Override - public int deleteSysRemindById(Long remindId) - { + public int deleteSysRemindById(Long remindId) { return sysRemindMapper.deleteSysRemindById(remindId); } @@ -162,8 +173,7 @@ public class SysRemindServiceImpl implements ISysRemindService * @return 结果 */ @Override - public int cancelSysRemindById(Long remindId) - { + public int cancelSysRemindById(Long remindId) { return sysRemindMapper.cancelSysRemindById(remindId); } @@ -174,16 +184,14 @@ public class SysRemindServiceImpl implements ISysRemindService * @return 结果 */ @Override - public int restoreSysRemindById(Long remindId) - { + public int restoreSysRemindById(Long remindId) { return sysRemindMapper.restoreSysRemindById(remindId); } - /** - * 仓库安全库存提醒 - * */ + * 仓库安全库存提醒 + */ @Override public int warehouseSafetyStockRemind(WarehouseInventoryInquiry warehouseInventoryInquiry) { int insertSysRemind = 0; @@ -201,6 +209,7 @@ public class SysRemindServiceImpl implements ISysRemindService for (SysUser sysUser : sysUsers) { // 提醒 SysRemind sysRemind = new SysRemind(); + sysRemind.setBusinessKey(materialNo); sysRemind.setReceiverUserId(sysUser.getUserId()); sysRemind.setReceiverUser(sysUser.getLoginName()); sysRemind.setReceiverDeptId(deptId); @@ -222,4 +231,36 @@ public class SysRemindServiceImpl implements ISysRemindService return insertSysRemind; } + + /** + * 开发修改单通知人提醒 + */ + @Override + public int erpDevelopModifyorderRemind(ErpDevelopModifyorder erpDevelopModifyorder) { + String loginName = ShiroUtils.getLoginName(); + int insertSysRemind = 0; + List modifyorderRemindVos = erpDevelopModifyorder.getModifyorderRemindVos(); + String developOrderCode = erpDevelopModifyorder.getDevelopOrderCode(); + for (ErpDevelopModifyorderRemindVo modifyorderRemindVo : modifyorderRemindVos) { + // 提醒 + SysRemind sysRemind = new SysRemind(); + sysRemind.setBusinessKey(developOrderCode); + sysRemind.setReceiverUser(modifyorderRemindVo.getReceiverUser()); + sysRemind.setRemindUser(loginName); + sysRemind.setRemindContent("开发修改单编号:" + developOrderCode + ",进行修改物料,请及时处理!"); + sysRemind.setRemindTime(new Date()); + sysRemind.setModule(BusinessKeysConstants.ERP_DEVELOPMENT_MODIFY); + sysRemind.setModuleUrl("erp/developModifyOrder"); + sysRemind.setIsView("0"); + sysRemind.setIsHandle("0"); + sysRemind.setCreateBy(ShiroUtils.getLoginName()); + sysRemind.setCreateTime(DateUtils.getNowDate()); + insertSysRemind += sysRemindMapper.insertSysRemind(sysRemind); + if (insertSysRemind <= 0) { + throw new BusinessException("插入系统提醒失败,未影响任何行"); + } + } + + return insertSysRemind; + } } diff --git a/ruoyi-admin/src/main/resources/mapper/system/SysRemindMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/SysRemindMapper.xml index 939e5d2d..08468cc1 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/SysRemindMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/SysRemindMapper.xml @@ -18,6 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -30,7 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select remind_id, remind_user_id, remind_user, remind_dept_id, receiver_user_id, receiver_user, receiver_dept_id, handle_user_id, handle_user, handle_dept_id,remind_time, handle_time, remind_content, module, module_url, is_view, is_handle, create_by, create_time, update_by, update_time, remark from sys_remind + select remind_id, remind_user_id, remind_user, remind_dept_id, receiver_user_id, receiver_user, receiver_dept_id, handle_user_id, handle_user, handle_dept_id,remind_time, handle_time, remind_content, business_key, module, module_url, is_view, is_handle, create_by, create_time, update_by, update_time, remark from sys_remind where receiver_user = #{receiverUser} and is_handle = #{isHandle} + order by create_time desc + + + @@ -67,6 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" remind_time, handle_time, remind_content, + business_key, module, module_url, is_view, @@ -90,6 +99,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{remindTime}, #{handleTime}, #{remindContent}, + #{businessKey}, #{module}, #{moduleUrl}, #{isView}, @@ -117,6 +127,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" remind_time = #{remindTime}, handle_time = #{handleTime}, remind_content = #{remindContent}, + business_key = #{businessKey}, module = #{module}, module_url = #{moduleUrl}, is_view = #{isView}, diff --git a/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/add.html b/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/add.html index 946142f7..62512f0a 100644 --- a/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/add.html +++ b/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/add.html @@ -73,21 +73,21 @@ - - - - - - - - - - - - - - - +
+
+
+ 选择通知人 + + 添加通知人 + +
+
+
+
+
+
+
+
@@ -100,7 +100,7 @@ var levelDatas = [[${@dict.getType('bomLevel')}]]; var bomLevelSelectDatas = [[${@dict.getTypeSelect('bomLevel')}]]; - + var receiverUserList = []; var processMethodDatas = [[${@dict.getType('processMethod')}]]; var loginName = [[${@permission.getPrincipalProperty('loginName')}]]; var userName = [[${@permission.getPrincipalProperty('userName')}]]; @@ -133,6 +133,9 @@ // 采购修改物料 var purchaseTable = $('#bootstrap-table-purchase').bootstrapTable('getData'); + //通知人 + var remindPeopleTable = $('#bootstrap-table-remindPeople').bootstrapTable('getData'); + // 将表数据转换成与developModifyOrderData格式一致的数组 var developModifyMaterialDataList = developModifyTable.map(function(item) { // 根据实际字段名调整 @@ -169,9 +172,22 @@ }; }); + // 将表数据转换成与developModifyOrderData格式一致的数组 + var remindPeopleDataList = remindPeopleTable.map(function(item) { + // 根据实际字段名调整 + return { + "receiverUser": item.receiverUser, + "handleTime": item.handleTime, + // ...其他字段 + }; + }); + + + const combinedData = Object.assign({}, developModifyOrderData, { developModifyorderMaterialVoList: developModifyMaterialDataList, developModifyorderDetailList:purchaseMaterialDataList, + modifyorderRemindVos:remindPeopleDataList, beforeUpdateRemark:beforeUpdateRemark, afterUpdateRemark:afterUpdateRemark }); @@ -725,6 +741,113 @@ // } $("#userName_add").val(loginName); + + + // 点击选择添加通知人按钮 + function insertRemindPeople() { + var newRow = { + remindId: 'UC_' + new Date().getTime(), // 示例生成唯一ID + receiverUser: '', + handleTime: '', + }; + $("#bootstrap-table-remindPeople").bootstrapTable('append', newRow); + } + + //物料信息展示列表 + $(function() { + var options = { + id:'bootstrap-table-remindPeople', + showSearch: false, + showRefresh: false, + showToggle: false, + showColumns: false, + pagination: false, // 设置不分页 + modalName: "选择通知人", + columns: [{ + checkbox: true + }, + { + title: '提醒表Id', + field: 'remindId', + visible: false + }, + { + title: '通知人', + field: 'receiverUser', + align: 'center', + formatter: function(value, row, index) { + return receiverUserFormatter(value, row, index); + } + }, + { + title: '确认时间', + field: 'handleTime', + align: 'center', + }, + { + title: '操作', + align: 'center', + formatter: function(value, row, index) { + var actions = []; + actions.push('删除 '); + return actions.join(''); + } + } + ] + }; + $.table.init(options); + }) + + // 逻辑删除前端的一行数据 + function removeRemindPeople(remindId){ + $("#bootstrap-table-remindPeople").bootstrapTable('remove', { + field: 'remindId', + values: remindId + }) + } + + + // 获取所有接收人 + selectProcessCode(); + + // 重新初始化下拉框列表 + function receiverUserFormatter(value, row, index) { + var selectHtml = ''; + return selectHtml; + } + + // 列中获取接收人的下拉改变数据 + function onReceiverUserChange(selectElement, rowIndex) { + var receiverUserValue = $(selectElement).val(); + var tableData = $('#bootstrap-table-remindPeople').bootstrapTable('getData'); + var newRow = $.extend({}, tableData[rowIndex]); // 深拷贝当前行数据,防止直接修改原始数据 + // 更新行数据 + newRow.receiverUser = receiverUserValue; + $('#bootstrap-table-remindPeople').bootstrapTable('updateRow', {index: rowIndex, row: newRow}); + } + + function selectProcessCode(){ + $.ajax({ + url: ctx + 'system/remind/getAllReceiverUser', + type: "post", + dataType: "json", + success: function(res) { + if (res.rows.length > 0) { + receiverUserList = res.rows.map(function(result) { return result.loginName; }); + // 刷新表格以应用新的接收人列表 + $('#bootstrap-table-remindPeople').bootstrapTable('refresh'); + } else { + $.modal.error("数据为空"); + } + } + }); + } + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/detail.html b/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/detail.html index 76a7315c..ca74af7f 100644 --- a/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/detail.html +++ b/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/detail.html @@ -67,21 +67,18 @@ - - - - - - - - - - - - - - - +
+
+
+ 选择通知人 +
+
+
+
+
+
+
+
@@ -668,6 +665,49 @@ }) } + + //物料信息展示列表 + $(function() { + var options = { + id:'bootstrap-table-remindPeople', + url: prefix +'/getErpDevelopRemindPeopleList', + queryParams:remindPeopleParams, + showSearch: false, + showRefresh: false, + showToggle: false, + showColumns: false, + pagination: false, // 设置不分页 + modalName: "选择通知人", + columns: [{ + checkbox: true + }, + { + title: '提醒表Id', + field: 'remindId', + visible: false + }, + { + title: '通知人', + field: 'receiverUser', + align: 'center', + }, + { + title: '确认时间', + field: 'handleTime', + align: 'center', + }, + ] + }; + $.table.init(options); + }) + + function remindPeopleParams(params) { + var curParams = { + // 传递参数查询参数 + developOrderCode: $("#developOrderCode").val() + }; + return curParams; + } \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/developModifyOrder.html b/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/developModifyOrder.html index 38f8e92c..0896c3fa 100644 --- a/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/developModifyOrder.html +++ b/ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/developModifyOrder.html @@ -218,11 +218,11 @@ return $.table.selectDictLabel(finshStatusDatas, value); } }, - {title: '确认状态',field: 'completeStatus', - formatter: function (value, row, index) { - return $.table.selectDictLabel(completeStatusDatas, value); - } - }, + // {title: '确认状态',field: 'completeStatus', + // formatter: function (value, row, index) { + // return $.table.selectDictLabel(completeStatusDatas, value); + // } + // }, {title: '采购入库状态',field: 'purchaseStorageStatus', formatter: function (value, row, index) { return $.table.selectDictLabel(purchaseStorageStatusDatas, value); diff --git a/ruoyi-admin/src/main/resources/templates/index.html b/ruoyi-admin/src/main/resources/templates/index.html index 4c43278a..c9451405 100644 --- a/ruoyi-admin/src/main/resources/templates/index.html +++ b/ruoyi-admin/src/main/resources/templates/index.html @@ -196,8 +196,7 @@ @@ -429,7 +428,7 @@ let remindCount = data.length > 10 ? '10+' : data.length; $("#remindBadge").text(remindCount); $("#remindSize").text(remindCount + "项新"); - $("#remindBadge2").html("" + data.length + ""); + $("#remindBadge2").append("" + data.length + ""); } else { $("#remindBadge").text(''); $("#remindBadge2 span").remove(); diff --git a/ruoyi-admin/src/main/resources/templates/system/remind/remind.html b/ruoyi-admin/src/main/resources/templates/system/remind/remind.html index a6b98ab1..bad066ce 100644 --- a/ruoyi-admin/src/main/resources/templates/system/remind/remind.html +++ b/ruoyi-admin/src/main/resources/templates/system/remind/remind.html @@ -47,6 +47,8 @@