Browse Source

审批微调

master
常熟吴彦祖 3 months ago
parent
commit
ed6dd28085
  1. 4
      src/main/java/com/xujie/modules/workFlow/controller/ErfFlowInstanceController.java
  2. 5
      src/main/java/com/xujie/modules/workFlow/entity/ErfFlowInstance.java
  3. 4
      src/main/java/com/xujie/modules/workFlow/service/ErfFlowInstanceService.java
  4. 21
      src/main/java/com/xujie/modules/workFlow/service/impl/ErfFlowInstanceServiceImpl.java
  5. 15
      src/main/resources/mapper/workFlow/ErfFlowInstanceMapper.xml

4
src/main/java/com/xujie/modules/workFlow/controller/ErfFlowInstanceController.java

@ -44,12 +44,12 @@ public class ErfFlowInstanceController extends AbstractController {
}
/**
* 创建流程实例测试用
* 创建流程实例测试用 - rqrq
*/
@PostMapping("/create")
@ResponseBody
public R createFlowInstance(@RequestBody ErfFlowInstanceData data) {
erfFlowInstanceService.createFlowInstance(data.getApplyNo(), data.getOrderType(),
erfFlowInstanceService.createFlowInstance(data.getOrderRef1(), data.getOrderType(),
data.getSite(), data.getFlowCode());
return R.ok();
}

5
src/main/java/com/xujie/modules/workFlow/entity/ErfFlowInstance.java

@ -67,6 +67,11 @@ public class ErfFlowInstance extends QueryPage {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date endTime;
/**
* 关联单号 - rqrq
*/
private String orderRef1;
/**
* 备注
*/

4
src/main/java/com/xujie/modules/workFlow/service/ErfFlowInstanceService.java

@ -23,9 +23,9 @@ public interface ErfFlowInstanceService {
List<ErfFlowNodeInstanceData> searchNodeInstanceList(String applyNo, String site, String orderType);
/**
* 创建流程实例
* 创建流程实例 - rqrq 返回审批单号
*/
void createFlowInstance(String applyNo, String orderType, String site, String flowCode);
String createFlowInstance(String orderRef1, String orderType, String site, String flowCode);
/**
* 审批节点实例

21
src/main/java/com/xujie/modules/workFlow/service/impl/ErfFlowInstanceServiceImpl.java

@ -8,6 +8,7 @@ import com.xujie.modules.sys.entity.SysUserEntity;
import com.xujie.modules.workFlow.data.*;
import com.xujie.modules.workFlow.entity.ErfFlowInstance;
import com.xujie.modules.workFlow.entity.ErfFlowNodeInstance;
import com.xujie.modules.srm.mapper.SrmSupplierMapper;
import com.xujie.modules.workFlow.mapper.ErfFlowInstanceMapper;
import com.xujie.modules.workFlow.mapper.ErfFlowTemplateMapper;
import com.xujie.modules.workFlow.service.ErfFlowInstanceService;
@ -30,6 +31,9 @@ public class ErfFlowInstanceServiceImpl extends ServiceImpl<ErfFlowInstanceMappe
@Autowired
private ErfFlowTemplateMapper erfFlowTemplateMapper;
@Autowired
private SrmSupplierMapper srmSupplierMapper;
@Override
public PageUtils searchInstanceList(ErfFlowInstanceData data) {
System.out.println("开始查询流程实例列表");
@ -47,14 +51,13 @@ public class ErfFlowInstanceServiceImpl extends ServiceImpl<ErfFlowInstanceMappe
@Override
@Transactional
public void createFlowInstance(String applyNo, String orderType, String site, String flowCode) {
System.out.println("开始创建流程实例,单号:" + applyNo + ",流程编码:" + flowCode);
public String createFlowInstance(String orderRef1, String orderType, String site, String flowCode) {
System.out.println("开始创建流程实例,关联单号:" + orderRef1 + ",流程编码:" + flowCode);
// 检查是否已存在
ErfFlowInstanceData existInstance = erfFlowInstanceMapper.getInstanceByApplyNo(applyNo, site, orderType);
if (existInstance != null) {
throw new RuntimeException("该单据已存在审批流程");
}
// 自动生成applyNo - rqrq
srmSupplierMapper.updateTransNo(site, "SP");
String applyNo = srmSupplierMapper.getTransNo(site, "SP");
System.out.println("自动生成审批单号:" + applyNo);
// 获取流程模板
ErfFlowTemplateData template = erfFlowTemplateMapper.getTemplateByFlowCode(flowCode, site);
@ -89,9 +92,10 @@ public class ErfFlowInstanceServiceImpl extends ServiceImpl<ErfFlowInstanceMappe
throw new RuntimeException("流程配置错误:审批节点未配置审批人");
}
// 创建流程实例
// 创建流程实例 - rqrq
ErfFlowInstance instance = new ErfFlowInstance();
instance.setApplyNo(applyNo);
instance.setOrderRef1(orderRef1);
instance.setSite(site);
instance.setOrderType(orderType);
instance.setFlowCode(flowCode);
@ -118,6 +122,7 @@ public class ErfFlowInstanceServiceImpl extends ServiceImpl<ErfFlowInstanceMappe
}
System.out.println("创建流程实例结束");
return applyNo;
}
@Override

15
src/main/resources/mapper/workFlow/ErfFlowInstanceMapper.xml

@ -3,10 +3,11 @@
<!-- rqrq - 流程实例Mapper XML -->
<mapper namespace="com.xujie.modules.workFlow.mapper.ErfFlowInstanceMapper">
<!-- 查询流程实例列表(分页) -->
<!-- 查询流程实例列表(分页) - rqrq -->
<select id="searchInstanceList" resultType="ErfFlowInstanceData">
SELECT
i.apply_no,
i.order_ref1,
i.site,
i.order_type,
i.flow_code,
@ -29,6 +30,9 @@
<if test="query.applyNo != null and query.applyNo != ''">
AND i.apply_no LIKE '%' + #{query.applyNo} + '%'
</if>
<if test="query.orderRef1 != null and query.orderRef1 != ''">
AND i.order_ref1 LIKE '%' + #{query.orderRef1} + '%'
</if>
<if test="query.orderType != null and query.orderType != ''">
AND i.order_type = #{query.orderType}
</if>
@ -69,13 +73,13 @@
ORDER BY n.node_order, ni.attempt_no
</select>
<!-- 插入流程实例 -->
<!-- 插入流程实例 - rqrq -->
<insert id="insertInstance">
INSERT INTO erf_flow_instance (
apply_no, site, order_type, flow_code, flow_version,
apply_no, order_ref1, site, order_type, flow_code, flow_version,
status, current_node_code, start_time
) VALUES (
#{applyNo}, #{site}, #{orderType}, #{flowCode}, #{flowVersion},
#{applyNo}, #{orderRef1}, #{site}, #{orderType}, #{flowCode}, #{flowVersion},
#{status}, #{currentNodeCode}, GETDATE()
)
</insert>
@ -154,10 +158,11 @@
AND ni.order_type = #{orderType}
</select>
<!-- 获取流程实例 -->
<!-- 获取流程实例 - rqrq -->
<select id="getInstanceByApplyNo" resultType="ErfFlowInstanceData">
SELECT
i.apply_no,
i.order_ref1,
i.site,
i.order_type,
i.flow_code,

Loading…
Cancel
Save