Commit 4bdeaea1 authored by 赵啸非's avatar 赵啸非

添加样表报表统计业务

parent a5aa5cc5
...@@ -1961,6 +1961,262 @@ data|object|数据对象 ...@@ -1961,6 +1961,262 @@ data|object|数据对象
``` ```
## 样报服务
### 查询样报服务列表
**请求URL:** sample/bill/list
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 查询样报服务
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
siteId|Long|否|站点ID
matterId|Long|否|事项id
matterName|String|否|事项名称,字段前后添加%%模糊查询
matterFullName|String|否|事项全称,字段前后添加%%模糊查询
materialName|String|否|材料名称,字段前后添加%%模糊查询
materialFullName|String|否|材料全称,字段前后添加%%模糊查询
deviceCode|String|否|设备编码,字段前后添加%%模糊查询
deviceName|String|否|设备名称,字段前后添加%%模糊查询
operTime|Date|否|操作时间
**请求样例:**
```
{
"siteId":2603,
"matterId":4997,
"matterName":"3bodua",
"matterFullName":"foyory",
"materialName":"tbz1ph",
"materialFullName":"qp2mol",
"deviceCode":"0xurzm",
"deviceName":"uff23r",
"operTime":"2023-02-23",
"page":1,
"size":10
}
```
**响应参数:**
参数名称|参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 per_page|Integer|每页条数
 total|Integer|总条数
 last_page|Integer|总页数
 current_page|Integer|当前页
 data|array|结果集列表|数组
  id|Long|主键,自增长
  siteId|Long|站点ID
  matterId|Long|事项id
  matterName|String|事项名称
  matterFullName|String|事项全称
  materialName|String|材料名称
  materialFullName|String|材料全称
  deviceCode|String|设备编码
  deviceName|String|设备名称
  operTime|Date|操作时间
  createTime|Date|创建时间
  createUserId|Long|创建用户
  updateTime|Date|修改时间
dict|object|字典对象
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
### 查看样报服务
**请求URL:** sample/bill/info
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 查看样报服务,返回实例详细信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID
**请求样例:**
```
http://localhost/sample/bill/info?id=549
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:-------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 id|Long|主键,自增长
 siteId|Long|站点ID
 matterId|Long|事项id
 matterName|String|事项名称
 matterFullName|String|事项全称
 materialName|String|材料名称
 materialFullName|String|材料全称
 deviceCode|String|设备编码
 deviceName|String|设备名称
 operTime|Date|操作时间
 createTime|Date|创建时间
 createUserId|Long|创建用户
 updateTime|Date|修改时间
dict|object|字典对象
**响应消息样例:**
```
{
"code": 1,
"data": {
"id":2816,
"siteId":644,
"matterId":9498,
"matterName":"56bz30",
"matterFullName":"9fyv44",
"materialName":"kiq3e4",
"materialFullName":"xbseak",
"deviceCode":"5plyd7",
"deviceName":"yt2qku",
"operTime":"2023-02-23",
"createTime":"2023-02-23",
"createUserId":644,
"updateTime":"2023-02-23"
}
}
```
### 保存更新样报服务
**请求URL:** sample/bill/save
**请求方式:** POST
**内容类型:** application/json;charset=utf-8
**简要描述:** 保存或更新样报服务:id为空时为新增保存,否则为更新提交
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:-------
siteId|Long|否|站点ID
matterId|Long|否|事项id
matterName|String|否|事项名称
matterFullName|String|否|事项全称
materialName|String|否|材料名称
materialFullName|String|否|材料全称
deviceCode|String|否|设备编码
deviceName|String|否|设备名称
operTime|Date|否|操作时间
**请求样例:**
```
{
"siteId":5244,
"matterId":970,
"matterName":"slqa7m",
"matterFullName":"99suck",
"materialName":"xbef19",
"materialFullName":"1blsf8",
"deviceCode":"6bmhk7",
"deviceName":"22ykzu",
"operTime":"2023-02-23",
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
 id|Long|保存后主键id
 entity|object|保存更新实体
  id|Long|主键,自增长
  siteId|Long|站点ID
  matterId|Long|事项id
  matterName|String|事项名称
  matterFullName|String|事项全称
  materialName|String|材料名称
  materialFullName|String|材料全称
  deviceCode|String|设备编码
  deviceName|String|设备名称
  operTime|Date|操作时间
  createTime|Date|创建时间
  createUserId|Long|创建用户
  updateTime|Date|修改时间
**响应消息样例:**
```
{
"msg":"新增模块成功",
"code":1,
"data":{}
}
}
```
### 删除样报服务
**请求URL:** sample/bill/delete
**请求方式:** GET
**内容类型:** application/json;charset=utf-8
**简要描述:** 删除样报服务
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|String|是|数组
**请求样例:**
```
http://localhost:8080/sample/bill/delete?id=1&id=2'
```
**响应参数:**
参数名称 |参数类型|备注|其它
---|---|---|---
code|Integer|结果码(-1.失败,1.成功)|-
msg|String|消息|-
**响应消息样例:**
```
{
"code":1,
"msg":"成功"
}
```
## 字典附录
## 字典附录 ## 字典附录
### source ### source
字典参数key|字典参数值|其它 字典参数key|字典参数值|其它
......
...@@ -59,6 +59,12 @@ ...@@ -59,6 +59,12 @@
</dependency> </dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -225,7 +225,35 @@ CREATE TABLE mortals_xhx_baseset ...@@ -225,7 +225,35 @@ CREATE TABLE mortals_xhx_baseset
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='样表服务基础设置'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='样表服务基础设置';
-- ----------------------------
-- 样报服务表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_sample_bill`;
CREATE TABLE mortals_xhx_sample_bill(
`id` bigint(20) AUTO_INCREMENT COMMENT '主键,自增长',
`siteId` bigint(20) COMMENT '站点ID',
`matterId` bigint(20) DEFAULT '0' COMMENT '事项id',
`matterName` varchar(512) COMMENT '事项名称',
`matterFullName` varchar(512) COMMENT '事项全称',
`materialName` varchar(255) COMMENT '材料名称',
`materialFullName` varchar(255) COMMENT '材料全称',
`deviceCode` varchar(255) COMMENT '设备编码',
`deviceName` varchar(255) COMMENT '设备名称',
`operTime` datetime COMMENT '操作时间',
`createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建用户',
`updateTime` datetime COMMENT '修改时间',
PRIMARY KEY (`id`)
,KEY `siteId` (`siteId`) USING BTREE
,KEY `matterId` (`matterId`) USING BTREE
,KEY `matterName` (`matterName`) USING BTREE
,KEY `matterFullName` (`matterFullName`) USING BTREE
,KEY `materialName` (`materialName`) USING BTREE
,KEY `materialFullName` (`materialFullName`) USING BTREE
,KEY `deviceCode` (`deviceCode`) USING BTREE
,KEY `deviceName` (`deviceName`) USING BTREE
,KEY `operTime` (`operTime`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='样报服务';
...@@ -6,6 +6,8 @@ import com.mortals.framework.model.OrderCol; ...@@ -6,6 +6,8 @@ import com.mortals.framework.model.OrderCol;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.key.ParamKey; import com.mortals.xhx.common.key.ParamKey;
import com.mortals.xhx.module.sample.model.SampleBillEntity;
import com.mortals.xhx.module.sample.service.SampleBillService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -42,6 +44,8 @@ public class MatterDatumController extends BaseCRUDJsonBodyMappingController<Mat ...@@ -42,6 +44,8 @@ public class MatterDatumController extends BaseCRUDJsonBodyMappingController<Mat
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
@Autowired
private SampleBillService sampleBillService;
public MatterDatumController() { public MatterDatumController() {
super.setModuleDesc("事项申请材料"); super.setModuleDesc("事项申请材料");
...@@ -113,4 +117,19 @@ public class MatterDatumController extends BaseCRUDJsonBodyMappingController<Mat ...@@ -113,4 +117,19 @@ public class MatterDatumController extends BaseCRUDJsonBodyMappingController<Mat
ret.put("data", model); ret.put("data", model);
return ret.toJSONString(); return ret.toJSONString();
} }
@Override
protected int infoAfter(Long id, Map<String, Object> model, MatterDatumEntity entity, Context context) throws AppException {
SampleBillEntity sampleBillEntity = new SampleBillEntity();
sampleBillEntity.initAttrValue();
sampleBillEntity.setSiteId(entity.getSiteId());
sampleBillEntity.setMaterialName(entity.getMaterialName());
sampleBillEntity.setMaterialFullName(entity.getMateriaFullName());
sampleBillEntity.setMatterName(entity.getMatterName());
sampleBillEntity.setMatterFullName(entity.getMatterName());
sampleBillEntity.setOperTime(new Date());
sampleBillService.save(sampleBillEntity,context);
return super.infoAfter(id, model, entity, context);
}
} }
\ No newline at end of file
package com.mortals.xhx.module.sample.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.sample.model.SampleBillEntity;
import java.util.List;
/**
* 样报服务Dao
* 样报服务 DAO接口
*
* @author zxfei
* @date 2023-02-23
*/
public interface SampleBillDao extends ICRUDDao<SampleBillEntity,Long>{
}
package com.mortals.xhx.module.sample.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.sample.dao.SampleBillDao;
import com.mortals.xhx.module.sample.model.SampleBillEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 样报服务DaoImpl DAO接口
*
* @author zxfei
* @date 2023-02-23
*/
@Repository("sampleBillDao")
public class SampleBillDaoImpl extends BaseCRUDDaoMybatis<SampleBillEntity,Long> implements SampleBillDao {
}
package com.mortals.xhx.module.sample.model;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.sample.model.vo.SampleBillVo;
/**
* 样报服务实体对象
*
* @author zxfei
* @date 2023-02-23
*/
public class SampleBillEntity extends SampleBillVo {
private static final long serialVersionUID = 1L;
/**
* 站点ID
*/
private Long siteId;
/**
* 事项id
*/
private Long matterId;
/**
* 事项名称
*/
private String matterName;
/**
* 事项全称
*/
private String matterFullName;
/**
* 材料名称
*/
private String materialName;
/**
* 材料全称
*/
private String materialFullName;
/**
* 设备编码
*/
private String deviceCode;
/**
* 设备名称
*/
private String deviceName;
/**
* 操作时间
*/
private Date operTime;
public SampleBillEntity(){}
/**
* 获取 站点ID
* @return Long
*/
public Long getSiteId(){
return siteId;
}
/**
* 设置 站点ID
* @param siteId
*/
public void setSiteId(Long siteId){
this.siteId = siteId;
}
/**
* 获取 事项id
* @return Long
*/
public Long getMatterId(){
return matterId;
}
/**
* 设置 事项id
* @param matterId
*/
public void setMatterId(Long matterId){
this.matterId = matterId;
}
/**
* 获取 事项名称
* @return String
*/
public String getMatterName(){
return matterName;
}
/**
* 设置 事项名称
* @param matterName
*/
public void setMatterName(String matterName){
this.matterName = matterName;
}
/**
* 获取 事项全称
* @return String
*/
public String getMatterFullName(){
return matterFullName;
}
/**
* 设置 事项全称
* @param matterFullName
*/
public void setMatterFullName(String matterFullName){
this.matterFullName = matterFullName;
}
/**
* 获取 材料名称
* @return String
*/
public String getMaterialName(){
return materialName;
}
/**
* 设置 材料名称
* @param materialName
*/
public void setMaterialName(String materialName){
this.materialName = materialName;
}
/**
* 获取 材料全称
* @return String
*/
public String getMaterialFullName(){
return materialFullName;
}
/**
* 设置 材料全称
* @param materialFullName
*/
public void setMaterialFullName(String materialFullName){
this.materialFullName = materialFullName;
}
/**
* 获取 设备编码
* @return String
*/
public String getDeviceCode(){
return deviceCode;
}
/**
* 设置 设备编码
* @param deviceCode
*/
public void setDeviceCode(String deviceCode){
this.deviceCode = deviceCode;
}
/**
* 获取 设备名称
* @return String
*/
public String getDeviceName(){
return deviceName;
}
/**
* 设置 设备名称
* @param deviceName
*/
public void setDeviceName(String deviceName){
this.deviceName = deviceName;
}
/**
* 获取 操作时间
* @return Date
*/
public Date getOperTime(){
return operTime;
}
/**
* 设置 操作时间
* @param operTime
*/
public void setOperTime(Date operTime){
this.operTime = operTime;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof SampleBillEntity) {
SampleBillEntity tmp = (SampleBillEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",siteId:").append(getSiteId());
sb.append(",matterId:").append(getMatterId());
sb.append(",matterName:").append(getMatterName());
sb.append(",matterFullName:").append(getMatterFullName());
sb.append(",materialName:").append(getMaterialName());
sb.append(",materialFullName:").append(getMaterialFullName());
sb.append(",deviceCode:").append(getDeviceCode());
sb.append(",deviceName:").append(getDeviceName());
sb.append(",operTime:").append(getOperTime());
return sb.toString();
}
public void initAttrValue(){
this.siteId = null;
this.matterId = 0L;
this.matterName = "";
this.matterFullName = "";
this.materialName = "";
this.materialFullName = "";
this.deviceCode = "";
this.deviceName = "";
this.operTime = null;
}
}
\ No newline at end of file
package com.mortals.xhx.module.sample.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.sample.model.SampleBillEntity;
import java.util.ArrayList;
import java.util.List;
/**
* 样报服务视图对象
*
* @author zxfei
* @date 2023-02-23
*/
public class SampleBillVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.sample.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.sample.model.SampleBillEntity;
/**
* SampleBillService
*
* 样报服务 service接口
*
* @author zxfei
* @date 2023-02-23
*/
public interface SampleBillService extends ICRUDService<SampleBillEntity,Long>{
}
\ No newline at end of file
package com.mortals.xhx.module.sample.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.sample.dao.SampleBillDao;
import com.mortals.xhx.module.sample.model.SampleBillEntity;
import com.mortals.xhx.module.sample.service.SampleBillService;
/**
* SampleBillService
* 样报服务 service实现
*
* @author zxfei
* @date 2023-02-23
*/
@Service("sampleBillService")
public class SampleBillServiceImpl extends AbstractCRUDServiceImpl<SampleBillDao, SampleBillEntity, Long> implements SampleBillService {
}
\ No newline at end of file
package com.mortals.xhx.module.sample.web;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.OrderCol;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.sample.model.SampleBillEntity;
import com.mortals.xhx.module.sample.service.SampleBillService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.*;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 样报服务
*
* @author zxfei
* @date 2023-02-23
*/
@RestController
@RequestMapping("sample/bill")
public class SampleBillController extends BaseCRUDJsonBodyMappingController<SampleBillService,SampleBillEntity,Long> {
@Autowired
private ParamService paramService;
public SampleBillController(){
super.setModuleDesc( "样报服务");
}
@Override
protected void init(Map<String, Object> model, Context context) {
super.init(model, context);
}
@Override
protected void doListBefore(SampleBillEntity query, Map<String, Object> model, Context context) throws AppException {
super.doListBefore(query, model, context);
List<OrderCol> orderColList = new ArrayList<>();
orderColList.add(new OrderCol("isRecommend", OrderCol.DESCENDING));
query.setOrderColList(orderColList);
}
}
\ No newline at end of file
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###样报服务列表
POST {{baseUrl}}/sample/bill/list
Authorization: {{authToken}}
Content-Type: application/json
{
"siteId":629,
"matterId":0,
"matterName":"v4bvg5",
"matterFullName":"fudd84",
"materialName":"z8j95u",
"materialFullName":"o7bzp0",
"deviceCode":"eunequ",
"deviceName":"o496vm",
"operTime":"1677081600000",
"page":1,
"size":10
}
###样报服务更新与保存
POST {{baseUrl}}/sample/bill/save
Authorization: {{authToken}}
Content-Type: application/json
{
"siteId":30,
"matterId":0,
"matterName":"b251hk",
"matterFullName":"u1e05w",
"materialName":"2p8acc",
"materialFullName":"v0hcg4",
"deviceCode":"x0le0t",
"deviceName":"7w1y4t",
"operTime":"1677081600000",
}
> {%
client.global.set("SampleBill_id", JSON.parse(response.body).data.id);
%}
###样报服务查看
GET {{baseUrl}}/sample/bill/info?id={{SampleBill_id}}
Authorization: {{authToken}}
Accept: application/json
###样报服务编辑
GET {{baseUrl}}/sample/bill/edit?id={{SampleBill_id}}
Authorization: {{authToken}}
Accept: application/json
###样报服务删除
GET {{baseUrl}}/sample/bill/delete?id={{SampleBill_id}}
Authorization: {{authToken}}
Accept: application/json
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment