操作票(张同朕)

main
zhen 12 months ago
parent 86f765ffdc
commit 2f72d82c04
  1. 215
      src/main/java/org/energy/modules/release/controller/ProductionInformationController.java
  2. 18
      src/main/java/org/energy/modules/release/dto/ProductionInformationDTO.java
  3. 81
      src/main/java/org/energy/modules/release/entity/ProductionInformation.java
  4. 27
      src/main/java/org/energy/modules/release/mapper/ProductionInformationMapper.java
  5. 73
      src/main/java/org/energy/modules/release/mapper/ProductionInformationMapper.xml
  6. 26
      src/main/java/org/energy/modules/release/service/IProductionInformationService.java
  7. 29
      src/main/java/org/energy/modules/release/service/impl/ProductionInformationServiceImpl.java
  8. 20
      src/main/java/org/energy/modules/release/vo/ProductionInformationVO.java
  9. 30
      src/main/java/sql/productioninformation.menu.sql

@ -0,0 +1,215 @@
/**
* Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.energy.modules.release.controller;
import com.xkcoding.http.util.StringUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import javax.validation.Valid;
import com.dayu.daf.core.mp.support.Condition;
import com.dayu.daf.core.mp.support.Query;
import com.dayu.daf.core.tool.api.R;
import com.dayu.daf.core.tool.utils.Func;
import org.energy.modules.smart.entity.OperationTicket;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestParam;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.energy.modules.release.entity.ProductionInformation;
import org.energy.modules.release.vo.ProductionInformationVO;
import org.energy.modules.release.service.IProductionInformationService;
import com.dayu.daf.core.boot.ctrl.DafController;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
/**
* 生产信息发布 控制器
*
* @author Daf
* @since 2024-07-15
*/
@RestController
@AllArgsConstructor
@RequestMapping("/release/productioninformation")
@Api(value = "生产信息发布", tags = "生产信息发布接口")
public class ProductionInformationController extends DafController {
private IProductionInformationService productionInformationService;
/**
* 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "详情", notes = "传入productionInformation")
public R<ProductionInformation> detail(ProductionInformation productionInformation) {
ProductionInformation detail = productionInformationService.getOne(Condition.getQueryWrapper(productionInformation));
return R.data(detail);
}
/**
* 分页 生产信息发布
*/
@GetMapping("/list")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入productionInformation")
public R<IPage<ProductionInformation>> list(ProductionInformation productionInformation, Query query) {
IPage<ProductionInformation> pages = productionInformationService.page(Condition.getPage(query), Condition.getQueryWrapper(productionInformation));
return R.data(pages);
}
/**
* 自定义分页 生产信息发布
*/
@GetMapping("/page")
@ApiOperationSupport(order = 3)
@ApiOperation(value = "分页", notes = "传入productionInformation")
public R<IPage<ProductionInformationVO>> page(ProductionInformationVO productionInformation, Query query) {
IPage<ProductionInformationVO> pages = productionInformationService.selectProductionInformationPage(Condition.getPage(query), productionInformation);
return R.data(pages);
}
/**
* 新增 生产信息发布
*/
@PostMapping("/save")
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增", notes = "传入productionInformation")
public R save(@Valid @RequestBody ProductionInformation productionInformation) {
return R.status(productionInformationService.save(productionInformation));
}
/**
* 修改 生产信息发布
*/
@PostMapping("/update")
@ApiOperationSupport(order = 5)
@ApiOperation(value = "修改", notes = "传入productionInformation")
public R update(@Valid @RequestBody ProductionInformation productionInformation) {
return R.status(productionInformationService.updateById(productionInformation));
}
/**
* 新增或修改 生产信息发布
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入productionInformation")
public R submit(@Valid @RequestBody ProductionInformation productionInformation) {
LocalDate currentDate = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
String formattedDate = currentDate.format(formatter);
//获取最大消息编码
String maxMessageCd = productionInformationService.getMaxMessageCd("'"+formattedDate+"%'");
int number;
if (StringUtil.isNotEmpty(maxMessageCd)){
number = Integer.parseInt(maxMessageCd.substring(maxMessageCd.length()-4));
number++;
}else{
number = 1;
}
String numFormat = String.format("%04d", number);
productionInformation.setMessageEncoding(formattedDate+numFormat);
return R.status(productionInformationService.saveOrUpdate(productionInformation));
}
/**
* 删除 生产信息发布
*/
@PostMapping("/remove")
@ApiOperationSupport(order = 7)
@ApiOperation(value = "逻辑删除", notes = "传入ids")
public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
return R.status(productionInformationService.deleteLogic(Func.toLongList(ids)));
}
/**
* 审核 生产信息发布
*/
@PostMapping("/auditing")
@ApiOperationSupport(order = 8)
@ApiOperation(value = "更新", notes = "传入ids")
public R auditing(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
return this.approve(2,ids);
}
/**
* 驳回 生产信息发布
*/
@PostMapping("/reject")
@ApiOperationSupport(order = 9)
@ApiOperation(value = "更新", notes = "传入ids")
public R reject(@ApiParam(value = "主键集合", required = true) @RequestParam String ids)
{
return this.approve(3,ids);
}
/**
* 驳回OR审核 生产信息发布
*/
public R approve(Integer status, String ids) {
List<ProductionInformation> list = new ArrayList<>();
for (String id : ids.split(",")) {
ProductionInformation productionInformation = new ProductionInformation();
productionInformation.setId(Long.parseLong(id));
productionInformation.setCheckstatus(status);
list.add(productionInformation);
}
return R.status(productionInformationService.updateBatchById(list));
}
/**
* 停用 生产信息发布
*/
@PostMapping("/stop")
@ApiOperationSupport(order = 8)
@ApiOperation(value = "更新", notes = "传入ids")
public R stop(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
return this.changeRelease(2,ids);
}
/**
* 发布 生产信息发布
*/
@PostMapping("/release")
@ApiOperationSupport(order = 9)
@ApiOperation(value = "更新", notes = "传入ids")
public R release(@ApiParam(value = "主键集合", required = true) @RequestParam String ids)
{
return this.changeRelease(1,ids);
}
/**
* 发布R停用 生产信息发布
*/
public R changeRelease(Integer discontinue, String ids) {
List<ProductionInformation> list = new ArrayList<>();
for (String id : ids.split(",")) {
ProductionInformation productionInformation = new ProductionInformation();
productionInformation.setId(Long.parseLong(id));
productionInformation.setIsDiscontinue(discontinue);
list.add(productionInformation);
}
return R.status(productionInformationService.updateBatchById(list));
}
}

@ -0,0 +1,18 @@
package org.energy.modules.release.dto;
import org.energy.modules.release.entity.ProductionInformation;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 生产信息发布数据传输对象实体类
*
* @author Daf
* @since 2024-07-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ProductionInformationDTO extends ProductionInformation {
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,81 @@
package org.energy.modules.release.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dayu.daf.core.mp.base.BaseEntity;
import java.io.Serializable;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 生产信息发布实体类
*
* @author Daf
* @since 2024-07-15
*/
@Data
@TableName("rel_production_information")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ProductionInformation对象", description = "生产信息发布")
public class ProductionInformation extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@JsonSerialize(using = ToStringSerializer.class)
@ApiModelProperty(value = "主键")
private Long id;
/**
* 消息编码
*/
@ApiModelProperty(value = "消息编码")
private String messageEncoding;
/**
* 消息主题
*/
@ApiModelProperty(value = "消息主题")
private String messageTopic;
/**
* 消息类型
*/
@ApiModelProperty(value = "消息类型")
private String messageType;
/**
* 消息内容
*/
@ApiModelProperty(value = "消息内容")
private String messageContent;
/**
* 发布人
*/
@ApiModelProperty(value = "发布人")
private String publisher;
/**
* 消息等级
*/
@ApiModelProperty(value = "消息等级")
private String messageLevel;
/**
* 是否停用
*/
@ApiModelProperty(value = "是否停用")
private Integer isDiscontinue;
/**
* 发布时间
*/
@ApiModelProperty(value = "发布时间")
private String releaseTime;
/**
* 审核状态
*/
@ApiModelProperty(value = "审核状态")
private Integer checkstatus;
}

@ -0,0 +1,27 @@
package org.energy.modules.release.mapper;
import org.energy.modules.release.entity.ProductionInformation;
import org.energy.modules.release.vo.ProductionInformationVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
/**
* 生产信息发布 Mapper 接口
*
* @author Daf
* @since 2024-07-15
*/
public interface ProductionInformationMapper extends BaseMapper<ProductionInformation> {
/**
* 自定义分页
*
* @param page
* @param productionInformation
* @return
*/
List<ProductionInformationVO> selectProductionInformationPage(IPage page, ProductionInformationVO productionInformation);
String getMaxMessageCd(String data);
}

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.energy.modules.release.mapper.ProductionInformationMapper">
<!-- 通用查询映射结果 -->
<resultMap id="productionInformationResultMap" type="org.energy.modules.release.entity.ProductionInformation">
<id column="id" property="id"/>
<result column="status" property="status"/>
<result column="create_time" property="createTime"/>
<result column="create_user" property="createUser"/>
<result column="update_time" property="updateTime"/>
<result column="update_user" property="updateUser"/>
<result column="is_deleted" property="isDeleted"/>
<result column="message_encoding" property="messageEncoding"/>
<result column="message_topic" property="messageTopic"/>
<result column="message_type" property="messageType"/>
<result column="message_content" property="messageContent"/>
<result column="publisher" property="publisher"/>
<result column="message_level" property="messageLevel"/>
<result column="is_discontinue" property="isDiscontinue"/>
<result column="release_time" property="releaseTime"/>
<result column="checkstatus" property="checkstatus"/>
</resultMap>
<select id="selectProductionInformationPage" resultMap="productionInformationResultMap">
select * from rel_production_information where is_deleted = 0
-- SELECT
-- id
-- , message_encoding
-- , message_topic
-- , message_type
-- , message_content
-- , publisher
-- , message_level
-- , CASE
-- WHEN is_discontinue = '1'
-- THEN '否'
-- WHEN is_discontinue = '2'
-- THEN '是'
-- ELSE ''
-- END AS is_discontinue
-- , release_time
-- , CASE
-- WHEN checkstatus = '1'
-- THEN '审核中'
-- WHEN checkstatus = '2'
-- THEN '已审核'
-- WHEN checkstatus = '3'
-- THEN '未通过'
-- ELSE ''
-- END AS checkstatus
-- , create_user
-- , create_time
-- , update_user
-- , update_time
-- , status
-- , is_deleted
-- FROM
-- rel_production_information
-- WHERE
-- is_deleted = '0'
</select>
<select id="getMaxMessageCd" resultType="java.lang.String">
SELECT max(message_encoding)
FROM rel_production_information where message_encoding like ${date}
</select>
</mapper>

@ -0,0 +1,26 @@
package org.energy.modules.release.service;
import org.energy.modules.release.entity.ProductionInformation;
import org.energy.modules.release.vo.ProductionInformationVO;
import com.dayu.daf.core.mp.base.BaseService;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**
* 生产信息发布 服务类
*
* @author Daf
* @since 2024-07-15
*/
public interface IProductionInformationService extends BaseService<ProductionInformation> {
/**
* 自定义分页
*
* @param page
* @param productionInformation
* @return
*/
IPage<ProductionInformationVO> selectProductionInformationPage(IPage<ProductionInformationVO> page, ProductionInformationVO productionInformation);
String getMaxMessageCd(String data);
}

@ -0,0 +1,29 @@
package org.energy.modules.release.service.impl;
import org.energy.modules.release.entity.ProductionInformation;
import org.energy.modules.release.vo.ProductionInformationVO;
import org.energy.modules.release.mapper.ProductionInformationMapper;
import org.energy.modules.release.service.IProductionInformationService;
import com.dayu.daf.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
/**
* 生产信息发布 服务实现类
*
* @author Daf
* @since 2024-07-15
*/
@Service
public class ProductionInformationServiceImpl extends BaseServiceImpl<ProductionInformationMapper, ProductionInformation> implements IProductionInformationService {
@Override
public IPage<ProductionInformationVO> selectProductionInformationPage(IPage<ProductionInformationVO> page, ProductionInformationVO productionInformation) {
return page.setRecords(baseMapper.selectProductionInformationPage(page, productionInformation));
}
@Override
public String getMaxMessageCd(String data){
return baseMapper.getMaxMessageCd(data);
}
}

@ -0,0 +1,20 @@
package org.energy.modules.release.vo;
import org.energy.modules.release.entity.ProductionInformation;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
/**
* 生产信息发布视图实体类
*
* @author Daf
* @since 2024-07-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ProductionInformationVO对象", description = "生产信息发布")
public class ProductionInformationVO extends ProductionInformation {
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,30 @@
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069121', 1123598815738675201, 'productioninformation', '', 'menu', '/release/productioninformation', NULL, 1, 1, 0, 1, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069122', '1812723339080069121', 'productioninformation_add', '新增', 'add', '/release/productioninformation/add', 'plus', 1, 2, 1, 1, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069123', '1812723339080069121', 'productioninformation_edit', '修改', 'edit', '/release/productioninformation/edit', 'form', 2, 2, 2, 1, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069124', '1812723339080069121', 'productioninformation_delete', '删除', 'delete', '/api/release/productioninformation/remove', 'delete', 3, 2, 3, 1, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069125', '1812723339080069121', 'productioninformation_view', '查看', 'view', '/release/productioninformation/view', 'file-text', 4, 2, 2, 1, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069126', '1812723339080069121', 'productioninformation_col_id', '主键', 'prop', '', '', 5, 3, 0, 0, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069127', '1812723339080069121', 'productioninformation_col_messageEncoding', '消息编码', 'prop', '', '', 6, 3, 0, 0, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069128', '1812723339080069121', 'productioninformation_col_messageTopic', '消息主题', 'prop', '', '', 7, 3, 0, 0, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069129', '1812723339080069121', 'productioninformation_col_messageType', '消息类型', 'prop', '', '', 8, 3, 0, 0, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069130', '1812723339080069121', 'productioninformation_col_messageContent', '消息内容', 'prop', '', '', 9, 3, 0, 0, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069131', '1812723339080069121', 'productioninformation_col_publisher', '发布人', 'prop', '', '', 10, 3, 0, 0, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069132', '1812723339080069121', 'productioninformation_col_messageLevel', '消息等级', 'prop', '', '', 11, 3, 0, 0, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069133', '1812723339080069121', 'productioninformation_col_isDiscontinue', '是否停用', 'prop', '', '', 12, 3, 0, 0, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069134', '1812723339080069121', 'productioninformation_col_releaseTime', '发布时间', 'prop', '', '', 13, 3, 0, 0, NULL, 0);
INSERT INTO `sys_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
VALUES ('1812723339080069135', '1812723339080069121', 'productioninformation_col_checkstatus', '审核状态', 'prop', '', '', 14, 3, 0, 0, NULL, 0);
Loading…
Cancel
Save