Merge branch 'master' of http://47.115.223.229:8888/yangjun/nursing_unit_java
This commit is contained in:
commit
146c7bfcb3
|
|
@ -290,7 +290,7 @@ public class CareDirectiveApi {
|
|||
Date ygkssj = item.getStartTime(); // 应该开始时间
|
||||
Date sjkssj = item.getBeginTime(); // 实际开始时间
|
||||
Date sjjssj = item.getFinishTime(); // 实际结束时间
|
||||
String rcsc = item.getServiceAllowedTimeout(); // 容错时长(分钟)
|
||||
String rcsc = item.getTimeoutDuration(); // 容错时长(分钟)
|
||||
String fwsc = item.getServiceDuration(); // 服务时长(分钟)
|
||||
|
||||
// 判断是否超时(实际开始时间 > 应该开始时间 + 容错时长)
|
||||
|
|
|
|||
|
|
@ -431,7 +431,6 @@ public class InvoicingApi {
|
|||
}
|
||||
|
||||
|
||||
|
||||
@ApiOperation(value = "查询采购单信息(主要用于分享接口)", notes = "查询采购单信息(主要用于分享接口)")
|
||||
@GetMapping(value = "/getShareInfoByCgdId")
|
||||
public Result<Map<String, Object>> getShareInfoByCgdId(CgdMainEntity cgdMainEntityDto) {
|
||||
|
|
@ -442,6 +441,28 @@ public class InvoicingApi {
|
|||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询采购单列表信息(主要用于小程序接口)", notes = "查询采购单列表信息(主要用于小程序接口)")
|
||||
@GetMapping(value = "/getCgdListByGysId")
|
||||
public Result<IPage<CgdMainEntity>> getCgdListByGysId(CgdMainEntity cgdMainEntityDto,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
if(StringUtils.isEmpty(cgdMainEntityDto.getGysId())){
|
||||
return Result.error("采购单错误");
|
||||
}
|
||||
IPage<CgdMainEntity> pageList = invoicingApi.getCgdListByGysId(pageNo, pageSize, cgdMainEntityDto,req);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
@ApiOperation(value = "查询采购单信息(主要用于小程序接口)", notes = "查询采购单信息(主要用于小程序接口)")
|
||||
@GetMapping(value = "/getCgdInfoByCgdId")
|
||||
public Result<Map<String, Object>> getCgdInfoByCgdId(CgdMainEntity cgdMainEntityDto) {
|
||||
if(StringUtils.isEmpty(cgdMainEntityDto.getId())){
|
||||
return Result.error("采购单错误");
|
||||
}
|
||||
Map<String, Object> pageList = invoicingApi.getCgdInfoByCgdId(cgdMainEntityDto);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "采购单-查询预警物料信息-分页列表查询", notes = "采购单-查询预警物料信息-分页列表查询")
|
||||
@GetMapping(value = "/queryCgdWaringList")
|
||||
public Result<IPage<MaterialInfoEntity>> queryCgdWaringList(MaterialInfoEntity materialInfoEntityDto,
|
||||
|
|
|
|||
|
|
@ -92,6 +92,8 @@ public class ShiroConfig {
|
|||
|
||||
filterChainDefinitionMap.put("/api/tplink/videoStorage/**", "anon"); //视频缓存存储接口
|
||||
filterChainDefinitionMap.put("/api/pad/invoicing/getShareInfoByCgdId", "anon"); //查询采购单信息(分享接口使用)
|
||||
filterChainDefinitionMap.put("/api/pad/invoicing/getCgdListByGysId", "anon"); //查询采购单列表信息(小程序使用)
|
||||
filterChainDefinitionMap.put("/api/pad/invoicing/getCgdInfoByCgdId", "anon"); //查询采购单列表详细信息(小程序使用)
|
||||
// filterChainDefinitionMap.put("/api/pad/invoicing/pdd/**", "anon"); //查询盘点单
|
||||
// filterChainDefinitionMap.put("/api/employessInfo/**", "anon"); //测试员工接口
|
||||
// filterChainDefinitionMap.put("/api/pad/invoicing/**", "anon"); //测试进销存对应的接口
|
||||
|
|
|
|||
|
|
@ -29,8 +29,6 @@ public class CareOrdersSubEntity implements Serializable {
|
|||
private String orderNo;
|
||||
/**主表id*/
|
||||
private String mainId;
|
||||
/**数据池子表ID*/
|
||||
private String poolSubId;
|
||||
/**护理单元id*/
|
||||
private String nuId;
|
||||
/**护理单元名称*/
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ public class CgdMainEntity implements Serializable {
|
|||
/**付款方式*/
|
||||
private String gysFkfs;
|
||||
/**状态 0:待采购 1:采购中 2采购完成 3作废*/
|
||||
@Dict(dicCode = "cgd_status")
|
||||
private String status;
|
||||
/**采购单类型 0采购单 1挂帐单 2结账单 9作废*/
|
||||
@Dict(dicCode = "cgd_type")
|
||||
|
|
@ -117,4 +118,5 @@ public class CgdMainEntity implements Serializable {
|
|||
private String nuId;
|
||||
private String sysOrgCode;
|
||||
private String izNew;
|
||||
private String departName;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,8 +34,6 @@ public class DirectiveOrderEntity implements Serializable {
|
|||
/**执行类型 1单人 2协助 3转单*/
|
||||
private String optType;
|
||||
private String optTypeName;
|
||||
/**服务容错时长(end_time + 这个时间) 小于 begin_time算超时*/
|
||||
private String serviceAllowedTimeout;
|
||||
/**是否超时 Y超时 N未超时*/
|
||||
private String izTimeout;
|
||||
/**实际执行人id(多个); 主要执行人+协助人*/
|
||||
|
|
@ -90,6 +88,8 @@ public class DirectiveOrderEntity implements Serializable {
|
|||
private String serviceDuration;
|
||||
/**服务说明*/
|
||||
private String serviceContent;
|
||||
/**超时时长(分钟)*/
|
||||
private String timeoutDuration;
|
||||
/**服务指令包ID*/
|
||||
private String packageId;
|
||||
/**服务指令包名称*/
|
||||
|
|
|
|||
|
|
@ -89,6 +89,8 @@ public class DirectiveOrderSubEntity implements Serializable {
|
|||
private String serviceDuration;
|
||||
/**服务说明*/
|
||||
private String serviceContent;
|
||||
/**超时时长(分钟)*/
|
||||
private String timeoutDuration;
|
||||
/**收费价格*/
|
||||
private BigDecimal tollPrice;
|
||||
/**提成价格*/
|
||||
|
|
@ -137,8 +139,7 @@ public class DirectiveOrderSubEntity implements Serializable {
|
|||
/**执行类型 1单人 2协助 3转单*/
|
||||
private String optType;
|
||||
private String optTypeName;
|
||||
/**服务容错时长(end_time + 这个时间) 小于 begin_time算超时*/
|
||||
private String serviceAllowedTimeout;
|
||||
|
||||
/**是否超时 Y超时 N未超时*/
|
||||
private String izTimeout;
|
||||
/**实际执行人id(多个); 主要执行人+协助人*/
|
||||
|
|
|
|||
|
|
@ -91,4 +91,8 @@ public interface IInvoicingApi {
|
|||
Map<String, Object> queryCrkInfoNumList(Integer pageNo, Integer pageSize, WarehouseMaterialCrkInfoEntity crkInfoEntity, HttpServletRequest req);
|
||||
|
||||
Map<String, Object> queryPddStartInfo(Object o);
|
||||
|
||||
IPage<CgdMainEntity> getCgdListByGysId(Integer pageNo, Integer pageSize, CgdMainEntity cgdMainEntityDto, HttpServletRequest req);
|
||||
|
||||
Map<String, Object> getCgdInfoByCgdId(CgdMainEntity cgdMainEntityDto);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -249,5 +249,7 @@ public class NuInvoicingCgdMain implements Serializable {
|
|||
private String crksl;
|
||||
@TableField(exist = false)
|
||||
private BigDecimal xiaoJi;
|
||||
@TableField(exist = false)
|
||||
private String departName;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.api.ISysBaseAPI;
|
||||
import org.jeecg.common.system.query.QueryGenerator;
|
||||
import org.jeecg.common.system.query.QueryRuleEnum;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
|
|
@ -115,6 +116,9 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
@Autowired
|
||||
private IDirectiveOrderApi directiveOrderApi;
|
||||
|
||||
@Autowired
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
|
||||
@Override
|
||||
public void rukuInfo(NuInvoicingCgdMain nuInvoicingCgdMain) {
|
||||
}
|
||||
|
|
@ -1451,4 +1455,39 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
return pddApi.queryPddStartInfo(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<CgdMainEntity> getCgdListByGysId(Integer pageNo, Integer pageSize, CgdMainEntity cgdMainEntityDto, HttpServletRequest req) {
|
||||
JSONObject deptInfo = sysBaseAPI.getDeptInfo();
|
||||
String departName = deptInfo.getString("name");
|
||||
QueryWrapper<NuInvoicingCgdMain> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("gys_id",cgdMainEntityDto.getGysId());
|
||||
queryWrapper.ne("cgd_type","9");
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
Page<NuInvoicingCgdMain> page = new Page<>(pageNo, pageSize);
|
||||
List<NuInvoicingCgdMain> list = baseMapper.selectList(page,queryWrapper);
|
||||
list.forEach(item->{
|
||||
item.setDepartName(departName);
|
||||
});
|
||||
IPage<CgdMainEntity> entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
|
||||
entityPage.setRecords(BeanUtil.copyToList(list, CgdMainEntity.class));
|
||||
return entityPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getCgdInfoByCgdId(CgdMainEntity cgdMainEntityDto) {
|
||||
JSONObject deptInfo = sysBaseAPI.getDeptInfo();
|
||||
String departName = deptInfo.getString("name");
|
||||
NuInvoicingCgdMain cgdMain = baseMapper.selectById(cgdMainEntityDto.getId());
|
||||
List<NuInvoicingCgdInfo> list = cgdInfoMapper.selectList(new QueryWrapper<NuInvoicingCgdInfo>().eq("cgd_id",cgdMain.getId()));
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("cgdNo",cgdMain.getCgdNo());
|
||||
map.put("qgDate",cgdMain.getQgDate());
|
||||
map.put("status_dictText",dictUtils.translateDictValue("cgd_status",cgdMain.getStatus()));
|
||||
map.put("departName",departName);
|
||||
map.put("qgBy",cgdMain.getQgBy());
|
||||
map.put("createBy",cgdMain.getCreateBy());
|
||||
map.put("list", list);
|
||||
return map;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,10 @@ public interface DirectiveDataPoolMapper extends BaseMapper<DirectiveDataPool> {
|
|||
|
||||
DirectiveDataPool queryPoolOne(DirectiveDataPool dataPool);
|
||||
|
||||
DirectiveDataPool getDirectiveById(@Param("id") String id);
|
||||
|
||||
DirectiveDataPool getPackageById(@Param("id") String id);
|
||||
|
||||
void createDataPoolLog(DirectiveDataPool dataPool);
|
||||
|
||||
void addDataPoolLog(DirectiveDataPool dataPool);
|
||||
|
|
|
|||
|
|
@ -38,6 +38,36 @@
|
|||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getDirectiveById" resultType="com.nu.modules.biz.datapool.entity.DirectiveDataPool">
|
||||
select
|
||||
a.id as directiveId,
|
||||
a.directive_name as directiveName,
|
||||
a.preview_file as previewFile,
|
||||
a.preview_file_small as previewFileSmall,
|
||||
a.mp3_file as mp3File,
|
||||
a.mp4_file as mp4File,
|
||||
a.service_duration as serviceDuration,
|
||||
a.service_content as serviceContent,
|
||||
a.timeout_duration as timeoutDuration
|
||||
from nu_config_service_directive a
|
||||
where a.id = #{id}
|
||||
and a.del_flag = '0'
|
||||
and a.iz_enabled = 'Y'
|
||||
</select>
|
||||
|
||||
<select id="getPackageById" resultType="com.nu.modules.biz.datapool.entity.DirectiveDataPool">
|
||||
select
|
||||
a.id as directiveId,
|
||||
a.package_name as directiveName,
|
||||
a.total_duration as serviceDuration,
|
||||
a.description as serviceContent,
|
||||
a.timeout_duration as timeoutDuration
|
||||
from nu_config_directive_package a
|
||||
where a.id = #{id}
|
||||
and a.del_flag = '0'
|
||||
and a.iz_enabled = 'Y'
|
||||
</select>
|
||||
|
||||
<update id="createDataPoolLog">
|
||||
CREATE TABLE IF NOT EXISTS ${tableName} (
|
||||
id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID',
|
||||
|
|
@ -177,7 +207,12 @@
|
|||
iz_start
|
||||
from nu_biz_nu_directive_order
|
||||
where pool_id = #{id}
|
||||
AND iz_start = #{izStart}
|
||||
<if test="izStart != null and izStart != ''">
|
||||
AND iz_start = #{izStart}
|
||||
</if>
|
||||
<if test="startTime != null">
|
||||
AND start_time >= #{startTime}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<update id="addOrdersLog">
|
||||
|
|
|
|||
|
|
@ -15,6 +15,10 @@ public interface IDirectiveDataPoolService extends IService<DirectiveDataPool> {
|
|||
|
||||
DirectiveDataPool queryPoolOne(DirectiveDataPool directiveDataPool);
|
||||
|
||||
DirectiveDataPool getDirectiveById(String id);
|
||||
|
||||
DirectiveDataPool getPackageById(String id);
|
||||
|
||||
void deleteOrders(String dateStr, DirectiveDataPool dataPool);
|
||||
|
||||
void addDataPoolLog(String dateStr,String id);
|
||||
|
|
|
|||
|
|
@ -49,6 +49,17 @@ public class CareDataPoolServiceImpl extends ServiceImpl<CareDataPoolMapper, Dir
|
|||
if(pool!=null){
|
||||
continue;
|
||||
}
|
||||
if(plan.getIzPackage().equals("N")){
|
||||
DirectiveDataPool directiveEntity = dataPoolService.getDirectiveById(plan.getDirectiveId());
|
||||
if(directiveEntity==null){
|
||||
continue;
|
||||
}
|
||||
}else{
|
||||
DirectiveDataPool packageEntity = dataPoolService.getPackageById(plan.getDirectiveId());
|
||||
if(packageEntity==null){
|
||||
continue;
|
||||
}
|
||||
}
|
||||
addDataPool(plan);
|
||||
}
|
||||
}
|
||||
|
|
@ -219,7 +230,7 @@ public class CareDataPoolServiceImpl extends ServiceImpl<CareDataPoolMapper, Dir
|
|||
dataPool.setNuId(careDirectivePlan.getNuId());
|
||||
dataPool.setDirectiveId(careDirectivePlan.getDirectiveId());
|
||||
dataPool.setStartTime(c.getTime());
|
||||
dataPool.setIzStart("N");
|
||||
// dataPool.setIzStart("N"); //不判断是否开始,只针对时间
|
||||
DirectiveDataPool pool = dataPoolService.queryPoolOne(dataPool);
|
||||
if(pool!=null){
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description: 服务指令数据池管理
|
||||
|
|
@ -44,6 +45,16 @@ public class DirectiveDataPoolServiceImpl extends ServiceImpl<DirectiveDataPoolM
|
|||
return baseMapper.queryPoolOne(directiveDataPool);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DirectiveDataPool getDirectiveById(String id){
|
||||
return baseMapper.getDirectiveById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DirectiveDataPool getPackageById(String id){
|
||||
return baseMapper.getPackageById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除派单
|
||||
* @param dateStr
|
||||
|
|
@ -51,12 +62,15 @@ public class DirectiveDataPoolServiceImpl extends ServiceImpl<DirectiveDataPoolM
|
|||
*/
|
||||
@Override
|
||||
public void deleteOrders(String dateStr, DirectiveDataPool dataPool){
|
||||
dataPool.setIzStart("N");
|
||||
//获取未开始的工单
|
||||
DirectiveDataPool pool = baseMapper.queryOrdersOne(dataPool);
|
||||
if(pool!=null){
|
||||
DirectiveDataPool entity = new DirectiveDataPool();
|
||||
entity.setId(dataPool.getId());
|
||||
entity.setStartTime(new Date());
|
||||
// entity.setIzStart("N");//不判断是否开始,只针对时间
|
||||
DirectiveDataPool order = baseMapper.queryOrdersOne(entity);
|
||||
if(order!=null){
|
||||
//删除工单
|
||||
addOrdersLog(dateStr,pool);
|
||||
addOrdersLog(dateStr,order);
|
||||
//ws发送通知给员工,员工端删除次工单(待完善)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,6 +49,17 @@ public class InvoicingDataPoolServiceImpl extends ServiceImpl<InvoicingDataPoolM
|
|||
if(pool!=null){
|
||||
continue;
|
||||
}
|
||||
if(plan.getIzPackage().equals("N")){
|
||||
DirectiveDataPool directiveEntity = dataPoolService.getDirectiveById(plan.getDirectiveId());
|
||||
if(directiveEntity==null){
|
||||
continue;
|
||||
}
|
||||
}else{
|
||||
DirectiveDataPool packageEntity = dataPoolService.getPackageById(plan.getDirectiveId());
|
||||
if(packageEntity==null){
|
||||
continue;
|
||||
}
|
||||
}
|
||||
addDataPool(plan);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,6 +49,17 @@ public class LogisticsDataPoolServiceImpl extends ServiceImpl<LogisticsDataPoolM
|
|||
if(pool!=null){
|
||||
continue;
|
||||
}
|
||||
if(plan.getIzPackage().equals("N")){
|
||||
DirectiveDataPool directiveEntity = dataPoolService.getDirectiveById(plan.getDirectiveId());
|
||||
if(directiveEntity==null){
|
||||
continue;
|
||||
}
|
||||
}else{
|
||||
DirectiveDataPool packageEntity = dataPoolService.getPackageById(plan.getDirectiveId());
|
||||
if(packageEntity==null){
|
||||
continue;
|
||||
}
|
||||
}
|
||||
addDataPool(plan);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,16 +83,14 @@ public class DirectiveOrder implements Serializable {
|
|||
private String serviceDuration;
|
||||
/**服务描述*/
|
||||
private String serviceContent;
|
||||
/**超时时长(分钟)*/
|
||||
private String timeoutDuration;
|
||||
/**收费价格*/
|
||||
private BigDecimal tollPrice;
|
||||
/**提成价格*/
|
||||
private BigDecimal comPrice;
|
||||
/**实际提成价格*/
|
||||
private BigDecimal realComPrice;
|
||||
/**指令包id*/
|
||||
private String packageId;
|
||||
/**指令包名称*/
|
||||
private String packageName;
|
||||
/**是否是服务指令包 Y是 N否*/
|
||||
private String izPackage;
|
||||
/**开始时间*/
|
||||
|
|
@ -145,8 +143,7 @@ public class DirectiveOrder implements Serializable {
|
|||
private String remarks;
|
||||
/**执行类型 1单人 2协助 3转单*/
|
||||
private String optType;
|
||||
/**服务容错时长(end_time + 这个时间) 小于 begin_time算超时*/
|
||||
private String serviceAllowedTimeout;
|
||||
|
||||
/**是否超时 Y超时 N未超时*/
|
||||
private String izTimeout;
|
||||
/**实际执行人id(多个); 主要执行人+协助人*/
|
||||
|
|
|
|||
|
|
@ -36,8 +36,6 @@ public class DirectiveOrderSub implements Serializable {
|
|||
private String orderType;
|
||||
/**主表id*/
|
||||
private String mainId;
|
||||
/**数据池子表ID*/
|
||||
private String poolSubId;
|
||||
/**护理单元id*/
|
||||
private String nuId;
|
||||
/**护理单元名称*/
|
||||
|
|
@ -92,6 +90,8 @@ public class DirectiveOrderSub implements Serializable {
|
|||
private String serviceDuration;
|
||||
/**服务描述*/
|
||||
private String serviceContent;
|
||||
/**超时时长(分钟)*/
|
||||
private String timeoutDuration;
|
||||
/**收费价格*/
|
||||
private BigDecimal tollPrice;
|
||||
/**提成价格*/
|
||||
|
|
@ -144,8 +144,7 @@ public class DirectiveOrderSub implements Serializable {
|
|||
|
||||
/**执行类型 1单人 2协助 3转单*/
|
||||
private String optType;
|
||||
/**服务容错时长(end_time + 这个时间) 小于 begin_time算超时*/
|
||||
private String serviceAllowedTimeout;
|
||||
|
||||
/**是否超时 Y超时 N未超时*/
|
||||
private String izTimeout;
|
||||
/**实际执行人id(多个); 主要执行人+协助人*/
|
||||
|
|
|
|||
|
|
@ -37,7 +37,11 @@ public interface DirectiveOrderMapper extends BaseMapper<DirectiveOrder> {
|
|||
|
||||
List<DirectiveOrderEntity> queryCurrent(@Param("dto") CareDirectiveEntity dto);
|
||||
|
||||
DirectiveOrder getInstantById(DirectiveOrder orders);
|
||||
|
||||
DirectiveOrder getDirectiveById(DirectiveOrder orders);
|
||||
|
||||
DirectiveOrder getPackageById(DirectiveOrder orders);
|
||||
|
||||
DirectiveOrder getEmployeeById(@Param("employeeId") String employeeId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ import java.util.List;
|
|||
* @Version: V1.0
|
||||
*/
|
||||
public interface DirectiveOrderSubMapper extends BaseMapper<DirectiveOrderSub> {
|
||||
List<DirectiveOrderSub> queryDataPoolSubList(DirectiveOrder orders);
|
||||
List<DirectiveOrderSub> getDirectiveList(@Param("directiveId") String directiveId);
|
||||
List<DirectiveOrderSub> getSubDirectiveList(@Param("packageId") String packageId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
<result column="update_time" property="updateTime"/>
|
||||
<result column="del_flag" property="delFlag"/>
|
||||
<result column="remarks" property="remarks"/>
|
||||
<result column="service_allowed_timeout" property="serviceAllowedTimeout"/>
|
||||
<result column="timeout_duration" property="timeoutDuration"/>
|
||||
<result column="iz_timeout" property="izTimeout"/>
|
||||
<result column="opt_ids" property="optIds"/>
|
||||
<result column="opt_names" property="optNames"/>
|
||||
|
|
@ -114,6 +114,30 @@
|
|||
</resultMap>
|
||||
|
||||
<select id="queryDataPoolList" resultType="com.nu.modules.biz.order.entity.DirectiveOrder">
|
||||
select
|
||||
a.id as poolId,
|
||||
a.pool_type as orderType,
|
||||
a.biz_id as bizId,
|
||||
a.nu_id as nuId,
|
||||
b.nu_name as nuName,
|
||||
c.id as elderId,
|
||||
c.name as elderName,
|
||||
a.directive_id as directiveId,
|
||||
a.cycle_type_id as cycleTypeId,
|
||||
d.item_text as cycleType,
|
||||
a.cycle_value as cycleValue,
|
||||
a.iz_package as izPackage,
|
||||
a.start_time as startTime,
|
||||
(case when c.orderly is null then 2 else 1 end) as orderEmp
|
||||
from nu_biz_nu_directive_data_pool a
|
||||
inner join nu_base_info b on a.nu_id = b.nu_id and b.del_flag = '0'
|
||||
left join nu_biz_elder_info c on a.nu_id = c.nu_id and c.del_flag = '0'
|
||||
left join view_sys_dict d on a.cycle_type_id = d.item_value and d.dict_code = 'period_type'
|
||||
where a.iz_orders = 'N'
|
||||
order by a.start_time,orderEmp,a.nu_id
|
||||
</select>
|
||||
|
||||
<select id="queryDataPoolListBak" resultType="com.nu.modules.biz.order.entity.DirectiveOrder">
|
||||
select
|
||||
a.id as poolId,
|
||||
a.pool_type as orderType,
|
||||
|
|
@ -318,7 +342,7 @@
|
|||
o.update_time,
|
||||
o.del_flag,
|
||||
o.remarks,
|
||||
o.service_allowed_timeout,
|
||||
o.timeout_duration,
|
||||
o.iz_timeout,
|
||||
o.opt_ids,
|
||||
o.opt_names,
|
||||
|
|
@ -423,34 +447,54 @@
|
|||
ORDER BY o.start_time, s.start_time
|
||||
</select>
|
||||
|
||||
<select id="getDirectiveById" resultType="com.nu.modules.biz.order.entity.DirectiveOrder">
|
||||
<select id="getInstantById" resultType="com.nu.modules.biz.order.entity.DirectiveOrder">
|
||||
select
|
||||
m.id as bizId,
|
||||
m.nu_id as nuId,
|
||||
m.nu_name as nuName,
|
||||
elder_id as elderId,
|
||||
elder_name as elderName,
|
||||
b.nu_name as nuName,
|
||||
c.id as elderId,
|
||||
c.name as elderName,
|
||||
directive_id as directiveId,
|
||||
directive_name as directiveName,
|
||||
'3' as cycleTypeId,
|
||||
(select item_text from sys_dict_item where dict_id = '1900374791386140674' and item_value = '3') as cycleType,
|
||||
preview_file as previewFile,
|
||||
net_preview_file as netPreviewFile,
|
||||
preview_file_small as previewFileSmall,
|
||||
net_preview_file_small as netPreviewFileSmall,
|
||||
mp3_file as mp3File,
|
||||
net_mp3_file as netMp3File,
|
||||
mp4_file as mp4File,
|
||||
net_mp4_file as netMp4File,
|
||||
service_duration as serviceDuration,
|
||||
service_content as serviceContent,
|
||||
'2' as cycleTypeId,
|
||||
(select item_text from view_sys_dict where dict_code = 'period_type' and item_value = '2') as cycleType,
|
||||
iz_package,
|
||||
(case when b.orderly is null then 2 else 1 end) as orderEmp
|
||||
(case when c.orderly is null then 2 else 1 end) as orderEmp
|
||||
from ${tableName} m
|
||||
left join nu_biz_elder_info b on m.elder_id = b.id
|
||||
inner join nu_base_info b on m.nu_id = b.nu_id and b.del_flag = '0'
|
||||
left join nu_biz_elder_info c on m.nu_id = c.nu_id and c.del_flag = '0'
|
||||
where m.id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="getDirectiveById" resultType="com.nu.modules.biz.order.entity.DirectiveOrder">
|
||||
select
|
||||
a.id as directiveId,
|
||||
a.directive_name as directiveName,
|
||||
a.preview_file as previewFile,
|
||||
a.preview_file_small as previewFileSmall,
|
||||
a.mp3_file as mp3File,
|
||||
a.mp4_file as mp4File,
|
||||
a.service_duration as serviceDuration,
|
||||
a.service_content as serviceContent,
|
||||
a.timeout_duration as timeoutDuration
|
||||
from nu_config_service_directive a
|
||||
where a.id = #{directiveId}
|
||||
and a.del_flag = '0'
|
||||
and a.iz_enabled = 'Y'
|
||||
</select>
|
||||
|
||||
<select id="getPackageById" resultType="com.nu.modules.biz.order.entity.DirectiveOrder">
|
||||
select
|
||||
a.id as directiveId,
|
||||
a.package_name as directiveName,
|
||||
a.total_duration as serviceDuration,
|
||||
a.description as serviceContent,
|
||||
a.timeout_duration as timeoutDuration
|
||||
from nu_config_directive_package a
|
||||
where a.id = #{directiveId}
|
||||
and a.del_flag = '0'
|
||||
and a.iz_enabled = 'Y'
|
||||
</select>
|
||||
|
||||
<select id="getEmployeeById" resultType="com.nu.modules.biz.order.entity.DirectiveOrder">
|
||||
select a.id as employeeId,
|
||||
a.name as employeeName
|
||||
|
|
|
|||
|
|
@ -2,44 +2,6 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nu.modules.biz.order.mapper.DirectiveOrderSubMapper">
|
||||
|
||||
<select id="queryDataPoolSubList" resultType="com.nu.modules.biz.order.entity.DirectiveOrderSub">
|
||||
select
|
||||
id as poolSubId,
|
||||
pool_type as orderType,
|
||||
nu_id as nuId,
|
||||
nu_name as nuName,
|
||||
elder_id as elderId,
|
||||
elder_name as elderName,
|
||||
instruction_tag_id as instructionTagId,
|
||||
instruction_tag_name as instructionTagName,
|
||||
category_id as categoryId,
|
||||
category_name AS categoryName,
|
||||
type_id as typeId,
|
||||
type_name as typeName,
|
||||
directive_id as directiveId,
|
||||
directive_name as directiveName,
|
||||
cycle_type_id as cycleTypeId,
|
||||
cycle_type as cycleType,
|
||||
cycle_value as cycleValue,
|
||||
preview_file as previewFile,
|
||||
net_preview_file as netPeviewFile,
|
||||
preview_file_small as previewFileSmall,
|
||||
net_preview_file_small as netPreviewFileSmall,
|
||||
mp3_file as mp3File,
|
||||
net_mp3_file as netMp3File,
|
||||
mp4_file as mp4File,
|
||||
net_mp4_file as netMp4File,
|
||||
service_duration as serviceDuration,
|
||||
service_content as serviceContent,
|
||||
package_id as packageId,
|
||||
package_name as packageName,
|
||||
iz_package as izPackage,
|
||||
start_time as startTime,
|
||||
end_time as endTime
|
||||
from nu_biz_nu_directive_data_pool_sub
|
||||
where main_id = #{poolId}
|
||||
</select>
|
||||
|
||||
<select id="getDirectiveList" resultType="com.nu.modules.biz.order.entity.DirectiveOrderSub">
|
||||
select
|
||||
a.instruction_tag_id as instructionTagId,
|
||||
|
|
@ -57,13 +19,16 @@
|
|||
a.mp3_file as mp3File,
|
||||
a.mp4_file as mp4File,
|
||||
a.service_duration as serviceDuration,
|
||||
a.service_content as serviceContent
|
||||
a.service_content as serviceContent,
|
||||
a.timeout_duration as timeoutDuration
|
||||
from nu_config_service_directive a
|
||||
left join nu_config_service_instruction_tag b on a.instruction_tag_id = b.id
|
||||
left join nu_config_service_category c on a.category_id = c.id
|
||||
left join nu_config_service_type d on a.type_id = d.id
|
||||
left join sys_dict_item f on f.dict_id = '1900374791386140674' and f.item_value = a.cycle_type
|
||||
where a.id = #{directiveId}
|
||||
and a.del_flag = '0'
|
||||
and a.iz_enabled = 'Y'
|
||||
</select>
|
||||
|
||||
<select id="getSubDirectiveList" resultType="com.nu.modules.biz.order.entity.DirectiveOrderSub">
|
||||
|
|
@ -83,7 +48,8 @@
|
|||
b.mp3_file as mp3File,
|
||||
b.mp4_file as mp4File,
|
||||
b.service_duration as serviceDuration,
|
||||
b.service_content as serviceContent
|
||||
b.service_content as serviceContent,
|
||||
b.timeout_duration as timeoutDuration
|
||||
from nu_config_package_directive a
|
||||
left join nu_config_service_directive b on a.directive_id = b.id
|
||||
left join nu_config_service_category c on b.category_id = c.id
|
||||
|
|
@ -91,6 +57,10 @@
|
|||
left join nu_config_service_instruction_tag e on b.instruction_tag_id = e.id
|
||||
left join sys_dict_item f on f.dict_id = '1900374791386140674' and f.item_value = b.cycle_type
|
||||
where a.package_id = #{packageId}
|
||||
and a.del_flag = '0'
|
||||
and a.iz_enabled = 'Y'
|
||||
and b.del_flag = '0'
|
||||
and b.iz_enabled = 'Y'
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -14,7 +14,6 @@ import java.util.List;
|
|||
* @Version: V1.0
|
||||
*/
|
||||
public interface IDirectiveOrderSubService extends IService<DirectiveOrderSub> {
|
||||
List<DirectiveOrderSub> queryDataPoolSubList(DirectiveOrder orders);
|
||||
List<DirectiveOrderSub> getDirectiveList(String directiveId);
|
||||
List<DirectiveOrderSub> getSubDirectiveList(String packageId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,14 +69,34 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl<DirectiveOrderMapp
|
|||
|
||||
@Override
|
||||
public IPage<DirectiveOrderEntity> queryOrderList(Integer pageNo, Integer pageSize, DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req) {
|
||||
String nowDate = DateUtils.formatDate(new Date(),"yyyy-MM-dd");
|
||||
String nowDate = DateUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss");
|
||||
DirectiveOrder directiveOrder = new DirectiveOrder();
|
||||
BeanUtils.copyProperties(directiveOrderEntity, directiveOrder);
|
||||
QueryWrapper<DirectiveOrder> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("nu_id", directiveOrderEntity.getNuId());
|
||||
queryWrapper.eq("iz_finish", "N");
|
||||
queryWrapper.like("start_time",nowDate);
|
||||
queryWrapper.eq(StringUtils.isNotBlank(directiveOrderEntity.getEmployeeId()),"employee_id",directiveOrderEntity.getEmployeeId());
|
||||
/**工单类型 1待执行 2已执行 3已完成 4已过期 5待执行或者已执行未完成 空是全部*/
|
||||
if (StringUtils.equals("1", directiveOrderEntity.getWorkType())) {
|
||||
queryWrapper.eq("iz_start", "N");
|
||||
queryWrapper.eq("iz_finish", "N");
|
||||
queryWrapper.apply("start_time > now()");
|
||||
queryWrapper.orderByAsc("start_time");
|
||||
} else if (StringUtils.equals("2", directiveOrderEntity.getWorkType())) {
|
||||
queryWrapper.eq("iz_start", "Y");
|
||||
queryWrapper.eq("iz_finish", "N");
|
||||
queryWrapper.orderByAsc("start_time");
|
||||
} else if (StringUtils.equals("3", directiveOrderEntity.getWorkType())) {
|
||||
queryWrapper.eq("iz_start", "Y");
|
||||
queryWrapper.eq("iz_finish", "Y");
|
||||
} else if (StringUtils.equals("4", directiveOrderEntity.getWorkType())) {
|
||||
queryWrapper.eq("iz_start", "N");
|
||||
queryWrapper.eq("iz_finish", "N");
|
||||
queryWrapper.apply("start_time < now()");
|
||||
} else if (StringUtils.equals("5", directiveOrderEntity.getWorkType())) {
|
||||
queryWrapper.apply("((iz_start = 'N' and iz_finish='N') or (iz_start='Y' and iz_finish='N'))");
|
||||
}
|
||||
|
||||
|
||||
Page<DirectiveOrder> page = new Page<>(pageNo, pageSize);
|
||||
List<DirectiveOrder> list = baseMapper.selectList(page, queryWrapper);
|
||||
IPage<DirectiveOrderEntity> entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
|
||||
|
|
|
|||
|
|
@ -49,29 +49,11 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
private ISysBaseAPI sysBaseAPI;
|
||||
SendOrderRule sendOrderRule;
|
||||
List<SendOrderRuleSub> ruleSubList;
|
||||
private String allowedTimeout;
|
||||
private String serverNetUrl;
|
||||
|
||||
@Autowired
|
||||
private SdWebsocket sdWebsocket;
|
||||
|
||||
/**
|
||||
* 获取容错时长
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private void getAllowedTimeout() {
|
||||
if (allowedTimeout == null || allowedTimeout.equals("")) {
|
||||
JSONObject json = sysConfigApi.getByKey("fwzl_rcsc");
|
||||
if (json != null) {
|
||||
allowedTimeout = json.getString("configValue");
|
||||
}
|
||||
}
|
||||
if (allowedTimeout == null || allowedTimeout.equals("")) {
|
||||
allowedTimeout = "0";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取派单规则
|
||||
*/
|
||||
|
|
@ -131,10 +113,62 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
public Result<?> generateOrdersBatch() {
|
||||
//获取派单规则
|
||||
getSendOrderRule();
|
||||
getAllowedTimeout();
|
||||
List<DirectiveOrder> ordersList = baseMapper.queryDataPoolList(null);
|
||||
for (int i = 0; i < ordersList.size(); i++) {
|
||||
DirectiveOrder orders = ordersList.get(i);
|
||||
if(orders.getIzPackage().equals("N")){
|
||||
//获取有效服务指令
|
||||
DirectiveOrder directiveEntity = baseMapper.getDirectiveById(orders);
|
||||
if(directiveEntity==null){
|
||||
continue;
|
||||
}
|
||||
orders.setDirectiveName(directiveEntity.getDirectiveName());
|
||||
orders.setPreviewFile(directiveEntity.getPreviewFile());
|
||||
orders.setPreviewFileSmall(directiveEntity.getPreviewFileSmall());
|
||||
orders.setMp3File(directiveEntity.getMp3File());
|
||||
orders.setMp4File(directiveEntity.getMp4File());
|
||||
orders.setServiceContent(directiveEntity.getServiceContent());
|
||||
orders.setServiceDuration(directiveEntity.getServiceDuration());
|
||||
orders.setTimeoutDuration(directiveEntity.getTimeoutDuration());
|
||||
}else{
|
||||
//获取有效服务指令包
|
||||
DirectiveOrder packageEntity = baseMapper.getPackageById(orders);
|
||||
if(packageEntity==null){
|
||||
continue;
|
||||
}
|
||||
orders.setDirectiveName(packageEntity.getDirectiveName());
|
||||
orders.setServiceContent(packageEntity.getServiceContent());
|
||||
orders.setServiceDuration(packageEntity.getServiceDuration());
|
||||
orders.setTimeoutDuration(packageEntity.getTimeoutDuration());
|
||||
}
|
||||
|
||||
//生成结束时间
|
||||
String duration = orders.getServiceDuration();
|
||||
Calendar c = Calendar.getInstance();
|
||||
if(duration.equals("")||duration.equals("0")){
|
||||
c.set(Calendar.YEAR,3000);
|
||||
c.set(Calendar.MONTH,Calendar.DECEMBER);
|
||||
c.set(Calendar.DAY_OF_MONTH,31);
|
||||
c.set(Calendar.HOUR_OF_DAY,0);
|
||||
c.set(Calendar.MINUTE,0);
|
||||
c.set(Calendar.SECOND,0);
|
||||
c.set(Calendar.MILLISECOND,0);
|
||||
}else{
|
||||
c.setTime(orders.getStartTime());
|
||||
c.add(Calendar.MINUTE,Integer.valueOf(duration));
|
||||
}
|
||||
Date endTime = c.getTime();
|
||||
orders.setEndTime(endTime);
|
||||
|
||||
getNetImages(orders);
|
||||
String orderNo = getOrderNo(orders.getOrderType());
|
||||
orders.setOrderNo(orderNo);
|
||||
orders.setOptType("1");
|
||||
orders.setIzStart("N");
|
||||
orders.setIzFinish("N");
|
||||
orders.setIzTimeout("N");
|
||||
orders.setDelFlag("0");
|
||||
|
||||
generateOrdersSub(orders);
|
||||
//发送websocket消息
|
||||
try {
|
||||
|
|
@ -147,7 +181,7 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
message.put("data", orders);//业务数据
|
||||
String messageJson = message.toJSONString();
|
||||
//发送给单个用户
|
||||
sdWebsocket.sendMessage(orders.getEmployeeId(), messageJson);
|
||||
// sdWebsocket.sendMessage(orders.getEmployeeId(), messageJson);
|
||||
log.info("【ws消息推送】发送给用户 {}: {}", orders.getEmployeeId(), messageJson);
|
||||
} catch (Exception e) {
|
||||
log.error("ws发送消息失败", e);
|
||||
|
|
@ -162,88 +196,102 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
* @param orders
|
||||
*/
|
||||
private void generateOrdersSub(DirectiveOrder orders) {
|
||||
System.out.println("护理单元:" + orders.getNuId() + ",服务时间" + orders.getStartTime());
|
||||
List<DirectiveOrderSub> ordersSubList = ordersSubService.queryDataPoolSubList(orders);
|
||||
String directiveIds = ordersSubList.stream().map(DirectiveOrderSub::getDirectiveId).collect(Collectors.joining(","));
|
||||
// System.out.println("护理单元:" + orders.getNuId() + ",服务时间" + orders.getStartTime());
|
||||
if (orders.getIzPackage().equals("N")) {
|
||||
//获取满足条件的员工
|
||||
DirectiveOrder employee = employeeScreening(directiveIds, orders.getElderId(), null, orders.getStartTime());
|
||||
if(employee!=null){
|
||||
String orderNo = getOrderNo(orders.getOrderType());
|
||||
orders.setOrderNo(orderNo);
|
||||
orders.setEmployeeId(employee.getEmployeeId());
|
||||
orders.setEmployeeName(employee.getEmployeeName());
|
||||
orders.setIzStart("N");
|
||||
orders.setIzFinish("N");
|
||||
orders.setOrderType("1");
|
||||
orders.setOptType("1");
|
||||
orders.setIzTimeout("N");
|
||||
orders.setOptIds(employee.getEmployeeId());
|
||||
orders.setOptNames(employee.getEmployeeName());
|
||||
orders.setServiceAllowedTimeout(allowedTimeout);
|
||||
this.save(orders);//生成工单主表
|
||||
for (int i = 0; i < ordersSubList.size(); i++) {
|
||||
DirectiveOrderSub ordersSub = ordersSubList.get(i);
|
||||
ordersSub.setOrderNo(getOrderSubNo(orderNo));
|
||||
ordersSub.setMainId(orders.getId());
|
||||
ordersSub.setEmployeeId(employee.getEmployeeId());
|
||||
ordersSub.setEmployeeName(employee.getEmployeeName());
|
||||
ordersSub.setIzStart("N");
|
||||
ordersSub.setIzFinish("N");
|
||||
ordersSub.setOptType("1");
|
||||
ordersSub.setIzTimeout("N");
|
||||
ordersSub.setOptIds(employee.getEmployeeId());
|
||||
ordersSub.setOptNames(employee.getEmployeeName());
|
||||
ordersSub.setServiceAllowedTimeout(allowedTimeout);
|
||||
ordersSubService.save(ordersSub);//生成工单子表
|
||||
}
|
||||
baseMapper.updatePoolIzOrder(orders.getPoolId());
|
||||
System.out.println("护理单元:" + orders.getNuId() + ",服务时间:" + orders.getStartTime() + ",服务员工:" + employee.getEmployeeName() + ",获得积分:" + employee.getLevel());
|
||||
System.out.println("");
|
||||
System.out.println("");
|
||||
System.out.println("");
|
||||
}
|
||||
} else {
|
||||
List<DirectiveOrder> emps = baseMapper.getPermissionEmps(directiveIds);//获取服务标签中的员工和数量
|
||||
emps.removeIf(data -> data.getOwnCn() < ordersSubList.size());//删除没有权限的数据
|
||||
String employeeIds = emps.stream().map(DirectiveOrder::getEmployeeId).collect(Collectors.joining(","));
|
||||
DirectiveOrder employee = employeeScreening(directiveIds,orders.getElderId(),employeeIds,orders.getStartTime());
|
||||
if(employee!=null){
|
||||
String orderNo = getOrderNo(orders.getOrderType());
|
||||
orders.setOrderNo(orderNo);
|
||||
orders.setEmployeeId(employee.getEmployeeId());
|
||||
orders.setEmployeeName(employee.getEmployeeName());
|
||||
orders.setIzStart("N");
|
||||
orders.setIzFinish("N");
|
||||
orders.setOrderType("1");
|
||||
orders.setOptType("1");
|
||||
orders.setIzTimeout("N");
|
||||
orders.setOptIds(employee.getEmployeeId());
|
||||
orders.setOptNames(employee.getEmployeeName());
|
||||
orders.setServiceAllowedTimeout(allowedTimeout);
|
||||
this.save(orders);//生成工单主表
|
||||
for (int i = 0; i < ordersSubList.size(); i++) {
|
||||
DirectiveOrderSub ordersSub = ordersSubList.get(i);
|
||||
ordersSub.setOrderNo(getOrderSubNo(orderNo));
|
||||
ordersSub.setMainId(orders.getId());
|
||||
ordersSub.setEmployeeId(employee.getEmployeeId());
|
||||
ordersSub.setEmployeeName(employee.getEmployeeName());
|
||||
ordersSub.setIzStart("N");
|
||||
ordersSub.setIzFinish("N");
|
||||
ordersSub.setOptType("1");
|
||||
ordersSub.setIzTimeout("N");
|
||||
ordersSub.setOptIds(employee.getEmployeeId());
|
||||
ordersSub.setOptNames(employee.getEmployeeName());
|
||||
ordersSub.setServiceAllowedTimeout(allowedTimeout);
|
||||
ordersSubService.save(ordersSub);//生成工单子表
|
||||
}
|
||||
baseMapper.updatePoolIzOrder(orders.getPoolId());
|
||||
System.out.println("护理单元:" + orders.getNuId() + ",服务时间:" + orders.getStartTime() + ",服务员工:" + employee.getEmployeeName() + ",获得积分:" + employee.getLevel());
|
||||
System.out.println("");
|
||||
System.out.println("");
|
||||
System.out.println("");
|
||||
List<DirectiveOrderSub> ordersSubList = ordersSubService.getDirectiveList(orders.getDirectiveId());
|
||||
if(ordersSubList!=null&&ordersSubList.size()>0){
|
||||
String directiveIds = ordersSubList.stream().map(DirectiveOrderSub::getDirectiveId).collect(Collectors.joining(","));
|
||||
//获取满足条件的员工
|
||||
DirectiveOrder employee = employeeScreening(directiveIds, orders.getElderId(), null, orders.getStartTime());
|
||||
if(employee!=null){
|
||||
orders.setEmployeeId(employee.getEmployeeId());
|
||||
orders.setEmployeeName(employee.getEmployeeName());
|
||||
orders.setOptIds(employee.getEmployeeId());
|
||||
orders.setOptNames(employee.getEmployeeName());
|
||||
this.save(orders);//生成工单主表
|
||||
for (int i = 0; i < ordersSubList.size(); i++) {
|
||||
DirectiveOrderSub ordersSub = ordersSubList.get(i);
|
||||
ordersSub.setOrderNo(getOrderSubNo(orders.getOrderNo()));
|
||||
ordersSub.setOrderType(orders.getOrderType());
|
||||
ordersSub.setMainId(orders.getId());
|
||||
ordersSub.setNuId(orders.getNuId());
|
||||
ordersSub.setNuName(orders.getNuName());
|
||||
ordersSub.setElderId(orders.getElderId());
|
||||
ordersSub.setElderName(orders.getElderName());
|
||||
ordersSub.setEmployeeId(employee.getEmployeeId());
|
||||
ordersSub.setEmployeeName(employee.getEmployeeName());
|
||||
ordersSub.setCycleValue(orders.getCycleValue());
|
||||
ordersSub.setIzPackage(orders.getIzPackage());
|
||||
ordersSub.setStartTime(orders.getStartTime());
|
||||
ordersSub.setEndTime(orders.getEndTime());
|
||||
ordersSub.setOptType("1");
|
||||
ordersSub.setIzStart("N");
|
||||
ordersSub.setIzFinish("N");
|
||||
ordersSub.setIzTimeout("N");
|
||||
ordersSub.setDelFlag("0");
|
||||
ordersSub.setOptIds(employee.getEmployeeId());
|
||||
ordersSub.setOptNames(employee.getEmployeeName());
|
||||
ordersSubService.save(ordersSub);//生成工单子表
|
||||
}
|
||||
baseMapper.updatePoolIzOrder(orders.getPoolId());
|
||||
// System.out.println("护理单元:" + orders.getNuId() + ",服务时间:" + orders.getStartTime() + ",服务员工:" + employee.getEmployeeName() + ",获得积分:" + employee.getLevel());
|
||||
// System.out.println("");
|
||||
// System.out.println("");
|
||||
// System.out.println("");
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
|
||||
List<DirectiveOrderSub> ordersSubList = ordersSubService.getSubDirectiveList(orders.getDirectiveId());
|
||||
if(ordersSubList!=null&&ordersSubList.size()>0){
|
||||
String directiveIds = ordersSubList.stream().map(DirectiveOrderSub::getDirectiveId).collect(Collectors.joining(","));
|
||||
|
||||
List<DirectiveOrder> emps = baseMapper.getPermissionEmps(directiveIds);//获取服务标签中的员工和数量
|
||||
emps.removeIf(data -> data.getOwnCn() < ordersSubList.size());//删除没有权限的数据
|
||||
String employeeIds = emps.stream().map(DirectiveOrder::getEmployeeId).collect(Collectors.joining(","));
|
||||
DirectiveOrder employee = employeeScreening(directiveIds,orders.getElderId(),employeeIds,orders.getStartTime());
|
||||
if(employee!=null){
|
||||
orders.setEmployeeId(employee.getEmployeeId());
|
||||
orders.setEmployeeName(employee.getEmployeeName());
|
||||
orders.setOptIds(employee.getEmployeeId());
|
||||
orders.setOptNames(employee.getEmployeeName());
|
||||
this.save(orders);//生成工单主表
|
||||
for (int i = 0; i < ordersSubList.size(); i++) {
|
||||
DirectiveOrderSub ordersSub = ordersSubList.get(i);
|
||||
ordersSub.setOrderNo(getOrderSubNo(orders.getOrderNo()));
|
||||
ordersSub.setOrderType(orders.getOrderType());
|
||||
ordersSub.setMainId(orders.getId());
|
||||
ordersSub.setNuId(orders.getNuId());
|
||||
ordersSub.setNuName(orders.getNuName());
|
||||
ordersSub.setElderId(orders.getElderId());
|
||||
ordersSub.setElderName(orders.getElderName());
|
||||
ordersSub.setEmployeeId(employee.getEmployeeId());
|
||||
ordersSub.setEmployeeName(employee.getEmployeeName());
|
||||
ordersSub.setCycleValue(orders.getCycleValue());
|
||||
ordersSub.setIzPackage(orders.getIzPackage());
|
||||
if(!orders.getIzPackage().equals("N")){
|
||||
ordersSub.setPackageId(orders.getDirectiveId());
|
||||
ordersSub.setPackageName(orders.getDirectiveName());
|
||||
}
|
||||
ordersSub.setStartTime(orders.getStartTime());
|
||||
ordersSub.setEndTime(orders.getEndTime());
|
||||
ordersSub.setOptType("1");
|
||||
ordersSub.setIzStart("N");
|
||||
ordersSub.setIzFinish("N");
|
||||
ordersSub.setIzTimeout("N");
|
||||
ordersSub.setDelFlag("0");
|
||||
ordersSub.setOptIds(employee.getEmployeeId());
|
||||
ordersSub.setOptNames(employee.getEmployeeName());
|
||||
ordersSubService.save(ordersSub);//生成工单子表
|
||||
}
|
||||
baseMapper.updatePoolIzOrder(orders.getPoolId());
|
||||
// System.out.println("护理单元:" + orders.getNuId() + ",服务时间:" + orders.getStartTime() + ",服务员工:" + employee.getEmployeeName() + ",获得积分:" + employee.getLevel());
|
||||
// System.out.println("");
|
||||
// System.out.println("");
|
||||
// System.out.println("");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -272,10 +320,10 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
private DirectiveOrder getByPriority(String directiveIds, String elderId, Date startTime, String employeeIds) {
|
||||
List<DirectiveOrder> empList = getEmpPermissionAndOnline(directiveIds, employeeIds, startTime);
|
||||
if (empList.size() > 0) {
|
||||
for (int i = 0; i < empList.size(); i++) {
|
||||
DirectiveOrder emp = empList.get(i);
|
||||
System.out.println("员工信息:" + emp.getEmployeeName() + "," + emp.getOrderCap() + "," + emp.getOrderNum() + "," + emp.getTotalDuration() + "," + emp.getTotalComPrice() + "," + emp.getMaxTime() + "," + emp.getOwnCn() + "," + emp.getIzFree());
|
||||
}
|
||||
// for (int i = 0; i < empList.size(); i++) {
|
||||
// DirectiveOrder emp = empList.get(i);
|
||||
// System.out.println("员工信息:" + emp.getEmployeeName() + "," + emp.getOrderCap() + "," + emp.getOrderNum() + "," + emp.getTotalDuration() + "," + emp.getTotalComPrice() + "," + emp.getMaxTime() + "," + emp.getOwnCn() + "," + emp.getIzFree());
|
||||
// }
|
||||
if (ruleSubList.size() > 0) {
|
||||
for (SendOrderRuleSub ruleSub : ruleSubList) {
|
||||
switch (ruleSub.getRuleCode()) {
|
||||
|
|
@ -331,10 +379,10 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
if (empList.size() > 0) {
|
||||
List<DirectiveOrder> newList = new ArrayList();
|
||||
newList.addAll(empList);
|
||||
for (int i = 0; i < empList.size(); i++) {
|
||||
DirectiveOrder emp = empList.get(i);
|
||||
System.out.println("员工信息:" + emp.getEmployeeName() + "," + emp.getOrderCap() + "," + emp.getOrderNum() + "," + emp.getTotalDuration() + "," + emp.getTotalComPrice() + "," + emp.getMaxTime() + "," + emp.getOwnCn() + "," + emp.getIzFree());
|
||||
}
|
||||
// for (int i = 0; i < empList.size(); i++) {
|
||||
// DirectiveOrder emp = empList.get(i);
|
||||
// System.out.println("员工信息:" + emp.getEmployeeName() + "," + emp.getOrderCap() + "," + emp.getOrderNum() + "," + emp.getTotalDuration() + "," + emp.getTotalComPrice() + "," + emp.getMaxTime() + "," + emp.getOwnCn() + "," + emp.getIzFree());
|
||||
// }
|
||||
|
||||
//****************获取指定护理员工列表,不指定的排除掉=============================>
|
||||
getByOrderly(empList, elderId);
|
||||
|
|
@ -398,7 +446,7 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
empLevel = empLevel + empList.size() * coefficient; //提高N等级
|
||||
emp.setLevel(empLevel);
|
||||
}
|
||||
System.out.println("员工获取空闲积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
// System.out.println("员工获取空闲积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -420,7 +468,7 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
emp.setLevel(empLevel);
|
||||
}
|
||||
}
|
||||
System.out.println("员工获取指定护理积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
// System.out.println("员工获取指定护理积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -441,7 +489,7 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
Integer levle = emp.getLevel() * coefficient + i + 1;
|
||||
emp.setLevel(levle);
|
||||
|
||||
System.out.println("员工获取工单数积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
// System.out.println("员工获取工单数积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
}
|
||||
// 如果需要返回新列表,可以返回sortedEmployees
|
||||
// 如果要在原列表上修改,可以清空原列表并添加所有元素
|
||||
|
|
@ -466,7 +514,7 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
Integer levle = emp.getLevel() * coefficient + i + 1;
|
||||
emp.setLevel(levle);
|
||||
|
||||
System.out.println("员工获取工单收益积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
// System.out.println("员工获取工单收益积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
}
|
||||
|
||||
// 如果需要返回新列表,可以返回sortedEmployees
|
||||
|
|
@ -492,7 +540,7 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
Integer levle = emp.getLevel() * coefficient + i + 1;
|
||||
emp.setLevel(levle);
|
||||
|
||||
System.out.println("员工获取服务时长积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
// System.out.println("员工获取服务时长积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
}
|
||||
|
||||
// 如果需要返回新列表,可以返回sortedEmployees
|
||||
|
|
@ -521,7 +569,7 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
Integer levle = emp.getLevel() * coefficient + i + 1;
|
||||
emp.setLevel(levle);
|
||||
|
||||
System.out.println("员工获取派单时间积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
// System.out.println("员工获取派单时间积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
}
|
||||
|
||||
// 如果需要返回新列表,可以返回sortedEmployees
|
||||
|
|
@ -543,7 +591,7 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
Integer levle = emp.getLevel() + empList.size() * coefficient;
|
||||
emp.setLevel(levle);
|
||||
|
||||
System.out.println("员工获取单上限积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
// System.out.println("员工获取单上限积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -562,10 +610,10 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
// 如果要在原列表上修改,可以清空原列表并添加所有元素
|
||||
empList.clear();
|
||||
empList.addAll(sortedEmployees);
|
||||
for (int i = 0; i < empList.size(); i++) {
|
||||
DirectiveOrder emp = empList.get(i);
|
||||
System.out.println("员工获取总积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
}
|
||||
// for (int i = 0; i < empList.size(); i++) {
|
||||
// DirectiveOrder emp = empList.get(i);
|
||||
// System.out.println("员工获取总积分信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName() + "[" + emp.getLevel() + "]");
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -589,10 +637,10 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
}
|
||||
empList.clear();
|
||||
empList.addAll(newList);
|
||||
for (int i = 0; i < empList.size(); i++) {
|
||||
DirectiveOrder emp = empList.get(i);
|
||||
System.out.println("获取指定护理员工信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName());
|
||||
}
|
||||
// for (int i = 0; i < empList.size(); i++) {
|
||||
// DirectiveOrder emp = empList.get(i);
|
||||
// System.out.println("获取指定护理员工信息:" + emp.getEmployeeId() + "-" + emp.getEmployeeName());
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -692,13 +740,44 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
//后勤即时
|
||||
directiveOrder.setTableName("nu_biz_nu_logistics_directive_plan_instant");
|
||||
}
|
||||
getAllowedTimeout();
|
||||
DirectiveOrder orders = baseMapper.getDirectiveById(directiveOrder);
|
||||
|
||||
DirectiveOrder orders = baseMapper.getInstantById(directiveOrder);
|
||||
List<DirectiveOrderSub> packageSubList = null;
|
||||
String employeeId = "";
|
||||
String employeeName = "";
|
||||
Calendar c = Calendar.getInstance();
|
||||
Date startTime = c.getTime();
|
||||
if(orders.getIzPackage().equals("N")){
|
||||
//获取服务指令
|
||||
DirectiveOrder directiveEntity = baseMapper.getDirectiveById(orders);
|
||||
if(directiveEntity==null){
|
||||
map.put("success", false);
|
||||
map.put("message", "服务指令无效");
|
||||
return map;
|
||||
}
|
||||
orders.setDirectiveName(directiveEntity.getDirectiveName());
|
||||
orders.setPreviewFile(directiveEntity.getPreviewFile());
|
||||
orders.setPreviewFileSmall(directiveEntity.getPreviewFileSmall());
|
||||
orders.setMp3File(directiveEntity.getMp3File());
|
||||
orders.setMp4File(directiveEntity.getMp4File());
|
||||
orders.setServiceContent(directiveEntity.getServiceContent());
|
||||
orders.setServiceDuration(directiveEntity.getServiceDuration());
|
||||
orders.setTimeoutDuration(directiveEntity.getTimeoutDuration());
|
||||
}else{
|
||||
//获取服务指令包
|
||||
DirectiveOrder packageEntity = baseMapper.getPackageById(orders);
|
||||
if(packageEntity==null){
|
||||
map.put("success", false);
|
||||
map.put("message", "服务指令包无效");
|
||||
return map;
|
||||
}
|
||||
orders.setDirectiveName(packageEntity.getDirectiveName());
|
||||
orders.setServiceContent(packageEntity.getServiceContent());
|
||||
orders.setServiceDuration(packageEntity.getServiceDuration());
|
||||
orders.setTimeoutDuration(packageEntity.getTimeoutDuration());
|
||||
}
|
||||
|
||||
//生成结束时间
|
||||
String duration = orders.getServiceDuration();
|
||||
if(duration.equals("")||duration.equals("0")){
|
||||
c.set(Calendar.YEAR,3000);
|
||||
|
|
@ -724,11 +803,9 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
employeeName = employee.getEmployeeName();
|
||||
}
|
||||
}else{
|
||||
orders.setPackageId(orders.getDirectiveId());
|
||||
orders.setPackageName(orders.getDirectiveName());
|
||||
orders.setDirectiveId(null);
|
||||
orders.setDirectiveName(null);
|
||||
packageSubList = ordersSubService.getSubDirectiveList(orders.getPackageId());
|
||||
packageSubList = ordersSubService.getSubDirectiveList(orders.getDirectiveId());
|
||||
String directiveIds = packageSubList.stream().map(DirectiveOrderSub::getDirectiveId).collect(Collectors.joining(","));
|
||||
if(!directiveOrder.getTriggerMode().equals("1")){
|
||||
getSendOrderRule();
|
||||
|
|
@ -763,7 +840,6 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
orders.setIzTimeout("N");
|
||||
orders.setOptIds(employeeId);
|
||||
orders.setOptNames(employeeName);
|
||||
orders.setServiceAllowedTimeout(allowedTimeout);
|
||||
orders.setDelFlag("0");
|
||||
this.save(orders);//生成工单主表
|
||||
if(packageSubList!=null){
|
||||
|
|
@ -781,8 +857,8 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
ordersSub.setEmployeeName(employeeName);
|
||||
ordersSub.setIzPackage(orders.getIzPackage());
|
||||
if(!orders.getIzPackage().equals("N")){
|
||||
ordersSub.setPackageId(orders.getPackageId());
|
||||
ordersSub.setPackageName(orders.getPackageName());
|
||||
ordersSub.setPackageId(orders.getDirectiveId());
|
||||
ordersSub.setPackageName(orders.getDirectiveName());
|
||||
}
|
||||
ordersSub.setStartTime(startTime);
|
||||
ordersSub.setEndTime(endTime);
|
||||
|
|
@ -792,7 +868,6 @@ public class DirectiveOrderServiceImpl extends ServiceImpl<DirectiveOrderMapper,
|
|||
ordersSub.setIzTimeout("N");
|
||||
ordersSub.setOptIds(employeeId);
|
||||
ordersSub.setOptNames(employeeName);
|
||||
ordersSub.setServiceAllowedTimeout(allowedTimeout);
|
||||
ordersSub.setDelFlag("0");
|
||||
ordersSubService.save(ordersSub);//生成工单子表
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,11 +19,6 @@ import java.util.List;
|
|||
@Slf4j
|
||||
public class DirectiveOrderSubServiceImpl extends ServiceImpl<DirectiveOrderSubMapper, DirectiveOrderSub> implements IDirectiveOrderSubService {
|
||||
|
||||
@Override
|
||||
public List<DirectiveOrderSub> queryDataPoolSubList(DirectiveOrder orders){
|
||||
return baseMapper.queryDataPoolSubList(orders);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DirectiveOrderSub> getDirectiveList(String directiveId){
|
||||
return baseMapper.getDirectiveList(directiveId);
|
||||
|
|
|
|||
Loading…
Reference in New Issue