Commit 9ed98c53 by lijingjing

修改func_db_info()函数;

parent cdd49950
...@@ -303,6 +303,18 @@ public class EntrustController extends ServiceController { ...@@ -303,6 +303,18 @@ public class EntrustController extends ServiceController {
return success(entrustService.submitToCheck(ids,getAccount())); return success(entrustService.submitToCheck(ids,getAccount()));
} }
@ApiOperation("提交至下一节点")
@PostMapping("/submit_to_next_node")
public RestResult<Boolean> submitToNextNode(@RequestParam("ids")Long [] ids) {
return success(entrustService.submitToNextNode(ids,getAccount()));
}
@ApiOperation("退回至上一节点")
@PostMapping("/reject_to_prev_node")
public RestResult<Boolean> rejectToPrevNode(@RequestParam("id")Long id,String reason) {
return success(entrustService.rejectToPrevNode(id,reason,getAccount()));
}
@ApiOperation("委托评审退回") @ApiOperation("委托评审退回")
@PostMapping("/back_from_check") @PostMapping("/back_from_check")
...@@ -756,5 +768,10 @@ public class EntrustController extends ServiceController { ...@@ -756,5 +768,10 @@ public class EntrustController extends ServiceController {
return success(entrustService.pageEntrustProgress(getPage(), entrust)); return success(entrustService.pageEntrustProgress(getPage(), entrust));
} }
@ApiOperation("获取委托状态列表")
@GetMapping("/statusList")
public RestResult<EntrustStatusEnum[]> getStatusList() {
return success(EntrustStatusEnum.values());
}
} }
...@@ -64,4 +64,8 @@ public interface IEntrustService extends IBaseService<Entrust> { ...@@ -64,4 +64,8 @@ public interface IEntrustService extends IBaseService<Entrust> {
Page<EntrustVO> pageVO(Page<EntrustVO> page, EntrustVO entrust); Page<EntrustVO> pageVO(Page<EntrustVO> page, EntrustVO entrust);
Page<EntrustVO> pageEntrustProgress(Page<EntrustVO> page, EntrustVO entrust); Page<EntrustVO> pageEntrustProgress(Page<EntrustVO> page, EntrustVO entrust);
boolean submitToNextNode(Long[] ids, Account account);
boolean rejectToPrevNode(Long id,String reason, Account account);
} }
...@@ -216,9 +216,9 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -216,9 +216,9 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
entrustSampleService.update(sample, Condition.create().eq("entrust_id", entrustId)); entrustSampleService.update(sample, Condition.create().eq("entrust_id", entrustId));
// 样品操作日志 // 样品操作日志
// 暂时不提供 // 暂时不提供
/// 修改委托信息 // 修改委托信息
entrust.setLid(account.getUserId()).setLtime(new Date()).setProgress(EntrustStatusEnum.MAKE).setStatus(EntrustStatusEnum.MAKE); // entrust.setLid(account.getUserId()).setLtime(new Date()).setProgress(EntrustStatusEnum.TEST).setStatus(EntrustStatusEnum.TEST);
entrustService.updateById(entrust); // entrustService.updateById(entrust);
// 添加委托日志 // 添加委托日志
entrustRecordService.record(new Long[]{entrustId}, EntrustStatusEnum.TEST.getDisplay(), EntrustStatusEnum.TEST.getDisplay(), 0, account, "提交至报告编制"); entrustRecordService.record(new Long[]{entrustId}, EntrustStatusEnum.TEST.getDisplay(), EntrustStatusEnum.TEST.getDisplay(), 0, account, "提交至报告编制");
return true; return true;
......
...@@ -804,5 +804,116 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -804,5 +804,116 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
return page.setRecords(voList); return page.setRecords(voList);
} }
@Override
public boolean submitToNextNode(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids), "请选择要提交的委托");
List<Entrust> entrustList = super.list(Condition.create().in("id", ids).eq("deleted", 0));
RestAssert.fail(CollectionUtils.isEmpty(entrustList), "请选择要提交的委托");
for (Entrust e : entrustList) {
String statusPath = e.getStatusPath();
RestAssert.fail(StringUtils.isBlank(statusPath), String.format("编号为【%s】的委托,未配置状态信息!", e.getCode()));
String[] statusArr = statusPath.split("->");
EntrustStatusEnum status = e.getStatus();
int statusCode = status.getIntValue();
// 获取状态所处于状态路径的位置
int index = ArrayUtils.indexOf(statusArr, statusCode + "");
// 判定是否未最后一个状态
RestAssert.fail(index == statusArr.length - 1, String.format("编号为【%s】的委托此刻状态为最终状态,无法提交到下一步流程!", e.getCode()));
EntrustStatusEnum nextStatus = EntrustStatusEnum.valueOf(statusArr[index + 1]);
Entrust entrust = new Entrust();
entrust.setStatus(nextStatus);
entrust.setProgress(nextStatus);
if (update(entrust, Condition.create().in("id", ids))) {
// 判定当前状态(赋值后下一的状态)为何种状态
if (nextStatus == EntrustStatusEnum.OUT_INPUT) {
entrustRecordService.record(ids, status.getDisplay(), EntrustStatusEnum.OUT_INPUT.getDisplay(), 0, account, "提交至外委数据录入");
lmsMsgService.sendMsg("/hmhj/accept_manage/sub_input", "有外委登记提交过来,请及时填写外委数据", "新的委托外委数据录入任务!", account, null);
} else if (nextStatus == EntrustStatusEnum.CHECK) {
entrustRecordService.record(ids, status.getDisplay(), EntrustStatusEnum.CHECK.getDisplay(), 0, account, "提交至委托审核");
lmsMsgService.sendMsg("/hmhj/entrust_manage/entrust_review", "有委托从委托登记提交过来,请及时审核", "新的委托审核任务!", account, null);
} else if (nextStatus == EntrustStatusEnum.MAKE) {
// 判定当前状态是哪一个状态
if (status == EntrustStatusEnum.DRAFT) {
entrustRecordService.record(ids, status.getDisplay(), EntrustStatusEnum.MAKE.getDisplay(), 0, account, "委托登记提交至样品待制备");
lmsMsgService.sendMsg("/hmhj/sample_manage/sample_prepare", "有委托登记提交至样品待制备,请及时进行样品的制备", "新的样品制备任务!", account, null);
} else if (status == EntrustStatusEnum.CHECK) {
entrustRecordService.record(ids, status.getDisplay(), EntrustStatusEnum.MAKE.getDisplay(), 0, account, "提交至样品待制备");
lmsMsgService.sendMsg("/hmhj/sample_manage/sample_prepare", "有委托审核通过,请及时进行样品的制备", "新的样品制备任务!", account, null);
}
}
// else if (nextStatus == EntrustStatusEnum.TEST) {
// 此步骤实现是在提交检测处理时实现
// 验证是否全部提交检测项目,若提交全部样品下的检测项目,则提交委托信息
// 提交时,仍需要根据状态路径更改状态
// }
else if (nextStatus == EntrustStatusEnum.QUALITY_CHECK) {
EntrustSample entrustSample = new EntrustSample();
entrustSample.setStatus(EntrustSampleStatusEnum.END);
entrustSample.setProgress(EntrustSampleStatusEnum.END);
entrustSampleService.update(entrustSample, Condition.create().in("entrust_id", ids));
entrustRecordService.record(ids, EntrustStatusEnum.OUT_INPUT.getDisplay(), EntrustStatusEnum.QUALITY_CHECK.getDisplay(), 0, account, "外委数据录入提交至质量判定");
lmsMsgService.sendMsg("/hmhj/quality_manage/quality_decide", "有外委数据录入提交过来进行质量判定,请及时进行质量判定", "新的质量判定任务!", account, null);
}
}
}
return true;
}
@Override
public boolean rejectToPrevNode(Long id, String reason, Account account) {
RestAssert.fail(null == id, "请选择要驳回的委托");
Entrust e = super.getById(id);
RestAssert.fail(null == e, "请选择要驳回的委托");
String statusPath = e.getStatusPath();
RestAssert.fail(StringUtils.isBlank(statusPath), String.format("编号为【%s】的委托,未配置状态信息!", e.getCode()));
String[] statusArr = statusPath.split("->");
EntrustStatusEnum status = e.getStatus();
int statusCode = status.getIntValue();
// 获取状态所处于状态路径的位置
int index = ArrayUtils.indexOf(statusArr, statusCode + "");
// 判定是否为第一个状态
RestAssert.fail(index == statusArr.length - 1, String.format("编号为【%s】的委托此刻状态为最初始状态,无法驳回到上一步流程!", e.getCode()));
EntrustStatusEnum prevStatus = EntrustStatusEnum.valueOf(statusArr[index - 1]);
Entrust entrust = new Entrust();
entrust.setStatus(prevStatus);
entrust.setProgress(EntrustStatusEnum.BACK_CHECK);
Long[] ids = new Long[]{id};
if (update(entrust, Condition.create().eq("id", id))) {
//
entrustRecordService.record(ids, status.getDisplay(), prevStatus.getDisplay(), 1, account, reason);
// 判定当前状态(退回后上一状态)为何种状态
if (prevStatus == EntrustStatusEnum.DRAFT) {
lmsMsgService.sendMsg("/hmhj/entrust_manage/entrust_register", "有委托从委托审核驳回,请及时查看退回原因并处理", "新的委托审核退回任务!", account, null);
} else if (prevStatus == EntrustStatusEnum.OUT_DRAFT) {
lmsMsgService.sendMsg("/hmhj/entrust_manage/entrust_register", "有委托从委托审核驳回,请及时查看退回原因并处理", "新的委托审核退回任务!", account, null);
} else if (prevStatus == EntrustStatusEnum.OUT_INPUT) {
} else if (prevStatus == EntrustStatusEnum.CHECK) {
} else if (prevStatus == EntrustStatusEnum.MAKE) {
} else if (prevStatus == EntrustStatusEnum.QUALITY_CHECK) {
}
}
return true;
}
} }
-- 开启dblink拓展 -- 开启dblink拓展
...@@ -7,9 +7,9 @@ CREATE OR REPLACE FUNCTION "public"."func_db_info"("db_name" varchar='pc_base':: ...@@ -7,9 +7,9 @@ CREATE OR REPLACE FUNCTION "public"."func_db_info"("db_name" varchar='pc_base'::
RETURNS "pg_catalog"."varchar" AS $BODY$BEGIN RETURNS "pg_catalog"."varchar" AS $BODY$BEGIN
-- Routine body goes here... -- Routine body goes here...
IF(strpos(db_name,'dev_') > 0) then IF(strpos(db_name,'dev_') > 0) then
RETURN 'host=localhost dbname='|| db_name || ' user=postgres password=post123'; RETURN 'host=127.0.0.1 dbname='|| db_name || ' user=postgres password=post123';
ELSE ELSE
RETURN 'host=localhost dbname='|| db_name || ' user=hjhmdb password=hm57hj6'; RETURN 'host=127.0.0.1 dbname='|| db_name || ' user=hjhmdb password=hm57hj6';
END IF; END IF;
END$BODY$ END$BODY$
LANGUAGE plpgsql VOLATILE LANGUAGE plpgsql VOLATILE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment