Commit 00396d9f authored by 赵啸非's avatar 赵啸非

修改热门词汇

parent 2bcf9922
Pipeline #2417 canceled with stages
package com.mortals.xhx.feign.dept;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.dept.DeptPdu;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.feign.IFeign;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 部门 Feign接口
* @author zxfei
* @date 2022-12-09
*/
@FeignClient(name = "base-manager", path = "/base", fallbackFactory = DeptFeignFallbackFactory.class)
public interface IDeptFeign extends IFeign {
/**
* 查看部门列表
*
* @param deptPdu
* @return
*/
@PostMapping(value = "/dept/list")
Rest<RespData<List<DeptPdu>>> list(@RequestBody DeptPdu deptPdu);
/**
* 查看部门
*
* @param id
* @return
*/
@GetMapping(value = "/dept/info")
Rest<DeptPdu> info(@RequestParam(value = "id") Long id);
/**
* 删除部门
*
* @param ids
* @return
*/
@GetMapping(value = "/dept/delete")
Rest<Void> delete(Long[] ids,@RequestHeader("Authorization") String authorization);
/**
* 部门保存更新
*
* @param deptPdu
* @return
*/
@PostMapping(value = "/dept/save")
Rest<RespData<DeptPdu>> save(@RequestBody DeptPdu deptPdu,@RequestHeader("Authorization") String authorization);
}
@Slf4j
@Component
class DeptFeignFallbackFactory implements FallbackFactory<IDeptFeign> {
@Override
public IDeptFeign create(Throwable t) {
return new IDeptFeign() {
@Override
public Rest<RespData<List<DeptPdu>>> list(DeptPdu deptPdu) {
return Rest.fail("暂时无法获取部门列表,请稍后再试!");
}
@Override
public Rest<DeptPdu> info(Long id) {
return Rest.fail("暂时无法获取部门详细,请稍后再试!");
}
@Override
public Rest<Void> delete(Long[] ids, String authorization) {
return Rest.fail("暂时无法删除部门,请稍后再试!");
}
@Override
public Rest<RespData<DeptPdu>> save(DeptPdu deptPdu, String authorization) {
return Rest.fail("暂时无法保存部门,请稍后再试!");
}
};
}
}
This diff is collapsed.
......@@ -134,11 +134,22 @@ public class WordUtil {
log.info("文件转换结束,共耗时:" + ((now - old) / 1000.0) + "秒");
return jpegPath;
} catch (Exception e) {
log.error("文件转换异常!",e);
log.error("文件转换异常!", e);
throw new AppException(String.format("文件转换异常! %s", e.getMessage()));
}
}
public static Integer getPageByDoc(String inputFile) {
try {
//FileOutputStream os = new FileOutputStream(file);
// 要转换的word文档的路径
Document doc = new Document(inputFile);
return doc.getPageCount();
} catch (Exception e) {
log.error("获取doc异常!", e);
return 0;
}
}
/**
* 合并任数量的图片成一张图片
......
......@@ -14,6 +14,7 @@ import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.service.IUser;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.HttpUtil;
import com.mortals.framework.util.StringUtils;
import com.mortals.framework.web.BaseJsonBodyController;
......@@ -35,10 +36,8 @@ import com.mortals.xhx.module.home.pdu.NoticeQueryPdu;
import com.mortals.xhx.module.hotword.model.HotwordEntity;
import com.mortals.xhx.module.hotword.model.HotwordQuery;
import com.mortals.xhx.module.hotword.service.HotwordService;
import com.mortals.xhx.module.matter.model.MatterDatumEntity;
import com.mortals.xhx.module.matter.model.MatterDatumQuery;
import com.mortals.xhx.module.matter.model.MatterEntity;
import com.mortals.xhx.module.matter.model.MatterQuery;
import com.mortals.xhx.module.matter.model.*;
import com.mortals.xhx.module.matter.service.MatterDatumPrintService;
import com.mortals.xhx.module.matter.service.MatterDatumService;
import com.mortals.xhx.module.matter.service.MatterService;
import org.apache.poi.ss.formula.functions.T;
......@@ -69,6 +68,9 @@ public class HomeController extends BaseJsonBodyController {
private ISiteFeign siteFeign;
@Autowired
private BasesetService basesetService;
@Autowired
private MatterDatumPrintService matterDatumPrintService;
@PostMapping({"site/list"})
public Rest<Object> list() {
......@@ -118,6 +120,32 @@ public class HomeController extends BaseJsonBodyController {
return ret;
}
@PostMapping({"depts"})
@UnAuth
public Rest<Object> depts(@RequestBody HomeQueryPdu queryPdu) {
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
String busiDesc = "查询站点部门";
int code = VALUE_RESULT_SUCCESS;
try {
if (queryPdu.getSiteId() != null) {
Map<String, String> deptMap = matterService.find(new MatterQuery().siteId(queryPdu.getSiteId())).stream().collect(Collectors.toMap(x -> x.getDeptCode(), y -> y.getDeptName(), (o, n) -> n));
model.put("deptMap", deptMap);
}
model.put("deptMap", new HashMap<>());
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var9) {
code = VALUE_RESULT_FAILURE;
this.doException(this.request, busiDesc, model, var9);
}
ret.setCode(code);
ret.setData(model);
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
@PostMapping({"dept/list"})
@UnAuth
public Rest<Object> deptList(@RequestBody HomeQueryPdu queryPdu) {
......@@ -265,14 +293,7 @@ public class HomeController extends BaseJsonBodyController {
pageInfo.setPrePageResult(nums);
List<HotwordEntity> hotwordEntities = hotwordService.find(hotwordQuery, pageInfo, null).getList();
/* List<String> hotwordEntities = hotwordService.find(hotwordQuery, new PageInfo(), null).getList().stream()
.map(HotwordEntity::getHotwords)
.flatMap(item -> StrUtil.split(item, ",".charAt(0)).stream())
.collect(Collectors.toList());*/
model.put("hotWords", hotwordEntities);
MatterQuery matterQuery = new MatterQuery();
matterQuery.setSiteId(homeQueryPdu.getSiteId());
int matterCont = matterService.count(matterQuery, this.getContext());
......@@ -288,15 +309,26 @@ public class HomeController extends BaseJsonBodyController {
model.put("datumList", datumList); //热门表单
model.put("datumCont", datumCont); //入驻表单数量
model.put("localPrint", 20); //本地打印数量
model.put("onlineSubmit", 0); //在线提交数量
model.put("dayThrift", 66); //今日节约
model.put("totalThrift", 996); //累计节约
Map<Boolean, List<MatterDatumPrintEntity>> collect = matterDatumPrintService.find(new MatterDatumPrintQuery().siteId(homeQueryPdu.getSiteId())).stream().collect(Collectors.partitioningBy(x -> x.getType().equals(1)));
List<MatterDatumPrintEntity> matterDatumPrintLocalEntities = collect.get(true);
List<MatterDatumPrintEntity> matterDatumPrintOnlineEntities = collect.get(false);
model.put("localPrint", matterDatumPrintLocalEntities.size()); //本地打印数量
model.put("onlineSubmit", matterDatumPrintOnlineEntities.size()); //在线提交数量
MatterDatumPrintQuery matterDatumPrintQuery = new MatterDatumPrintQuery();
matterDatumPrintQuery.setSiteId(homeQueryPdu.getSiteId());
matterDatumPrintQuery.setCreateTimeStart(DateUtils.getStrDate(new Date()));
matterDatumPrintQuery.setCreateTimeEnd(DateUtils.getStrDate(new Date()));
long todaySum = matterDatumPrintService.find(matterDatumPrintQuery).stream().collect(Collectors.summarizingInt(x -> x.getPage())).getSum();
model.put("dayThrift", todaySum); //今日节约
long sum = matterDatumPrintOnlineEntities.stream().collect(Collectors.summarizingInt(x -> x.getPage())).getSum();
model.put("totalThrift", sum*2); //累计节约
Rest<com.mortals.xhx.common.pdu.site.SitePdu> info = siteFeign.info(homeQueryPdu.getSiteId());
model.put("title", info == null ? "" : info.getData().getSiteName()); //标题
//HotwordEntity hotwordEntity = hotwordService.selectOne(hotwordQuery.siteId(homeQueryPdu.getSiteId()));
BasesetEntity basesetEntity = basesetService.selectOne(new BasesetQuery().siteId(homeQueryPdu.getSiteId()));
model.put("blankCount", basesetEntity == null ? 20 : basesetEntity.getPrintDisplay()); //空白样表数量
......
package com.mortals.xhx.module.hotword.model;
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.hotword.model.vo.HotwordVo;
/**
* 热门词汇业务实体对象
......
package com.mortals.xhx.module.mortals.dao;
package com.mortals.xhx.module.matter.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.mortals.model.MortalsFillMatterDatumPrintEntity;
import com.mortals.xhx.module.matter.model.MatterDatumPrintEntity;
import java.util.List;
/**
* 打印提交Dao
* 打印提交 DAO接口
*
* @author zxfei
* @date 2022-12-07
* @date 2022-12-09
*/
public interface MortalsFillMatterDatumPrintDao extends ICRUDDao<MortalsFillMatterDatumPrintEntity,Long>{
public interface MatterDatumPrintDao extends ICRUDDao<MatterDatumPrintEntity,Long>{
}
package com.mortals.xhx.module.mortals.dao.ibatis;
package com.mortals.xhx.module.matter.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.mortals.dao.MortalsFillMatterDatumPrintDao;
import com.mortals.xhx.module.mortals.model.MortalsFillMatterDatumPrintEntity;
import com.mortals.xhx.module.matter.dao.MatterDatumPrintDao;
import com.mortals.xhx.module.matter.model.MatterDatumPrintEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
......@@ -11,10 +11,10 @@ import java.util.List;
* 打印提交DaoImpl DAO接口
*
* @author zxfei
* @date 2022-12-07
* @date 2022-12-09
*/
@Repository("mortalsFillMatterDatumPrintDao")
public class MortalsFillMatterDatumPrintDaoImpl extends BaseCRUDDaoMybatis<MortalsFillMatterDatumPrintEntity,Long> implements MortalsFillMatterDatumPrintDao {
@Repository("matterDatumPrintDao")
public class MatterDatumPrintDaoImpl extends BaseCRUDDaoMybatis<MatterDatumPrintEntity,Long> implements MatterDatumPrintDao {
......
......@@ -54,6 +54,15 @@ public class MatterDatumInfo {
*/
private Integer samplePrint;
/**
* 填单的附件名称
*/
private String fileName;
/**
* 填单的附件下载地址
*/
private String fileUrl;
/**
* 样表名称
*/
......@@ -62,6 +71,15 @@ public class MatterDatumInfo {
* 样表地址
*/
private String samplePath;
/**
* 模板名称
*/
private String templateName;
/**
* 模板地址
*/
private String templatePath;
/**
* 样表预览地址
*/
......
package com.mortals.xhx.module.mortals.model;
package com.mortals.xhx.module.matter.model;
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.mortals.model.vo.MortalsFillMatterDatumPrintVo;
import com.mortals.xhx.module.matter.model.vo.MatterDatumPrintVo;
/**
* 打印提交实体对象
*
* @author zxfei
* @date 2022-12-07
*/
* 打印提交实体对象
*
* @author zxfei
* @date 2022-12-09
*/
public class MortalsFillMatterDatumPrintEntity extends MortalsFillMatterDatumPrintVo {
public class MatterDatumPrintEntity extends MatterDatumPrintVo {
private static final long serialVersionUID = 1L;
/**
* 打印订单
*/
* 站点id
*/
private Long siteId;
/**
* 打印订单
*/
private String orderId;
/**
* 材料Id
*/
* 材料Id
*/
private Long materialId;
/**
* 材料名
*/
* 材料名
*/
private String materialName;
/**
* 材料页数
*/
* 材料页数
*/
private Integer page;
/**
* 打印类型(1.本地打印,2.在线打印)
*/
* 打印类型(1.本地打印,2.在线打印)
*/
private Integer type;
/**
* 合成doc后地址
*/
* 合成doc后地址
*/
private String docPath;
/**
* 提交的表单
*/
* 提交的表单
*/
private String formContent;
public MortalsFillMatterDatumPrintEntity(){}
public MatterDatumPrintEntity(){}
/**
* 获取 站点id
* @return Long
*/
public Long getSiteId(){
return siteId;
}
/**
* 获取 打印订单
* @return String
*/
* 设置 站点id
* @param siteId
*/
public void setSiteId(Long siteId){
this.siteId = siteId;
}
/**
* 获取 打印订单
* @return String
*/
public String getOrderId(){
return orderId;
}
/**
* 设置 打印订单
* @param orderId
*/
* 设置 打印订单
* @param orderId
*/
public void setOrderId(String orderId){
this.orderId = orderId;
}
/**
* 获取 材料Id
* @return Long
*/
* 获取 材料Id
* @return Long
*/
public Long getMaterialId(){
return materialId;
}
/**
* 设置 材料Id
* @param materialId
*/
* 设置 材料Id
* @param materialId
*/
public void setMaterialId(Long materialId){
this.materialId = materialId;
}
/**
* 获取 材料名
* @return String
*/
* 获取 材料名
* @return String
*/
public String getMaterialName(){
return materialName;
}
/**
* 设置 材料名
* @param materialName
*/
* 设置 材料名
* @param materialName
*/
public void setMaterialName(String materialName){
this.materialName = materialName;
}
/**
* 获取 材料页数
* @return Integer
*/
* 获取 材料页数
* @return Integer
*/
public Integer getPage(){
return page;
}
/**
* 设置 材料页数
* @param page
*/
* 设置 材料页数
* @param page
*/
public void setPage(Integer page){
this.page = page;
}
/**
* 获取 打印类型(1.本地打印,2.在线打印)
* @return Integer
*/
* 获取 打印类型(1.本地打印,2.在线打印)
* @return Integer
*/
public Integer getType(){
return type;
}
/**
* 设置 打印类型(1.本地打印,2.在线打印)
* @param type
*/
* 设置 打印类型(1.本地打印,2.在线打印)
* @param type
*/
public void setType(Integer type){
this.type = type;
}
/**
* 获取 合成doc后地址
* @return String
*/
* 获取 合成doc后地址
* @return String
*/
public String getDocPath(){
return docPath;
}
/**
* 设置 合成doc后地址
* @param docPath
*/
* 设置 合成doc后地址
* @param docPath
*/
public void setDocPath(String docPath){
this.docPath = docPath;
}
/**
* 获取 提交的表单
* @return String
*/
* 获取 提交的表单
* @return String
*/
public String getFormContent(){
return formContent;
}
/**
* 设置 提交的表单
* @param formContent
*/
* 设置 提交的表单
* @param formContent
*/
public void setFormContent(String formContent){
this.formContent = formContent;
}
......@@ -152,15 +170,15 @@ public class MortalsFillMatterDatumPrintEntity extends MortalsFillMatterDatumPri
@Override
public int hashCode() {
return this.getId().hashCode();
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof MortalsFillMatterDatumPrintEntity) {
MortalsFillMatterDatumPrintEntity tmp = (MortalsFillMatterDatumPrintEntity) obj;
if (obj instanceof MatterDatumPrintEntity) {
MatterDatumPrintEntity tmp = (MatterDatumPrintEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
return true;
}
}
return false;
......@@ -168,6 +186,7 @@ public class MortalsFillMatterDatumPrintEntity extends MortalsFillMatterDatumPri
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",siteId:").append(getSiteId());
sb.append(",orderId:").append(getOrderId());
sb.append(",materialId:").append(getMaterialId());
sb.append(",materialName:").append(getMaterialName());
......@@ -180,18 +199,20 @@ public class MortalsFillMatterDatumPrintEntity extends MortalsFillMatterDatumPri
public void initAttrValue(){
this.orderId = null;
this.siteId = null;
this.orderId = null;
this.materialId = null;
this.materialId = null;
this.materialName = null;
this.materialName = null;
this.page = null;
this.page = 0;
this.type = 1;
this.type = 1;
this.docPath = null;
this.docPath = "";
this.formContent = null;
this.formContent = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.mortals.model.vo;
package com.mortals.xhx.module.matter.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.mortals.model.MortalsFillMatterDatumPrintEntity;
import com.mortals.xhx.module.matter.model.MatterDatumPrintEntity;
import java.util.ArrayList;
import java.util.List;
/**
* 打印提交视图对象
*
* @author zxfei
* @date 2022-12-07
* @date 2022-12-09
*/
public class MortalsFillMatterDatumPrintVo extends BaseEntityLong {
public class MatterDatumPrintVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.matter.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.matter.model.MatterDatumPrintEntity;
/**
* MatterDatumPrintService
*
* 打印提交 service接口
*
* @author zxfei
* @date 2022-12-09
*/
public interface MatterDatumPrintService extends ICRUDService<MatterDatumPrintEntity,Long>{
}
\ No newline at end of file
package com.mortals.xhx.module.matter.service.impl;
import com.mortals.xhx.common.utils.WordUtil;
import com.mortals.xhx.module.matter.model.MatterDatumEntity;
import com.mortals.xhx.module.matter.service.MatterDatumService;
import org.springframework.beans.factory.annotation.Autowired;
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.matter.dao.MatterDatumPrintDao;
import com.mortals.xhx.module.matter.model.MatterDatumPrintEntity;
import com.mortals.xhx.module.matter.service.MatterDatumPrintService;
/**
* MatterDatumPrintService
* 打印提交 service实现
*
* @author zxfei
* @date 2022-12-09
*/
@Service("matterDatumPrintService")
public class MatterDatumPrintServiceImpl extends AbstractCRUDServiceImpl<MatterDatumPrintDao, MatterDatumPrintEntity, Long> implements MatterDatumPrintService {
@Override
protected void saveBefore(MatterDatumPrintEntity entity, Context context) throws AppException {
// MatterDatumEntity matterDatumEntity = matterDatumService.get(entity.getMaterialId());
Integer pageByDoc = WordUtil.getPageByDoc(entity.getDocPath());
entity.setPage(pageByDoc);
super.saveBefore(entity, context);
}
}
\ No newline at end of file
......@@ -99,8 +99,8 @@ public class MatterDatumController extends BaseCRUDJsonBodyMappingController<Mat
}
List<OrderCol> orderColList = new ArrayList<>();
orderColList.add(new OrderCol("createTime", OrderCol.DESCENDING));
orderColList.add(new OrderCol("isRecommend", OrderCol.DESCENDING));
orderColList.add(new OrderCol("createTime", OrderCol.DESCENDING));
query.setOrderColList(orderColList);
super.doListBefore(query, model, context);
}
......@@ -192,4 +192,8 @@ public class MatterDatumController extends BaseCRUDJsonBodyMappingController<Mat
ret.setMsg(model.get(MESSAGE_INFO) == null ? "" : model.remove(MESSAGE_INFO).toString());
return ret;
}
}
\ No newline at end of file
package com.mortals.xhx.module.mortals.web;
package com.mortals.xhx.module.matter.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -9,8 +9,8 @@ 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.mortals.model.MortalsFillMatterDatumPrintEntity;
import com.mortals.xhx.module.mortals.service.MortalsFillMatterDatumPrintService;
import com.mortals.xhx.module.matter.model.MatterDatumPrintEntity;
import com.mortals.xhx.module.matter.service.MatterDatumPrintService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
......@@ -27,22 +27,22 @@ import static com.mortals.framework.ap.SysConstains.*;
* 打印提交
*
* @author zxfei
* @date 2022-12-07
* @date 2022-12-09
*/
@RestController
@RequestMapping("mortals/fill/matter/datum/print")
public class MortalsFillMatterDatumPrintController extends BaseCRUDJsonBodyMappingController<MortalsFillMatterDatumPrintService,MortalsFillMatterDatumPrintEntity,Long> {
@RequestMapping("matter/datum/print")
public class MatterDatumPrintController extends BaseCRUDJsonBodyMappingController<MatterDatumPrintService,MatterDatumPrintEntity,Long> {
@Autowired
private ParamService paramService;
public MortalsFillMatterDatumPrintController(){
public MatterDatumPrintController(){
super.setModuleDesc( "打印提交");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "type", paramService.getParamBySecondOrganize("MortalsFillMatterDatumPrint","type"));
this.addDict(model, "type", paramService.getParamBySecondOrganize("MatterDatumPrint","type"));
super.init(model, context);
}
......
package com.mortals.xhx.module.mortals.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.mortals.model.MortalsFillMatterDatumPrintEntity;
/**
* MortalsFillMatterDatumPrintService
*
* 打印提交 service接口
*
* @author zxfei
* @date 2022-12-07
*/
public interface MortalsFillMatterDatumPrintService extends ICRUDService<MortalsFillMatterDatumPrintEntity,Long>{
}
\ No newline at end of file
package com.mortals.xhx.module.mortals.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.mortals.dao.MortalsFillMatterDatumPrintDao;
import com.mortals.xhx.module.mortals.model.MortalsFillMatterDatumPrintEntity;
import com.mortals.xhx.module.mortals.service.MortalsFillMatterDatumPrintService;
/**
* MortalsFillMatterDatumPrintService
* 打印提交 service实现
*
* @author zxfei
* @date 2022-12-07
*/
@Service("mortalsFillMatterDatumPrintService")
public class MortalsFillMatterDatumPrintServiceImpl extends AbstractCRUDServiceImpl<MortalsFillMatterDatumPrintDao, MortalsFillMatterDatumPrintEntity, Long> implements MortalsFillMatterDatumPrintService {
}
\ No newline at end of file
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