fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutNoticeIn.java
@@ -2,8 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.bstek.dorado.annotation.PropertyDef; import com.fasterxml.jackson.annotation.JsonFormat; import com.fzzy.work.data.WorkStatus; import lombok.Data; import lombok.EqualsAndHashCode; import javax.persistence.*; @@ -78,18 +78,18 @@ @TableField("complete_number") private Double completeNumber = 0.0; @Column(name = "audit_status", columnDefinition = "varchar(10) COMMENT 'å®¡æ ¸ç¶æ(10=çç®¡å®¡æ ¸ï¼20=é¶è¡å®¡æ ¸ï¼30=éè¿)'") @Column(name = "audit_status", columnDefinition = "varchar(10)") @TableField("audit_status") private String auditStatus = "10"; private String auditStatus = WorkStatus.STATUS_10.getCode(); @Column(name = "audit_user", columnDefinition = "varchar(20) COMMENT 'å®¡æ ¸äºº'") @TableField("audit_user") private String auditUser; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Column(name = "audit_date", columnDefinition = "datetime COMMENT 'å®¡æ¹æ¶é´'") @TableField("audit_date") private Date auditDate; // @Column(name = "audit_user", columnDefinition = "varchar(20) COMMENT 'å®¡æ ¸äºº'") // @TableField("audit_user") // private String auditUser; // // @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") // @Column(name = "audit_date", columnDefinition = "datetime COMMENT 'å®¡æ¹æ¶é´'") // @TableField("audit_date") // private Date auditDate; @Column(name = "complete_status", columnDefinition = "varchar(20) COMMENT 'å®æç¶æ(NONE=æªå®æï¼COMPLETE=已宿)'") @TableField("complete_status") fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutNoticeOut.java
@@ -2,7 +2,6 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.bstek.dorado.annotation.PropertyDef; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.EqualsAndHashCode; fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/InoutNoticeInMapper.java
@@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.fzzy.igds.domain.InoutNoticeIn; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @Mapper public interface InoutNoticeInMapper extends BaseMapper<InoutNoticeIn> { void auditComplete(@Param("businessId") String businessId, @Param("status") String status); } fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/InoutNoticeOutMapper.java
@@ -3,8 +3,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.fzzy.igds.domain.InoutNoticeOut; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @Mapper public interface InoutNoticeOutMapper extends BaseMapper<InoutNoticeOut> { void auditComplete(@Param("businessId") String businessId, @Param("status") String status); } fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
@@ -185,7 +185,7 @@ //æµç¨ä¸å¯ç¨ if (null == conf || Constant.YN_N.equals(conf.getValTag())) { data.setAuditStatus(AuditStatus.STATUS_20.getCode()); data.setAuditDate(data.getCreateTime()); //data.setAuditDate(data.getCreateTime()); } else { BaseResp resp = workService.startByNoticeIn(data, conf); log.info("---------å¯å¨å·¥åæµç¨------{}", resp); fzzy-igdss-core/src/main/java/com/fzzy/igds/utils/ContextUtil.java
@@ -101,6 +101,11 @@ return null == user ? "ç³»ç»" : user.getUserName(); } public static String getLoginName() { SysUser user = ShiroUtils.getSysUser(); return null == user ? "sys" : user.getLoginName(); } public static SysUser getLoginUser() { return ShiroUtils.getSysUser(); } fzzy-igdss-core/src/main/java/com/fzzy/work/data/OrderStatus.java
ÎļþÒÑɾ³ý fzzy-igdss-core/src/main/java/com/fzzy/work/data/WorkStatus.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ package com.fzzy.work.data; /** * @Desc: * @Author: Andy.jia * @Date: 2025/12/18 */ public enum WorkStatus { STATUS_10("10", "å·²æäº¤"), STATUS_20("20", "已派å"), STATUS_30("30", "å¤çä¸"), STATUS_40("40", "已解å³"), STATUS_50("50", "已宿"), STATUS_60("60", "å·²æç»"), STATUS_70("70", "æèµ·"); private String code; private String msg; WorkStatus(String code, String msg) { this.code = code; this.msg = msg; } public String getCode() { return code; } public String getMsg() { return msg; } public static String getMsg(String code) { if(null == code) return null; if(WorkStatus.STATUS_10.getCode().equals(code)) return WorkStatus.STATUS_10.getMsg(); if(WorkStatus.STATUS_20.getCode().equals(code)) return WorkStatus.STATUS_20.getMsg(); if(WorkStatus.STATUS_30.getCode().equals(code)) return WorkStatus.STATUS_30.getMsg(); if(WorkStatus.STATUS_40.getCode().equals(code)) return WorkStatus.STATUS_40.getMsg(); if(WorkStatus.STATUS_50.getCode().equals(code)) return WorkStatus.STATUS_50.getMsg(); if(WorkStatus.STATUS_60.getCode().equals(code)) return WorkStatus.STATUS_60.getMsg(); return code; } } fzzy-igdss-core/src/main/java/com/fzzy/work/mapper/WorkOrderMapper.java
@@ -3,8 +3,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.fzzy.work.domain.WorkOrder; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @Mapper public interface WorkOrderMapper extends BaseMapper<WorkOrder> { void updateStatus(@Param("id") String id, @Param("status") String status); } fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java
@@ -5,7 +5,7 @@ import com.fzzy.igds.domain.InoutNoticeIn; import com.fzzy.igds.domain.InoutNoticeOut; import com.fzzy.igds.utils.ContextUtil; import com.fzzy.work.data.OrderStatus; import com.fzzy.work.data.WorkStatus; import com.fzzy.work.data.WorkBizType; import com.fzzy.work.data.WorkNode; import com.fzzy.work.domain.WorkOrder; @@ -50,6 +50,7 @@ * @return ååºç»æ */ public BaseResp startByNoticeIn(InoutNoticeIn data, WorkOrderConf conf) { if (null == conf) conf = confService.getByDeptId(data.getDeptId(), WorkBizType.TYPE_10); if (Constant.YN_N.equals(conf.getValTag())) return BaseResp.error("æµç¨æªå¯ç¨"); @@ -67,7 +68,7 @@ work.setUpdateTime(new Date()); work.setTitle("å ¥åºéç¥å审æ¹"); work.setConfId(conf.getId()); work.setStatus(OrderStatus.STATUS_30.getCode()); work.setStatus(WorkStatus.STATUS_30.getCode()); work.setReceiveTime(new Date()); String nextNode = this.getNextNode(WorkNode.NODE_START.getCode(), conf).getCode(); @@ -95,7 +96,7 @@ * @return ååºç»æ */ public BaseResp startByNoticeOut(InoutNoticeOut data, WorkOrderConf conf) { if (null == conf) conf = confService.getByDeptId(data.getDeptId(), WorkBizType.TYPE_10); if (null == conf) conf = confService.getByDeptId(data.getDeptId(), WorkBizType.TYPE_20); if (Constant.YN_N.equals(conf.getValTag())) return BaseResp.error("æµç¨æªå¯ç¨"); @@ -112,7 +113,7 @@ work.setUpdateTime(new Date()); work.setTitle("åºåºéç¥å审æ¹"); work.setConfId(conf.getId()); work.setStatus(OrderStatus.STATUS_30.getCode()); work.setStatus(WorkStatus.STATUS_30.getCode()); work.setReceiveTime(new Date()); String nextNode = this.getNextNode(WorkNode.NODE_START.getCode(), conf).getCode(); @@ -165,24 +166,60 @@ * è·åå¾ å¤çå·¥å * @return å¤çç»æ */ public BaseResp todoByProcess(WorkOrderProcess data) { public BaseResp todoByProcess(WorkOrderProcess process) { log.info("-----å·¥åå¤ç-----{}", data); log.info("-----å·¥åå¤ç-----{}", process); //è·åå·¥å WorkOrder work = orderService.selectById(data.getOrderId()); WorkOrder work = orderService.selectById(process.getOrderId()); if (null == work) return BaseResp.error("å½åå·¥åå·²ä¸åå¨"); String action = data.getAction(); String curNode = process.getNode(); //è·åå¤ç人 if (!curNode.equals(work.getNode())) { return BaseResp.error("å½åå·¥å已被å¤çï¼è¯·å·æ°é¡µé¢éè¯ï¼ï¼"); } //è·åé ç½®ä¿¡æ¯ WorkOrderConf conf = confService.selectById(work.getConfId()); if (null == conf) return BaseResp.error("å½åå·¥åæªé ç½®æµç¨"); String action = process.getAction(); //æ·»å è®°å½ process.setId(ContextUtil.UUID()); process.setCreateTime(new Date()); process.setOrderId(work.getId()); process.setAssigneeName(ContextUtil.getLoginUserName()); process.setAssigneeId(ContextUtil.getLoginName()); WorkNode node = this.getNextNode(work.getNode(), conf); log.info("å·¥å审æ¹ï¼{}ï¼å½åèç¹ï¼{}ï¼ä¸ä¸èç¹ï¼{}", work.getTitle(), work.getNode(), node); //éè¿æä½ if ("pass".equals(action)) { process.setAction("éè¿"); process.setNode(node.getCode()); //ç»æå¤æï¼å¦ææ¯ç»æèç¹ï¼åç»æå·¥å if(WorkNode.NODE_END.getCode().equals(process.getNode())){ work.setStatus(WorkStatus.STATUS_50.getCode()); orderService.complete(work); } } //æç»æä½ if ("refuse".equals(action)) { process.setAction("æç»"); process.setNode(WorkNode.NODE_END.getCode()); work.setStatus(WorkStatus.STATUS_60.getCode()); orderService.complete(work); } //å¢å 审æ¹è®°å½ orderProcessService.addData(process); return BaseResp.success(); } } fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java
@@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fzzy.igds.constant.InoutConstant; import com.fzzy.igds.mapper.InoutNoticeInMapper; import com.fzzy.igds.mapper.InoutNoticeOutMapper; import com.fzzy.igds.utils.ContextUtil; import com.fzzy.igds.utils.DateUtil; import com.fzzy.work.data.OrderStatus; import com.fzzy.work.data.WorkStatus; import com.fzzy.work.data.WorkBizType; import com.fzzy.work.data.WorkOrderParam; import com.fzzy.work.domain.WorkOrder; @@ -30,15 +33,18 @@ public class WorkOrderService { @Resource private WorkOrderMapper workOrderMapper; @Resource private InoutNoticeInMapper noticeInMapper; @Resource private InoutNoticeOutMapper noticeOutMapper; public void addData(WorkOrder data) { if(null == data.getId()) data.setId(ContextUtil.generateOrderId("GD")); if (null == data.getId()) data.setId(ContextUtil.generateOrderId("GD")); if(null == data.getCompanyId()) data.setCompanyId(ContextUtil.getCompanyId()); if (null == data.getCompanyId()) data.setCompanyId(ContextUtil.getCompanyId()); if(null == data.getCreateBy()){ if (null == data.getCreateBy()) { SysUser user = ContextUtil.getLoginUser(); data.setCreateBy(user.getUserName()); data.setCreateById(user.getLoginName()); @@ -77,7 +83,7 @@ public List<SysDictData> triggerStatus() { List<SysDictData> list = new ArrayList<SysDictData>(); for (OrderStatus w : OrderStatus.values()) { for (WorkStatus w : WorkStatus.values()) { list.add(new SysDictData(w.getMsg(), w.getCode())); } return list; @@ -90,14 +96,14 @@ } return list; } public List<SysDictData> triggerBizType() { List<SysDictData> list = new ArrayList<SysDictData>(); public List<SysDictData> triggerBizType() { List<SysDictData> list = new ArrayList<SysDictData>(); for (WorkBizType w : WorkBizType.values()) { list.add(new SysDictData(w.getMsg(), w.getCode())); } return list; } } /** * è·åç¨æ·å¾ å¤ç工忰 @@ -120,7 +126,22 @@ public WorkOrder selectById(String orderId) { if(null == orderId) return null; if (null == orderId) return null; return workOrderMapper.selectById(orderId); } public void complete(WorkOrder work) { //æ´æ°å·¥åç¶æ workOrderMapper.updateStatus(work.getId(), work.getStatus()); //æ´æ°å ¥åºéç¥åç¶æ if (work.getBizType().equals(WorkBizType.TYPE_10.getCode())) { noticeInMapper.auditComplete(work.getBusinessId(), work.getStatus()); } //æ´æ°å ¥åºéç¥åç¶æ if (work.getBizType().equals(WorkBizType.TYPE_20.getCode())) { noticeOutMapper.auditComplete(work.getBusinessId(), work.getStatus()); } } } fzzy-igdss-core/src/main/resources/mapper/InoutNoticeInMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.fzzy.igds.mapper.InoutNoticeInMapper"> <update id="auditComplete" parameterType="String"> update d_inout_notice_out set audit_status = #{status},update_time = sysdate() where id = #{businessId} </update> </mapper> fzzy-igdss-core/src/main/resources/mapper/InoutNoticeOutMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.fzzy.igds.mapper.InoutNoticeOutMapper"> <update id="auditComplete" parameterType="String"> update d_inout_notice_out set audit_status = #{status},update_time = sysdate() where id = #{businessId} </update> </mapper> fzzy-igdss-core/src/main/resources/mapper/WorkOrderMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.fzzy.work.mapper.WorkOrderMapper"> <update id="updateStatus" parameterType="String"> update work_order <set> <if test="status != null and status != ''">status = #{status},</if> update_time = sysdate() </set> where id = #{id} </update> </mapper> fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrderPR.java
@@ -6,7 +6,7 @@ import com.bstek.dorado.data.provider.Page; import com.fzzy.igds.data.BaseResp; import com.fzzy.igds.utils.ContextUtil; import com.fzzy.work.data.OrderStatus; import com.fzzy.work.data.WorkStatus; import com.fzzy.work.domain.WorkOrder; import com.fzzy.work.data.WorkOrderParam; import com.fzzy.work.domain.WorkOrderConf; @@ -76,7 +76,7 @@ com.baomidou.mybatisplus.extension.plugins.pagination.Page<WorkOrder> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize()); if (null == param) param = new WorkOrderParam(); param.setStatus(OrderStatus.STATUS_50.getCode()); param.setStatus(WorkStatus.STATUS_50.getCode()); param.setCompanyId(ContextUtil.getCompanyId()); workOrderService.pageQuery(corePage, param); fzzy-igdss-web/src/main/java/com/fzzy/common/manager/CommonManager.java
@@ -9,7 +9,7 @@ import com.fzzy.igds.service.*; import com.fzzy.igds.utils.ContextUtil; import com.fzzy.igds.utils.DateUtil; import com.fzzy.work.data.OrderStatus; import com.fzzy.work.data.WorkStatus; import com.fzzy.work.service.WorkOrderService; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysDictData; @@ -244,7 +244,7 @@ MainData mainData = new MainData(); //å¾ å工忰 Integer orderNum = workOrderService.getNumByUser(OrderStatus.STATUS_30.getCode(), user.getLoginName()); Integer orderNum = workOrderService.getNumByUser(WorkStatus.STATUS_30.getCode(), user.getLoginName()); mainData.setOrderNum(orderNum); //ç»è®¡åºå ¥åºä¿¡æ¯