服务指令-请领流程,业务提交,完成判断,生成一下工单算法调整

This commit is contained in:
曹磊 2025-12-25 17:45:09 +08:00
parent 76322ec3a4
commit 9d59f41607
6 changed files with 357 additions and 269 deletions

View File

@ -272,6 +272,19 @@ public class QingLingServiceImpl implements IQinglingApi {
public Map<String, Object> submitQld(InvoicingQldGwcEntity dto) { public Map<String, Object> submitQld(InvoicingQldGwcEntity dto) {
Map<String, Object> result = Maps.newHashMap(); Map<String, Object> result = Maps.newHashMap();
if (StringUtils.isNotBlank(dto.getQldNo())) { if (StringUtils.isNotBlank(dto.getQldNo())) {
//检测是否已经开始服务
{
InvoicingOrdersEntity p_ = new InvoicingOrdersEntity();
p_.setFlowCode("ql_sq");
p_.setBizId(dto.getQldNo());
Map<String,String> 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")) { if (!invoicingQldLogService.opeNodeJudgeCanStatus(dto.getQldNo(), "3")) {
result.put("status", "faild"); result.put("status", "faild");
@ -298,27 +311,7 @@ public class QingLingServiceImpl implements IQinglingApi {
String status = "1"; String status = "1";
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); 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(); NuInvoicingQldLog logData = new NuInvoicingQldLog();
@ -341,41 +334,22 @@ public class QingLingServiceImpl implements IQinglingApi {
result.put("status", "success"); result.put("status", "success");
result.put("message", "提交成功"); result.put("message", "提交成功");
result.put("result", ownService.queryQldByQldNo(dto.getQldNo())); 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; return result;
} else { } else {
//检测 必须有新的指令 并且已经点击开始 //检测 必须有新的指令 并且已经点击开始
{ {
//指令工单处判断是否允许提交
InvoicingOrdersEntity p_ = new InvoicingOrdersEntity(); InvoicingOrdersEntity p_ = new InvoicingOrdersEntity();
p_.setFlowCode("ql_sq"); p_.setFlowCode("ql_sq");
p_.setNuId(dto.getNuId()); p_.setNuId(dto.getNuId());
p_.setElderId(dto.getElderId()); p_.setElderId(dto.getElderId());
InvoicingOrdersEntity v_ = invoicingQlOrdersApi.getQlOrderInfo(p_); Map<String,String> j = invoicingQlOrdersApi.izCanSubmit(p_);
if (v_ != null) { if(!j.get("error_code").equals("0")){
//有单子 但必须 点开始才行
if ("N".equals(v_.getIzStart())) {
//未点击开始
result.put("status", "faild"); result.put("status", "faild");
result.put("message", "请先开始指令"); result.put("message", j.get("msg"));
return result;
}
} else {
result.put("status", "faild");
result.put("message", "暂无服务指令");
return result; return result;
} }
//检测通过了 继续检测对应护理单元是否有未完结请领单 //检测通过了 继续检测对应护理单元是否有未完结请领单
QueryWrapper<NuInvoicingQldMain> qw = new QueryWrapper<>(); QueryWrapper<NuInvoicingQldMain> qw = new QueryWrapper<>();
qw.eq("nu_id", dto.getNuId()); qw.eq("nu_id", dto.getNuId());
@ -532,18 +506,14 @@ public class QingLingServiceImpl implements IQinglingApi {
result.put("status", "success"); result.put("status", "success");
result.put("message", "提交成功"); result.put("message", "提交成功");
//请领车-提交指令
InvoicingOrdersEntity orderEntity = new InvoicingOrdersEntity(); InvoicingOrdersEntity orderEntity = new InvoicingOrdersEntity();
orderEntity.setFlowCode("ql_sq");//指令流程flow_code 看接口有标明 orderEntity.setFlowCode("ql_sq");//指令流程flow_code 看接口有标明
orderEntity.setBizId(saveData.getQldNo());//请领单号 orderEntity.setBizId(saveData.getQldNo());//请领单号
orderEntity.setNuId(saveData.getNuId()); orderEntity.setNuId(saveData.getNuId());
orderEntity.setNuName(dto.getNuName());
orderEntity.setElderId(saveData.getElderId());//长者id orderEntity.setElderId(saveData.getElderId());//长者id
orderEntity.setElderName(dto.getElderName());//长者姓名
orderEntity.setInitiatorId(sysUser.getEmployessId());//员工id orderEntity.setInitiatorId(sysUser.getEmployessId());//员工id
orderEntity.setInitiatorName(sysUser.getRealname());//员工姓名 //修改指令工单中的业务单号
invoicingQlOrdersApi.flowQlsq(orderEntity); invoicingQlOrdersApi.updateOrderBizId(orderEntity);
return result; return result;
} }
} }
@ -993,18 +963,6 @@ public class QingLingServiceImpl implements IQinglingApi {
one.setHtTime(new Date());//回退时间 one.setHtTime(new Date());//回退时间
boolean r_ = invoicingQldMainService.updateById(one); 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("status", "success");
result.put("message", "回退成功"); result.put("message", "回退成功");
return result; return result;
@ -1096,17 +1054,6 @@ public class QingLingServiceImpl implements IQinglingApi {
invoicingQldMainService.update(qldData, qw); invoicingQldMainService.update(qldData, qw);
map.put("status", "success"); map.put("status", "success");
map.put("message", "出库成功"); 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; return map;
} }
//一次出库多个 //一次出库多个
@ -1260,60 +1207,61 @@ public class QingLingServiceImpl implements IQinglingApi {
@Override @Override
public Map<String, String> startDirectiveServe(InvoicingQldQueryEntity dto) { public Map<String, String> startDirectiveServe(InvoicingQldQueryEntity dto) {
Map<String, String> result = Maps.newHashMap(); //delete by caolei 2025-12-25
// Map<String, String> result = Maps.newHashMap();
//检测上一操作节点是否已完成指动作完成非点击了结束服务 //检测上一操作节点是否已完成指动作完成非点击了结束服务
if (StringUtils.isNotBlank(dto.getQldNo())) { // if (StringUtils.isNotBlank(dto.getQldNo())) {
//提交请领车时不做检测beginOrder方法自带检测 // //提交请领车时不做检测beginOrder方法自带检测
QueryWrapper<NuInvoicingQldMain> mainQW = new QueryWrapper<>(); // QueryWrapper<NuInvoicingQldMain> mainQW = new QueryWrapper<>();
mainQW.eq("qld_no", dto.getQldNo()); // mainQW.eq("qld_no", dto.getQldNo());
NuInvoicingQldMain main = invoicingQldMainMapper.selectOne(mainQW); // NuInvoicingQldMain main = invoicingQldMainMapper.selectOne(mainQW);
//
QueryWrapper<NuInvoicingQldLog> logQW = new QueryWrapper<>(); // QueryWrapper<NuInvoicingQldLog> logQW = new QueryWrapper<>();
logQW.eq("qld_no", dto.getQldNo()); // logQW.eq("qld_no", dto.getQldNo());
logQW.orderByDesc("create_time"); // logQW.orderByDesc("create_time");
List<NuInvoicingQldLog> logList = invoicingQldLogMapper.selectList(logQW); // List<NuInvoicingQldLog> logList = invoicingQldLogMapper.selectList(logQW);
//
//提交回退后 // //提交回退后
if ("1".equals(dto.getStatus())) { // if ("1".equals(dto.getStatus())) {
if(!"3".equals(logList.get(0).getStatus())){ // if(!"3".equals(logList.get(0).getStatus())){
result.put("status", "faild"); // result.put("status", "faild");
result.put("message", "服务指令暂时无法开始"); // result.put("message", "服务指令暂时无法开始");
return result; // return result;
} // }
} // }
//作废 // //作废
if ("2".equals(dto.getStatus())) { // if ("2".equals(dto.getStatus())) {
if(!"1".equals(logList.get(0).getStatus()) && !"3".equals(logList.get(0).getStatus())){ // if(!"1".equals(logList.get(0).getStatus()) && !"3".equals(logList.get(0).getStatus())){
result.put("status", "faild"); // result.put("status", "faild");
result.put("message", "服务指令暂时无法开始"); // result.put("message", "服务指令暂时无法开始");
return result; // return result;
} // }
} // }
//回退 // //回退
if ("3".equals(dto.getStatus())) { // if ("3".equals(dto.getStatus())) {
if(!"1".equals(logList.get(0).getStatus())){ // if(!"1".equals(logList.get(0).getStatus())){
result.put("status", "faild"); // result.put("status", "faild");
result.put("message", "服务指令暂时无法开始"); // result.put("message", "服务指令暂时无法开始");
return result; // return result;
} // }
} // }
//出库 // //出库
if ("4".equals(dto.getStatus())) { // if ("4".equals(dto.getStatus())) {
if(!"1".equals(logList.get(0).getStatus())){ // if(!"1".equals(logList.get(0).getStatus())){
result.put("status", "faild"); // result.put("status", "faild");
result.put("message", "服务指令暂时无法开始"); // result.put("message", "服务指令暂时无法开始");
return result; // return result;
} // }
} // }
//确认收货 // //确认收货
if ("5".equals(dto.getStatus())) { // if ("5".equals(dto.getStatus())) {
if(!"4".equals(logList.get(0).getStatus())){ // if(!"4".equals(logList.get(0).getStatus())){
result.put("status", "faild"); // result.put("status", "faild");
result.put("message", "服务指令暂时无法开始"); // result.put("message", "服务指令暂时无法开始");
return result; // return result;
} // }
} // }
} // }
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
InvoicingOrdersEntity p_ = new InvoicingOrdersEntity(); InvoicingOrdersEntity p_ = new InvoicingOrdersEntity();
@ -1324,11 +1272,119 @@ public class QingLingServiceImpl implements IQinglingApi {
@Override @Override
public Map<String, String> finishDirectiveServe(InvoicingQldQueryEntity dto) { public Map<String, String> finishDirectiveServe(InvoicingQldQueryEntity dto) {
Map<String,String> 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<NuInvoicingQldMain> 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(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
InvoicingOrdersEntity p_ = new InvoicingOrdersEntity(); InvoicingOrdersEntity p_ = new InvoicingOrdersEntity();
p_.setId(dto.getId()); p_.setId(dto.getId());
p_.setInitiatorId(sysUser.getEmployessId()); p_.setInitiatorId(sysUser.getEmployessId());
return invoicingOrdersApi.finishOrder(p_); 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<String, String> izCanFinish(String flowCode,String status){
Map<String,String> 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);
}
}
}
}

View File

@ -141,7 +141,7 @@ public class ThdServiceImpl implements ITuiHuoApi {
public Map<String, String> startDirectiveServe(InvoicingThdMainEntity dto) { public Map<String, String> startDirectiveServe(InvoicingThdMainEntity dto) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
InvoicingOrdersEntity orderEntity = new InvoicingOrdersEntity(); InvoicingOrdersEntity orderEntity = new InvoicingOrdersEntity();
orderEntity.setFlowCode("dyth_cksh");//指令流程flow_code 看接口有标明 // orderEntity.setFlowCode("dyth_cksh");//指令流程flow_code 看接口有标明
orderEntity.setId(dto.getId());//退货指令id orderEntity.setId(dto.getId());//退货指令id
orderEntity.setInitiatorId(sysUser.getEmployessId());//员工id orderEntity.setInitiatorId(sysUser.getEmployessId());//员工id
Map<String, String> result = invoicingOrdersApi.beginOrder(orderEntity); Map<String, String> result = invoicingOrdersApi.beginOrder(orderEntity);

View File

@ -16,13 +16,19 @@ public interface IInvoicingQlOrdersApi {
* 请领是否可提交 * 请领是否可提交
* @param invoicingOrdersEntity * @param invoicingOrdersEntity
*/ */
Map<String,String> qlIsCanSubmit(InvoicingOrdersEntity invoicingOrdersEntity); Map<String,String> izCanSubmit(InvoicingOrdersEntity invoicingOrdersEntity);
/**
* 请领是否可出库
* @param invoicingOrdersEntity
*/
Map<String,String> izCanCk(InvoicingOrdersEntity invoicingOrdersEntity);
/** /**
* 请领是否可重新提交 * 请领是否可重新提交
* @param invoicingOrdersEntity * @param invoicingOrdersEntity
*/ */
Map<String,String> qlIsCanReSubmit(InvoicingOrdersEntity invoicingOrdersEntity); Map<String,String> izCanReSubmit(InvoicingOrdersEntity invoicingOrdersEntity);
/** /**
* 流程中提交时修改业务单号 * 流程中提交时修改业务单号
@ -42,12 +48,6 @@ public interface IInvoicingQlOrdersApi {
*/ */
void flowQlsq(InvoicingOrdersEntity invoicingOrdersEntity); void flowQlsq(InvoicingOrdersEntity invoicingOrdersEntity);
/**
* 请领流程-重新请领申请 ql_sqr
* @param invoicingOrdersEntity
*/
void flowQlsqR(InvoicingOrdersEntity invoicingOrdersEntity);
/** /**
* 请领流程-出库 ql_ck * 请领流程-出库 ql_ck
* @param invoicingOrdersEntity * @param invoicingOrdersEntity

View File

@ -195,5 +195,8 @@ public class InvoicingOrders implements Serializable {
/**是否启用 Y启用 N未启用*/ /**是否启用 Y启用 N未启用*/
@TableField(exist = false) @TableField(exist = false)
private String izEnabled; private String izEnabled;
/** 是否判断单号为空 */
@TableField(exist = false)
private String izEmptyNo;
} }

View File

@ -309,9 +309,6 @@
a.pad_path as padPath a.pad_path as padPath
from nu_biz_nu_invoicing_directive_order a from nu_biz_nu_invoicing_directive_order a
<where> <where>
<if test="delFlag != null and delFlag != ''">
and del_flag = #{delFlag}
</if>
<if test="id != null and id != ''"> <if test="id != null and id != ''">
and id = #{id} and id = #{id}
</if> </if>
@ -333,6 +330,18 @@
<if test="bizType != null and bizType != ''"> <if test="bizType != null and bizType != ''">
and biz_type = #{bizType} and biz_type = #{bizType}
</if> </if>
<if test="delFlag != null and delFlag != ''">
and del_flag = #{delFlag}
</if>
<if test="izFinish != null and izFinish != ''">
and iz_finish = #{izFinish}
</if>
<if test="izRollback != null and izRollback != ''">
and iz_rollback = #{izRollback}
</if>
<if test="izEmptyNo != null and izEmptyNo == 'Y'">
and ifnull(biz_id,'') = ''
</if>
</where> </where>
order by create_time desc order by create_time desc
limit 1 limit 1

View File

@ -85,8 +85,83 @@ public class QlOrdersServiceImpl extends ServiceImpl<InvoicingOrdersMapper, Invo
* @param invoicingOrdersEntity * @param invoicingOrdersEntity
*/ */
@Override @Override
public Map<String,String> qlIsCanSubmit(InvoicingOrdersEntity invoicingOrdersEntity){ public Map<String,String> izCanSubmit(InvoicingOrdersEntity invoicingOrdersEntity){
return null; log.info("function:izCanSubmit");
log.info("FlowCode:"+invoicingOrdersEntity.getFlowCode());
log.info("NuId:"+invoicingOrdersEntity.getNuId());
log.info("ElderId:"+invoicingOrdersEntity.getElderId());
Map<String,String> map = new HashMap();
map.put("error_code","0");
map.put("msg","可以提交");
List<InvoicingOrders> 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<String,String> izCanCk(InvoicingOrdersEntity invoicingOrdersEntity){
log.info("function:izCanCk");
log.info("FlowCode:"+invoicingOrdersEntity.getFlowCode());
log.info("NuId:"+invoicingOrdersEntity.getNuId());
log.info("ElderId:"+invoicingOrdersEntity.getElderId());
Map<String,String> map = new HashMap();
map.put("error_code","0");
map.put("msg","可以提交");
List<InvoicingOrders> 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<InvoicingOrdersMapper, Invo
* @param invoicingOrdersEntity * @param invoicingOrdersEntity
*/ */
@Override @Override
public Map<String,String> qlIsCanReSubmit(InvoicingOrdersEntity invoicingOrdersEntity){ public Map<String,String> izCanReSubmit(InvoicingOrdersEntity invoicingOrdersEntity){
return null; log.info("function:izCanReSubmit");
log.info("FlowCode:"+invoicingOrdersEntity.getFlowCode());
log.info("BizId:"+invoicingOrdersEntity.getBizId());
Map<String,String> 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 @Override
public void updateOrderBizId(InvoicingOrdersEntity invoicingOrdersEntity){ public void updateOrderBizId(InvoicingOrdersEntity invoicingOrdersEntity){
log.info("function:updateOrderBizId"); log.info("function:updateOrderBizId");
log.info("BizId:"+invoicingOrdersEntity.getBizId()); log.info("BizId:"+invoicingOrdersEntity.getBizId());
log.info("UpdateBy:"+invoicingOrdersEntity.getInitiatorId()); log.info("UpdateBy:"+invoicingOrdersEntity.getInitiatorId());
empOrdersService.getNames(invoicingOrdersEntity); empOrdersService.getNames(invoicingOrdersEntity);
List<InvoicingOrders> flowList = baseMapper.getFlowList(invoicingOrdersEntity); List<InvoicingOrders> flowList = baseMapper.getFlowList(invoicingOrdersEntity);
if(flowList!=null){ if(flowList!=null){
InvoicingOrders flow = flowList.get(0); InvoicingOrders flow = flowList.get(0);
log.info("DirectiveId:"+flow.getDirectiveId()); log.info("DirectiveId:"+flow.getDirectiveId());
log.info("NuId:"+invoicingOrdersEntity.getNuId()); log.info("NuId:"+invoicingOrdersEntity.getNuId());
log.info("ElderId:"+invoicingOrdersEntity.getElderId()); log.info("ElderId:"+invoicingOrdersEntity.getElderId());
InvoicingOrders io = new InvoicingOrders();
QueryWrapper<InvoicingOrders> ioQw = new QueryWrapper<>(); io.setDirectiveId(flow.getDirectiveId());
ioQw.eq("directive_id", flow.getDirectiveId()); io.setNuId(invoicingOrdersEntity.getNuId());
ioQw.eq("nu_id", invoicingOrdersEntity.getNuId()); io.setElderId(invoicingOrdersEntity.getElderId());
ioQw.eq("elder_id", invoicingOrdersEntity.getElderId()); io.setIzFinish("N");
ioQw.eq("iz_finish", "N"); io.setDelFlag("0");
ioQw.eq("del_flag", "0"); io.setBizType(invoicingOrdersEntity.getFlowCode());
ioQw.eq("biz_type", invoicingOrdersEntity.getFlowCode()); io.setIzEmptyNo("Y");
InvoicingOrders order = this.getOne(ioQw); InvoicingOrders order = baseMapper.getOrderOne(io);
log.info("order:"+order); log.info("order:"+order);
if(order!=null){ if(order!=null){
log.info("OrderId:"+order.getId()); log.info("OrderId:"+order.getId());
@ -131,12 +225,11 @@ public class QlOrdersServiceImpl extends ServiceImpl<InvoicingOrdersMapper, Invo
entity.setBizId(invoicingOrdersEntity.getBizId()); entity.setBizId(invoicingOrdersEntity.getBizId());
entity.setUpdateEmp(invoicingOrdersEntity.getInitiatorId()); entity.setUpdateEmp(invoicingOrdersEntity.getInitiatorId());
entity.setUpdateTime(new Date()); entity.setUpdateTime(new Date());
baseMapper.updateOrder(entity); baseMapper.updateById(entity);
} }
} }
} }
/** /**
* 请领申请 * 请领申请
* 护理员点击提交按钮修改请领指令工单bizId * 护理员点击提交按钮修改请领指令工单bizId
@ -146,86 +239,37 @@ public class QlOrdersServiceImpl extends ServiceImpl<InvoicingOrdersMapper, Invo
*/ */
@Override @Override
public void flowQlsq(InvoicingOrdersEntity invoicingOrdersEntity){ public void flowQlsq(InvoicingOrdersEntity invoicingOrdersEntity){
log.info("function:flowQlsq"); log.info("function:flowQlsq");
log.info("BizId:"+invoicingOrdersEntity.getBizId()); log.info("BizId:"+invoicingOrdersEntity.getBizId());
log.info("UpdateBy:"+invoicingOrdersEntity.getInitiatorId()); log.info("UpdateBy:"+invoicingOrdersEntity.getInitiatorId());
log.info("NuId:"+invoicingOrdersEntity.getNuId());
log.info("ElderId:"+invoicingOrdersEntity.getElderId());
empOrdersService.getNames(invoicingOrdersEntity); empOrdersService.getNames(invoicingOrdersEntity);
List<InvoicingOrders> flowList = baseMapper.getFlowList(invoicingOrdersEntity); List<InvoicingOrders> flowList = baseMapper.getFlowList(invoicingOrdersEntity);
if(flowList!=null){ if(flowList!=null){
Calendar c = Calendar.getInstance();
InvoicingOrders flow = flowList.get(0); InvoicingOrders flow = flowList.get(0);
String subId = flow.getSubId();
log.info("DirectiveId:"+flow.getDirectiveId()); InvoicingOrders io = new InvoicingOrders();
log.info("NuId:"+invoicingOrdersEntity.getNuId()); io.setIzFinish("Y");
log.info("ElderId:"+invoicingOrdersEntity.getElderId()); io.setDelFlag("0");
io.setBizType(invoicingOrdersEntity.getFlowCode());
QueryWrapper<InvoicingOrders> ioQw = new QueryWrapper<>(); io.setBizId(invoicingOrdersEntity.getBizId());
ioQw.eq("directive_id", flow.getDirectiveId()); InvoicingOrders order = baseMapper.getOrderOne(io);
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);
log.info("order:"+order); log.info("order:"+order);
if(order!=null){ if(order!=null){
log.info("OrderId:"+order.getId()); log.info("OrderId:"+order.getId());
//修改请领单的bizId //修改请领单的bizId
InvoicingOrders entity = new InvoicingOrders(); InvoicingOrders entity = new InvoicingOrders();
entity.setId(order.getId()); entity.setId(order.getId());
entity.setBizId(invoicingOrdersEntity.getBizId());
entity.setUpdateEmp(invoicingOrdersEntity.getInitiatorId());
entity.setUpdateTime(new Date());
entity.setInitiatorId(invoicingOrdersEntity.getInitiatorId()); entity.setInitiatorId(invoicingOrdersEntity.getInitiatorId());
entity.setInitiatorName(invoicingOrdersEntity.getInitiatorName()); entity.setInitiatorName(invoicingOrdersEntity.getInitiatorName());
baseMapper.updateById(entity); baseMapper.updateById(entity);
} }
String subId = flow.getSubId();
if(subId!=null&&!subId.equals("")){ if(subId!=null&&!subId.equals("")){
InvoicingOrders invoicingOrders = new InvoicingOrders(); InvoicingOrders invoicingOrders = new InvoicingOrders();
invoicingOrders.setFlowId(subId); invoicingOrders.setFlowId(subId);
InvoicingOrders flowSub = baseMapper.getFlowOne(invoicingOrders); 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");
}
}
}
/**
* 请领申请-回退后重新申请
* 护理员点击提交按钮修改请领指令工单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<InvoicingOrders> 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());
insertNextOrder(flowSub,invoicingOrdersEntity,employee.getEmployeeId(),employee.getEmployeeName(),invoicingOrdersEntity.getInitiatorId(),invoicingOrdersEntity.getInitiatorName(),flowSub.getFlowCode(),"N"); insertNextOrder(flowSub,invoicingOrdersEntity,employee.getEmployeeId(),employee.getEmployeeName(),invoicingOrdersEntity.getInitiatorId(),invoicingOrdersEntity.getInitiatorName(),flowSub.getFlowCode(),"N");
} }
} }
@ -240,50 +284,36 @@ public class QlOrdersServiceImpl extends ServiceImpl<InvoicingOrdersMapper, Invo
*/ */
@Override @Override
public void flowQlck(InvoicingOrdersEntity invoicingOrdersEntity){ public void flowQlck(InvoicingOrdersEntity invoicingOrdersEntity){
log.info("function:flowQlck"); log.info("function:flowQlck");
log.info("BizId:"+invoicingOrdersEntity.getBizId()); log.info("BizId:"+invoicingOrdersEntity.getBizId());
log.info("UpdateBy:"+invoicingOrdersEntity.getInitiatorId()); log.info("UpdateBy:"+invoicingOrdersEntity.getInitiatorId());
log.info("NuId:"+invoicingOrdersEntity.getNuId());
log.info("ElderId:"+invoicingOrdersEntity.getElderId());
empOrdersService.getNames(invoicingOrdersEntity); empOrdersService.getNames(invoicingOrdersEntity);
List<InvoicingOrders> flowList = baseMapper.getFlowList(invoicingOrdersEntity); List<InvoicingOrders> flowList = baseMapper.getFlowList(invoicingOrdersEntity);
if(flowList!=null){ if(flowList!=null){
Calendar c = Calendar.getInstance();
InvoicingOrders flow = flowList.get(0); InvoicingOrders flow = flowList.get(0);
String subId = flow.getSubId();
log.info("DirectiveId:"+flow.getDirectiveId()); InvoicingOrders io = new InvoicingOrders();
log.info("NuId:"+invoicingOrdersEntity.getNuId()); io.setIzFinish("Y");
log.info("ElderId:"+invoicingOrdersEntity.getElderId()); io.setDelFlag("0");
io.setBizType(invoicingOrdersEntity.getFlowCode());
QueryWrapper<InvoicingOrders> ioQw = new QueryWrapper<>(); io.setBizId(invoicingOrdersEntity.getBizId());
ioQw.eq("directive_id", flow.getDirectiveId()); InvoicingOrders order = baseMapper.getOrderOne(io);
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);
log.info("order:"+order); log.info("order:"+order);
String initiatorId = ""; String initiatorId = "";
String initiatorName = ""; String initiatorName = "";
if(order!=null){ if(order!=null){
log.info("OrderId:"+order.getId()); log.info("OrderId:"+order.getId());
initiatorId = order.getInitiatorId(); initiatorId = order.getInitiatorId();
initiatorName = order.getInitiatorName(); initiatorName = order.getInitiatorName();
InvoicingOrders employee = empOrdersService.getOnLineEmployeeById(initiatorId); //获取是否在线 InvoicingOrders employee = empOrdersService.getOnLineEmployeeById(initiatorId); //获取是否在线
String subId = flow.getSubId();
if(subId!=null&&!subId.equals("")){ if(subId!=null&&!subId.equals("")){
InvoicingOrders invoicingOrders = new InvoicingOrders(); InvoicingOrders invoicingOrders = new InvoicingOrders();
invoicingOrders.setFlowId(subId); invoicingOrders.setFlowId(subId);
InvoicingOrders flowSub = baseMapper.getFlowOne(invoicingOrders); InvoicingOrders flowSub = baseMapper.getFlowOne(invoicingOrders);
if(employee==null){ 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"); insertNextOrder(flowSub,invoicingOrdersEntity,employee.getEmployeeId(),employee.getEmployeeName(),initiatorId,initiatorName,flowSub.getFlowCode(),"N");
} }
@ -300,32 +330,20 @@ public class QlOrdersServiceImpl extends ServiceImpl<InvoicingOrdersMapper, Invo
*/ */
@Override @Override
public void flowQlht(InvoicingOrdersEntity invoicingOrdersEntity){ public void flowQlht(InvoicingOrdersEntity invoicingOrdersEntity){
log.info("function:flowQlht"); log.info("function:flowQlht");
log.info("BizId:"+invoicingOrdersEntity.getBizId()); log.info("BizId:"+invoicingOrdersEntity.getBizId());
log.info("UpdateBy:"+invoicingOrdersEntity.getInitiatorId()); log.info("UpdateBy:"+invoicingOrdersEntity.getInitiatorId());
empOrdersService.getNames(invoicingOrdersEntity);
InvoicingOrdersEntity flowCode = new InvoicingOrdersEntity();
flowCode.setFlowCode("ql_ck");
List<InvoicingOrders> flowList = baseMapper.getFlowList(flowCode);
if(flowList!=null){
InvoicingOrders flow = flowList.get(0);
log.info("DirectiveId:"+flow.getDirectiveId());
log.info("NuId:"+invoicingOrdersEntity.getNuId()); log.info("NuId:"+invoicingOrdersEntity.getNuId());
log.info("ElderId:"+invoicingOrdersEntity.getElderId()); log.info("ElderId:"+invoicingOrdersEntity.getElderId());
empOrdersService.getNames(invoicingOrdersEntity);
QueryWrapper<InvoicingOrders> ioQw = new QueryWrapper<>(); List<InvoicingOrders> flowList = baseMapper.getFlowList(invoicingOrdersEntity);
ioQw.eq("directive_id", flow.getDirectiveId()); if(flowList!=null){
ioQw.eq("nu_id", invoicingOrdersEntity.getNuId()); InvoicingOrders io = new InvoicingOrders();
ioQw.eq("elder_id", invoicingOrdersEntity.getElderId()); io.setIzFinish("Y");
ioQw.eq("iz_finish", "N"); io.setDelFlag("0");
ioQw.eq("del_flag", "0"); io.setBizType(invoicingOrdersEntity.getFlowCode());
ioQw.eq("biz_type", "ql_ck"); io.setBizId(invoicingOrdersEntity.getBizId());
ioQw.eq("iz_rollback", "N"); InvoicingOrders order = baseMapper.getOrderOne(io);
ioQw.eq("biz_id", invoicingOrdersEntity.getBizId());
InvoicingOrders order = this.getOne(ioQw);
log.info("order:"+order); log.info("order:"+order);
if(order!=null){ if(order!=null){
log.info("OrderId:"+order.getId()); log.info("OrderId:"+order.getId());
@ -337,9 +355,11 @@ public class QlOrdersServiceImpl extends ServiceImpl<InvoicingOrdersMapper, Invo
entity.setRemarks("请领回退"); entity.setRemarks("请领回退");
entity.setUpdateEmp(invoicingOrdersEntity.getInitiatorId()); entity.setUpdateEmp(invoicingOrdersEntity.getInitiatorId());
entity.setUpdateTime(new Date()); entity.setUpdateTime(new Date());
baseMapper.updateOrder(entity); baseMapper.updateById(entity);
//回退指令 //回退指令
List<InvoicingOrders> htFlowList = baseMapper.getFlowList(invoicingOrdersEntity); InvoicingOrdersEntity flowCode = new InvoicingOrdersEntity();
flowCode.setFlowCode("ql_ht");
List<InvoicingOrders> htFlowList = baseMapper.getFlowList(flowCode);
if(htFlowList!=null){ if(htFlowList!=null){
InvoicingOrders htFlow = htFlowList.get(0); InvoicingOrders htFlow = htFlowList.get(0);
String subId = htFlow.getSubId(); String subId = htFlow.getSubId();