zjh
2024-12-30 1b7ed7edb09aaecf68ddf3396ee007bc6eadf52a
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
@@ -31,6 +31,7 @@
import com.ltkj.web.controller.his.HisApiGetMethodService;
import com.ltkj.web.controller.his.HisApiMethod;
import com.ltkj.web.controller.his.HisApiMethodService;
import com.ltkj.web.wxUtils.HttpClientUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -44,10 +45,7 @@
import com.ltkj.common.utils.poi.ExcelUtil;
import com.ltkj.common.core.page.TableDataInfo;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@@ -159,8 +157,6 @@
                }
            }
//            Date dates = new Date();
//            final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss");
            final String getInfoFromSqlData = sysConfigService.selectConfigByKey("getInfoFromSqlData");
            if ("Y".equals(getInfoFromSqlData)) {
@@ -168,7 +164,7 @@
                LtkjTjPat tjPatByIdCard = testMapper.getTjPatByIdCard(cusIdcard);
                if (null != tjPatByIdCard) {
                    String fcardNo = tjPatByIdCard.getFcardNo();
                    if (null != fcardNo && !fcardNo.equals("")) {
                    if (null != fcardNo && !fcardNo.isEmpty()) {
                        fcardNo = fcardNo.trim();
                        tjPatByIdCard.setFcardNo(fcardNo);
                    } else {
@@ -213,16 +209,12 @@
            String key = sysConfigService.selectConfigByKey("sfkqdyhis");
            //end====2023.12.12
            LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>();
            wq.eq(TjReservation::getIdCard, cusIdcard);
            wq.eq(TjReservation::getIsExpire, 2);
            TjReservation tjReservation = tjReservationService.getOne(wq);
            if (tjReservation != null) {
//                if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) {
//                    return AjaxResult.error("未到预约时间");
//                }
                if (null != tjReservation.getReservationTime() && DateUtil.endOfDay(DateUtil.offsetDay(tjReservation.getReservationTime(),
                        tjReservation.getYxts())).before(new Date())) {
                    tjReservation.setIsExpire(1);
@@ -233,6 +225,9 @@
                qw.eq(TjCustomer::getCusIdcard, cusIdcard);
                TjCustomer tjCustomer1 = tjCustomerService.getOne(qw);
                if (tjCustomer1 != null) {
                    if (null != tjReservation.getCompanyId()) tjCustomer1.setDictCompId(Long.valueOf(tjReservation.getCompanyId()));
                    if (null != tjReservation.getCompany()) tjCustomer1.setCompName(tjReservation.getCompany());
                    tjCustomerService.updateById(tjCustomer1);
                    tjCustomer1.setTjType(tjReservation.getTjType());
                    tjCustomer1.setCusName(tjReservation.getName());
                    tjCustomer1.setCusSex(Long.valueOf(tjReservation.getSex()));
@@ -248,38 +243,18 @@
                    tjCustomer1.setAgeUnit(tjReservation.getAgeUnit());
                    tjCustomer1.setCareer(tjReservation.getCareer());
                    tjCustomer1.setPym(PinyinUtil.getFirstLetter(tjReservation.getName(),""));
/*                    if (null != key && key.equals("Y"))
                    {
                        AjaxResult result = controller.Outpincreateapply(tjCustomer1);
                        String result1 = getAjaxResult(result);
                        JSONObject object = getJSONObject(result1);
                        String code = object.getStr("ResultCode");
                        if (code.equals("0")) {
                            JSONArray resultDatass = object.getJSONArray("ResultData");
                            Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0);
                            if (null != resultData && resultData.size() > 0) {
                                String pationid = resultData.get("PationId").toString();
                                if (null != pationid) {
//                                    tjCustomer1.setPationId(pationid);
                                    tjCustomerService.updateById(tjCustomer1);
                                    //保存注册入参出参
                                    resultData.put("cardId",pationid);
                                    JSONObject object4 = JSONUtil.parseObj(resultData);
                                    LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
                                    lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpincreateapply");
                                    HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
                                    hisApiGetMethodService.save(object4, "Outpincreateapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(tjCustomer1)));
                                }
                            }
                        }
                    }else {
                        tjCustomerService.updateById(tjCustomer1);
                    }*/
                    tjCustomer1.setTeamNo(tjReservation.getTeamNo());
                    tjCustomer1.setCompId(tjReservation.getCompanyId());
                    tjCustomer1.setReservationId(tjReservation.getId());
                    tjCustomer1.setDiscount(tjReservation.getDiscount());
                    tjCustomer1.setGroupingId(tjReservation.getGroupingId());
                    if(null !=tjReservation.getCompanyId())tjCustomer1.setDictCompId(Long.valueOf(tjReservation.getCompanyId()));
                    if(null !=tjReservation.getCompany())tjCustomer1.setCompName(tjReservation.getCompany());
//                    tjCustomerService.updateById(tjCustomer1);
                    return success(tjCustomer1);
                }else {
                    TjCustomer tjCustomer = new TjCustomer();
@@ -306,6 +281,8 @@
                    tjCustomer.setCusPassword(substring);
                    tjCustomer.setTjType(tjReservation.getTjType());
                    tjCustomer.setPym(PinyinUtil.getFirstLetter(tjReservation.getName(),""));
                    if(null !=tjReservation.getCompanyId())tjCustomer.setDictCompId(Long.valueOf(tjReservation.getCompanyId()));
                    if(null !=tjReservation.getCompany())tjCustomer.setCompName(tjReservation.getCompany());
                    if (null != key && key.equals("Y"))
                    {
                        AjaxResult result = controller.Outpincreateapply(tjCustomer);
@@ -315,7 +292,7 @@
                        if (code.equals("0")) {
                            JSONArray resultDatass = object.getJSONArray("ResultData");
                            Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0);
                            if (null != resultData && resultData.size() > 0) {
                            if (null != resultData && !resultData.isEmpty()) {
                                String pationid = resultData.get("PationId").toString();
                                if (null != pationid) {
                                    tjCustomer.setPationId(pationid);
@@ -449,6 +426,7 @@
    @ApiOperation(value = "新增客户")
    @Transactional
    @RepeatSubmit
    @Log(title = "新增客户信息", businessType = BusinessType.INSERT)
    public AjaxResult add(@RequestBody @ApiParam(value = "客户对象信息") TjCustomer tjCustomer) {
        if (null == tjCustomer.getCusIdcard() || null == tjCustomer.getCusPhone()) {
            return AjaxResult.error("请输入身份证号或手机号");
@@ -512,8 +490,50 @@
            AjaxResult tjCustomer1 = suijieHisXinXi(tjCustomer, date);
            if (tjCustomer1 != null) return tjCustomer1;
        } else {
            if (tjCustomerService.save(tjCustomer)) {
                return AjaxResult.success(tjCustomer);
            String s = sysConfigService.selectConfigByKey("is_request_common_his_api");
            if (null != s && s.equals("Y")){
                String apiUrl = sysConfigService.selectConfigByKey("common_api_url");
                String hospbm = sysConfigService.selectConfigByKey("common_api_service_hospbm");
                HashMap<String, Object> isjd = new HashMap<>();
                isjd.put("cusIdCard",tjCustomer.getCusIdcard());
                isjd.put("compId","");
                String isCreat = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/isCreat", isjd);
                JSONObject isCreatjsonObject = JSONUtil.parseObj(isCreat);
                if (isCreatjsonObject.getStr("code").equals("200")){
                    JSONObject data = isCreatjsonObject.getJSONObject("data");
                    tjCustomer.setPationId(data.getStr("pationId"));
                    tjCustomer.setCardId(data.getStr("cardId"));
                    tjCustomer.setHisJzkh(data.getStr("cardId"));
                    if (tjCustomerService.save(tjCustomer)) {
                        return AjaxResult.success(tjCustomer);
                    }
                }else {
                    HashMap<String, Object> map = new HashMap<>();
                    map.put("cardId","");
                    map.put("cusName",tjCustomer.getCusName());
                    map.put("cusSex",tjCustomer.getCusSex());
                    map.put("cusIdCard",tjCustomer.getCusIdcard());
                    map.put("compId","");
                    map.put("cusBrithday",tjCustomer.getCusBrithday() != null ? DateUtil.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd") : "");
                    map.put("cusAddr",tjCustomer.getCusAddr());
                    map.put("cusPhone",tjCustomer.getCusPhone());
                    map.put("compName","");
                    String post = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/creat", map);
                    JSONObject jsonObject = JSONUtil.parseObj(post);
                    if (jsonObject.getStr("code").equals("200")){
                        JSONObject data = jsonObject.getJSONObject("data");
                        tjCustomer.setPationId(data.getStr("pationId"));
                        tjCustomer.setCardId(data.getStr("cardId"));
                        tjCustomer.setHisJzkh(data.getStr("cardId"));
                        if (tjCustomerService.save(tjCustomer)) {
                            return AjaxResult.success(tjCustomer);
                        }
                    }else return AjaxResult.error();
                }
            }else {
                if (tjCustomerService.save(tjCustomer)) {
                    return AjaxResult.success(tjCustomer);
                }
            }
        }
        return AjaxResult.error();
@@ -527,7 +547,7 @@
        if (code.equals("0")) {
            JSONArray resultDatass = object.getJSONArray("ResultData");
            Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0);
            if (null != resultData && resultData.size() > 0) {
            if (null != resultData && !resultData.isEmpty()) {
                String pationid = resultData.get("PationId").toString();
                if (null != pationid) {
                    tjCustomer.setPationId(pationid);
@@ -553,9 +573,11 @@
     * 修改客户信息
     */
    //@PreAuthorize("@ss.hasPermi('hosp:customer:edit')")
    @Log(title = "客户信息", businessType = BusinessType.UPDATE)
    @Log(title = "修改客户信息", businessType = BusinessType.UPDATE)
    @PutMapping
    @ApiOperation(value = "修改客户信息")
    @Transactional
    @RepeatSubmit
    public AjaxResult edit(@RequestBody @ApiParam(value = "客户对象") TjCustomer tjCustomer) {
        TjCustomer customer = tjCustomerService.getById(tjCustomer.getCusId());
@@ -601,26 +623,41 @@
                JSONObject object = getJSONObject(result1);
                String code = object.getStr("ResultCode");
                if (code.equals("0")) {
                    /*               JSONArray resultDatass = object.getJSONArray("ResultData");
                    Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0);
                    if (null != resultData && resultData.size() > 0) {
                        String pationid = resultData.get("PationId").toString();
                        if (null != pationid) {
                            tjCustomer.setPationId(pationid);
                            tjCustomerService.updateById(tjCustomer);
                        }
                    }*/
                    //保存修改入参出参
//                    object.putOpt("cardId",customer.getPationId());
//                    LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>();
//                    lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Outpincreateapply");
//                    HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper);
//                    hisApiGetMethodService.save(object, "Outpincreateapply", hisApiConfig, JSONUtil.toJsonStr(BeanUtil.beanToMap(tjCustomer)));
                    return AjaxResult.success();
                }
                return AjaxResult.error(object.getStr("ResultContent"));
            }else {
                String s = sysConfigService.selectConfigByKey("is_request_common_his_api");
                if (null != s && s.equals("Y")){
                    String apiUrl = sysConfigService.selectConfigByKey("common_api_url");
                    String hospbm = sysConfigService.selectConfigByKey("common_api_service_hospbm");
                    HashMap<String, Object> map = new HashMap<>();
                    map.put("pationId",tjCustomer.getPationId());
                    map.put("cardId",tjCustomer.getCardId());
                    map.put("cusName",tjCustomer.getCusName());
                    map.put("cusSex",tjCustomer.getCusSex());
                    map.put("cusIdCard",tjCustomer.getCusIdcard());
                    map.put("compId","");
                    map.put("cusBrithday",tjCustomer.getCusBrithday() != null ? DateUtil.format(tjCustomer.getCusBrithday(), "yyyy-MM-dd") : "");
                    map.put("cusAddr",tjCustomer.getCusAddr());
                    map.put("cusPhone",tjCustomer.getCusPhone());
                    map.put("compName","");
                    String isCreat = HttpClientUtils.sendPost(apiUrl+"/api/his/"+hospbm+"/update", map);
                    JSONObject isCreatjsonObject = JSONUtil.parseObj(isCreat);
                    if (isCreatjsonObject.getStr("code").equals("200")){
//                        JSONObject data = isCreatjsonObject.getJSONObject("data");
//                        tjCustomer.setPationId(data.getStr("pationId"));
//                        tjCustomer.setCardId(data.getStr("cardId"));
//                        tjCustomer.setHisJzkh(data.getStr("cardId"));
//                        if (tjCustomerService.updateById(tjCustomer)) {
                            return AjaxResult.success(tjCustomer);
//                        }
                    }else {
                        return AjaxResult.error();
                    }
                }
                return AjaxResult.success();
            }
            return AjaxResult.success();
        }
       return AjaxResult.error();
    }
@@ -633,6 +670,6 @@
    @DeleteMapping("/{cusIds}")
    @ApiOperation(value = "删除客户")
    public AjaxResult remove(@PathVariable @ApiParam(value = "所删除客户的id") Long[] cusIds) {
        return toAjax(tjCustomerService.deleteTjCustomerByCusIds(cusIds));
        return toAjax(tjCustomerService.removeByIds(Arrays.asList(cusIds)));
    }
}