Browse Source

在消息页面添加我的申请

lwx_dev
erdanergou 3 years ago
parent
commit
17bf3edee8
  1. 48
      src/main/java/com/dreamchaser/depository_manage/controller/PageController.java
  2. 17
      src/main/java/com/dreamchaser/depository_manage/pojo/SimpleTaskP.java
  3. 10
      src/main/resources/static/css/public.css
  4. 105
      src/main/resources/templates/pages/self/message.html
  5. 78
      src/test/java/com/dreamchaser/depository_manage/OtherTest.java
  6. 122
      src/test/java/com/dreamchaser/depository_manage/TestForOther.java

48
src/main/java/com/dreamchaser/depository_manage/controller/PageController.java

@ -266,7 +266,10 @@ public class PageController {
}
UserByPort userToken = AuthenticationTokenPool.getUserToken(token);
List<SimpleTaskP> list = getUserSimpleTaskP(userToken);
List<SimpleTaskP> userSimpleApplyP = getUserSimpleApplyP(userToken);
mv.addObject("myTaskList", list);
mv.addObject("myApplyList", userSimpleApplyP);
Map<String, Object> map = new HashMap<>();
map.put("begin", 0);
map.put("size", 6);
@ -3147,6 +3150,51 @@ public class PageController {
return list;
}
/**
* 用于获取当前用户的部分申请列表
* @param userToken 当前用户
* @return
*/
public List<SimpleTaskP> getUserSimpleApplyP(UserByPort userToken){
Map<String, Object> paramForApply = new HashMap<>();
paramForApply.put("applicantId", userToken.getId());
paramForApply.put("size", 4);
paramForApply.put("page", 1);
// 定义任务列表
List<SimpleTaskP> list = new ArrayList<>();
// 查询入库申请
List<ApplicationInRecordP> applicationInRecordPByCondition = depositoryRecordService.findApplicationInRecordPByCondition(paramForApply, userToken);
for (ApplicationInRecordP applicationInRecordP : applicationInRecordPByCondition) {
SimpleTaskP simpleTask = new SimpleTaskP(applicationInRecordP);
list.add(simpleTask);
}
List<ApplicationOutRecordP> applicationOutRecordPlist = depositoryRecordService.findApplicationOutRecordPByCondition(paramForApply, userToken);
for (ApplicationOutRecordP applicationOutRecordP : applicationOutRecordPlist) {
SimpleTaskP simpleTask = new SimpleTaskP(applicationOutRecordP);
list.add(simpleTask);
}
paramForApply.put("originator",userToken.getId());
List<StockTaking> stockTakingByCondition = stockTakingService.findStockTakingByCondition(paramForApply);
for (StockTaking stockTaking : stockTakingByCondition) {
SimpleTaskP simpleTask = new SimpleTaskP(new SimpleStockTakingP(stockTaking));
list.add(simpleTask);
}
return list;
}
/**
* 跳转到移动端功能页面
* @return
*/
@GetMapping("/userAuthorityMenus")
public ModelAndView userAuthorityMenus(){
ModelAndView mv = new ModelAndView();

17
src/main/java/com/dreamchaser/depository_manage/pojo/SimpleTaskP.java

@ -1,5 +1,6 @@
package com.dreamchaser.depository_manage.pojo;
import com.dreamchaser.depository_manage.entity.ApplicationInRecord;
import com.dreamchaser.depository_manage.entity.ApplicationOutRecordMin;
import com.dreamchaser.depository_manage.utils.DateUtil;
import lombok.Data;
@ -71,6 +72,22 @@ public class SimpleTaskP {
this.applicantTime = DateUtil.TimeStampToDateTime(Long.valueOf(aor.getApplicantTime()));
this.applicantName = aor.getApplicantName();
this.type = "物料出库请求";
}
public SimpleTaskP(ApplicationOutRecordP aor){
this.id = Long.valueOf(aor.getId());
this.code = aor.getCode();
this.applicantTime = aor.getApplicantTime();
this.applicantName = aor.getApplicantName();
this.type = "物料出库申请";
}
public SimpleTaskP(ApplicationInRecordP aip) {
this.id = Long.valueOf(aip.getId());
this.code = aip.getCode();
this.applicantTime = aip.getApplicantTime();
this.applicantName = aip.getApplicantName();
this.type = "物料入库请求";
}
}

10
src/main/resources/static/css/public.css

@ -190,11 +190,11 @@ body {
}
.layuimini-notice:hover, .layuimini-myTask:hover {
.layuimini-notice:hover, .layuimini-myTask:hover,.layuimini-myApply:hover {
background: #f6f6f6;
}
.layuimini-notice, .layuimini-myTask {
.layuimini-notice, .layuimini-myTask,.layuimini-myApply {
padding: 7px 16px;
clear: both;
font-size: 12px !important;
@ -203,19 +203,19 @@ body {
transition: background 0.2s ease-in-out;
}
.layuimini-notice-title, .layuimini-notice-label, .layuimini-myTask-type {
.layuimini-notice-title, .layuimini-notice-label, .layuimini-myTask-type,.layuimini-myApply-type {
padding-right: 70px !important;
text-overflow: ellipsis !important;
overflow: hidden !important;
white-space: nowrap !important;
}
.layuimini-notice-title, .layuimini-myTask-type {
.layuimini-notice-title, .layuimini-myTask-type,.layuimini-myApply-type {
line-height: 28px;
font-size: 14px;
}
.layuimini-notice-extra, .layuimini-myTask-extra {
.layuimini-notice-extra, .layuimini-myTask-extra ,layuimini-myApply-extra{
position: absolute;
top: 50%;
margin-top: -8px;

105
src/main/resources/templates/pages/self/message.html

@ -188,6 +188,26 @@
</div>
</div>
</div>
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-header">
<i class="fa fa fa-map-o icon"></i>我的申请
<i class="fa fa-chevron-right" aria-hidden="true"
style="right: 7px;top: 13px;position: absolute;" onclick="showAllMyApply()"></i>
</div>
<div class="layui-card-body layui-text">
<div class="layuimini-myApply" th:each="myTask,iterStat:${myApplyList}">
<div class="layuimini-myApply-type" th:text="${myTask.getType()}"></div>
<div class="layuimini-myApply-extra" th:text="${myTask.getApplicantTime()}"></div>
<div class="layuimini-myApply-name " th:text="${myTask.getApplicantName()}"></div>
<div class="layuimini-myApply-id layui-hide" th:text="${myTask.getId()}"></div>
<hr/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@ -203,6 +223,10 @@
}
function showAllMyApply() {
}
layui.use(['layer', 'miniTab', 'echarts'], function () {
var $ = layui.jquery,
layer = layui.layer,
@ -334,6 +358,69 @@
});
/**
* 查看申请信息
**/
$('body').on('click', '.layuimini-myApply', function () {
var id = $(this).children('.layuimini-myApply-id').text();
var type = $(this).children('.layuimini-myApply-type').text();
if (type === '物料出库申请') {
var index = layer.open({
title: '请求详情',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/ApplicationOutView?id=' + id,
end: function () {
location.reload()
}
});
$(window).on("resize", function () {
layer.full(index);
});
}
else if (type === '物料入库请求') {
var index = layer.open({
title: '请求详情',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/form_step_look?id=' + id,
end: function () {
location.reload()
}
});
$(window).on("resize", function () {
layer.full(index);
});
}
else if (type === "库存盘点请求") {
var index = layer.open({
title: '请求详情',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/StockTakingView?id=' + id,
end: function () {
location.reload()
}
});
$(window).on("resize", function () {
layer.full(index);
});
}
});
showAllNotice = function () {
var index = layer.open({
title: '所有公告',
@ -344,12 +431,12 @@
area: ['100%', '100%'],
content: '/noticeAll',
});
}
};
showAllMyTask = function () {
layer.open({
type: 2,
title: '弹窗内容',
title: '我的任务',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
@ -360,6 +447,20 @@
});
}
showAllMyApply = function () {
layer.open({
type: 2,
title: '我的申请',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['100%', '100%'],
move: '.layui-layer-title',
fixed: false,
content: '/my_apply',
});
}
});
</script>

78
src/test/java/com/dreamchaser/depository_manage/OtherTest.java

@ -0,0 +1,78 @@
package com.dreamchaser.depository_manage;
import com.dreamchaser.depository_manage.entity.StockTaking;
import com.dreamchaser.depository_manage.entity.UserByPort;
import com.dreamchaser.depository_manage.pojo.*;
import com.dreamchaser.depository_manage.service.DepositoryRecordService;
import com.dreamchaser.depository_manage.service.StockTakingService;
import com.dreamchaser.depository_manage.utils.LinkInterfaceUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class OtherTest {
@Autowired
DepositoryRecordService depositoryRecordService;
@Autowired
StockTakingService stockTakingService;
@Autowired
RedisTemplate<String,String> redisTemplateForHash;
@Test
public void Test(){
UserByPort userByPort = LinkInterfaceUtil.FindUserById(78, null);
List<SimpleTaskP> userSimpleTaskP = getUserSimpleApplyP(userByPort);
System.out.println(userSimpleTaskP);
}
/**
* 用于获取当前用户的任务列表
* @param userToken 当前用户
* @return
*/
public List<SimpleTaskP> getUserSimpleApplyP(UserByPort userToken){
Map<String, Object> paramForApply = new HashMap<>();
paramForApply.put("applicantId", userToken.getId());
paramForApply.put("size", 4);
paramForApply.put("page", 1);
// 定义任务列表
List<SimpleTaskP> list = new ArrayList<>();
// 查询入库申请
List<ApplicationInRecordP> applicationInRecordPByCondition = depositoryRecordService.findApplicationInRecordPByCondition(paramForApply, userToken);
for (ApplicationInRecordP applicationInRecordP : applicationInRecordPByCondition) {
SimpleTaskP simpleTask = new SimpleTaskP(applicationInRecordP);
list.add(simpleTask);
}
List<ApplicationOutRecordP> applicationOutRecordPlist = depositoryRecordService.findApplicationOutRecordPByCondition(paramForApply, userToken);
for (ApplicationOutRecordP applicationOutRecordP : applicationOutRecordPlist) {
SimpleTaskP simpleTask = new SimpleTaskP(applicationOutRecordP);
list.add(simpleTask);
}
paramForApply.put("originator",userToken.getId());
List<StockTaking> stockTakingByCondition = stockTakingService.findStockTakingByCondition(paramForApply);
for (StockTaking stockTaking : stockTakingByCondition) {
SimpleTaskP simpleTask = new SimpleTaskP(new SimpleStockTakingP(stockTaking));
list.add(simpleTask);
}
return list;
}
}

122
src/test/java/com/dreamchaser/depository_manage/TestForOther.java

@ -1,122 +0,0 @@
package com.dreamchaser.depository_manage;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.enums.WriteDirectionEnum;
import com.alibaba.excel.util.ListUtils;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.fill.FillConfig;
import com.alibaba.excel.write.metadata.fill.FillWrapper;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONPObject;
import com.dreamchaser.depository_manage.config.PortConfig;
import com.dreamchaser.depository_manage.config.QyWxConfig;
import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.mapper.DepositoryMapper;
import com.dreamchaser.depository_manage.mapper.DepositoryRecordMapper;
import com.dreamchaser.depository_manage.mapper.MaterialMapper;
import com.dreamchaser.depository_manage.pojo.ApplicationOutRecordP;
import com.dreamchaser.depository_manage.pojo.RestResponse;
import com.dreamchaser.depository_manage.pojo.callBackXml.approvalCallBackXml.ApprovalInfo;
import com.dreamchaser.depository_manage.pojo.callBackXml.approvalCallBackXml.ApprovalInfo_Details;
import com.dreamchaser.depository_manage.pojo.callBackXml.approvalCallBackXml.ApprovalInfo_Details_Approver;
import com.dreamchaser.depository_manage.service.*;
import com.dreamchaser.depository_manage.service.impl.QyWxOperationService;
import com.dreamchaser.depository_manage.utils.CreateQrCodeUtil;
import com.dreamchaser.depository_manage.utils.HttpUtils;
import com.dreamchaser.depository_manage.utils.LinkInterfaceUtil;
import com.dreamchaser.depository_manage.utils.ZipMultiFileUtil;
import javafx.scene.paint.Material;
import org.apache.http.protocol.HTTP;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.web.jsf.FacesContextUtils;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Array;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.*;
@RunWith(SpringRunner.class)
@SpringBootTest
public class TestForOther {
@Autowired
AccessAddressService accessAddressService;
/**
* 获取当月的开始和结束时间
*/
@Test
public void run() {
UserByPort userToken = LinkInterfaceUtil.FindUserById(78, null);
//定义链接地址
String url = PortConfig.external_url_6666 + "/system_authorizing/obtain_authorization";
Map<String, Object> param = new HashMap<>();
param.put("system", "cangchu");
String jsonString = JSONObject.toJSONString(param);
JSONObject paramObject = JSONObject.parseObject(jsonString);
String post = null;
try {
post = HttpUtils.send(url, paramObject, HTTP.UTF_8, userToken);
} catch (IOException e) {
e.printStackTrace();
}
JSONObject jsonObject = JSONObject.parseObject(post);
JSONObject data = (JSONObject) jsonObject.get("data");
JSONArray powerid = (JSONArray) data.get("powerid");
if (powerid == null) {
powerid = new JSONArray();
}
List<String> stringList = JSONObject.parseArray(powerid.toJSONString(), String.class);
List<AccesstoAddress> accessToAddressByList = accessAddressService.findAccessToAddressByList(stringList);
}
/**
* 根据父级菜单获取子菜单
*
* @param accessToAddressByList
* @param address
* @return
*/
public List<AccesstoAddress> childAddress(List<AccesstoAddress> accessToAddressByList, AccesstoAddress address) {
List<AccesstoAddress> accessstoAddressByParent = new ArrayList<>();
for (AccesstoAddress accesstoAddress : accessToAddressByList) {
if (Integer.compare(accesstoAddress.getMenuparent(), address.getId()) == 0) {
accessstoAddressByParent.add(accesstoAddress);
}
}
return accessstoAddressByParent;
}
/**
* 用于菜单构造
*
* @param address
* @return
*/
public Map<String, Object> MenuConstructor(AccesstoAddress address) {
Map<String, Object> menu = new HashMap<>();
menu.put("title", address.getName());
menu.put("href", address.getUrl());
menu.put("icon", address.getIcon());
menu.put("target", address.getTarget());
return menu;
}
}
Loading…
Cancel
Save