diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/CostUnitDao.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/CostUnitDao.java new file mode 100644 index 0000000..d424b93 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/CostUnitDao.java @@ -0,0 +1,9 @@ +package com.yuexiu.secp.read.model.dao; + +import com.sie.iot.common.model.dao.BaseCommonDAO_HI; +import com.yuexiu.secp.read.model.entities.CostUnitEntity; +import org.springframework.stereotype.Component; + +@Component("costUnitDao") +public interface CostUnitDao extends BaseCommonDAO_HI { +} diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/readonly/CostUnitDaoRO.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/readonly/CostUnitDaoRO.java new file mode 100644 index 0000000..9b0e1b3 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/readonly/CostUnitDaoRO.java @@ -0,0 +1,10 @@ +package com.yuexiu.secp.read.model.dao.readonly; + + +import com.siefw.hibernate.core.dao.DynamicViewObjectImpl; +import com.yuexiu.secp.read.model.entities.readonly.CostUnitEntityRO; +import org.springframework.stereotype.Component; + +@Component("costUnitDaoRO") +public interface CostUnitDaoRO extends DynamicViewObjectImpl { +} diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/CostUnitEntity.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/CostUnitEntity.java new file mode 100644 index 0000000..5da7a00 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/CostUnitEntity.java @@ -0,0 +1,26 @@ +package com.yuexiu.secp.read.model.entities; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.sie.iot.common.idgenerate.GeneratedKeyValue; +import com.sie.iot.common.model.entity.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@TableName("sie_cost_unit") +@GeneratedKeyValue +@ApiModel(value = "成本单位") +public class CostUnitEntity extends BaseEntity implements Serializable{ + @TableId(value = "cost_unit_id", type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键id") + private Long costUnitId; + @ApiModelProperty(value = "成本单位名称") + private String unitName; + @ApiModelProperty(value = "租户id") + private Long tenantId; +} diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/readonly/CostUnitEntityRO.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/readonly/CostUnitEntityRO.java new file mode 100644 index 0000000..e9072f9 --- /dev/null +++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/readonly/CostUnitEntityRO.java @@ -0,0 +1,39 @@ +package com.yuexiu.secp.read.model.entities.readonly; + + +import com.alibaba.fastjson.annotation.JSONField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +@ApiModel(value = "成本单位") +public class CostUnitEntityRO implements Serializable { + + public static final String QUERY_SQL = " SELECT\n" + + "scu.cost_unit_id,\n" + + "scu.unit_name,\n" + + "scu.tenant_id,\n" + + "scu.creation_date,\n" + + "scu.last_update_date\n" + + "FROM\n" + + "sie_cost_unit scu \n" + + "WHERE\n" + + "scu.delete_flag = 0 "; + + @ApiModelProperty(value = "主键id") + private Long costUnitId; + @ApiModelProperty(value = "成本单位名称") + private String unitName; + @ApiModelProperty(value = "租户id") + private Long tenantId; + @ApiModelProperty(value = "创建日期") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private Date creationDate; + @ApiModelProperty(value = "更新日期") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private Date lastUpdateDate; +} diff --git a/2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/dto/CostUnitDto.java b/2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/dto/CostUnitDto.java new file mode 100644 index 0000000..332dcd8 --- /dev/null +++ b/2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/dto/CostUnitDto.java @@ -0,0 +1,19 @@ +package com.yuexiu.secp.read.dto; + + +import com.sie.iot.common.bean.ReqeustCommonDataBean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "成本单位") +public class CostUnitDto extends ReqeustCommonDataBean { + + @ApiModelProperty(value = "主键id") + private Long costUnitId; + @ApiModelProperty(value = "成本单位名称") + private String unitName; + @ApiModelProperty(value = "租户id") + private Long tenantId; +} diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/CostUnitController.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/CostUnitController.java new file mode 100644 index 0000000..7bbe0bc --- /dev/null +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/CostUnitController.java @@ -0,0 +1,100 @@ +package com.yuexiu.secp.read.controller; + + +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSONObject; +import com.sie.iot.common.bean.PaginationRequestData; +import com.sie.iot.common.bean.RequestData; +import com.sie.iot.common.bean.ResponseData; +import com.sie.iot.common.iotenum.ResponseMsgCode; +import com.sie.iot.common.model.inter.IBaseCommon; +import com.sie.iot.common.secure.annotation.CheckToken; +import com.sie.iot.common.services.CommonAbstractService; +import com.siefw.hibernate.core.paging.Pagination; +import com.yuexiu.secp.read.dto.CostUnitDto; +import com.yuexiu.secp.read.model.entities.CostUnitEntity; +import com.yuexiu.secp.read.model.entities.readonly.CostUnitEntityRO; +import com.yuexiu.secp.read.model.service.ICostUnit; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +@Validated +@Api(value = "阅读有礼-成本单位", tags = "阅读有礼-成本单位") +@RestController +@RequestMapping("/costUnitController") +public class CostUnitController extends CommonAbstractService { + + @Autowired(required = true) + private ICostUnit costUnitServer; + + @Override + public IBaseCommon getBaseCommonServer() { + return this.costUnitServer; + } + + @ApiOperation(value = "分页查询成本单位", notes = "分页成本单位") + @PostMapping(value = "/findPaginationRO") + @CheckToken + public ResponseData> findPaginationRO(@RequestBody PaginationRequestData paginationRequestData) { + Integer pageIndex = paginationRequestData.getPageIndex(); + Integer pageRows = paginationRequestData.getPageRows(); + CostUnitDto costUnitDto = paginationRequestData.getParams(); + JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(costUnitDto)); + Pagination pagination = costUnitServer.findPaginationRO(jsonObject, pageIndex, pageRows, paginationRequestData.getOrderByBean()); + return ResponseData.data(pagination); + } + + @ApiOperation(value = "根据id成本单位信息", notes = "根据id成本单位信息") + @GetMapping(value = "/findById") + @CheckToken + public ResponseData findById(Long id) { + CostUnitEntity costUnitEntity = costUnitServer.getById(id); + return ResponseData.data(costUnitEntity); + } + + @ApiOperation(value = "保存成本单位", notes = "保存成本单位") + @PostMapping(value = "/save") + @CheckToken + public ResponseData save(@RequestBody RequestData requestData) { + CostUnitDto costUnitDto = requestData.getParams(); + CostUnitEntity costUnitEntity = JSONObject.parseObject(JSONObject.toJSONString(costUnitDto), CostUnitEntity.class); + //固定 + costUnitEntity.setOperatorUserId(getUserSessionBean().getUserId()); + costUnitEntity.setTenantId(getUserSessionBean().getTenantId()); + + costUnitServer.save(costUnitEntity); + return ResponseData.data(costUnitEntity); + } + + @PostMapping(value = "/update") + @CheckToken + public ResponseData update(@RequestBody RequestData requestData) { + CostUnitDto costUnitDto = requestData.getParams(); + CostUnitEntity costUnitEntity = costUnitServer.getById(costUnitDto.getCostUnitId()); + if (null != costUnitEntity) { + BeanUtil.copyProperties(costUnitDto, costUnitEntity); + //固定 + costUnitEntity.setOperatorUserId(getUserSessionBean().getUserId()); + } else { + return ResponseData.fail(ResponseMsgCode.UPDATE_DATA_NOT_EXIST.msgCode); + } + costUnitServer.update(costUnitEntity); + return ResponseData.data(costUnitEntity); + } + + @ApiOperation(value = "通过Id删除成本单位", notes = "通过Id删除成本单位") + @GetMapping(value = "/delete") + @CheckToken + public ResponseData deleteById(@RequestParam Long id) { + CostUnitEntity costUnitEntity = costUnitServer.getById(id); + if (costUnitEntity != null) { + costUnitEntity.setDeleteFlag(1); + costUnitEntity.setOperatorUserId(getUserSessionBean().getUserId()); + } + costUnitServer.update(costUnitEntity); + return ResponseData.success(); + } +} diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/ICostUnit.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/ICostUnit.java new file mode 100644 index 0000000..6730693 --- /dev/null +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/ICostUnit.java @@ -0,0 +1,24 @@ +package com.yuexiu.secp.read.model.service; + + +import com.alibaba.fastjson.JSONObject; +import com.sie.iot.common.bean.OrderByBean; +import com.sie.iot.common.model.inter.IBaseCommon; +import com.siefw.hibernate.core.paging.Pagination; +import com.yuexiu.secp.read.model.entities.CostUnitEntity; +import com.yuexiu.secp.read.model.entities.readonly.CostUnitEntityRO; + +public interface ICostUnit extends IBaseCommon { + + /** + * 分页查询 成本单位 + * @param jsonObject + * @param pageIndex + * @param pageRows + * @param orderByBean + * @return + */ + Pagination findPaginationRO(JSONObject jsonObject, Integer pageIndex, Integer pageRows, OrderByBean orderByBean); + + +} diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/CostUnitServer.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/CostUnitServer.java new file mode 100644 index 0000000..48b4425 --- /dev/null +++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/CostUnitServer.java @@ -0,0 +1,49 @@ +package com.yuexiu.secp.read.model.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; +import com.sie.iot.common.bean.OrderByBean; +import com.sie.iot.common.model.inter.server.BaseCommonServer; +import com.sie.iot.common.util.SaafToolUtils; +import com.siefw.hibernate.core.dao.ViewObject; +import com.siefw.hibernate.core.paging.Pagination; +import com.yuexiu.secp.read.model.dao.readonly.CostUnitDaoRO; +import com.yuexiu.secp.read.model.entities.CostUnitEntity; +import com.yuexiu.secp.read.model.entities.readonly.CostUnitEntityRO; +import com.yuexiu.secp.read.model.service.ICostUnit; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.Map; + +@Component("costUnitServer") +public class CostUnitServer extends BaseCommonServer implements ICostUnit { + @Autowired + private ViewObject costUnitDao; + @Autowired + private CostUnitDaoRO costUnitDaoRO; + + /** + * 分页查询 成本单位 + * @param jsonObject + * @param pageIndex + * @param pageRows + * @param orderByBean + * @return + */ + @Override + public Pagination findPaginationRO(JSONObject jsonObject, Integer pageIndex, Integer pageRows, OrderByBean orderByBean) { + Map paramsMap = new HashMap(); + StringBuffer querySQL = new StringBuffer(CostUnitEntityRO.QUERY_SQL); + + //通过 成本单位名称 模糊查询 + if (StrUtil.isNotEmpty(jsonObject.getString("unitName"))) { + SaafToolUtils.parperParam(jsonObject, "dept.unit_name", "unitName", querySQL, paramsMap, "like"); + } + + SaafToolUtils.sortUtil(orderByBean, querySQL); + return costUnitDaoRO.findPagination(querySQL.toString(), paramsMap, pageIndex, pageRows); + } + +}