diff --git a/src/main/java/com/bonus/boot/manager/basic/controller/PersonnelLibraryController.java b/src/main/java/com/bonus/boot/manager/basic/controller/PersonnelLibraryController.java index e7d7152..271bd69 100644 --- a/src/main/java/com/bonus/boot/manager/basic/controller/PersonnelLibraryController.java +++ b/src/main/java/com/bonus/boot/manager/basic/controller/PersonnelLibraryController.java @@ -1,21 +1,34 @@ package com.bonus.boot.manager.basic.controller; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.bonus.boot.manager.basic.dao.PersonnelLibraryDao; import com.bonus.boot.manager.basic.entity.PersonnelLibraryBean; import com.bonus.boot.manager.basic.entity.ZNode; import com.bonus.boot.manager.basic.service.PersonnelLibraryService; import com.bonus.boot.manager.manager.annotation.LogAnnotation; +import com.bonus.boot.manager.manager.controller.HttpClientUtils; import com.bonus.boot.manager.manager.entity.R; +import com.bonus.boot.manager.manager.entity.UnifyBean; +import com.bonus.boot.manager.manager.model.SysUser; +import com.bonus.boot.manager.manager.service.UserService; import com.bonus.boot.manager.manager.utils.AjaxRes; import com.bonus.boot.manager.manager.utils.GlobalConst; +import com.bonus.boot.manager.task.UnifyTask; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import static com.bonus.boot.manager.manager.controller.UserController.login; +import static jdk.nashorn.internal.runtime.regexp.joni.Config.log; + /** * 包名称:com.bonus.boot.manager.basic.controller * 类名称:PersonnelLibraryController @@ -31,9 +44,13 @@ public class PersonnelLibraryController { @Resource private PersonnelLibraryService service; + @Autowired + private UserService userService; + @Resource private PersonnelLibraryDao daoDao; + @LogAnnotation @PostMapping("getMsgContent") @ApiOperation(value = "体检人员库-列表") @@ -45,7 +62,7 @@ public class PersonnelLibraryController { @RequestMapping(value = "addInfo", method = RequestMethod.POST) @ResponseBody @ApiOperation(value = "体检人员库-新增") - public AjaxRes addInfo(@RequestBody PersonnelLibraryBean bean) { + public AjaxRes addInfo(@RequestBody PersonnelLibraryBean bean) throws Exception { AjaxRes ar = new AjaxRes(); int cb = service.addInfo(bean); ar.setFailMsg(GlobalConst.DATA_FAIL); @@ -63,6 +80,33 @@ public class PersonnelLibraryController { if (cb == 6) { ar.setFailMsg("姓名已存在"); } + + int ks = 0; + UnifyTask unifyTask = new UnifyTask(); + if (cb != 3 && cb != 5){ + String token = login(); + String isActive = addUser(bean.getPersonName(), bean.getPhone(),token); + if(isActive.equals("1")){ + ks = 1; + ar.setFailMsg(GlobalConst.INIT_SUCCEED); + }else{ + for (int i = 0; i < 3; i++) { + isActive = addUser(bean.getPersonName(), bean.getPhone(),token); + if(isActive.equals("1")){ + ks = 1; + ar.setFailMsg(GlobalConst.INIT_SUCCEED); + break; + } + } + } + //三次都未推送成功 修改推送状态 + if(ks!=1){ + userService.updateUnify(Long.valueOf(bean.getHospId())); + ar.setFailMsg(GlobalConst.INIT_SUCCEED); + } + }else { + ar.setFailMsg(GlobalConst.DATA_FAIL); + } } return ar; } @@ -70,7 +114,7 @@ public class PersonnelLibraryController { @RequestMapping(value = "updateInfo", method = RequestMethod.POST) @ResponseBody @ApiOperation(value = "体检人员库-修改") - public AjaxRes updateInfo(@RequestBody PersonnelLibraryBean bean) { + public AjaxRes updateInfo(@RequestBody PersonnelLibraryBean bean) throws Exception { AjaxRes ar = new AjaxRes(); int cb = service.updateInfo(bean); ar.setFailMsg(GlobalConst.DATA_FAIL); @@ -83,6 +127,33 @@ public class PersonnelLibraryController { ar.setFailMsg("手机号已存在"); } + int ks = 0; + if (cb != 3 && cb != 5){ + String token = login(); + String isActive = addUser(bean.getPersonName(), bean.getPhone(),token); + if(isActive.equals("1")){ + ks = 1; + ar.setFailMsg(GlobalConst.INIT_SUCCEED); + }else{ + for (int i = 0; i < 3; i++) { + isActive = addUser(bean.getPersonName(), bean.getPhone(),token); + if(isActive.equals("1")){ + ks = 1; + ar.setFailMsg(GlobalConst.INIT_SUCCEED); + break; + } + } + } + + //三次都未推送成功 修改推送状态 + if(ks!=1){ + userService.updateUnify(Long.valueOf(bean.getId())); + ar.setFailMsg(GlobalConst.INIT_SUCCEED); + } + }else { + ar.setFailMsg(GlobalConst.DATA_FAIL); + } + } return ar; } @@ -106,15 +177,39 @@ public class PersonnelLibraryController { @PostMapping("delById") @ApiOperation(value = "体检人员库-删除") public AjaxRes delById(PersonnelLibraryBean bean) { - AjaxRes ar = new AjaxRes(); - int result = service.delById(bean); - if (result == 1) { - ar.setSucceedMsg(GlobalConst.DATA_SUCCEED); - } else { - ar.setFailMsg(GlobalConst.DATA_FAIL); + AjaxRes ar = new AjaxRes(); + try { + Long userId = Long.valueOf(bean.getId()); + SysUser userDto = daoDao.getEyId(userId); + + // 尝试删除操作 + String token = login(); + String isActive = deldctUnifyUser(userDto.getUsername(), userDto.getPhone(), token, "移动端"); + + // 循环重试机制 + int ks = 0; + while (!isActive.equals("1") && ks < 3) { + isActive = deldctUnifyUser(userDto.getUsername(), userDto.getPhone(), token, "移动端"); + ks++; } - return ar; + // 如果尝试了3次仍然失败,则返回失败信息 + if (ks == 3) { + ar.setFailMsg(GlobalConst.DATA_FAIL); + } else { + int result = service.delById(bean); + if (result == 1) { + ar.setSucceedMsg(GlobalConst.DATA_SUCCEED); + } else { + ar.setFailMsg(GlobalConst.DATA_FAIL); + } + } + } catch (Exception e) { + // 异常处理 + ar.setFailMsg("Delete operation failed due to an internal error."); } + return ar; +} + @LogAnnotation @PostMapping("resetPassword") @@ -144,4 +239,80 @@ public class PersonnelLibraryController { return ar; } + /** + * 新增用户 + * + * @param userName 用户名 + * @param phone 手机号 + * @param token token + * @return 是否成功 + * @throws Exception 异常 + */ + public String addUser(String userName, String phone, String token) throws Exception { + String isActive = ""; + List list = new ArrayList<>(); + UnifyBean userVo = new UnifyBean(); + userVo.setUserName(userName); + userVo.setPhone(phone); + userVo.setSystemName("健康体检"); + String permissionQuery = userService.getPermissionQuery(userVo); + userVo.setAuth(permissionQuery); + userVo.setIsBlacklist("0"); + userVo.setAccountStatus("1"); + list.add(userVo); + String s = JSON.toJSONString(list); + String encrypt = AESCBCUtils.encrypt(s, AESCBCUtils.sKey); + String params = "{'params':'" + encrypt + "'}"; + JSONObject object = JSON.parseObject(params); +// String result = HttpClientUtils.doHttpPost("http://112.29.103.165:1616/ynuw/sys/api/putUser", object, token); + String result = HttpClientUtils.doHttpPost("http://112.29.103.165:1616/ynuw/sys/api/putUser", object, token); + JSONObject jsonObject = JSONObject.parseObject(result); + String code = jsonObject.getString("code"); + System.err.println("新增code="+code); + if("200".equals(code)){ + JSONArray data = jsonObject.getJSONArray("data"); + System.err.println("新增data="+data); + if(data.size() == 0){ + isActive = "1"; + }else{ + isActive = "0"; + } + }else{ + isActive = "0"; + } + return isActive; + } + + private String deldctUnifyUser(String userName, String phone, String token, String auth) throws Exception { + String isActive = ""; + List list = new ArrayList<>(); + UnifyBean userVo = new UnifyBean(); + userVo.setUserName(userName); + userVo.setPhone(phone); + userVo.setSystemName("健康体检"); + userVo.setAuth(auth); + list.add(userVo); + String s = JSON.toJSONString(list); + String encrypt = AESCBCUtils.encrypt(s, AESCBCUtils.sKey); + String params = "{'params':'" + encrypt + "'}"; + JSONObject object = JSON.parseObject(params); +// String result = HttpClientUtils.doHttpPost("http://112.29.103.165:1616/ynuw/sys/api/delUser", object, token); + String result = HttpClientUtils.doHttpPost("http://112.29.103.165:1616/ynuw/sys/api/delUser", object, token); + JSONObject jsonObject = JSONObject.parseObject(result); + String code = jsonObject.getString("code"); + System.err.println("删除code="+code); + if(code.equals("200")){ + JSONArray data = jsonObject.getJSONArray("data"); + System.err.println("删除data="+data); + if(data.size() == 0){ + isActive = "1"; + }else{ + isActive = "0"; + } + }else{ + isActive = "0"; + } + return isActive; + } + } diff --git a/src/main/java/com/bonus/boot/manager/basic/dao/PersonnelLibraryDao.java b/src/main/java/com/bonus/boot/manager/basic/dao/PersonnelLibraryDao.java index 36ca0e2..8fe890b 100644 --- a/src/main/java/com/bonus/boot/manager/basic/dao/PersonnelLibraryDao.java +++ b/src/main/java/com/bonus/boot/manager/basic/dao/PersonnelLibraryDao.java @@ -2,6 +2,7 @@ package com.bonus.boot.manager.basic.dao; import com.bonus.boot.manager.basic.entity.PersonnelLibraryBean; import com.bonus.boot.manager.basic.entity.ZNode; +import com.bonus.boot.manager.manager.model.SysUser; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -39,4 +40,6 @@ public interface PersonnelLibraryDao { int AddInf(PersonnelLibraryBean bean); int updatete(PersonnelLibraryBean bean); + + SysUser getEyId(Long userId); } diff --git a/src/main/java/com/bonus/boot/manager/physical/controller/EmployeeHealthCheckController.java b/src/main/java/com/bonus/boot/manager/physical/controller/EmployeeHealthCheckController.java index fc80466..753cc00 100644 --- a/src/main/java/com/bonus/boot/manager/physical/controller/EmployeeHealthCheckController.java +++ b/src/main/java/com/bonus/boot/manager/physical/controller/EmployeeHealthCheckController.java @@ -99,7 +99,7 @@ public class EmployeeHealthCheckController { System.out.println(imageFiles); dao.updatePDFAddress(nameList.get(i).split("-")[1],imageFiles); // String linkPath = "http://112.31.106.186:1616/yntj/";//正式环境 - String linkPath = "http://192.168.0.14:1616/yntj";//测试环境 + String linkPath = "http://192.168.0.14:18077/yntj";//测试环境 String phone = dao.getPersonPhoneNumber(nameList.get(i).split("-")[1]); String msg = nameList.get(i).split("-")[0]+"您的体检结果已生成,请点击查看"+linkPath; SendPhoneMessageUtil.SendPhoneMsg(phone,msg); diff --git a/src/main/resources/mappers/basic/PersonnelLibraryMapper.xml b/src/main/resources/mappers/basic/PersonnelLibraryMapper.xml index f83aa19..2d0d432 100644 --- a/src/main/resources/mappers/basic/PersonnelLibraryMapper.xml +++ b/src/main/resources/mappers/basic/PersonnelLibraryMapper.xml @@ -4,12 +4,14 @@ - insert into pm_base_physical(phy_name,idcard,age,depart_id,sex,if_higher,telep_number,if_job,special_job,phy_password,is_active,status,nosocomium,set_meal,personnel_type) - values (#{personName},#{idNumber},#{age},#{departmentId},#{sex},#{higherJob},#{phone},#{personType},#{specialPost},#{password},'1','1',#{hospital},#{setMeal},#{personnelType}) - + insert into + pm_base_physical(phy_name,idcard,age,depart_id,sex,if_higher,telep_number,if_job,special_job,phy_password,is_active,status,nosocomium,set_meal,personnel_type,pushStatus) + values + (#{personName},#{idNumber},#{age},#{departmentId},#{sex},#{higherJob},#{phone},#{personType},#{specialPost},#{password},'1','1',#{hospital},#{setMeal},#{personnelType},'1') - insert into pm_physical_result(physical_id) values (#{id}) + insert into pm_physical_result(physical_id) + values (#{id}) @@ -17,38 +19,52 @@ VALUES (#{hospId},#{personName}, #{departmentId}, #{sex}, #{idNumber}, #{phone}, #{specialPost}) - update pm_base_physical set - depart_id = #{departmentId}, - if_higher =#{higherJob}, - if_job = #{personType}, - special_job = #{specialPost}, - nosocomium = #{hospital}, - personnel_type = #{personnelType}, - set_meal = #{setMeal} - where id = #{id} and is_active='1' + update pm_base_physical + set depart_id = #{departmentId}, + if_higher =#{higherJob}, + if_job = #{personType}, + special_job = #{specialPost}, + nosocomium = #{hospital}, + personnel_type = #{personnelType}, + set_meal = #{setMeal} + where id = #{id} + and is_active = '1' - update pm_base_physical set phy_password = #{password} where id = #{id} + update pm_base_physical + set phy_password = #{password} + where id = #{id} - update pm_base_physical set is_active = '0' where id = #{id} + update pm_base_physical + set is_active = '0' + where id = #{id} - - insert into pm_base_physical(phy_name,idcard,depart_id,sex,telep_number,phy_password,if_job,age,special_job,is_active) - values (#{personName},#{idNumber},#{department},#{sex},#{phone},#{password},#{personType},#{age},#{specialPost},'1') + + insert into pm_base_physical(phy_name, idcard, depart_id, sex, telep_number, phy_password, if_job, age, + special_job, is_active) + values (#{personName}, #{idNumber}, #{department}, #{sex}, #{phone}, #{password}, #{personType}, #{age}, + #{specialPost}, '1') - update pm_base_physical set - phy_name=#{personName},idcard=#{idNumber},depart_id=#{department},telep_number=#{phone}, - if_job=#{personType},age=#{age},special_job=#{specialPost} - where telep_number=#{phone} and is_active='1' + update pm_base_physical + set phy_name=#{personName}, + idcard=#{idNumber}, + depart_id=#{department}, + telep_number=#{phone}, + if_job=#{personType}, + age=#{age}, + special_job=#{specialPost} + where telep_number = #{phone} + and is_active = '1' - update pm_occupation_phy_result set - depart = #{departmentId}, + update pm_occupation_phy_result + set depart = #{departmentId}, special_job = #{specialPost} - where phy_id = #{id} and is_active='1' + where phy_id = #{id} + and is_active = '1' + diff --git a/src/main/resources/static/login.html b/src/main/resources/static/login.html index 9639a8c..29d7688 100644 --- a/src/main/resources/static/login.html +++ b/src/main/resources/static/login.html @@ -129,7 +129,6 @@ function login(obj) { $(obj).attr("disabled", true); - debugger; var username = $.trim($('#username').val()); var password = $.trim($('#password').val()); if (username == "" || password == "") { diff --git a/src/main/resources/static/pages/health/career/FileView.html b/src/main/resources/static/pages/health/career/FileView.html index 755dad4..2593b2b 100644 --- a/src/main/resources/static/pages/health/career/FileView.html +++ b/src/main/resources/static/pages/health/career/FileView.html @@ -144,7 +144,6 @@ var fileUploadPath = ""; - debugger function setParam(filePath, fileNames, fileTimes, fileDownloadName){ var suffix =""; if(fileNames !=null && fileNames !=undefined && fileNames !='null' && fileNames !='undefined'){