diff --git a/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldQueryEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldQueryEntity.java index 08ec6820..9acfb40e 100644 --- a/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldQueryEntity.java +++ b/nursing-unit-common/src/main/java/com/nu/entity/InvoicingQldQueryEntity.java @@ -15,6 +15,10 @@ public class InvoicingQldQueryEntity{ * id */ private String id; + /** + * 执行指令id nu_biz_nu_invoicing_directive_order.id + */ + private String directiveOrderId; /** * 请领单单号 */ diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java index 899aff27..0e56e4ff 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/qld/service/impl/QingLingServiceImpl.java @@ -1257,10 +1257,64 @@ public class QingLingServiceImpl implements IQinglingApi { @Override public Map startDirectiveServe(InvoicingQldQueryEntity dto) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + Map result = Maps.newHashMap(); + //检测上一操作节点是否已完成(指动作完成,非点击了结束服务) + if (StringUtils.isNotBlank(dto.getQldNo())) { + //提交请领车时不做检测,beginOrder方法自带检测 + QueryWrapper mainQW = new QueryWrapper<>(); + mainQW.eq("qld_no", dto.getQldNo()); + NuInvoicingQldMain main = invoicingQldMainMapper.selectOne(mainQW); + QueryWrapper logQW = new QueryWrapper<>(); + logQW.eq("qld_no", dto.getQldNo()); + logQW.orderByDesc("create_time"); + List logList = invoicingQldLogMapper.selectList(logQW); + + //提交(回退后) + if ("1".equals(dto.getStatus())) { + if(!"3".equals(logList.get(0).getStatus())){ + result.put("status", "faild"); + result.put("message", "服务指令暂时无法开始"); + return result; + } + } + //作废 + if ("2".equals(dto.getStatus())) { + if(!"1".equals(logList.get(0).getStatus()) && !"3".equals(logList.get(0).getStatus())){ + result.put("status", "faild"); + result.put("message", "服务指令暂时无法开始"); + return result; + } + } + //回退 + if ("3".equals(dto.getStatus())) { + if(!"1".equals(logList.get(0).getStatus())){ + result.put("status", "faild"); + result.put("message", "服务指令暂时无法开始"); + return result; + } + } + //出库 + if ("4".equals(dto.getStatus())) { + if(!"1".equals(logList.get(0).getStatus())){ + result.put("status", "faild"); + result.put("message", "服务指令暂时无法开始"); + return result; + } + } + //确认收货 + if ("5".equals(dto.getStatus())) { + if(!"4".equals(logList.get(0).getStatus())){ + result.put("status", "faild"); + result.put("message", "服务指令暂时无法开始"); + return result; + } + } + } + + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); InvoicingOrdersEntity p_ = new InvoicingOrdersEntity(); - p_.setId(dto.getId()); + p_.setId(dto.getDirectiveOrderId());//执行指令id p_.setInitiatorId(sysUser.getEmployessId()); return invoicingOrdersApi.beginOrder(p_); }