You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

169 lines
6.3 KiB

package jnpf.controller;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jnpf.base.ActionResult;
import jnpf.base.UserInfo;
import jnpf.base.vo.PageListVO;
import jnpf.base.vo.PaginationVO;
import jnpf.controller.util.SwapUtil;
import jnpf.entity.Base_datainterfaceEntity;
import jnpf.exception.DataException;
import jnpf.model.base_datainterface.*;
import jnpf.permission.entity.UserEntity;
import jnpf.service.Base_datainterfaceService;
import jnpf.util.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* base_datainterface
* @版本: V3.5
* @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
* @作者: JNPF开发平台组
* @日期: 2024-06-19
*/
@Slf4j
@RestController
@Tag(name = "base_datainterface" , description = "example")
@RequestMapping("/Base_datainterface")
public class Base_datainterfaceController {
@Autowired
private SwapUtil generaterSwapUtil;
@Autowired
private UserProvider userProvider;
@Autowired
private Base_datainterfaceService base_datainterfaceService;
/**
* 列表
*
* @param base_datainterfacePagination
* @return
*/
@Operation(summary = "获取列表")
@PostMapping("/getList")
public ActionResult list(@RequestBody Base_datainterfacePagination base_datainterfacePagination)throws IOException{
List<Base_datainterfaceEntity> list= base_datainterfaceService.getList(base_datainterfacePagination);
List<Map<String, Object>> realList=new ArrayList<>();
for (Base_datainterfaceEntity entity : list) {
Map<String, Object> base_datainterfaceMap=JsonUtil.entityToMap(entity);
base_datainterfaceMap.put("id", base_datainterfaceMap.get("id"));
//副表数据
//子表数据
realList.add(base_datainterfaceMap);
}
//数据转换
realList = generaterSwapUtil.swapDataList(realList, Base_datainterfaceConstant.getFormData(), Base_datainterfaceConstant.getColumnData(), base_datainterfacePagination.getModuleId(),false);
//返回对象
PageListVO vo = new PageListVO();
vo.setList(realList);
PaginationVO page = JsonUtil.getJsonToBean(base_datainterfacePagination, PaginationVO.class);
vo.setPagination(page);
return ActionResult.success(vo);
}
/**
* 创建
*
* @param base_datainterfaceForm
* @return
*/
@PostMapping()
@Transactional
@Operation(summary = "创建")
public ActionResult create(@RequestBody @Valid Base_datainterfaceForm base_datainterfaceForm) throws DataException {
String b = base_datainterfaceService.checkForm(base_datainterfaceForm,0);
if (StringUtil.isNotEmpty(b)){
return ActionResult.fail(b );
}
String mainId = RandomUtil.uuId() ;
UserInfo userInfo=userProvider.get();
UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId());
base_datainterfaceForm = JsonUtil.getJsonToBean(
SwapUtil.swapDatetime(Base_datainterfaceConstant.getFormData(),base_datainterfaceForm),Base_datainterfaceForm.class);
Base_datainterfaceEntity entity = JsonUtil.getJsonToBean(base_datainterfaceForm, Base_datainterfaceEntity.class);
entity.setId(mainId);
base_datainterfaceService.save(entity);
return ActionResult.success("创建成功");
}
/**
* 编辑
* @param id
* @param base_datainterfaceForm
* @return
*/
@PutMapping("/{id}")
@Transactional
@Operation(summary = "更新")
public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid Base_datainterfaceForm base_datainterfaceForm) throws DataException {
String b = base_datainterfaceService.checkForm(base_datainterfaceForm,1);
if (StringUtil.isNotEmpty(b)){
return ActionResult.fail(b );
}
UserInfo userInfo=userProvider.get();
Base_datainterfaceEntity entity= base_datainterfaceService.getInfo(id);
if(entity!=null){
base_datainterfaceForm = JsonUtil.getJsonToBean(
SwapUtil.swapDatetime(Base_datainterfaceConstant.getFormData(),base_datainterfaceForm),Base_datainterfaceForm.class);
Base_datainterfaceEntity subentity=JsonUtil.getJsonToBean(base_datainterfaceForm, Base_datainterfaceEntity.class);
boolean b1 = base_datainterfaceService.updateById(subentity);
if (!b1){
return ActionResult.fail("当前表单原数据已被调整,请重新进入该页面编辑并提交数据");
}
return ActionResult.success("更新成功");
}else{
return ActionResult.fail("更新失败,数据不存在");
}
}
/**
* 删除
* @param id
* @return
*/
@Operation(summary = "删除")
@DeleteMapping("/{id}")
@Transactional
public ActionResult delete(@PathVariable("id") String id){
Base_datainterfaceEntity entity= base_datainterfaceService.getInfo(id);
if(entity!=null){
//主表数据删除
base_datainterfaceService.delete(entity);
}
return ActionResult.success("删除成功");
}
/**
* 获取详情(编辑页)
* 编辑页面使用-不转换数据
* @param id
* @return
*/
@Operation(summary = "信息")
@GetMapping("/{id}")
public ActionResult info(@PathVariable("id") String id){
Base_datainterfaceEntity entity= base_datainterfaceService.getInfo(id);
if(entity==null){
return ActionResult.fail("表单数据不存在!");
}
Map<String, Object> base_datainterfaceMap=JsonUtil.entityToMap(entity);
base_datainterfaceMap.put("id", base_datainterfaceMap.get("id"));
//副表数据
//子表数据
base_datainterfaceMap = generaterSwapUtil.swapDataForm(base_datainterfaceMap,Base_datainterfaceConstant.getFormData(),Base_datainterfaceConstant.TABLEFIELDKEY,Base_datainterfaceConstant.TABLERENAMES);
return ActionResult.success(base_datainterfaceMap);
}
}