.gitignore
@@ -30,3 +30,4 @@ /kidgrow-web/kidgrow-web-manager/src/main/resources/static/package-lock.json /kidgrow-web/kidgrow-web-manager/src/main/resources/static.zip /git /kidgrow-web/kidgrow-web-manager/src/main/resources/static.rar kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/EquipmentDockingService.java
New file @@ -0,0 +1,19 @@ package com.kidgrow.oprationcenter.feign; import com.kidgrow.common.constant.ServiceNameConstants; import com.kidgrow.common.model.ResultBody; import com.kidgrow.oprationcenter.feign.fallback.EquipmentDockingServiceFallbackFactory; import com.kidgrow.oprationcenter.model.EquipmentDocking; import com.kidgrow.ribbon.config.FeignHttpInterceptorConfig; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @FeignClient(value = ServiceNameConstants.OPRATION_SERVER,configuration= FeignHttpInterceptorConfig.class, fallbackFactory = EquipmentDockingServiceFallbackFactory.class, decode404 = true) public interface EquipmentDockingService { @PostMapping("equipmentdocking/isAuthorize") Boolean isAuthorize(@RequestBody EquipmentDocking equipmentDocking); @PostMapping("equipmentdocking/query") ResultBody findByObject(@RequestBody EquipmentDocking equipmentDocking); } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/EquipmentDockingServiceFallbackFactory.java
New file @@ -0,0 +1,28 @@ package com.kidgrow.oprationcenter.feign.fallback; import com.kidgrow.common.model.ResultBody; import com.kidgrow.oprationcenter.feign.EquipmentDockingService; import com.kidgrow.oprationcenter.model.EquipmentDocking; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @Slf4j @Component public class EquipmentDockingServiceFallbackFactory implements FallbackFactory<EquipmentDockingService> { @Override public EquipmentDockingService create(Throwable throwable) { return new EquipmentDockingService() { @Override public Boolean isAuthorize(EquipmentDocking equipmentDocking) { return null; } @Override public ResultBody findByObject(EquipmentDocking equipmentDocking) { return null; } }; } } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/EquipmentDocking.java
New file @@ -0,0 +1,102 @@ package com.kidgrow.oprationcenter.model; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.kidgrow.common.model.SuperModel; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import org.hibernate.validator.constraints.NotEmpty; import javax.validation.constraints.NotNull; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> * @Description: <br> * @Project: 用户中心<br> * @CreateDate: Created in 2020-10-19 11:14:58 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> * @version 1.0 */ @Data @EqualsAndHashCode(callSuper = false) @NoArgsConstructor @AllArgsConstructor @TableName("equipment_docking") public class EquipmentDocking extends SuperModel { private static final long serialVersionUID=1L; /** * 医院名称 */ @NotEmpty(message = "医院名称不能为空") private String hospitalName; /** * 科室名称 */ @NotEmpty(message = "科室名称不能为空") private String departName; /** * 医院唯一标识 */ @NotNull(message = "医院唯一标识不能为空") @JsonSerialize(using = ToStringSerializer.class) private Long hospitalId; /** * 部门唯一表示 */ @NotNull(message = "部门唯一表示不能为空") @JsonSerialize(using = ToStringSerializer.class) private Long departId; /** * 设备厂家名称 */ @NotEmpty(message = "设备厂家名称不能为空") private String companyName; /** * 设备型号 */ @NotEmpty(message = "设备型号不能为空") private String unitType; /** * 设备品牌 */ @NotEmpty(message = "设备品牌不能为空") private String equipmentBrand; /** * 设备机器码 */ @NotEmpty(message = "设备机器码不能为空") private String machineCode; /** * hospital_id+depart_id+machine_code 进行md5加密生成的32位小写的字符串 */ // @NotEmpty(message = "hospital_id+depart_id+machine_code 进行md5加密生成的32位小写的字符串不能为空") private String outAccesskey; /** * 设备厂家联系人电话 */ @NotEmpty(message = "设备厂家联系人电话不能为空") private String contactPhone; /** * 设备厂家联系人名称 */ @NotEmpty(message = "设备厂家联系人名称不能为空") private String contactName; /** * 备注信息 */ private String remarkComment; /** * 状态,1启用,0停用 */ private Boolean enabled; /** * 是否删除,1删除,0未删除 */ @TableLogic private Boolean isDel; } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/mapper/EquipmentDockingMapper.java
New file @@ -0,0 +1,34 @@ package com.kidgrow.oprationcenter.mapper; import com.kidgrow.db.mapper.SuperMapper; import com.kidgrow.oprationcenter.model.EquipmentDocking; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> * @Description: <br> * @Project: 用户中心<br> * @CreateDate: Created in 2020-10-19 11:14:58 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> * @version 1.0 */ public interface EquipmentDockingMapper extends SuperMapper<EquipmentDocking> { /** * 分页查询列表 * @param page * @param params * @return */ List<EquipmentDocking> findList(Page<EquipmentDocking> page, @Param("p") Map<String, Object> params); /** * 根据EquipmentDocking对象当做查询条件进行查询 * @param * @return EquipmentDocking对象 */ EquipmentDocking findByObject(@Param("p") EquipmentDocking equipmentDocking); } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IEquipmentDockingService.java
New file @@ -0,0 +1,40 @@ package com.kidgrow.oprationcenter.service; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.service.ISuperService; import com.kidgrow.oprationcenter.model.EquipmentDocking; import java.util.Map; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> * @Description: <br> * @Project: 用户中心<br> * @CreateDate: Created in 2020-10-19 11:14:58 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> * @version 1.0 */ public interface IEquipmentDockingService extends ISuperService<EquipmentDocking> { /** * 列表 * @param params * @return */ PageResult<EquipmentDocking> findList(Map<String, Object> params); /** * 根据EquipmentDocking对象当做查询条件进行查询 * @param equipmentDocking * @return EquipmentDocking对象 */ EquipmentDocking findByObject(EquipmentDocking equipmentDocking); /** * 是否授权 * @param equipmentDocking * @return */ boolean isAuthorize(EquipmentDocking equipmentDocking); } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/EquipmentDockingServiceImpl.java
New file @@ -0,0 +1,74 @@ package com.kidgrow.oprationcenter.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.service.impl.SuperServiceImpl; import com.kidgrow.oprationcenter.mapper.EquipmentDockingMapper; import com.kidgrow.oprationcenter.model.EquipmentDocking; import com.kidgrow.oprationcenter.service.IEquipmentDockingService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> * @Description: <br> * @Project: 用户中心<br> * @CreateDate: Created in 2020-10-19 11:14:58 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> * @version 1.0 */ @Slf4j @Service public class EquipmentDockingServiceImpl extends SuperServiceImpl<EquipmentDockingMapper, EquipmentDocking> implements IEquipmentDockingService { /** * 列表 * @param params * @return */ @Override public PageResult<EquipmentDocking> findList(Map<String, Object> params){ Page<EquipmentDocking> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); List<EquipmentDocking> list = baseMapper.findList(page, params); return PageResult.<EquipmentDocking>builder().data(list).code(0).count(page.getTotal()).build(); } /** * 根据EquipmentDocking对象当做查询条件进行查询 * @param equipmentDocking * @return EquipmentDocking */ @Override public EquipmentDocking findByObject(EquipmentDocking equipmentDocking){ return baseMapper.findByObject(equipmentDocking); } /** * 是否授权 * @param equipmentDocking * @return */ @Override public boolean isAuthorize(EquipmentDocking equipmentDocking) { EquipmentDocking byObject = baseMapper.findByObject(equipmentDocking); if(byObject==null){ log.error("没有查到数据"); return false; }else { if (byObject.getIsDel()) { log.error("该设备已经删除"); return false; }else { if (byObject.getEnabled()) { return true; }else { log.error("该设备已禁用"); return false; } } } } } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/EquipmentDockingMapper.xml
New file @@ -0,0 +1,97 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!----> <mapper namespace="com.kidgrow.oprationcenter.mapper.EquipmentDockingMapper"> <!--定义查询列--> <sql id="Column_List"> * </sql> <!--sql查询片段--> <sql id="where"> <where> <!--查询条件自行添加--> is_del=0 <if test="p.id != null and p.id !=''"> and id = #{p.id} </if> <if test="p.hospitalName != null and p.hospitalName !=''"> and hospital_name = #{p.hospitalName} </if> <if test="p.departName != null and p.departName !=''"> and depart_name = #{p.departName} </if> <if test="p.hospitalId != null and p.hospitalId !=''"> and hospital_id = #{p.hospitalId} </if> <if test="p.departId != null and p.departId !=''"> and depart_id = #{p.departId} </if> <if test="p.companyName != null and p.companyName !=''"> and company_name = #{p.companyName} </if> <if test="p.unitType != null and p.unitType !=''"> and unit_type = #{p.unitType} </if> <if test="p.equipmentBrand != null and p.equipmentBrand !=''"> and equipment_brand = #{p.equipmentBrand} </if> <if test="p.machineCode != null and p.machineCode !=''"> and machine_code = #{p.machineCode} </if> <if test="p.outAccesskey != null and p.outAccesskey !=''"> and out_accesskey = #{p.outAccesskey} </if> <if test="p.contactPhone != null and p.contactPhone !=''"> and contact_phone = #{p.contactPhone} </if> <if test="p.contactName != null and p.contactName !=''"> and contact_name = #{p.contactName} </if> <if test="p.remarkComment != null and p.remarkComment !=''"> and remark_comment = #{p.remarkComment} </if> <if test="p.createUserId != null and p.createUserId !=''"> and create_user_id = #{p.createUserId} </if> <if test="p.createUserName != null and p.createUserName !=''"> and create_user_name = #{p.createUserName} </if> <if test="p.createTime != null and p.createTime !=''"> and create_time = #{p.createTime} </if> <if test="p.updateUserId != null and p.updateUserId !=''"> and update_user_id = #{p.updateUserId} </if> <if test="p.updateUserName != null and p.updateUserName !=''"> and update_user_name = #{p.updateUserName} </if> <if test="p.updateTime != null and p.updateTime !=''"> and update_time = #{p.updateTime} </if> <if test="p.enabled != null and p.enabled !=''"> and enabled = #{p.enabled} </if> <if test="p.isDel != null and p.isDel !=''"> and is_del = #{p.isDel} </if> </where> </sql> <!--定义根据-EquipmentDocking当作查询条件返回对象--> <select id="findByObject" resultType="com.kidgrow.oprationcenter.model.EquipmentDocking"> select <include refid="Column_List"/> from equipment_docking <include refid="where"/> order by id desc limit 1 </select> <!--定义根据-EquipmentDocking当作查询条件返回对象集合--> <select id="findList" resultType="com.kidgrow.oprationcenter.model.EquipmentDocking"> select <include refid="Column_List"/> from equipment_docking <include refid="where"/> order by id desc </select> </mapper> kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/EquipmentDockingController.java
New file @@ -0,0 +1,160 @@ package com.kidgrow.oprationcenter.controller; import com.kidgrow.common.controller.BaseController; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.utils.StringUtils; import com.kidgrow.oprationcenter.model.EquipmentDocking; import com.kidgrow.oprationcenter.service.IEquipmentDockingService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.DigestUtils; import org.springframework.validation.BindingResult; import org.springframework.validation.ObjectError; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> * * @Description: * @Project: 用户中心 * @CreateDate: Created in 2020-10-19 11:14:58 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> * @version: 1.0 */ @Slf4j @RestController @RequestMapping("/equipmentdocking") @Api(tags = "") public class EquipmentDockingController extends BaseController { @Autowired private IEquipmentDockingService equipmentDockingService; /** * 列表 */ @ApiOperation(value = "查询列表") @ApiImplicitParams({ @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"), @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer") }) @GetMapping public PageResult list(@RequestParam Map<String, Object> params) { if (!params.containsKey("page")) { params.put("page", 1); } if (!params.containsKey("limit")) { params.put("limit", 10); } return equipmentDockingService.findList(params); } /** * 查询 */ @ApiOperation(value = "查询") @GetMapping("/{id}") public ResultBody findById(@PathVariable Long id) { EquipmentDocking model = equipmentDockingService.getById(id); return ResultBody.ok().data(model).msg("查询成功"); } /** * 根据EquipmentDocking当做查询条件进行查询 */ @ApiOperation(value = "根据EquipmentDocking当做查询条件进行查询") @PostMapping("/query") public ResultBody findByObject(@RequestBody EquipmentDocking equipmentDocking) { EquipmentDocking model = equipmentDockingService.findByObject(equipmentDocking); return ResultBody.ok().data(model).msg("查询成功"); } /** * 新增or更新 */ @ApiOperation(value = "保存") @PostMapping public ResultBody save(@Valid @RequestBody EquipmentDocking equipmentDocking, BindingResult bindingResult) { List<String> errMsg = new ArrayList<>(); if (bindingResult.hasErrors()) { for (ObjectError error : bindingResult.getAllErrors()) { errMsg.add(error.getDefaultMessage()); } return ResultBody.failed().msg(errMsg.toString()); } else { boolean v = false; if(equipmentDocking.getId()==null){ //hospital_id+depart_id+machine_code进行md5加密生成的32位小写的字符串 String md5Password = DigestUtils.md5DigestAsHex((""+equipmentDocking.getHospitalId()+equipmentDocking.getDepartId()+equipmentDocking.getMachineCode()).getBytes()); equipmentDocking.setOutAccesskey(md5Password); v = equipmentDockingService.saveOrUpdate(equipmentDocking); }else { v = equipmentDockingService.saveOrUpdate(equipmentDocking); } if (v) { return ResultBody.ok().data(equipmentDocking).msg("保存成功"); } else { return ResultBody.failed().msg("保存失败"); } } } /** * 更新状态 */ @ApiOperation(value = "更新状态") @PostMapping("update") public ResultBody update(@RequestBody EquipmentDocking equipmentDocking) { boolean v = equipmentDockingService.saveOrUpdate(equipmentDocking); if (v) { return ResultBody.ok(); } else { return ResultBody.failed().data("更新失败"); } } /** * 删除 */ @ApiOperation(value = "删除") @DeleteMapping("/{id}") public ResultBody delete(@PathVariable Long id) { boolean v = equipmentDockingService.removeById(id); if (v) { return ResultBody.ok().msg("删除成功"); } else { return ResultBody.failed().msg("删除失败"); } } /** * 是否授权 * * @param equipmentDocking * @return */ @PostMapping("isAuthorize") public Boolean isAuthorize(@RequestBody EquipmentDocking equipmentDocking) { if (StringUtils.isBlank(equipmentDocking.getMachineCode())) { log.error("请输入机器码"); return false; } if (StringUtils.isBlank(equipmentDocking.getOutAccesskey())) { log.error("请输入授权秘钥"); return false; } return equipmentDockingService.isAuthorize(equipmentDocking); } } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/resources/application.yml
@@ -92,6 +92,7 @@ - product_order_record - saas_client_pay - pay_manager - equipment_docking ignoreSqls: - com.kidgrow.usercenter.mapper.SysRoleMapper.findAll - com.kidgrow.oprationcenter.mapper.ConsumptionRecordMapper.findDetailList kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/resources/application.yml
@@ -231,6 +231,8 @@ - /api-opration/wxController/callback - /api-opration/alipay/notify - /api-opration/alipay/return - /api-record/DiagnosticUnfinishedFegin/equipmentList - /api-record/DiagnosticUnfinishedFegin/equipmentUpload # - /api-user/syshospital/findAllByMap # - /api-user/sysdictionaries/findAll # - /api-user/sysdepartment/findListByHospitalId @@ -267,7 +269,9 @@ /api-evaluation/evaluationxrayinfo/checkQRCode, /api-opration/wxController/callback, /api-opration/alipay/return, /api-opration/alipay/notify /api-opration/alipay/notify, /api-record/DiagnosticUnfinishedFegin/equipmentList, /api-record/DiagnosticUnfinishedFegin/equipmentUpload # /api-user/syshospital/findAllByMap, # /api-user/sysdictionaries/findAll, # /api-user/sysdepartment/findListByHospitalId kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/saasClientPay.html
@@ -8,8 +8,7 @@ </div> <div class="layui-card-body"> <div class="layui-form toolbar"> <input name="hospitalName" id="hospitalName-seach" placeholder="按医院名称" type="text" class="layui-input search-input" maxlength="50" autocomplete="off" />  <input type="hidden" id="hospitalId" /> <select id="departmentId" lay-filter="department_clients"> <option>--科室--</option> @@ -20,12 +19,14 @@ <div class="layui-col-sm4"> <input type="text" class="layui-input search-input" id="startTime" placeholder="开始时间"> 至 <input type="text" class="layui-input search-input" id="endTime" placeholder="结束时间">   <input name="hospitalName" id="hospitalName-seach" placeholder="按医院名称" type="text" class="layui-input search-input" maxlength="50" autocomplete="off" />  </div> <button id="app-btn-search" class="layui-btn icon-btn permissions" permissions="sysdictionaries-list"><i <button id="app-btn-search" class="layui-btn icon-btn permissions" permissions="saasclientpay-list"><i class="layui-icon"></i>搜索</button> <button id="piliangjiesuan" class="layui-btn icon-btn permissions" permissions="sysdictionaries-edit"><i <button id="piliangjiesuan" class="layui-btn icon-btn permissions" permissions="saasclientpay-edit"><i class="layui-icon"></i>批量结算</button> <button id="export" class="layui-btn icon-btn permissions" permissions="sysdictionaries-edit"><i <button id="export" class="layui-btn icon-btn permissions" permissions="saasclientpay-export"><i class="layui-icon"></i>导出</button> </div> @@ -53,7 +54,7 @@ laydate.render({ elem: '#endTime' //指定元素 }); // permissionsInput(null, config); // 获取应用列表 // layer.load(2); @@ -220,6 +221,7 @@ } }); } //比较日期大小 function compareDate(logintime, logouttime) { var arys1 = new Array();