package com.vci.ubcs.code.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.vci.ubcs.code.dto.CodeFixedValueDTO; import com.vci.ubcs.code.entity.CodeFixedValue; import com.vci.ubcs.code.service.ICodeFixedValueService; import com.vci.ubcs.code.vo.pagemodel.CodeFixedValueVO; import com.vci.ubcs.starter.web.util.VciBaseUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; /** * 固定码段的码值控制器 * * @author ludc * @date 2022-01-24 */ @RestController @RequestMapping("/codeFixedValueController") @Api(value = "固定码段的码值控制器", tags = "固定码段的码值控制器") public class CodeFixedValueController { /** * 固定码段的码值 服务 */ @Autowired private ICodeFixedValueService codeFixedValueService; /** * 固定码段的码值列表 * @param codeFixedValueVO query 基础查询对象,包含查询条件,分页,排序等 * @return 固定码段的码值显示对象列表 */ @GetMapping("/gridCodeFixedValue") @ApiOperationSupport(order = 1) @ApiOperation(value = "固定码段的码值列表", notes = "CodeFixedValueVO") public R> gridCodeFixedValue(CodeFixedValueVO codeFixedValueVO, Query query){ return R.data(codeFixedValueService.gridCodeFixedValue(codeFixedValueVO, Condition.getPage(query.setAscs("orderNum")))); } /** * 增加 固定码段的码值 * @param codeFixedValueDTO 固定码段的码值数据传输对象 * @return 执行结果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象 */ @PostMapping( "/addSave") public R addSave(@RequestBody CodeFixedValueDTO codeFixedValueDTO){ boolean resBoolean = codeFixedValueService.addSave(codeFixedValueDTO); return R.status(resBoolean); } /** * 修改 固定码段的码值 * @param codeFixedValueDTO 固定码段的码值数据传输对象 * @return 执行结果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象 */ @PutMapping("/editSave") public R editSave(@RequestBody CodeFixedValueDTO codeFixedValueDTO){ boolean resBoolean = codeFixedValueService.editSave(codeFixedValueDTO); return R.status(resBoolean); } /** * 删除固定码段的码值 * @param codeFixedValueDTO 固定码段的码值数据传输对象,oid和ts需要传输 * @return 删除结果反馈::success:成功,fail:失败 */ @DeleteMapping( "/deleteData") public R delCodeFixedValue(@Valid @RequestBody CodeFixedValueDTO codeFixedValueDTO) { return codeFixedValueService.deleteCodeFixedValue(codeFixedValueDTO); } /** * 主键获取固定码段的码值 * @param oid 主键 * @return 固定码段的码值显示对象 */ @GetMapping("/getObjectByOid") public R getObjectByOid(String oid){ CodeFixedValueVO codeFixedValueVO = codeFixedValueService.getObjectByOid(oid); return R.data(codeFixedValueVO); } /** * 主键批量获取固定码段的码值 * @param oids 主键,多个以逗号分隔,但是受性能影响,建议一次查询不超过10000个 * @return 固定码段的码值显示对象 */ @GetMapping("/listDataByOids") public R> listCodeFixedValueByOids(String oids){ Collection voCollection = codeFixedValueService.listCodeFixedValueByOids(VciBaseUtil.str2List(oids)); return R.data(voCollection); } /** * 参照固定码段的码值列表 * @param codeFixedValueVO query 基础查询对象,包含查询条件,分页,排序等 * @return 固定码段的码值显示对象列表,生效的内容 */ @GetMapping("/refDataGrid") public R> refDataGridCodeFixedValue(CodeFixedValueVO codeFixedValueVO, Query query){ return R.data(codeFixedValueService.refDataGridCodeFixedValue(codeFixedValueVO,Condition.getPage(query.setAscs("ordernum")))); } /** * 批量添加固定码段的码值,如果保存的集合中不存在已在数据库中的码值则删除。主要是保存码值的序号 * @param param 参数,包括dtoList 页面传输对象集合 codefixedsecoid 固定码段主键 * @return 执行结果 */ @PostMapping("/saveOrder") public R batchSave4Order(@RequestBody Map param){ JSONArray json = JSONArray.parseArray(String.valueOf(param.get("dtoList"))); List dtoList = new ArrayList<>(); for (int i = 0; i < json.size(); i++) { CodeFixedValueDTO codeFixedValueDTO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(json.get(i))), CodeFixedValueDTO.class); dtoList.add(codeFixedValueDTO); } String codefixedsecoid = (String) param.get("codeFixedSecOid"); VciBaseUtil.alertNotNull(codefixedsecoid,"固定码段的主键"); if (CollectionUtils.isEmpty(dtoList)){ return R.status(codeFixedValueService.batchDeleteBySecOid(codefixedsecoid)); } return codeFixedValueService.batchSave4Order(dtoList,codefixedsecoid); } }