|
@@ -0,0 +1,83 @@
|
|
|
+package com.fjhx.service.flow;
|
|
|
+
|
|
|
+import com.fjhx.constants.StatusConstant;
|
|
|
+import com.fjhx.entity.apply.ApplyDetails;
|
|
|
+import com.fjhx.enums.FlowStatusEnum;
|
|
|
+import com.fjhx.params.JumpVo;
|
|
|
+import com.fjhx.params.apply.ApplyVo;
|
|
|
+import com.fjhx.service.apply.ApplyDetailsService;
|
|
|
+import com.fjhx.service.apply.ApplyService;
|
|
|
+import com.fjhx.utils.ExampleAbstract;
|
|
|
+import com.fjhx.utils.FlowConstructor;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 发起申购
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class InitiateApplyFlowService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ApplyService applyService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ApplyDetailsService applyDetailsService;
|
|
|
+
|
|
|
+ private FlowConstructor getFlowConstructor() {
|
|
|
+ return FlowConstructor.init(new ExampleAbstract() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String getCode() {
|
|
|
+ return "js_initiateApply";
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void end() {
|
|
|
+ ApplyVo applyVo = getCacheData(ApplyVo.class);
|
|
|
+ applyVo.setFlowStatus(FlowStatusEnum.ADOPT.getType());
|
|
|
+ applyService.updateById(applyVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void adopt() {
|
|
|
+ ApplyVo applyVo = getCacheData(ApplyVo.class);
|
|
|
+ applyVo.setFlowStatus(FlowStatusEnum.UNDER_WAY.getType());
|
|
|
+ applyService.updateById(applyVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void reject() {
|
|
|
+ ApplyVo applyVo = getCacheData(ApplyVo.class);
|
|
|
+ applyVo.setFlowStatus(FlowStatusEnum.REJECT.getType());
|
|
|
+ applyService.updateById(applyVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ public void create(ApplyVo applyVo) {
|
|
|
+
|
|
|
+ // 添加申购
|
|
|
+ applyVo.setFlowStatus(FlowStatusEnum.WAIT.getType());
|
|
|
+ applyVo.setSafetyStockCreate(StatusConstant.NO);
|
|
|
+ applyVo.setCode(applyService.getCode());
|
|
|
+ applyService.save(applyVo);
|
|
|
+
|
|
|
+ Long id = applyVo.getId();
|
|
|
+
|
|
|
+ // 添加申购明细
|
|
|
+ List<ApplyDetails> applyDetailsList = applyVo.getApplyDetailsList();
|
|
|
+ applyDetailsList.forEach(item -> item.setApplyId(id));
|
|
|
+ applyDetailsService.saveBatch(applyDetailsList);
|
|
|
+
|
|
|
+ getFlowConstructor().create(id, "发起申购", applyVo.getRemark(), applyVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void jump(JumpVo jumpVo) {
|
|
|
+ getFlowConstructor().jump(jumpVo);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|