package org.springblade.code.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.vci.mdm.dto.CodeClassifyValueDTO; import com.vci.mdm.pagemodel.CodeClassifyValueVO; import com.vci.mdm.service.CodeClassifyValueServiceI; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.Tree; import com.vci.starter.web.pagemodel.TreeQueryObject; import com.vci.starter.web.util.VciBaseUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; /** * 分类码段的码值控制器 * * @author weidy * @date 2022-01-24 */ @RestController @RequestMapping("/codeClassifyValueController") public class CodeClassifyValueController { /** * 分类码段的码值 服务 */ @Autowired private CodeClassifyValueServiceI codeClassifyValueService; /** * 分类码段的码值树 * @param treeQueryObject 树形查询对象 * @return 分类码段的码值显示树 */ @GetMapping("/treeCodeClassifyValue") public List treeCodeClassifyValue(TreeQueryObject treeQueryObject) { return codeClassifyValueService.treeCodeClassifyValue(treeQueryObject); } /** * 增加 分类码段的码值 * @param codeClassifyValueDTO 分类码段的码值数据传输对象 * @return 执行结果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象 */ @PostMapping( "/addSave") public BaseResult addSave(@RequestBody CodeClassifyValueDTO codeClassifyValueDTO){ CodeClassifyValueVO codeClassifyValueVO = codeClassifyValueService.addSave(codeClassifyValueDTO); return BaseResult.success(codeClassifyValueVO); } /** * 修改 分类码段的码值 * @param codeClassifyValueDTO 分类码段的码值数据传输对象 * @return 执行结果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象 */ @PutMapping("/editSave") public BaseResult editSave(@RequestBody CodeClassifyValueDTO codeClassifyValueDTO){ CodeClassifyValueVO codeClassifyValueVO = codeClassifyValueService.editSave(codeClassifyValueDTO); return BaseResult.success(codeClassifyValueVO); } /** * 检查 分类码段的码值是否删除 * @param codeClassifyValueDTO 分类码段的码值数据传输对象,必须要有oid和ts属性 * @return 执行结果 success为true为可以删除,false表示有数据引用,obj为true表示有下级 */ @PostMapping( "/checkIsCanDelete") public BaseResult checkIsCanDelete( CodeClassifyValueDTO codeClassifyValueDTO) { return codeClassifyValueService.checkIsCanDelete(codeClassifyValueDTO); } /** * 删除分类码段的码值 * @param codeClassifyValueDTO 分类码段的码值数据传输对象,oid和ts需要传输 * @return 删除结果反馈::success:成功,fail:失败 */ @DeleteMapping( "/deleteData") public BaseResult delCodeClassifyValue( CodeClassifyValueDTO codeClassifyValueDTO) { return codeClassifyValueService.deleteCodeClassifyValue(codeClassifyValueDTO); } /** * 主键获取分类码段的码值 * @param oid 主键 * @return 分类码段的码值显示对象 */ @GetMapping("/getObjectByOid") public BaseResult getObjectByOid(String oid){ CodeClassifyValueVO codeClassifyValueVO = codeClassifyValueService.getObjectByOid(oid); return BaseResult.success(codeClassifyValueVO); } /** * 主键批量获取分类码段的码值 * @param oids 主键,多个以逗号分隔,但是受性能影响,建议一次查询不超过10000个 * @return 分类码段的码值显示对象 */ @GetMapping("/listDataByOids") public BaseResult listCodeClassifyValueByOids(String oids){ Collection voCollection = codeClassifyValueService.listCodeClassifyValueByOids(VciBaseUtil.str2List(oids)); BaseResult baseResult = BaseResult.success(); baseResult.setData(voCollection); return baseResult; } /** * 参照树 分类码段的码值 * @param treeQueryObject 树形查询对象 * @return 分类码段的码值显示树 */ @GetMapping("/referTree") public List referTree(TreeQueryObject treeQueryObject) { return codeClassifyValueService.referTree(treeQueryObject); } /** * 保存页面上的分类码段码值,主要是保存序号用于排序。如果数据库中存在页面传输对象集合中不存在的值,则删除。 * @param param 参数,包括dtoList 页面传输对象集合 和codeclassifysecoid 分类码段主键 * @return 执行结果 */ @PostMapping("/saveOrder") public BaseResult saveOrder(@RequestBody Map param){ JSONArray json = JSONArray.parseArray(String.valueOf(param.get("dtoList"))); List dtoList = new ArrayList<>(); for (int i = 0; i < json.size(); i++) { CodeClassifyValueDTO codeFixedValueDTO = JSONObject.toJavaObject(JSONObject.parseObject(JSONObject.toJSONString(json.get(i))), CodeClassifyValueDTO.class); dtoList.add(codeFixedValueDTO); } String codeclassifysecoid = (String) param.get("codeclassifysecoid"); VciBaseUtil.alertNotNull(dtoList,"码值集合"); if (CollectionUtils.isEmpty(dtoList)){ return BaseResult.success(); } return codeClassifyValueService.batchSave4Order(dtoList,codeclassifysecoid); } }