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 a1238e67..91d65a9e 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 @@ -272,6 +272,19 @@ public class QingLingServiceImpl implements IQinglingApi { public Map submitQld(InvoicingQldGwcEntity dto) { Map result = Maps.newHashMap(); if (StringUtils.isNotBlank(dto.getQldNo())) { + //检测是否已经开始服务 + { + InvoicingOrdersEntity p_ = new InvoicingOrdersEntity(); + p_.setFlowCode("ql_sq"); + p_.setBizId(dto.getQldNo()); + Map j = invoicingQlOrdersApi.izCanReSubmit(p_); + if(!j.get("error_code").equals("0")){ + result.put("status", "faild"); + result.put("message", j.get("msg")); + return result; + } + } + //检测是否可以正常提交 if (!invoicingQldLogService.opeNodeJudgeCanStatus(dto.getQldNo(), "3")) { result.put("status", "faild"); @@ -298,27 +311,7 @@ public class QingLingServiceImpl implements IQinglingApi { String status = "1"; LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //检测是否已经开始服务 - { - InvoicingOrdersEntity p_ = new InvoicingOrdersEntity(); - p_.setFlowCode("ql_sq"); - p_.setNuId(one.getNuId()); - p_.setElderId(one.getElderId()); - InvoicingOrdersEntity v_ = invoicingQlOrdersApi.getQlOrderInfo(p_); - if (v_ != null) { - //有单子 但必须 点开始才行 - if ("N".equals(v_.getIzStart())) { - //未点击开始 - result.put("status", "faild"); - result.put("message", "请先开始指令"); - return result; - } - } else { - result.put("status", "faild"); - result.put("message", "暂无服务指令"); - return result; - } - } + //日志表插记录 NuInvoicingQldLog logData = new NuInvoicingQldLog(); @@ -341,41 +334,22 @@ public class QingLingServiceImpl implements IQinglingApi { result.put("status", "success"); result.put("message", "提交成功"); result.put("result", ownService.queryQldByQldNo(dto.getQldNo())); - - //被回退请领单 重新提交指令 - InvoicingOrdersEntity orderEntity = new InvoicingOrdersEntity(); - orderEntity.setFlowCode("ql_sqr");//指令流程flow_code 看接口有标明 - orderEntity.setBizId(dto.getQldNo());//请领单号 - orderEntity.setNuId(dto.getNuId()); - orderEntity.setNuName(dto.getNuName()); - orderEntity.setElderId(dto.getElderId());//长者id - orderEntity.setElderName(dto.getElderName());//长者姓名 - orderEntity.setInitiatorId(sysUser.getEmployessId());//员工id - orderEntity.setInitiatorName(sysUser.getRealname());//员工姓名 - invoicingQlOrdersApi.flowQlsqR(orderEntity); - return result; } else { //检测 必须有新的指令 并且已经点击开始 { + //指令工单处判断是否允许提交 InvoicingOrdersEntity p_ = new InvoicingOrdersEntity(); p_.setFlowCode("ql_sq"); p_.setNuId(dto.getNuId()); p_.setElderId(dto.getElderId()); - InvoicingOrdersEntity v_ = invoicingQlOrdersApi.getQlOrderInfo(p_); - if (v_ != null) { - //有单子 但必须 点开始才行 - if ("N".equals(v_.getIzStart())) { - //未点击开始 - result.put("status", "faild"); - result.put("message", "请先开始指令"); - return result; - } - } else { + Map j = invoicingQlOrdersApi.izCanSubmit(p_); + if(!j.get("error_code").equals("0")){ result.put("status", "faild"); - result.put("message", "暂无服务指令"); + result.put("message", j.get("msg")); return result; } + //检测通过了 继续检测对应护理单元是否有未完结请领单 QueryWrapper qw = new QueryWrapper<>(); qw.eq("nu_id", dto.getNuId()); @@ -532,18 +506,14 @@ public class QingLingServiceImpl implements IQinglingApi { result.put("status", "success"); result.put("message", "提交成功"); - //请领车-提交指令 InvoicingOrdersEntity orderEntity = new InvoicingOrdersEntity(); orderEntity.setFlowCode("ql_sq");//指令流程flow_code 看接口有标明 orderEntity.setBizId(saveData.getQldNo());//请领单号 orderEntity.setNuId(saveData.getNuId()); - orderEntity.setNuName(dto.getNuName()); orderEntity.setElderId(saveData.getElderId());//长者id - orderEntity.setElderName(dto.getElderName());//长者姓名 orderEntity.setInitiatorId(sysUser.getEmployessId());//员工id - orderEntity.setInitiatorName(sysUser.getRealname());//员工姓名 - invoicingQlOrdersApi.flowQlsq(orderEntity); - + //修改指令工单中的业务单号 + invoicingQlOrdersApi.updateOrderBizId(orderEntity); return result; } } @@ -993,18 +963,6 @@ public class QingLingServiceImpl implements IQinglingApi { one.setHtTime(new Date());//回退时间 boolean r_ = invoicingQldMainService.updateById(one); - //服务指令流程-回退 - InvoicingOrdersEntity orderEntity = new InvoicingOrdersEntity(); - orderEntity.setFlowCode("ql_ht");//指令流程flow_code 看接口有标明 - orderEntity.setBizId(dto.getQldNo());//请领单号 - orderEntity.setNuId(dto.getNuId()); -// orderEntity.setNuName(dto.getNuName()); - orderEntity.setElderId(dto.getElderId());//长者id -// orderEntity.setElderName(dto.getElderName());//长者姓名 - orderEntity.setInitiatorId(sysUser.getEmployessId());//员工id - orderEntity.setInitiatorName(sysUser.getRealname());//员工姓名 - invoicingQlOrdersApi.flowQlht(orderEntity); - result.put("status", "success"); result.put("message", "回退成功"); return result; @@ -1096,17 +1054,6 @@ public class QingLingServiceImpl implements IQinglingApi { invoicingQldMainService.update(qldData, qw); map.put("status", "success"); map.put("message", "出库成功"); - - //出库-服务指令流程 - InvoicingOrdersEntity orderEntity = new InvoicingOrdersEntity(); - orderEntity.setFlowCode("ql_ck");//指令流程flow_code 看接口有标明 - orderEntity.setBizId(dto.getQldNo());//请领单号 - orderEntity.setNuId(one.getNuId()); - orderEntity.setElderId(one.getElderId());//长者id - orderEntity.setInitiatorId(sysUser.getEmployessId());//员工id - orderEntity.setInitiatorName(sysUser.getRealname());//员工姓名 - invoicingQlOrdersApi.flowQlck(orderEntity); - return map; } //一次出库多个 @@ -1260,60 +1207,61 @@ public class QingLingServiceImpl implements IQinglingApi { @Override public Map startDirectiveServe(InvoicingQldQueryEntity dto) { - Map result = Maps.newHashMap(); + //delete by caolei 2025-12-25 +// 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; - } - } - } +// 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(); @@ -1324,11 +1272,119 @@ public class QingLingServiceImpl implements IQinglingApi { @Override public Map finishDirectiveServe(InvoicingQldQueryEntity dto) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - - InvoicingOrdersEntity p_ = new InvoicingOrdersEntity(); - p_.setId(dto.getId()); - p_.setInitiatorId(sysUser.getEmployessId()); - return invoicingOrdersApi.finishOrder(p_); + Map map = new HashMap(); + map.put("error_code","0"); + map.put("msg","可以提交"); + //获取工单,请领单,判断是否可完成 + InvoicingOrdersEntity ioe = new InvoicingOrdersEntity(); + ioe.setId(dto.getDirectiveOrderId()); + InvoicingOrdersEntity entity = invoicingOrdersApi.getOrderInfo(ioe); + if(entity!=null){ + String qldNo = entity.getBizId();//业务单号 + if(qldNo!=null&&!qldNo.equals("")){ + //获取请领单 + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("qld_no", qldNo); + NuInvoicingQldMain main = invoicingQldMainService.getOne(qw); + if (main != null) { + map = this.izCanFinish(entity.getFlowCode(),main.getStatus()); + if(!map.get("error_code").equals("0")){ + return map; + } + //满足完成条件 + //完成 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + InvoicingOrdersEntity p_ = new InvoicingOrdersEntity(); + p_.setId(dto.getId()); + p_.setInitiatorId(sysUser.getEmployessId()); + map = invoicingOrdersApi.finishOrder(p_); + if(!map.get("error_code").equals("0")){ + return map; + } + //生成新单据 + createNextOrder(entity,main); + }else{ + map.put("error_code","1"); + map.put("msg","请领单不存在"); + return map; + } + }else{ + map.put("error_code","1"); + map.put("msg","请先提交请领单"); + return map; + } + }else{ + map.put("error_code","1"); + map.put("msg","工单不存在"); + return map; + } + return map; } + + /** + * 判断是否可结束工单 + * @return + */ + private Map izCanFinish(String flowCode,String status){ + Map map = new HashMap(); + map.put("error_code","0"); + map.put("msg","可以结束"); + //完成结束判断算法: + //一、申请可完成 flowCode=ql_sq,完成时只有2种判断,1、业务单号qldNo不为空 ;2、已提交status=1 + //二、出库可完成 flowCode=ql_ck,完成时只有2种判断,1、已出库status=4 ;2、已回退status=3 + //三、收货可完成 flowCode=ql_sh,完成时只有1种判断,1、已收货status=5 + //不考虑作废情况,作废时会将ql_sq的工单状态恢复成最原始状态,判断算法使用根据一、申请可完成 + //一、申请可完成判断 + if(flowCode.equals("ql_sq")){ + if(!status.equals("1")){ + map.put("error_code","1"); + map.put("msg","请先提交请领单"); + } + } + //二、出库可完成判断 + if(flowCode.equals("ql_ck")){ + if(status.equals("3")||status.equals("4")){ + }else{ + map.put("error_code","1"); + map.put("msg","请先出库或回退"); + } + } + //三、收货可完成判断 + if(flowCode.equals("ql_sh")){ + if(!status.equals("5")){ + map.put("error_code","1"); + map.put("msg","请先收货"); + } + } + return map; + } + + /** + * 生成下一服务指令工单 + */ + private void createNextOrder(InvoicingOrdersEntity entity,NuInvoicingQldMain main){ + String flowCode = entity.getFlowCode(); + String status = main.getStatus(); + InvoicingOrdersEntity orderEntity = new InvoicingOrdersEntity(); + orderEntity.setFlowCode(flowCode);//ql_sq + orderEntity.setBizId(main.getQldNo());//请领单号 + orderEntity.setNuId(main.getNuId());//护理单元id + orderEntity.setElderId(main.getElderId());//长者id + orderEntity.setInitiatorId(main.getTjBy());//提交人id + //生成请领下一步服务指令 + if(flowCode.equals("ql_sq")){ + invoicingQlOrdersApi.flowQlsq(orderEntity); + } + if(flowCode.equals("ql_ck")){ + //生成出库下一步服务指令 + if(status.equals("4")){ + invoicingQlOrdersApi.flowQlck(orderEntity); + } + //生成回退下一步服务指令 + if(status.equals("3")){ + invoicingQlOrdersApi.flowQlht(orderEntity); + } + } + } + } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/thd/service/impl/ThdServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/thd/service/impl/ThdServiceImpl.java index c51d75a5..0ec2d24f 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/thd/service/impl/ThdServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/thd/service/impl/ThdServiceImpl.java @@ -141,7 +141,7 @@ public class ThdServiceImpl implements ITuiHuoApi { public Map startDirectiveServe(InvoicingThdMainEntity dto) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); InvoicingOrdersEntity orderEntity = new InvoicingOrdersEntity(); - orderEntity.setFlowCode("dyth_cksh");//指令流程flow_code 看接口有标明 +// orderEntity.setFlowCode("dyth_cksh");//指令流程flow_code 看接口有标明 orderEntity.setId(dto.getId());//退货指令id orderEntity.setInitiatorId(sysUser.getEmployessId());//员工id Map result = invoicingOrdersApi.beginOrder(orderEntity); diff --git a/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/invoicing/api/IInvoicingQlOrdersApi.java b/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/invoicing/api/IInvoicingQlOrdersApi.java index bad95435..4c6e2e8e 100644 --- a/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/invoicing/api/IInvoicingQlOrdersApi.java +++ b/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/invoicing/api/IInvoicingQlOrdersApi.java @@ -16,13 +16,19 @@ public interface IInvoicingQlOrdersApi { * 请领是否可提交 * @param invoicingOrdersEntity */ - Map qlIsCanSubmit(InvoicingOrdersEntity invoicingOrdersEntity); + Map izCanSubmit(InvoicingOrdersEntity invoicingOrdersEntity); + + /** + * 请领是否可出库 + * @param invoicingOrdersEntity + */ + Map izCanCk(InvoicingOrdersEntity invoicingOrdersEntity); /** * 请领是否可重新提交 * @param invoicingOrdersEntity */ - Map qlIsCanReSubmit(InvoicingOrdersEntity invoicingOrdersEntity); + Map izCanReSubmit(InvoicingOrdersEntity invoicingOrdersEntity); /** * 流程中提交时修改业务单号 @@ -42,12 +48,6 @@ public interface IInvoicingQlOrdersApi { */ void flowQlsq(InvoicingOrdersEntity invoicingOrdersEntity); - /** - * 请领流程-重新请领申请 ql_sqr - * @param invoicingOrdersEntity - */ - void flowQlsqR(InvoicingOrdersEntity invoicingOrdersEntity); - /** * 请领流程-出库 ql_ck * @param invoicingOrdersEntity diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/entity/InvoicingOrders.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/entity/InvoicingOrders.java index 7cae7d46..5e1e4902 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/entity/InvoicingOrders.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/entity/InvoicingOrders.java @@ -195,5 +195,8 @@ public class InvoicingOrders implements Serializable { /**是否启用 Y启用 N未启用*/ @TableField(exist = false) private String izEnabled; + /** 是否判断单号为空 */ + @TableField(exist = false) + private String izEmptyNo; } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/mapper/xml/InvoicingOrdersMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/mapper/xml/InvoicingOrdersMapper.xml index fbbf2fbf..9c48709c 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/mapper/xml/InvoicingOrdersMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/mapper/xml/InvoicingOrdersMapper.xml @@ -309,9 +309,6 @@ a.pad_path as padPath from nu_biz_nu_invoicing_directive_order a - - and del_flag = #{delFlag} - and id = #{id} @@ -333,6 +330,18 @@ and biz_type = #{bizType} + + and del_flag = #{delFlag} + + + and iz_finish = #{izFinish} + + + and iz_rollback = #{izRollback} + + + and ifnull(biz_id,'') = '' + order by create_time desc limit 1 diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/service/impl/QlOrdersServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/service/impl/QlOrdersServiceImpl.java index 8d9beb12..d7794582 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/service/impl/QlOrdersServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/service/impl/QlOrdersServiceImpl.java @@ -85,8 +85,83 @@ public class QlOrdersServiceImpl extends ServiceImpl qlIsCanSubmit(InvoicingOrdersEntity invoicingOrdersEntity){ - return null; + public Map izCanSubmit(InvoicingOrdersEntity invoicingOrdersEntity){ + log.info("function:izCanSubmit"); + log.info("FlowCode:"+invoicingOrdersEntity.getFlowCode()); + log.info("NuId:"+invoicingOrdersEntity.getNuId()); + log.info("ElderId:"+invoicingOrdersEntity.getElderId()); + Map map = new HashMap(); + map.put("error_code","0"); + map.put("msg","可以提交"); + List flowList = baseMapper.getFlowList(invoicingOrdersEntity); + if(flowList!=null) { + InvoicingOrders flow = flowList.get(0); + log.info("DirectiveId:"+flow.getDirectiveId()); + InvoicingOrders io = new InvoicingOrders(); + io.setDirectiveId(flow.getDirectiveId()); + io.setNuId(invoicingOrdersEntity.getNuId()); + io.setElderId(invoicingOrdersEntity.getElderId()); + io.setIzFinish("N"); + io.setDelFlag("0"); + io.setBizType(invoicingOrdersEntity.getFlowCode()); + io.setIzEmptyNo("Y"); + InvoicingOrders entity = baseMapper.getOrderOne(io); + if(entity!=null){ + if(!"Y".equals(entity.getIzStart())) { + map.put("error_code", "1"); + map.put("msg", "工单未开始"); + } + }else{ + map.put("error_code","1"); + map.put("msg","工单不存在"); + } + }else{ + map.put("error_code","1"); + map.put("msg","工单不存在"); + } + return map; + } + + /** + * 请领是否可出库 + * @param invoicingOrdersEntity + */ + @Override + public Map izCanCk(InvoicingOrdersEntity invoicingOrdersEntity){ + log.info("function:izCanCk"); + log.info("FlowCode:"+invoicingOrdersEntity.getFlowCode()); + log.info("NuId:"+invoicingOrdersEntity.getNuId()); + log.info("ElderId:"+invoicingOrdersEntity.getElderId()); + Map map = new HashMap(); + map.put("error_code","0"); + map.put("msg","可以提交"); + List flowList = baseMapper.getFlowList(invoicingOrdersEntity); + if(flowList!=null) { + InvoicingOrders flow = flowList.get(0); + log.info("DirectiveId:"+flow.getDirectiveId()); + InvoicingOrders io = new InvoicingOrders(); + io.setDirectiveId(flow.getDirectiveId()); + io.setNuId(invoicingOrdersEntity.getNuId()); + io.setElderId(invoicingOrdersEntity.getElderId()); + io.setIzFinish("N"); + io.setDelFlag("0"); + io.setBizType(invoicingOrdersEntity.getFlowCode()); + io.setIzEmptyNo("Y"); + InvoicingOrders entity = baseMapper.getOrderOne(io); + if(entity!=null){ + if(!"Y".equals(entity.getIzStart())) { + map.put("error_code", "1"); + map.put("msg", "工单未开始"); + } + }else{ + map.put("error_code","1"); + map.put("msg","工单不存在"); + } + }else{ + map.put("error_code","1"); + map.put("msg","工单不存在"); + } + return map; } /** @@ -94,34 +169,53 @@ public class QlOrdersServiceImpl extends ServiceImpl qlIsCanReSubmit(InvoicingOrdersEntity invoicingOrdersEntity){ - return null; + public Map izCanReSubmit(InvoicingOrdersEntity invoicingOrdersEntity){ + log.info("function:izCanReSubmit"); + log.info("FlowCode:"+invoicingOrdersEntity.getFlowCode()); + log.info("BizId:"+invoicingOrdersEntity.getBizId()); + Map map = new HashMap(); + map.put("error_code","0"); + map.put("msg","可以提交"); + InvoicingOrders io = new InvoicingOrders(); + io.setIzFinish("N"); + io.setDelFlag("0"); + io.setIzRollback("Y"); + io.setBizType(invoicingOrdersEntity.getFlowCode()); + io.setBizId(invoicingOrdersEntity.getBizId()); + InvoicingOrders entity = baseMapper.getOrderOne(io); + if(entity!=null){ + if(!"Y".equals(entity.getIzStart())) { + map.put("error_code", "1"); + map.put("msg", "工单未开始"); + } + }else{ + map.put("error_code","1"); + map.put("msg","工单不存在"); + } + return map; } @Override public void updateOrderBizId(InvoicingOrdersEntity invoicingOrdersEntity){ - log.info("function:updateOrderBizId"); log.info("BizId:"+invoicingOrdersEntity.getBizId()); log.info("UpdateBy:"+invoicingOrdersEntity.getInitiatorId()); - empOrdersService.getNames(invoicingOrdersEntity); List flowList = baseMapper.getFlowList(invoicingOrdersEntity); if(flowList!=null){ InvoicingOrders flow = flowList.get(0); - log.info("DirectiveId:"+flow.getDirectiveId()); log.info("NuId:"+invoicingOrdersEntity.getNuId()); log.info("ElderId:"+invoicingOrdersEntity.getElderId()); - - QueryWrapper ioQw = new QueryWrapper<>(); - ioQw.eq("directive_id", flow.getDirectiveId()); - ioQw.eq("nu_id", invoicingOrdersEntity.getNuId()); - ioQw.eq("elder_id", invoicingOrdersEntity.getElderId()); - ioQw.eq("iz_finish", "N"); - ioQw.eq("del_flag", "0"); - ioQw.eq("biz_type", invoicingOrdersEntity.getFlowCode()); - InvoicingOrders order = this.getOne(ioQw); + InvoicingOrders io = new InvoicingOrders(); + io.setDirectiveId(flow.getDirectiveId()); + io.setNuId(invoicingOrdersEntity.getNuId()); + io.setElderId(invoicingOrdersEntity.getElderId()); + io.setIzFinish("N"); + io.setDelFlag("0"); + io.setBizType(invoicingOrdersEntity.getFlowCode()); + io.setIzEmptyNo("Y"); + InvoicingOrders order = baseMapper.getOrderOne(io); log.info("order:"+order); if(order!=null){ log.info("OrderId:"+order.getId()); @@ -131,12 +225,11 @@ public class QlOrdersServiceImpl extends ServiceImpl flowList = baseMapper.getFlowList(invoicingOrdersEntity); if(flowList!=null){ - Calendar c = Calendar.getInstance(); InvoicingOrders flow = flowList.get(0); - - log.info("DirectiveId:"+flow.getDirectiveId()); - log.info("NuId:"+invoicingOrdersEntity.getNuId()); - log.info("ElderId:"+invoicingOrdersEntity.getElderId()); - - QueryWrapper ioQw = new QueryWrapper<>(); - ioQw.eq("directive_id", flow.getDirectiveId()); - ioQw.eq("nu_id", invoicingOrdersEntity.getNuId()); - ioQw.eq("elder_id", invoicingOrdersEntity.getElderId()); - ioQw.eq("iz_finish", "N"); - ioQw.eq("iz_rollback", "N"); - ioQw.eq("del_flag", "0"); - ioQw.eq("biz_type", invoicingOrdersEntity.getFlowCode()); - InvoicingOrders order = this.getOne(ioQw); + String subId = flow.getSubId(); + InvoicingOrders io = new InvoicingOrders(); + io.setIzFinish("Y"); + io.setDelFlag("0"); + io.setBizType(invoicingOrdersEntity.getFlowCode()); + io.setBizId(invoicingOrdersEntity.getBizId()); + InvoicingOrders order = baseMapper.getOrderOne(io); log.info("order:"+order); if(order!=null){ log.info("OrderId:"+order.getId()); //修改请领单的bizId InvoicingOrders entity = new InvoicingOrders(); entity.setId(order.getId()); - entity.setBizId(invoicingOrdersEntity.getBizId()); - entity.setUpdateEmp(invoicingOrdersEntity.getInitiatorId()); - entity.setUpdateTime(new Date()); entity.setInitiatorId(invoicingOrdersEntity.getInitiatorId()); entity.setInitiatorName(invoicingOrdersEntity.getInitiatorName()); baseMapper.updateById(entity); } - String subId = flow.getSubId(); if(subId!=null&&!subId.equals("")){ InvoicingOrders invoicingOrders = new InvoicingOrders(); invoicingOrders.setFlowId(subId); InvoicingOrders flowSub = baseMapper.getFlowOne(invoicingOrders); - InvoicingOrders employee = empOrdersService.employeeScreening(flowSub.getDirectiveId(), invoicingOrdersEntity.getElderId(), c.getTime()); - insertNextOrder(flowSub,invoicingOrdersEntity,employee.getEmployeeId(),employee.getEmployeeName(),invoicingOrdersEntity.getInitiatorId(),invoicingOrdersEntity.getInitiatorName(),flowSub.getFlowCode(),"N"); - } - } - } - - /** - * 请领申请-回退后重新申请 - * 护理员点击提交按钮,修改请领指令工单bizId - * 获取下一节点,派单规则获取库管,生成一条未开始出库指令工单 - * ws推送通知库管 - * @param invoicingOrdersEntity - */ - @Override - public void flowQlsqR(InvoicingOrdersEntity invoicingOrdersEntity){ - - log.info("function:flowQlsqR"); - log.info("BizId:"+invoicingOrdersEntity.getBizId()); - log.info("UpdateBy:"+invoicingOrdersEntity.getInitiatorId()); - - empOrdersService.getNames(invoicingOrdersEntity); - InvoicingOrdersEntity flowCode = new InvoicingOrdersEntity(); - flowCode.setFlowCode("ql_sq"); - List flowList = baseMapper.getFlowList(flowCode); - if(flowList!=null){ - Calendar c = Calendar.getInstance(); - InvoicingOrders flow = flowList.get(0); - - log.info("DirectiveId:"+flow.getDirectiveId()); - log.info("NuId:"+invoicingOrdersEntity.getNuId()); - log.info("ElderId:"+invoicingOrdersEntity.getElderId()); - - String subId = flow.getSubId(); - if(subId!=null&&!subId.equals("")){ - InvoicingOrders invoicingOrders = new InvoicingOrders(); - invoicingOrders.setFlowId(subId); - InvoicingOrders flowSub = baseMapper.getFlowOne(invoicingOrders); - InvoicingOrders employee = empOrdersService.employeeScreening(flowSub.getDirectiveId(), invoicingOrdersEntity.getElderId(), c.getTime()); + InvoicingOrders employee = empOrdersService.employeeScreening(flowSub.getDirectiveId(), invoicingOrdersEntity.getElderId(), new Date()); insertNextOrder(flowSub,invoicingOrdersEntity,employee.getEmployeeId(),employee.getEmployeeName(),invoicingOrdersEntity.getInitiatorId(),invoicingOrdersEntity.getInitiatorName(),flowSub.getFlowCode(),"N"); } } @@ -240,50 +284,36 @@ public class QlOrdersServiceImpl extends ServiceImpl flowList = baseMapper.getFlowList(invoicingOrdersEntity); if(flowList!=null){ - Calendar c = Calendar.getInstance(); InvoicingOrders flow = flowList.get(0); - - log.info("DirectiveId:"+flow.getDirectiveId()); - log.info("NuId:"+invoicingOrdersEntity.getNuId()); - log.info("ElderId:"+invoicingOrdersEntity.getElderId()); - - QueryWrapper ioQw = new QueryWrapper<>(); - ioQw.eq("directive_id", flow.getDirectiveId()); - ioQw.eq("nu_id", invoicingOrdersEntity.getNuId()); - ioQw.eq("elder_id", invoicingOrdersEntity.getElderId()); - ioQw.eq("iz_finish", "N"); - ioQw.eq("iz_rollback", "N"); - ioQw.eq("del_flag", "0"); - ioQw.eq("biz_type", invoicingOrdersEntity.getFlowCode()); - ioQw.eq("biz_id", invoicingOrdersEntity.getBizId()); - InvoicingOrders order = this.getOne(ioQw); - + String subId = flow.getSubId(); + InvoicingOrders io = new InvoicingOrders(); + io.setIzFinish("Y"); + io.setDelFlag("0"); + io.setBizType(invoicingOrdersEntity.getFlowCode()); + io.setBizId(invoicingOrdersEntity.getBizId()); + InvoicingOrders order = baseMapper.getOrderOne(io); log.info("order:"+order); - String initiatorId = ""; String initiatorName = ""; if(order!=null){ - log.info("OrderId:"+order.getId()); - initiatorId = order.getInitiatorId(); initiatorName = order.getInitiatorName(); InvoicingOrders employee = empOrdersService.getOnLineEmployeeById(initiatorId); //获取是否在线 - String subId = flow.getSubId(); if(subId!=null&&!subId.equals("")){ InvoicingOrders invoicingOrders = new InvoicingOrders(); invoicingOrders.setFlowId(subId); InvoicingOrders flowSub = baseMapper.getFlowOne(invoicingOrders); if(employee==null){ - employee = empOrdersService.employeeScreening(flowSub.getDirectiveId(), invoicingOrdersEntity.getElderId(), c.getTime()); + employee = empOrdersService.employeeScreening(flowSub.getDirectiveId(), invoicingOrdersEntity.getElderId(), new Date()); } insertNextOrder(flowSub,invoicingOrdersEntity,employee.getEmployeeId(),employee.getEmployeeName(),initiatorId,initiatorName,flowSub.getFlowCode(),"N"); } @@ -300,32 +330,20 @@ public class QlOrdersServiceImpl extends ServiceImpl flowList = baseMapper.getFlowList(flowCode); + List flowList = baseMapper.getFlowList(invoicingOrdersEntity); if(flowList!=null){ - InvoicingOrders flow = flowList.get(0); - - log.info("DirectiveId:"+flow.getDirectiveId()); - log.info("NuId:"+invoicingOrdersEntity.getNuId()); - log.info("ElderId:"+invoicingOrdersEntity.getElderId()); - - QueryWrapper ioQw = new QueryWrapper<>(); - ioQw.eq("directive_id", flow.getDirectiveId()); - ioQw.eq("nu_id", invoicingOrdersEntity.getNuId()); - ioQw.eq("elder_id", invoicingOrdersEntity.getElderId()); - ioQw.eq("iz_finish", "N"); - ioQw.eq("del_flag", "0"); - ioQw.eq("biz_type", "ql_ck"); - ioQw.eq("iz_rollback", "N"); - ioQw.eq("biz_id", invoicingOrdersEntity.getBizId()); - InvoicingOrders order = this.getOne(ioQw); + InvoicingOrders io = new InvoicingOrders(); + io.setIzFinish("Y"); + io.setDelFlag("0"); + io.setBizType(invoicingOrdersEntity.getFlowCode()); + io.setBizId(invoicingOrdersEntity.getBizId()); + InvoicingOrders order = baseMapper.getOrderOne(io); log.info("order:"+order); if(order!=null){ log.info("OrderId:"+order.getId()); @@ -337,9 +355,11 @@ public class QlOrdersServiceImpl extends ServiceImpl htFlowList = baseMapper.getFlowList(invoicingOrdersEntity); + InvoicingOrdersEntity flowCode = new InvoicingOrdersEntity(); + flowCode.setFlowCode("ql_ht"); + List htFlowList = baseMapper.getFlowList(flowCode); if(htFlowList!=null){ InvoicingOrders htFlow = htFlowList.get(0); String subId = htFlow.getSubId();