赵文轩
2024-10-31 96d09d6776cd3d9995bc7f4a40dcf3567abaae5a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package com.ltkj.web.controller.system;
 
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
 
import cn.hutool.core.date.DateUtil;
import cn.hutool.extra.pinyin.PinyinUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ltkj.framework.config.MatchUtils;
import com.ltkj.hosp.domain.TjCustomerBlack;
import com.ltkj.hosp.domain.TjReservation;
import com.ltkj.hosp.service.ITjReservationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ltkj.common.annotation.Log;
import com.ltkj.common.core.controller.BaseController;
import com.ltkj.common.core.domain.AjaxResult;
import com.ltkj.common.enums.BusinessType;
import com.ltkj.hosp.domain.DictComp;
import com.ltkj.hosp.service.IDictCompService;
import com.ltkj.common.utils.poi.ExcelUtil;
import com.ltkj.common.core.page.TableDataInfo;
 
/**
 * 体检单位信息维护Controller
 *
 * @author ltkj
 * @date 2022-11-21
 */
@RestController
@RequestMapping("/system/comp")
@Api(tags = "单位操作接口")
public class DictCompController extends BaseController {
    @Resource
    private IDictCompService dictCompService;
    @Resource
    private ITjReservationService reservationService;
    /**
     * 获取单位信息集合接口
     */
    @GetMapping("/getCompList")
    @ApiOperation(value = "获取单位信息集合接口")
    public AjaxResult getCompList() {
        return AjaxResult.success(dictCompService.list());
    }
 
    /**
     * 查询体检单位信息维护列表
     */
    //@PreAuthorize("@ss.hasPermi('system:comp:list')")
    @GetMapping("/list")
    public TableDataInfo list(DictComp dictComp) {
        startPage();
        List<DictComp> list = dictCompService.selectDictCompList(dictComp);
        return getDataTable(list);
    }
 
    /**
     * 导出体检单位信息维护列表
     */
    //@PreAuthorize("@ss.hasPermi('system:comp:export')")
    @Log(title = "体检单位信息维护", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, DictComp dictComp) {
        List<DictComp> list = dictCompService.selectDictCompList(dictComp);
        ExcelUtil<DictComp> util = new ExcelUtil<DictComp>(DictComp.class);
        util.exportExcel(response, list, "体检单位信息维护数据");
    }
 
    /**
     * 获取体检单位信息维护详细信息
     */
    //@PreAuthorize("@ss.hasPermi('system:comp:query')")
    @GetMapping(value = "/{drugManufacturerId}")
    public AjaxResult getInfo(@PathVariable("drugManufacturerId") String drugManufacturerId) {
        return success(dictCompService.selectDictCompByDrugManufacturerId(drugManufacturerId));
    }
 
    /**
     * 新增体检单位信息维护
     */
    //@PreAuthorize("@ss.hasPermi('system:comp:add')")
    @Log(title = "体检单位信息维护", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody DictComp dictComp) {
        if(null !=dictComp.getCnName()){
            String firstLetter = PinyinUtil.getFirstLetter(dictComp.getCnName(), "");
            dictComp.setWbm(MatchUtils.toWubi(dictComp.getCnName()));
            dictComp.setEnName(firstLetter);
        }
        return toAjax(dictCompService.save(dictComp));
    }
 
    /**
     * 修改体检单位信息维护
     */
    //@PreAuthorize("@ss.hasPermi('system:comp:edit')")
    @Log(title = "体检单位信息维护", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody DictComp dictComp) {
        return toAjax(dictCompService.updateDictComp(dictComp));
    }
 
    /**
     * 删除体检单位信息维护
     */
    //@PreAuthorize("@ss.hasPermi('system:comp:remove')")
    @Log(title = "体检单位信息维护", businessType = BusinessType.DELETE)
    @DeleteMapping("/{drugManufacturerIds}")
    public AjaxResult remove(@PathVariable String[] drugManufacturerIds) {
        return toAjax(dictCompService.deleteDictCompByDrugManufacturerIds(drugManufacturerIds));
    }
 
 
    @GetMapping("/getCusTomterListByCompId")
    @ApiOperation(value = "获取单位id体检人信息接口")
    public AjaxResult getCusTomterListByCompId(@RequestParam(required = false) @ApiParam(value = "单位id") String compId,
                                               @RequestParam(required = false) @ApiParam(value = "名字") String name,
                                               @RequestParam(required = false) @ApiParam(value = "部门id") String deptId,
                                               @RequestParam(required = false) @ApiParam(value = "预约时间") Date reservationTime) {
 
        LambdaQueryWrapper<TjReservation> wq=new LambdaQueryWrapper<>();
        if(null !=compId)wq.eq(TjReservation::getCompanyId,compId);
        if(null !=name)wq.eq(TjReservation::getName,name);
        if(null !=deptId)wq.eq(TjReservation::getDepartment,deptId);
        if(null !=reservationTime)wq.between(TjReservation::getReservationTime, DateUtil.beginOfDay(reservationTime),DateUtil.endOfDay(reservationTime));
        wq.eq(TjReservation::getIsExpire,"2");
        return AjaxResult.success(reservationService.list(wq));
    }
 
 
}