Browse Source

[feat] 工程管理 消息提醒

开发修改单添加页面新增选择通知人按钮和table,提交方法新增选择通知人,新增下拉获取通知人的方法个逻辑删除方法;
开发修改单详情页面新增选择通知人表格和查询数据的方法;
修改index.html的我的提醒按钮,加上提醒数据条数,修复时间不正确的问题;
修改消息提醒前端列表页面,去处理和手动处理新增条件判断,只有isHandle === '0'才会显示按钮;去处理和手动处理新增不允许非接受人处理该提醒!条件判断
开发修改单实体类新增ErpDevelopModifyorderRemindVo集合
新增开发修改单通知人实体类
消息提醒数据库表、实体类、mapper.xml层的所有方法新增与各个业务模块关联的唯一索引字段
开发修改单Controller新增开发修改单查询通知人和确认时间接口
开发修改单新增方法引入开发修改单通知人提醒方法
消息提醒Controller新增 查询所有接收人接口
消息提醒新增 开发修改单通知人提醒方法;新增根据业务主键查询提醒列表方法
消息提醒修改安全库存提醒方法,加上对businessKey的赋值
dev
liuxiaoxu 2 months ago
parent
commit
b24a539e37
  1. 99
      ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpDevelopModifyorderController.java
  2. 13
      ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpDevelopModifyorder.java
  3. 16
      ruoyi-admin/src/main/java/com/ruoyi/erp/domain/vo/ErpDevelopModifyorderRemindVo.java
  4. 6
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpDevelopModifyorderService.java
  5. 25
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpDevelopModifyorderServiceImpl.java
  6. 20
      ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysRemindController.java
  7. 16
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysRemind.java
  8. 5
      ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysRemindMapper.java
  9. 9
      ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysRemindService.java
  10. 87
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysRemindServiceImpl.java
  11. 13
      ruoyi-admin/src/main/resources/mapper/system/SysRemindMapper.xml
  12. 155
      ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/add.html
  13. 70
      ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/detail.html
  14. 10
      ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/developModifyOrder.html
  15. 5
      ruoyi-admin/src/main/resources/templates/index.html
  16. 24
      ruoyi-admin/src/main/resources/templates/system/remind/remind.html

99
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.ErpDevelopModifyorderDetail;
import com.ruoyi.erp.domain.ErpMaterial; import com.ruoyi.erp.domain.ErpMaterial;
import com.ruoyi.erp.domain.ErpMaterialVo; import com.ruoyi.erp.domain.ErpMaterialVo;
import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderRemindVo;
import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderVo; import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderVo;
import com.ruoyi.erp.service.IErpMaterialService; import com.ruoyi.erp.service.IErpMaterialService;
import com.ruoyi.process.general.service.IProcessService; import com.ruoyi.process.general.service.IProcessService;
@ -48,8 +49,7 @@ import javax.servlet.http.HttpSession;
*/ */
@Controller @Controller
@RequestMapping("/erp/developModifyOrder") @RequestMapping("/erp/developModifyOrder")
public class ErpDevelopModifyorderController extends BaseController public class ErpDevelopModifyorderController extends BaseController {
{
private String prefix = "erp/developModifyOrder"; private String prefix = "erp/developModifyOrder";
@Autowired @Autowired
@ -82,8 +82,7 @@ public class ErpDevelopModifyorderController extends BaseController
@RequiresPermissions("erp:developModifyOrder:view") @RequiresPermissions("erp:developModifyOrder:view")
@GetMapping() @GetMapping()
public String developModifyOrder() public String developModifyOrder() {
{
return prefix + "/developModifyOrder"; return prefix + "/developModifyOrder";
} }
@ -93,8 +92,7 @@ public class ErpDevelopModifyorderController extends BaseController
@RequiresPermissions("erp:developModifyOrder:list") @RequiresPermissions("erp:developModifyOrder:list")
@PostMapping("/list") @PostMapping("/list")
@ResponseBody @ResponseBody
public TableDataInfo list(ErpDevelopModifyorderVo erpDevelopModifyorderVo) public TableDataInfo list(ErpDevelopModifyorderVo erpDevelopModifyorderVo) {
{
startPage(); startPage();
List<ErpDevelopModifyorderVo> list = erpDevelopModifyorderService.selectErpDevelopModifyorderList(erpDevelopModifyorderVo); List<ErpDevelopModifyorderVo> list = erpDevelopModifyorderService.selectErpDevelopModifyorderList(erpDevelopModifyorderVo);
return getDataTable(list); return getDataTable(list);
@ -103,7 +101,7 @@ public class ErpDevelopModifyorderController extends BaseController
/** /**
* 查找所有的工程员 * 查找所有的工程员
* */ */
@GetMapping("/getEngineerList") @GetMapping("/getEngineerList")
@ResponseBody @ResponseBody
public TableDataInfo getEngineerList() { public TableDataInfo getEngineerList() {
@ -119,15 +117,13 @@ public class ErpDevelopModifyorderController extends BaseController
@Log(title = "开发修改单", businessType = BusinessType.EXPORT) @Log(title = "开发修改单", businessType = BusinessType.EXPORT)
@PostMapping("/exportAll") @PostMapping("/exportAll")
@ResponseBody @ResponseBody
public AjaxResult exportAll(ErpDevelopModifyorderVo erpDevelopModifyorderVo) public AjaxResult exportAll(ErpDevelopModifyorderVo erpDevelopModifyorderVo) {
{
List<ErpDevelopModifyorderVo> list = erpDevelopModifyorderService.selectErpDevelopModifyorderList(erpDevelopModifyorderVo); List<ErpDevelopModifyorderVo> list = erpDevelopModifyorderService.selectErpDevelopModifyorderList(erpDevelopModifyorderVo);
ExcelUtil<ErpDevelopModifyorderVo> util = new ExcelUtil<ErpDevelopModifyorderVo>(ErpDevelopModifyorderVo.class); ExcelUtil<ErpDevelopModifyorderVo> util = new ExcelUtil<ErpDevelopModifyorderVo>(ErpDevelopModifyorderVo.class);
return util.exportExcel(list, "开发修改单数据"); return util.exportExcel(list, "开发修改单数据");
} }
/** /**
* 导出选择的开发修改单列表 * 导出选择的开发修改单列表
*/ */
@ -135,8 +131,7 @@ public class ErpDevelopModifyorderController extends BaseController
@Log(title = "开发修改单", businessType = BusinessType.EXPORT) @Log(title = "开发修改单", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
@ResponseBody @ResponseBody
public AjaxResult export(@RequestBody String[] developOrderCodes) public AjaxResult export(@RequestBody String[] developOrderCodes) {
{
List<ErpDevelopModifyorderVo> list = erpDevelopModifyorderService.selectErpDevelopModifyorderListByCodes(developOrderCodes); List<ErpDevelopModifyorderVo> list = erpDevelopModifyorderService.selectErpDevelopModifyorderListByCodes(developOrderCodes);
ExcelUtil<ErpDevelopModifyorderVo> util = new ExcelUtil<ErpDevelopModifyorderVo>(ErpDevelopModifyorderVo.class); ExcelUtil<ErpDevelopModifyorderVo> util = new ExcelUtil<ErpDevelopModifyorderVo>(ErpDevelopModifyorderVo.class);
return util.exportExcel(list, "开发修改单数据"); return util.exportExcel(list, "开发修改单数据");
@ -147,8 +142,7 @@ public class ErpDevelopModifyorderController extends BaseController
* 新增开发修改单 * 新增开发修改单
*/ */
@GetMapping("/add") @GetMapping("/add")
public String add() public String add() {
{
return prefix + "/add"; return prefix + "/add";
} }
@ -159,8 +153,7 @@ public class ErpDevelopModifyorderController extends BaseController
@Log(title = "开发修改单", businessType = BusinessType.INSERT) @Log(title = "开发修改单", businessType = BusinessType.INSERT)
@PostMapping("/add") @PostMapping("/add")
@ResponseBody @ResponseBody
public AjaxResult addSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) public AjaxResult addSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) {
{
erpDevelopModifyorderService.submitApply(erpDevelopModifyorder); erpDevelopModifyorderService.submitApply(erpDevelopModifyorder);
return AjaxResult.success(); return AjaxResult.success();
@ -171,8 +164,7 @@ public class ErpDevelopModifyorderController extends BaseController
* 加载开发修改物料信息选择弹窗 * 加载开发修改物料信息选择弹窗
*/ */
@GetMapping("/developModifyMaterialSelect") @GetMapping("/developModifyMaterialSelect")
public String materialSelect(@RequestParam String makeNo, ModelMap modelMap) public String materialSelect(@RequestParam String makeNo, ModelMap modelMap) {
{
modelMap.put("makeNo", makeNo); modelMap.put("makeNo", makeNo);
return prefix + "/developModifyOrderMaterialSelect"; return prefix + "/developModifyOrderMaterialSelect";
} }
@ -182,8 +174,7 @@ public class ErpDevelopModifyorderController extends BaseController
*/ */
@PostMapping("/getMaterialListByMakeNo") @PostMapping("/getMaterialListByMakeNo")
@ResponseBody @ResponseBody
public TableDataInfo getMaterialListByMakeNo(@RequestParam("makeNo") String makeNo) public TableDataInfo getMaterialListByMakeNo(@RequestParam("makeNo") String makeNo) {
{
startPage(); startPage();
SysMakeOrder sysMakeOrder = sysMakeOrderMapper.selectSaleNoByMakeNo(makeNo); SysMakeOrder sysMakeOrder = sysMakeOrderMapper.selectSaleNoByMakeNo(makeNo);
List<SysSalesOrderChild> list = sysSalesOrderChildService.selectSysSalesOrderChildByQuoteId(sysMakeOrder.getSaleNo()); List<SysSalesOrderChild> list = sysSalesOrderChildService.selectSysSalesOrderChildByQuoteId(sysMakeOrder.getSaleNo());
@ -195,8 +186,7 @@ public class ErpDevelopModifyorderController extends BaseController
* 加载采购修改物料信息选择弹窗 * 加载采购修改物料信息选择弹窗
*/ */
@GetMapping("/purchaseMaterialSelect") @GetMapping("/purchaseMaterialSelect")
public String purchaseMaterialSelect() public String purchaseMaterialSelect() {
{
return prefix + "/purchaseOrderMaterialSelect"; return prefix + "/purchaseOrderMaterialSelect";
} }
@ -206,17 +196,16 @@ public class ErpDevelopModifyorderController extends BaseController
*/ */
@PostMapping("/getPurchaseMaterialList") @PostMapping("/getPurchaseMaterialList")
@ResponseBody @ResponseBody
public TableDataInfo getPurchaseMaterialList(ErpMaterial erpMaterial) public TableDataInfo getPurchaseMaterialList(ErpMaterial erpMaterial) {
{
startPage(); startPage();
List<ErpMaterialVo> erpMaterialVos = erpMaterialService.selectAllErpMaterialListWithBom(erpMaterial); List<ErpMaterialVo> erpMaterialVos = erpMaterialService.selectAllErpMaterialListWithBom(erpMaterial);
return getDataTable(erpMaterialVos); return getDataTable(erpMaterialVos);
} }
/** /**
* 加载审批弹窗 * 加载审批弹窗
*
* @param taskId * @param taskId
* @param mmap * @param mmap
* @return * @return
@ -248,8 +237,6 @@ public class ErpDevelopModifyorderController extends BaseController
} }
/** /**
* 完成任务 * 完成任务
* *
@ -310,14 +297,11 @@ public class ErpDevelopModifyorderController extends BaseController
} }
/** /**
* 修改开发修改单 * 修改开发修改单
*/ */
@GetMapping("/edit/{developOrderId}") @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); ErpDevelopModifyorder erpDevelopModifyorder = erpDevelopModifyorderService.selectErpDevelopModifyorderById(developOrderId);
mmap.put("beforeUpdateRemark", erpDevelopModifyorder.getBeforeUpdateRemark()); mmap.put("beforeUpdateRemark", erpDevelopModifyorder.getBeforeUpdateRemark());
mmap.put("afterUpdateRemark", erpDevelopModifyorder.getAfterUpdateRemark()); mmap.put("afterUpdateRemark", erpDevelopModifyorder.getAfterUpdateRemark());
@ -332,8 +316,7 @@ public class ErpDevelopModifyorderController extends BaseController
@Log(title = "开发修改单", businessType = BusinessType.UPDATE) @Log(title = "开发修改单", businessType = BusinessType.UPDATE)
@PostMapping("/edit") @PostMapping("/edit")
@ResponseBody @ResponseBody
public AjaxResult editSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) public AjaxResult editSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) {
{
return toAjax(erpDevelopModifyorderService.updateErpDevelopModifyorder(erpDevelopModifyorder)); return toAjax(erpDevelopModifyorderService.updateErpDevelopModifyorder(erpDevelopModifyorder));
} }
@ -342,8 +325,7 @@ public class ErpDevelopModifyorderController extends BaseController
*/ */
@PostMapping("/getDevelopModifyMaterialById") @PostMapping("/getDevelopModifyMaterialById")
@ResponseBody @ResponseBody
public TableDataInfo getDevelopModifyMaterialById(@RequestParam("developOrderId") Long developOrderId) public TableDataInfo getDevelopModifyMaterialById(@RequestParam("developOrderId") Long developOrderId) {
{
startPage(); startPage();
List<ErpDevelopModifyorder> erpDevelopModifyorderList = erpDevelopModifyorderService.selectDevelopModifyMaterialById(developOrderId); List<ErpDevelopModifyorder> erpDevelopModifyorderList = erpDevelopModifyorderService.selectDevelopModifyMaterialById(developOrderId);
return getDataTable(erpDevelopModifyorderList); return getDataTable(erpDevelopModifyorderList);
@ -354,18 +336,16 @@ public class ErpDevelopModifyorderController extends BaseController
*/ */
@PostMapping("/getDevelopModifyDetailMaterialByCode") @PostMapping("/getDevelopModifyDetailMaterialByCode")
@ResponseBody @ResponseBody
public TableDataInfo getDevelopModifyDetailMaterialByCode(@RequestParam("developOrderCode") String developOrderCode) public TableDataInfo getDevelopModifyDetailMaterialByCode(@RequestParam("developOrderCode") String developOrderCode) {
{
startPage(); startPage();
List<ErpDevelopModifyorderDetail> erpDevelopModifyorderDetailList = erpDevelopModifyorderService.selectDevelopModifyDetailMaterialByCode(developOrderCode); List<ErpDevelopModifyorderDetail> erpDevelopModifyorderDetailList = erpDevelopModifyorderService.selectDevelopModifyDetailMaterialByCode(developOrderCode);
return getDataTable(erpDevelopModifyorderDetailList); return getDataTable(erpDevelopModifyorderDetailList);
} }
/** /**
* 查看开发修改单详情 * 查看开发修改单详情
* */ */
@Log(title = "开发修改单", businessType = BusinessType.OTHER) @Log(title = "开发修改单", businessType = BusinessType.OTHER)
@GetMapping("/detail/{developOrderId}") @GetMapping("/detail/{developOrderId}")
public String detail(@PathVariable("developOrderId") Long developOrderId, ModelMap mmap) { public String detail(@PathVariable("developOrderId") Long developOrderId, ModelMap mmap) {
@ -377,37 +357,33 @@ public class ErpDevelopModifyorderController extends BaseController
} }
/** /**
* 修改保存开发修改单详情 * 修改保存开发修改单详情
*/ */
@Log(title = "开发修改单", businessType = BusinessType.UPDATE) @Log(title = "开发修改单", businessType = BusinessType.UPDATE)
@PostMapping("/detail") @PostMapping("/detail")
@ResponseBody @ResponseBody
public AjaxResult detailSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) public AjaxResult detailSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder) {
{
return toAjax(erpDevelopModifyorderService.detailErpDevelopModifyorder(erpDevelopModifyorder)); return toAjax(erpDevelopModifyorderService.detailErpDevelopModifyorder(erpDevelopModifyorder));
} }
/**
/**相关人员确认*/ * 相关人员确认
*/
@GetMapping("/confirm/{developOrderId}") @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); ErpDevelopModifyorder erpDevelopModifyorder = erpDevelopModifyorderService.selectErpDevelopModifyorderById(developOrderId);
mmap.put("erpDevelopModifyorder", erpDevelopModifyorder); mmap.put("erpDevelopModifyorder", erpDevelopModifyorder);
return prefix + "/confirm"; return prefix + "/confirm";
} }
/** /**
* 加载添加领料弹窗 * 加载添加领料弹窗
* */ */
@GetMapping("/pickAdd/{developOrderId}") @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); ErpDevelopModifyorder erpDevelopModifyorder = erpDevelopModifyorderService.selectErpDevelopModifyorderById(developOrderId);
mmap.put("erpDevelopModifyorder", erpDevelopModifyorder); mmap.put("erpDevelopModifyorder", erpDevelopModifyorder);
return prefix + "/pickAdd"; return prefix + "/pickAdd";
@ -416,18 +392,16 @@ public class ErpDevelopModifyorderController extends BaseController
/** /**
* 添加领料页面开发修改单物料详情 * 添加领料页面开发修改单物料详情
* */ */
@PostMapping("/showPickingDevelopModifyorderDetailList") @PostMapping("/showPickingDevelopModifyorderDetailList")
@ResponseBody @ResponseBody
public TableDataInfo showPickingDevelopModifyorderDetailList(@RequestParam("developOrderCode") String developOrderCode) public TableDataInfo showPickingDevelopModifyorderDetailList(@RequestParam("developOrderCode") String developOrderCode) {
{
startPage(); startPage();
List<ErpDevelopModifyorderDetail> erpDevelopModifyorderDetailList = erpDevelopModifyorderService.selectDevelopModifyDetailMaterialByCode(developOrderCode); List<ErpDevelopModifyorderDetail> erpDevelopModifyorderDetailList = erpDevelopModifyorderService.selectDevelopModifyDetailMaterialByCode(developOrderCode);
return getDataTable(erpDevelopModifyorderDetailList); return getDataTable(erpDevelopModifyorderDetailList);
} }
/** /**
* 删除开发修改单 * 删除开发修改单
*/ */
@ -435,8 +409,7 @@ public class ErpDevelopModifyorderController extends BaseController
@Log(title = "开发修改单", businessType = BusinessType.DELETE) @Log(title = "开发修改单", businessType = BusinessType.DELETE)
@PostMapping("/remove") @PostMapping("/remove")
@ResponseBody @ResponseBody
public AjaxResult remove(String ids) public AjaxResult remove(String ids) {
{
return toAjax(erpDevelopModifyorderService.deleteErpDevelopModifyorderByIds(ids)); return toAjax(erpDevelopModifyorderService.deleteErpDevelopModifyorderByIds(ids));
} }
@ -458,13 +431,21 @@ public class ErpDevelopModifyorderController extends BaseController
@Log(title = "开发修改单", businessType = BusinessType.RESTORE) @Log(title = "开发修改单", businessType = BusinessType.RESTORE)
@GetMapping("/restore/{id}") @GetMapping("/restore/{id}")
@ResponseBody @ResponseBody
public AjaxResult restore(@PathVariable("id")Long id) public AjaxResult restore(@PathVariable("id") Long id) {
{
return toAjax(erpDevelopModifyorderService.restoreErpDevelopModifyorderById(id)); return toAjax(erpDevelopModifyorderService.restoreErpDevelopModifyorderById(id));
} }
/**
* 开发修改单查询通知人和确认时间
* */
@PostMapping("/getErpDevelopRemindPeopleList")
@ResponseBody
public TableDataInfo getErpDevelopRemindPeopleList(@RequestParam("developOrderCode") String developOrderCode) {
startPage();
List<ErpDevelopModifyorderRemindVo> erpDevelopModifyorderDetailList = erpDevelopModifyorderService.getErpDevelopRemindPeopleList(developOrderCode);
return getDataTable(erpDevelopModifyorderDetailList);
}
} }

13
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.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderMaterialVo; 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.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
@ -149,6 +150,9 @@ public class ErpDevelopModifyorder extends BaseEntity
/** 开发修改单领料详情*/ /** 开发修改单领料详情*/
private List<ErpDevelopModifyorderPickingDetail> developModifyorderPickingDetails; private List<ErpDevelopModifyorderPickingDetail> developModifyorderPickingDetails;
/** 通知人*/
private List<ErpDevelopModifyorderRemindVo> modifyorderRemindVos;
public String getMakeNo() { public String getMakeNo() {
return makeNo; return makeNo;
} }
@ -450,6 +454,14 @@ public class ErpDevelopModifyorder extends BaseEntity
this.developModifyorderPickingDetails = developModifyorderPickingDetails; this.developModifyorderPickingDetails = developModifyorderPickingDetails;
} }
public List<ErpDevelopModifyorderRemindVo> getModifyorderRemindVos() {
return modifyorderRemindVos;
}
public void setModifyorderRemindVos(List<ErpDevelopModifyorderRemindVo> modifyorderRemindVos) {
this.modifyorderRemindVos = modifyorderRemindVos;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@ -493,6 +505,7 @@ public class ErpDevelopModifyorder extends BaseEntity
.append("developModifyorderDetailList",getDevelopModifyorderDetailList()) .append("developModifyorderDetailList",getDevelopModifyorderDetailList())
.append("developModifyorderMaterialVoList",getDevelopModifyorderMaterialVoList()) .append("developModifyorderMaterialVoList",getDevelopModifyorderMaterialVoList())
.append("developModifyorderPickingDetails",getDevelopModifyorderPickingDetails()) .append("developModifyorderPickingDetails",getDevelopModifyorderPickingDetails())
.append("modifyorderRemindVos",getModifyorderRemindVos())
.toString(); .toString();
} }
} }

16
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;
}

6
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 java.util.List;
import com.ruoyi.erp.domain.ErpDevelopModifyorder; import com.ruoyi.erp.domain.ErpDevelopModifyorder;
import com.ruoyi.erp.domain.ErpDevelopModifyorderDetail; import com.ruoyi.erp.domain.ErpDevelopModifyorderDetail;
import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderRemindVo;
import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderVo; import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderVo;
import com.ruoyi.system.domain.SysSalesOrder; import com.ruoyi.system.domain.SysSalesOrder;
import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.runtime.ProcessInstance;
@ -104,4 +105,9 @@ public interface IErpDevelopModifyorderService
* 根据开发修改单号数组查询开发修改单列表集合 * 根据开发修改单号数组查询开发修改单列表集合
* */ * */
List<ErpDevelopModifyorderVo> selectErpDevelopModifyorderListByCodes(String[] developOrderCodes); List<ErpDevelopModifyorderVo> selectErpDevelopModifyorderListByCodes(String[] developOrderCodes);
/**
* 根据开发修改单号查询提醒人员列表
* */
List<ErpDevelopModifyorderRemindVo> getErpDevelopRemindPeopleList(String developOrderCode);
} }

25
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.common.utils.StringUtils;
import com.ruoyi.erp.domain.ErpDevelopModifyorderDetail; import com.ruoyi.erp.domain.ErpDevelopModifyorderDetail;
import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderMaterialVo; 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.domain.vo.ErpDevelopModifyorderVo;
import com.ruoyi.erp.mapper.ErpDevelopModifyorderDetailMapper; import com.ruoyi.erp.mapper.ErpDevelopModifyorderDetailMapper;
import com.ruoyi.process.general.service.IProcessService; 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.SalesAftersalesNotice;
import com.ruoyi.sales.domain.VO.SalesAftersalesNoticeVO; import com.ruoyi.sales.domain.VO.SalesAftersalesNoticeVO;
import com.ruoyi.system.domain.SysMakeOrder; import com.ruoyi.system.domain.SysMakeOrder;
import com.ruoyi.system.domain.SysRemind;
import com.ruoyi.system.domain.SysSalesOrderVo; import com.ruoyi.system.domain.SysSalesOrderVo;
import com.ruoyi.system.mapper.SysMakeOrderMapper; import com.ruoyi.system.mapper.SysMakeOrderMapper;
import com.ruoyi.system.mapper.SysSalesOrderMapper; import com.ruoyi.system.mapper.SysSalesOrderMapper;
import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.service.ISysRemindService;
import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysRoleService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.TaskService; import org.activiti.engine.TaskService;
@ -79,6 +82,9 @@ public class ErpDevelopModifyorderServiceImpl implements IErpDevelopModifyorderS
@Autowired @Autowired
private BizTodoItemMapper todoItemMapper; private BizTodoItemMapper todoItemMapper;
@Autowired
private ISysRemindService remindService;
/** /**
* 查询开发修改单 * 查询开发修改单
* *
@ -100,6 +106,23 @@ public class ErpDevelopModifyorderServiceImpl implements IErpDevelopModifyorderS
return erpDevelopModifyorderMapper.selectErpDevelopModifyorderListByCodes(developOrderCodes); return erpDevelopModifyorderMapper.selectErpDevelopModifyorderListByCodes(developOrderCodes);
} }
/**
* 根据开发修改单号查询开发修改单详情列表
* */
@Override
public List<ErpDevelopModifyorderRemindVo> getErpDevelopRemindPeopleList(String developOrderCode) {
List<SysRemind> remindList = remindService.selectSysRemindListByBusinessKey(developOrderCode);
List<ErpDevelopModifyorderRemindVo> 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); developModifyorderDetailMapper.insertErpDevelopModifyorderDetail(erpDevelopModifyorderDetail);
} }
remindService.erpDevelopModifyorderRemind(erpDevelopModifyorder);
return erpDevelopModifyorderMapper.insertErpDevelopModifyorder(erpDevelopModifyorder); return erpDevelopModifyorderMapper.insertErpDevelopModifyorder(erpDevelopModifyorder);
} }

20
ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysRemindController.java

@ -5,8 +5,10 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import com.ruoyi.common.constant.BusinessKeysConstants; import com.ruoyi.common.constant.BusinessKeysConstants;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.process.todoitem.domain.BizTodoItem; import com.ruoyi.process.todoitem.domain.BizTodoItem;
import com.ruoyi.system.service.ISysUserService;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@ -42,9 +44,13 @@ public class SysRemindController extends BaseController
@Autowired @Autowired
private ISysRemindService sysRemindService; private ISysRemindService sysRemindService;
@Autowired
private ISysUserService sysUserService;
@GetMapping() @GetMapping()
public String remind() public String remind(Map mmap)
{ {
mmap.put("currentUser", ShiroUtils.getSysUser());
return prefix + "/remind"; return prefix + "/remind";
} }
@ -240,4 +246,16 @@ public class SysRemindController extends BaseController
} }
/**
* 查询所有接收人
* */
@PostMapping("/getAllReceiverUser")
@ResponseBody
public TableDataInfo getAllReceiverUser() {
startPage();
List<SysUser> sysUsers = sysUserService.selectUserAll();
return getDataTable(sysUsers);
}
} }

16
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") @Excel(name = "提醒时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date remindTime; private Date remindTime;
@ -68,6 +68,10 @@ public class SysRemind extends BaseEntity
@Excel(name = "提醒内容") @Excel(name = "提醒内容")
private String remindContent; private String remindContent;
/** 与各个业务模块关联的唯一索引*/
private String businessKey;
/** 模块名称 存储的数据来自BusinessKeysConstants常量类 */ /** 模块名称 存储的数据来自BusinessKeysConstants常量类 */
private String module; private String module;
@ -198,6 +202,15 @@ public class SysRemind extends BaseEntity
{ {
return remindContent; return remindContent;
} }
public String getBusinessKey() {
return businessKey;
}
public void setBusinessKey(String businessKey) {
this.businessKey = businessKey;
}
public void setModule(String module) public void setModule(String module)
{ {
this.module = module; this.module = module;
@ -251,6 +264,7 @@ public class SysRemind extends BaseEntity
.append("remindTime", getRemindTime()) .append("remindTime", getRemindTime())
.append("handleTime", getHandleTime()) .append("handleTime", getHandleTime())
.append("remindContent", getRemindContent()) .append("remindContent", getRemindContent())
.append("businessKey", getBusinessKey())
.append("module", getModule()) .append("module", getModule())
.append("moduleUrl", getModuleUrl()) .append("moduleUrl", getModuleUrl())
.append("isView", getIsView()) .append("isView", getIsView())

5
ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysRemindMapper.java

@ -78,4 +78,9 @@ public interface SysRemindMapper
public int restoreSysRemindById(Long remindId); public int restoreSysRemindById(Long remindId);
List<SysRemind> selectUnHandleSysRemindList(Map<String, Object> paraMap); List<SysRemind> selectUnHandleSysRemindList(Map<String, Object> paraMap);
/**
* 根据业务主键查询系统提醒列表
* */
List<SysRemind> selectSysRemindListByBusinessKey(String businessKey);
} }

9
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.List;
import java.util.Map; import java.util.Map;
import com.ruoyi.erp.domain.ErpDevelopModifyorder;
import com.ruoyi.system.domain.SysRemind; import com.ruoyi.system.domain.SysRemind;
import com.ruoyi.warehouse.domain.WarehouseInventoryInquiry; import com.ruoyi.warehouse.domain.WarehouseInventoryInquiry;
@ -97,5 +98,13 @@ public interface ISysRemindService {
* */ * */
int warehouseSafetyStockRemind(WarehouseInventoryInquiry warehouseInventoryInquiry); int warehouseSafetyStockRemind(WarehouseInventoryInquiry warehouseInventoryInquiry);
/**
* 开发修改单通知人提醒
* */
int erpDevelopModifyorderRemind(ErpDevelopModifyorder erpDevelopModifyorder);
/**
* 根据业务主键查询提醒列表
* */
List<SysRemind> selectSysRemindListByBusinessKey(String businessKey);
} }

87
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.exception.BusinessException;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils; 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.ISysDeptService;
import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.warehouse.domain.WarehouseInventoryInquiry; import com.ruoyi.warehouse.domain.WarehouseInventoryInquiry;
@ -27,8 +30,7 @@ import com.ruoyi.common.core.text.Convert;
* @date 2024-12-20 * @date 2024-12-20
*/ */
@Service @Service
public class SysRemindServiceImpl implements ISysRemindService public class SysRemindServiceImpl implements ISysRemindService {
{
@Autowired @Autowired
private SysRemindMapper sysRemindMapper; private SysRemindMapper sysRemindMapper;
@ -38,6 +40,9 @@ public class SysRemindServiceImpl implements ISysRemindService
@Autowired @Autowired
private ISysDeptService sysDeptService; private ISysDeptService sysDeptService;
@Autowired
private IErpDevelopModifyorderService developModifyorderService;
/** /**
* 查询系统提醒 * 查询系统提醒
* *
@ -45,8 +50,7 @@ public class SysRemindServiceImpl implements ISysRemindService
* @return 系统提醒 * @return 系统提醒
*/ */
@Override @Override
public SysRemind selectSysRemindById(Long remindId) public SysRemind selectSysRemindById(Long remindId) {
{
return sysRemindMapper.selectSysRemindById(remindId); return sysRemindMapper.selectSysRemindById(remindId);
} }
@ -57,8 +61,7 @@ public class SysRemindServiceImpl implements ISysRemindService
* @return 系统提醒 * @return 系统提醒
*/ */
@Override @Override
public List<SysRemind> selectSysRemindList(SysRemind sysRemind) public List<SysRemind> selectSysRemindList(SysRemind sysRemind) {
{
return sysRemindMapper.selectSysRemindList(sysRemind); return sysRemindMapper.selectSysRemindList(sysRemind);
} }
@ -74,6 +77,18 @@ public class SysRemindServiceImpl implements ISysRemindService
return list; return list;
} }
/**
* 根据业务主键查询系统提醒列表
*
* @param businessKey 系统提醒
* @return 系统提醒
*/
@Override
public List<SysRemind> selectSysRemindListByBusinessKey(String businessKey) {
List<SysRemind> list = sysRemindMapper.selectSysRemindListByBusinessKey(businessKey);
return list;
}
/** /**
* 新增系统提醒 * 新增系统提醒
* *
@ -81,8 +96,7 @@ public class SysRemindServiceImpl implements ISysRemindService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int insertSysRemind(SysRemind sysRemind) public int insertSysRemind(SysRemind sysRemind) {
{
String loginName = ShiroUtils.getLoginName(); String loginName = ShiroUtils.getLoginName();
sysRemind.setCreateBy(loginName); sysRemind.setCreateBy(loginName);
sysRemind.setCreateTime(DateUtils.getNowDate()); sysRemind.setCreateTime(DateUtils.getNowDate());
@ -96,8 +110,7 @@ public class SysRemindServiceImpl implements ISysRemindService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateSysRemind(SysRemind sysRemind) public int updateSysRemind(SysRemind sysRemind) {
{
String loginName = ShiroUtils.getLoginName(); String loginName = ShiroUtils.getLoginName();
sysRemind.setUpdateBy(loginName); sysRemind.setUpdateBy(loginName);
sysRemind.setUpdateTime(DateUtils.getNowDate()); sysRemind.setUpdateTime(DateUtils.getNowDate());
@ -107,7 +120,7 @@ public class SysRemindServiceImpl implements ISysRemindService
/** /**
* 手动处理系统提醒 * 手动处理系统提醒
* */ */
@Override @Override
public int updateManualHandleSysRemind(SysRemind sysRemind) { public int updateManualHandleSysRemind(SysRemind sysRemind) {
@ -118,14 +131,14 @@ public class SysRemindServiceImpl implements ISysRemindService
sysRemind.setHandleUser(loginName); sysRemind.setHandleUser(loginName);
sysRemind.setUpdateBy(loginName); sysRemind.setUpdateBy(loginName);
sysRemind.setUpdateTime(DateUtils.getNowDate()); sysRemind.setUpdateTime(DateUtils.getNowDate());
return sysRemindMapper.updateSysRemind(sysRemind); return sysRemindMapper.updateSysRemind(sysRemind);
} }
/** /**
* 通用保存系统详情 * 通用保存系统详情
* */ */
@Override @Override
public int detailSysRemind(SysRemind sysRemind) { public int detailSysRemind(SysRemind sysRemind) {
return 1; return 1;
@ -138,8 +151,7 @@ public class SysRemindServiceImpl implements ISysRemindService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteSysRemindByIds(String ids) public int deleteSysRemindByIds(String ids) {
{
return sysRemindMapper.deleteSysRemindByIds(Convert.toStrArray(ids)); return sysRemindMapper.deleteSysRemindByIds(Convert.toStrArray(ids));
} }
@ -150,8 +162,7 @@ public class SysRemindServiceImpl implements ISysRemindService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteSysRemindById(Long remindId) public int deleteSysRemindById(Long remindId) {
{
return sysRemindMapper.deleteSysRemindById(remindId); return sysRemindMapper.deleteSysRemindById(remindId);
} }
@ -162,8 +173,7 @@ public class SysRemindServiceImpl implements ISysRemindService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int cancelSysRemindById(Long remindId) public int cancelSysRemindById(Long remindId) {
{
return sysRemindMapper.cancelSysRemindById(remindId); return sysRemindMapper.cancelSysRemindById(remindId);
} }
@ -174,16 +184,14 @@ public class SysRemindServiceImpl implements ISysRemindService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int restoreSysRemindById(Long remindId) public int restoreSysRemindById(Long remindId) {
{
return sysRemindMapper.restoreSysRemindById(remindId); return sysRemindMapper.restoreSysRemindById(remindId);
} }
/** /**
* 仓库安全库存提醒 * 仓库安全库存提醒
* */ */
@Override @Override
public int warehouseSafetyStockRemind(WarehouseInventoryInquiry warehouseInventoryInquiry) { public int warehouseSafetyStockRemind(WarehouseInventoryInquiry warehouseInventoryInquiry) {
int insertSysRemind = 0; int insertSysRemind = 0;
@ -201,6 +209,7 @@ public class SysRemindServiceImpl implements ISysRemindService
for (SysUser sysUser : sysUsers) { for (SysUser sysUser : sysUsers) {
// 提醒 // 提醒
SysRemind sysRemind = new SysRemind(); SysRemind sysRemind = new SysRemind();
sysRemind.setBusinessKey(materialNo);
sysRemind.setReceiverUserId(sysUser.getUserId()); sysRemind.setReceiverUserId(sysUser.getUserId());
sysRemind.setReceiverUser(sysUser.getLoginName()); sysRemind.setReceiverUser(sysUser.getLoginName());
sysRemind.setReceiverDeptId(deptId); sysRemind.setReceiverDeptId(deptId);
@ -222,4 +231,36 @@ public class SysRemindServiceImpl implements ISysRemindService
return insertSysRemind; return insertSysRemind;
} }
/**
* 开发修改单通知人提醒
*/
@Override
public int erpDevelopModifyorderRemind(ErpDevelopModifyorder erpDevelopModifyorder) {
String loginName = ShiroUtils.getLoginName();
int insertSysRemind = 0;
List<ErpDevelopModifyorderRemindVo> 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;
}
} }

13
ruoyi-admin/src/main/resources/mapper/system/SysRemindMapper.xml

@ -18,6 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="remindTime" column="remind_time" /> <result property="remindTime" column="remind_time" />
<result property="handleTime" column="handle_time" /> <result property="handleTime" column="handle_time" />
<result property="remindContent" column="remind_content" /> <result property="remindContent" column="remind_content" />
<result property="businessKey" column="business_key" />
<result property="module" column="module" /> <result property="module" column="module" />
<result property="moduleUrl" column="module_url" /> <result property="moduleUrl" column="module_url" />
<result property="isView" column="is_view" /> <result property="isView" column="is_view" />
@ -30,7 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectSysRemindVo"> <sql id="selectSysRemindVo">
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
</sql> </sql>
<select id="selectSysRemindList" parameterType="SysRemind" resultMap="SysRemindResult"> <select id="selectSysRemindList" parameterType="SysRemind" resultMap="SysRemindResult">
@ -40,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isHandle != null and isHandle != ''"> and is_handle = #{isHandle}</if> <if test="isHandle != null and isHandle != ''"> and is_handle = #{isHandle}</if>
<if test="createTime != null "> and create_time = #{createTime}</if> <if test="createTime != null "> and create_time = #{createTime}</if>
</where> </where>
order by create_time desc
</select> </select>
<select id="selectSysRemindById" parameterType="Long" resultMap="SysRemindResult"> <select id="selectSysRemindById" parameterType="Long" resultMap="SysRemindResult">
@ -50,6 +52,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectUnHandleSysRemindList" parameterType="map" resultMap="SysRemindResult"> <select id="selectUnHandleSysRemindList" parameterType="map" resultMap="SysRemindResult">
<include refid="selectSysRemindVo"/> <include refid="selectSysRemindVo"/>
where receiver_user = #{receiverUser} and is_handle = #{isHandle} where receiver_user = #{receiverUser} and is_handle = #{isHandle}
order by create_time desc
</select>
<select id="selectSysRemindListByBusinessKey" parameterType="String" resultMap="SysRemindResult">
<include refid="selectSysRemindVo"/>
where business_key = #{businessKey}
</select> </select>
<insert id="insertSysRemind" parameterType="SysRemind" useGeneratedKeys="true" keyProperty="remindId"> <insert id="insertSysRemind" parameterType="SysRemind" useGeneratedKeys="true" keyProperty="remindId">
@ -67,6 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="remindTime != null">remind_time,</if> <if test="remindTime != null">remind_time,</if>
<if test="handleTime != null">handle_time,</if> <if test="handleTime != null">handle_time,</if>
<if test="remindContent != null">remind_content,</if> <if test="remindContent != null">remind_content,</if>
<if test="businessKey != null">business_key,</if>
<if test="module != null">module,</if> <if test="module != null">module,</if>
<if test="moduleUrl != null">module_url,</if> <if test="moduleUrl != null">module_url,</if>
<if test="isView != null">is_view,</if> <if test="isView != null">is_view,</if>
@ -90,6 +99,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="remindTime != null">#{remindTime},</if> <if test="remindTime != null">#{remindTime},</if>
<if test="handleTime != null">#{handleTime},</if> <if test="handleTime != null">#{handleTime},</if>
<if test="remindContent != null">#{remindContent},</if> <if test="remindContent != null">#{remindContent},</if>
<if test="businessKey != null">#{businessKey},</if>
<if test="module != null">#{module},</if> <if test="module != null">#{module},</if>
<if test="moduleUrl != null">#{moduleUrl},</if> <if test="moduleUrl != null">#{moduleUrl},</if>
<if test="isView != null">#{isView},</if> <if test="isView != null">#{isView},</if>
@ -117,6 +127,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="remindTime != null">remind_time = #{remindTime},</if> <if test="remindTime != null">remind_time = #{remindTime},</if>
<if test="handleTime != null">handle_time = #{handleTime},</if> <if test="handleTime != null">handle_time = #{handleTime},</if>
<if test="remindContent != null">remind_content = #{remindContent},</if> <if test="remindContent != null">remind_content = #{remindContent},</if>
<if test="businessKey != null">business_key = #{businessKey},</if>
<if test="module != null">module = #{module},</if> <if test="module != null">module = #{module},</if>
<if test="moduleUrl != null">module_url = #{moduleUrl},</if> <if test="moduleUrl != null">module_url = #{moduleUrl},</if>
<if test="isView != null">is_view = #{isView},</if> <if test="isView != null">is_view = #{isView},</if>

155
ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/add.html

@ -73,21 +73,21 @@
</div> </div>
</div> </div>
</div> </div>
<!-- <div class="container">--> <div class="container">
<!-- <div class="form-row">--> <div class="form-row">
<!-- <div class="btn-group-sm" role="group">--> <div class="btn-group-sm" role="group">
<!-- <span>选择通知人</span>--> <span>选择通知人</span>
<!-- <a class="btn btn-success" onclick="insertBiztoitem()">--> <a class="btn btn-success" onclick="insertRemindPeople()">
<!-- <i class="fa fa-plus"></i> 添加通知人--> <i class="fa fa-plus"></i> 添加通知人
<!-- </a>--> </a>
<!-- </div>--> </div>
<!-- </div>--> </div>
<!-- <div class="row">--> <div class="row">
<!-- <div class="col-sm-12 select-table table-striped">--> <div class="col-sm-12 select-table table-striped">
<!-- <table id="bootstrap-table-biztoitem"></table>--> <table id="bootstrap-table-remindPeople"></table>
<!-- </div>--> </div>
<!-- </div>--> </div>
<!-- </div>--> </div>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<th:block th:include="include :: bootstrap-table-editable-js" /> <th:block th:include="include :: bootstrap-table-editable-js" />
@ -100,7 +100,7 @@
var levelDatas = [[${@dict.getType('bomLevel')}]]; var levelDatas = [[${@dict.getType('bomLevel')}]];
var bomLevelSelectDatas = [[${@dict.getTypeSelect('bomLevel')}]]; var bomLevelSelectDatas = [[${@dict.getTypeSelect('bomLevel')}]];
var receiverUserList = [];
var processMethodDatas = [[${@dict.getType('processMethod')}]]; var processMethodDatas = [[${@dict.getType('processMethod')}]];
var loginName = [[${@permission.getPrincipalProperty('loginName')}]]; var loginName = [[${@permission.getPrincipalProperty('loginName')}]];
var userName = [[${@permission.getPrincipalProperty('userName')}]]; var userName = [[${@permission.getPrincipalProperty('userName')}]];
@ -133,6 +133,9 @@
// 采购修改物料 // 采购修改物料
var purchaseTable = $('#bootstrap-table-purchase').bootstrapTable('getData'); var purchaseTable = $('#bootstrap-table-purchase').bootstrapTable('getData');
//通知人
var remindPeopleTable = $('#bootstrap-table-remindPeople').bootstrapTable('getData');
// 将表数据转换成与developModifyOrderData格式一致的数组 // 将表数据转换成与developModifyOrderData格式一致的数组
var developModifyMaterialDataList = developModifyTable.map(function(item) { 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, { const combinedData = Object.assign({}, developModifyOrderData, {
developModifyorderMaterialVoList: developModifyMaterialDataList, developModifyorderMaterialVoList: developModifyMaterialDataList,
developModifyorderDetailList:purchaseMaterialDataList, developModifyorderDetailList:purchaseMaterialDataList,
modifyorderRemindVos:remindPeopleDataList,
beforeUpdateRemark:beforeUpdateRemark, beforeUpdateRemark:beforeUpdateRemark,
afterUpdateRemark:afterUpdateRemark afterUpdateRemark:afterUpdateRemark
}); });
@ -725,6 +741,113 @@
// } // }
$("#userName_add").val(loginName); $("#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('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="removeRemindPeople(\'' + row.remindId + '\')"><i class="fa fa-remove"></i>删除</a> ');
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 = '<select class="form-control" onchange="onReceiverUserChange(this, ' + index + ')">';
selectHtml += '<option value=""' + (value === undefined || value === '' || value === null ? ' selected' : '') + '>所有</option>';
receiverUserList.forEach(function(child) {
selectHtml += '<option value="' + child + '"' + (value === child ? ' selected' : '') + '>' + child + '</option>';
});
selectHtml += '</select>';
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("数据为空");
}
}
});
}
</script> </script>
</body> </body>
</html> </html>

70
ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/detail.html

@ -67,21 +67,18 @@
</div> </div>
</div> </div>
</div> </div>
<!-- <div class="container">--> <div class="container">
<!-- <div class="form-row">--> <div class="form-row">
<!-- <div class="btn-group-sm" role="group">--> <div class="btn-group-sm" role="group">
<!-- <span>选择通知人</span>--> <span>选择通知人</span>
<!-- <a class="btn btn-success" onclick="insertBiztoitem()">--> </div>
<!-- <i class="fa fa-plus"></i> 添加通知人--> </div>
<!-- </a>--> <div class="row">
<!-- </div>--> <div class="col-sm-12 select-table table-striped">
<!-- </div>--> <table id="bootstrap-table-remindPeople"></table>
<!-- <div class="row">--> </div>
<!-- <div class="col-sm-12 select-table table-striped">--> </div>
<!-- <table id="bootstrap-table-biztoitem"></table>--> </div>
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<th:block th:include="include :: bootstrap-table-editable-js" /> <th:block th:include="include :: bootstrap-table-editable-js" />
@ -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;
}
</script> </script>
</body> </body>
</html> </html>

10
ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/developModifyOrder.html

@ -218,11 +218,11 @@
return $.table.selectDictLabel(finshStatusDatas, value); return $.table.selectDictLabel(finshStatusDatas, value);
} }
}, },
{title: '确认状态',field: 'completeStatus', // {title: '确认状态',field: 'completeStatus',
formatter: function (value, row, index) { // formatter: function (value, row, index) {
return $.table.selectDictLabel(completeStatusDatas, value); // return $.table.selectDictLabel(completeStatusDatas, value);
} // }
}, // },
{title: '采购入库状态',field: 'purchaseStorageStatus', {title: '采购入库状态',field: 'purchaseStorageStatus',
formatter: function (value, row, index) { formatter: function (value, row, index) {
return $.table.selectDictLabel(purchaseStorageStatusDatas, value); return $.table.selectDictLabel(purchaseStorageStatusDatas, value);

5
ruoyi-admin/src/main/resources/templates/index.html

@ -196,8 +196,7 @@
<ul class="pro-body"> <ul class="pro-body">
<!--<li><a href="javascript:" class="dropdown-item menuItem"><i class="feather icon-settings"></i>个人中心</a></li>--> <!--<li><a href="javascript:" class="dropdown-item menuItem"><i class="feather icon-settings"></i>个人中心</a></li>-->
<li><a href="/system/user/profile" class="dropdown-item menuItem"><i class="feather icon-user"></i>个人中心</a></li> <li><a href="/system/user/profile" class="dropdown-item menuItem"><i class="feather icon-user"></i>个人中心</a></li>
<!-- <li><a href="/flow/requestitem" class="dropdown-item menuItem"><i class="feather icon-mail"></i>我的请求</a></li>--> <li><a href="/system/remind" class="dropdown-item menuItem" id="remindBadge2"><i class="feather icon-bell"></i>我的提醒</a></li>
<li><a href="/system/remind" class="dropdown-item menuItem"><i class="feather icon-bell"></i>我的提醒</a></li>
<li><a href="/process/todoitem" class="dropdown-item menuItem" id="todoBadge2"><i class="fa fa-rocket"></i>我的待办</a></li> <li><a href="/process/todoitem" class="dropdown-item menuItem" id="todoBadge2"><i class="fa fa-rocket"></i>我的待办</a></li>
<li><a href="/process/todoitem/doneitemView" class="dropdown-item menuItem" id="todoBadge3"><i class="fa fa-fighter-jet"></i>我的已办</a></li> <li><a href="/process/todoitem/doneitemView" class="dropdown-item menuItem" id="todoBadge3"><i class="fa fa-fighter-jet"></i>我的已办</a></li>
</ul> </ul>
@ -429,7 +428,7 @@
let remindCount = data.length > 10 ? '10+' : data.length; let remindCount = data.length > 10 ? '10+' : data.length;
$("#remindBadge").text(remindCount); $("#remindBadge").text(remindCount);
$("#remindSize").text(remindCount + "项新"); $("#remindSize").text(remindCount + "项新");
$("#remindBadge2").html("<span class=\"badge badge-danger\">" + data.length + "</span>"); $("#remindBadge2").append("<span class=\"badge badge-danger\">" + data.length + "</span>");
} else { } else {
$("#remindBadge").text(''); $("#remindBadge").text('');
$("#remindBadge2 span").remove(); $("#remindBadge2 span").remove();

24
ruoyi-admin/src/main/resources/templates/system/remind/remind.html

@ -47,6 +47,8 @@
<script th:inline="javascript"> <script th:inline="javascript">
var isViewDatas = [[${@dict.getType('yes_or_no')}]]; var isViewDatas = [[${@dict.getType('yes_or_no')}]];
var isHandleDatas = [[${@dict.getType('yes_or_no')}]]; var isHandleDatas = [[${@dict.getType('yes_or_no')}]];
var currentUser = [[${currentUser}]];
var prefix = ctx + "system/remind"; var prefix = ctx + "system/remind";
$(function() { $(function() {
@ -113,8 +115,13 @@
align: 'center', align: 'center',
formatter: function(value, row, index) { formatter: function(value, row, index) {
var actions = []; var actions = [];
actions.push('<a href="javascript:void(0)" onclick="handle(\'' + row.remindId + '\')"><i class="fa fa-edit"></i>去处理</a> ');
actions.push('<a href="javascript:void(0)" onclick="manualHandle(\'' + row.remindId + '\')"><i class="fa fa-edit"></i>手动确认处理</a> ');
if (row.isHandle === '0'){
actions.push('<a href="javascript:void(0)" onclick="handle(\'' + row.remindId + '\', \'' + row.receiverUser + '\')"><i class="fa fa-edit"></i>去处理</a> ');
actions.push('<a href="javascript:void(0)" onclick="manualHandle(\'' + row.remindId + '\', \'' + row.receiverUser + '\')"><i class="fa fa-edit"></i>手动确认处理</a> ');
}
actions.push('<a href="javascript:void(0)" onclick="detail(\'' + row.remindId + '\')"><i class="fa fa-edit"></i>详情</a> '); actions.push('<a href="javascript:void(0)" onclick="detail(\'' + row.remindId + '\')"><i class="fa fa-edit"></i>详情</a> ');
var actionLinks = actions.join(''); var actionLinks = actions.join('');
return $.table.dropdownToggle(actionLinks); return $.table.dropdownToggle(actionLinks);
@ -131,7 +138,11 @@
} }
//去处理 //去处理
function handle(remindId) { function handle(remindId,receiverUser) {
if (receiverUser !== currentUser.loginName) {
$.modal.alertWarning("不允许非接受人处理该提醒!");
return;
}
$.ajax({ $.ajax({
url: prefix + "/handle/" + remindId, url: prefix + "/handle/" + remindId,
type: 'GET', type: 'GET',
@ -150,7 +161,12 @@
} }
//手动确认处理 //手动确认处理
function manualHandle(remindId) { function manualHandle(remindId,receiverUser) {
if (receiverUser !== currentUser.loginName) {
$.modal.alertWarning("不允许非接受人处理该提醒!");
return;
}
$.modal.open("手动处理", prefix + "/manualHandle/" + remindId); $.modal.open("手动处理", prefix + "/manualHandle/" + remindId);
} }
</script> </script>

Loading…
Cancel
Save