Browse Source

优化部分图表

lwx_dev
erdanergou 3 years ago
parent
commit
693be588a5
  1. 122
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java
  2. 12
      src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml
  3. 7
      src/main/java/com/dreamchaser/depository_manage/mapper/MaterialTypeMapper.java
  4. 8
      src/main/java/com/dreamchaser/depository_manage/mapper/MaterialTypeMapper.xml
  5. 42
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java
  6. 205
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java
  7. 32
      src/main/resources/templates/pages/chart/chart-in_back.html
  8. 44
      src/main/resources/templates/pages/chart/chart-out_back.html
  9. 31
      src/main/resources/templates/pages/chart/chart-stock_back.html
  10. 32
      src/test/java/com/dreamchaser/depository_manage/Test.java
  11. 12
      target/classes/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml
  12. 8
      target/classes/com/dreamchaser/depository_manage/mapper/MaterialTypeMapper.xml
  13. 44
      target/classes/templates/pages/chart/chart-out_back.html
  14. 31
      target/classes/templates/pages/chart/chart-stock_back.html

122
src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java

@ -230,7 +230,7 @@ public class DepositoryController {
* @param depositoryRecordService
* @return
*/
public static List<Object> getBeforeInventoryByMonth(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService,UserByPort userByPort) {
public static List<Object> getBeforeInventoryByMonth(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort userByPort) {
// List<Depository> depositoryAll = depositoryService.findDepositoryAll();
List<Depository> depositoryAll = depositoryService.findDepositoryByAdminorgAndUser(userByPort);
// List<Depository> depositoryAll = depositoryService.findDepositoryByAdminorg(userByPort.getMaindeparment().toString());
@ -304,7 +304,7 @@ public class DepositoryController {
* @param depositoryRecordService
* @return
*/
public static Map<String, Object> getBeforeInventoryOnMap(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService,UserByPort userByPort) {
public static Map<String, Object> getBeforeInventoryOnMap(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort userByPort) {
// 中国地图数据
// ['product', '3月', '4月', '5月', '6月', '7月', '8月'],
// ['电子产品类', 41.1, 30.4, 65.1, 53.3, 83.8, 98.7],
@ -374,12 +374,12 @@ public class DepositoryController {
* @return
*/
@GetMapping("/warehouseRecord")
public RestResponse findDepositoryRecordByCondition(@RequestParam Map<String, Object> map,HttpServletRequest request) {
public RestResponse findDepositoryRecordByCondition(@RequestParam Map<String, Object> map, HttpServletRequest request) {
UserByPort userByPort = (UserByPort) request.getAttribute("userToken");
List<Depository> list = depositoryService.findDepositoryRecordPByCondition(map,userByPort);
List<Depository> list = depositoryService.findDepositoryRecordPByCondition(map, userByPort);
for (int i = 0; i < list.size(); i++) {
Depository depository = list.get(i);
Administration company = PageController.getCompany(depository.getCid(),userByPort);
Administration company = PageController.getCompany(depository.getCid(), userByPort);
list.get(i).setCname(company.getName());
}
return new RestResponse(list, depositoryService.findCountByCondition(map), 200);
@ -392,12 +392,12 @@ public class DepositoryController {
* @return
*/
@GetMapping("/allWarehouseByParent")
public RestResponse findDepositoryByNoParent(@RequestParam Map<String, Object> map,HttpServletRequest request) {
public RestResponse findDepositoryByNoParent(@RequestParam Map<String, Object> map, HttpServletRequest request) {
UserByPort userByPort = (UserByPort) request.getAttribute("userToken");
if ("".equals(map.get("parentId")) || map.get("parentId") == null) {
map.put("parentId", 0);
}
List<Depository> list = depositoryService.findDepositoryRecordPByCondition(map,userByPort);
List<Depository> list = depositoryService.findDepositoryRecordPByCondition(map, userByPort);
// 获取所有行政单位
Map<String, Object> administration = findAdministration(userByPort);
List<AdministrationP> administrationPList = (List<AdministrationP>) administration.get("administrationPList");
@ -429,7 +429,7 @@ public class DepositoryController {
JSONObject paramObject = JSONObject.parseObject(jsonString);
String post = null;
try {
post = HttpUtils.send(url, paramObject, HTTP.UTF_8,userByPort);
post = HttpUtils.send(url, paramObject, HTTP.UTF_8, userByPort);
} catch (IOException e) {
e.printStackTrace();
}
@ -459,14 +459,14 @@ public class DepositoryController {
* @return
*/
@PostMapping("/realDeleteDepository")
public RestResponse realDeleteDepository(@RequestBody Map<String, Object> map,HttpServletRequest request) {
public RestResponse realDeleteDepository(@RequestBody Map<String, Object> map, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
if (map.containsKey("id")) {
Integer id = ObjectFormatUtil.toInteger(map.get("id"));
new Thread(new Runnable() {
@Override
public void run() {
RealDeleteSonDepository(id.toString(),userToken);
RealDeleteSonDepository(id.toString(), userToken);
}
}).start();
return CrudUtil.deleteHandle(depositoryService.deleteDepositoryRecordById(id), 1);
@ -477,7 +477,7 @@ public class DepositoryController {
new Thread(new Runnable() {
@Override
public void run() {
RealDeleteSonDepository(id,userToken);
RealDeleteSonDepository(id, userToken);
}
}).start();
}
@ -492,14 +492,14 @@ public class DepositoryController {
*
* @param parentId
*/
public void RealDeleteSonDepository(String parentId,UserByPort userByPort) {
public void RealDeleteSonDepository(String parentId, UserByPort userByPort) {
Map<String, Object> param = new HashMap<>();
param.put("parentId", parentId);
// 获取当前仓库所有子仓库
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryRecordPByCondition(param,userByPort);
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryRecordPByCondition(param, userByPort);
for (int i = 0; i < depositoryRecordPByCondition.size(); i++) {
Integer id = depositoryRecordPByCondition.get(i).getId(); // 获取当前仓库id
RealDeleteSonDepository(id.toString(),userByPort); // 递归查询仓库
RealDeleteSonDepository(id.toString(), userByPort); // 递归查询仓库
depositoryService.deleteDepositoryRecordById(id); // 删除仓库
}
}
@ -511,9 +511,9 @@ public class DepositoryController {
* @return
*/
@PostMapping("/depository")
public RestResponse insertDepository(@RequestBody Map<String, Object> map,HttpServletRequest request) {
public RestResponse insertDepository(@RequestBody Map<String, Object> map, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
return CrudUtil.postHandle(depositoryService.insertDepository(map,userToken), 1);
return CrudUtil.postHandle(depositoryService.insertDepository(map, userToken), 1);
}
/**
@ -523,7 +523,7 @@ public class DepositoryController {
* @return
*/
@PostMapping("/depository_del")
public RestResponse deleteDepository(@RequestBody Map<String, Object> map,HttpServletRequest request) {
public RestResponse deleteDepository(@RequestBody Map<String, Object> map, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
if (map.containsKey("id")) {
Integer id = ObjectFormatUtil.toInteger(map.get("id"));
@ -531,7 +531,7 @@ public class DepositoryController {
new Thread(new Runnable() {
@Override
public void run() {
UpdateSonState(id.toString(), 3, true,userToken);
UpdateSonState(id.toString(), 3, true, userToken);
}
}).start();
return CrudUtil.deleteHandle(depositoryService.changeStateToDeletedById(id), 1);
@ -543,7 +543,7 @@ public class DepositoryController {
new Thread(new Runnable() {
@Override
public void run() {
UpdateSonState(id, 3, true,userToken);
UpdateSonState(id, 3, true, userToken);
}
}).start();
}
@ -576,7 +576,7 @@ public class DepositoryController {
* @return
*/
@PostMapping("/EditDepositoryState")
public RestResponse EditDepositoryState(@RequestBody Map<String, Object> map,HttpServletRequest request) {
public RestResponse EditDepositoryState(@RequestBody Map<String, Object> map, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
if (map.containsKey("state")) {
map.put("state", 1);
@ -591,7 +591,7 @@ public class DepositoryController {
new Thread(new Runnable() {
@Override
public void run() {
UpdateSonState(id, state, true,userToken);
UpdateSonState(id, state, true, userToken);
}
}).start();
} else {
@ -599,7 +599,7 @@ public class DepositoryController {
new Thread(new Runnable() {
@Override
public void run() {
UpdateSonState(id, state, false,userToken);
UpdateSonState(id, state, false, userToken);
}
}).start();
}
@ -619,11 +619,11 @@ public class DepositoryController {
*
* @param parentId
*/
public void UpdateSonState(String parentId, Integer state, boolean envelop,UserByPort userToken) {
public void UpdateSonState(String parentId, Integer state, boolean envelop, UserByPort userToken) {
Map<String, Object> param = new HashMap<>();
param.put("parentId", parentId);
// 获取当前仓库所有子仓库
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryRecordPByCondition(param,userToken);
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryRecordPByCondition(param, userToken);
if (envelop) {
// 将当前仓库下的产品状态改为禁用
UpdateSonMaterialState(parentId, state);
@ -633,7 +633,7 @@ public class DepositoryController {
int depositoryId = depository.getId();
Map<String, Object> newMap = new HashMap<>();
newMap.put("parentId", depositoryId);
UpdateSonState(String.valueOf(depositoryId), state, envelop,userToken);
UpdateSonState(String.valueOf(depositoryId), state, envelop, userToken);
Map<String, Object> map = new HashMap<>();
map.put("id", depositoryId);
map.put("state", state);
@ -756,7 +756,7 @@ public class DepositoryController {
drCountbyDrName.clear();
}
Map<String,Object> depository_data = new HashMap<>();
Map<String, Object> depository_data = new HashMap<>();
depository_data.put("data", show_data);
return depository_data;
}
@ -864,7 +864,7 @@ public class DepositoryController {
}
}
Map<String,Object> depository_data = new HashMap<>();
Map<String, Object> depository_data = new HashMap<>();
depository_data.put("data", show_data);
return depository_data;
}
@ -1032,7 +1032,9 @@ public class DepositoryController {
// 中国地图数据
// ['product', '3月', '4月', '5月', '6月', '7月', '8月'],
// ['电子产品类', 41.1, 30.4, 65.1, 53.3, 83.8, 98.7],
Map<String, Object> mapData = new HashMap<>();
if (!"0".equals(type)) {
List<Object> mapDataList = new ArrayList<>();
Map<String, Object> previousMonth1 = getPreviousMonth();
List<Object> months1 = (List<Object>) previousMonth1.get("months");
@ -1068,20 +1070,26 @@ public class DepositoryController {
}
mapData.put("mapDataList", mapDataList);
}
// 封装 展示数据
Map<String, Object> depository_data = new LinkedHashMap<String, Object>();
// 构造对应格式
depository_data.put("week", show_weekday);
depository_data.put("data", show_data);
depository_data.put("yesterdayData", yesterdayData);
depository_data.put("todayInventory", todayInventory);
depository_data.put("sourceList", sourceList);
depository_data.put("mapData", mapData);
depository_data.put("sourceListByMonth", getBeforeInventoryByMonth(depositoryService, depositoryRecordService,userByPort));
depository_data.put("BeforeInventory", getBeforeInventoryByDName(depositoryService, depositoryRecordService, userByPort));
// 获取库存图
if ("0".equals(type)) {
// 如果是获取库存
depository_data.put("todayInventory", todayInventory);
depository_data.put("sourceListByMonth", getBeforeInventoryByMonth(depositoryService, depositoryRecordService, userByPort));
depository_data.put("ThisWeekInventory", getThisWeekInventoryByDName(depositoryService, depositoryRecordService, userByPort));
depository_data.put("MapInventory", getBeforeInventoryOnMap(depositoryService, depositoryRecordService,userByPort));
depository_data.put("BeforeInventory", getBeforeInventoryByDName(depositoryService, depositoryRecordService, userByPort));
depository_data.put("MapInventory", getBeforeInventoryOnMap(depositoryService, depositoryRecordService, userByPort));
} else {
// 如果不是
depository_data.put("yesterdayData", yesterdayData);
depository_data.put("mapData", mapData);
}
// 封装 最终数据
Map<String, Object> data = new LinkedHashMap<String, Object>();
data.put("depository_data", depository_data);
@ -1102,12 +1110,12 @@ public class DepositoryController {
* @return
*/
@GetMapping("/find_depository")
public RestResponse FindDepositoryByMid(@RequestParam("mid") String mid,HttpServletRequest request) {
public RestResponse FindDepositoryByMid(@RequestParam("mid") String mid, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
Material materialById = materialService.findMaterialById(Integer.parseInt(mid));
Map<String, Object> param = new HashMap<>();
param.put("depositoryId", materialById.getDepositoryId());
List<Depository> depositoryId = depositoryService.findDepositoryRecordPByCondition(param,userToken);
List<Depository> depositoryId = depositoryService.findDepositoryRecordPByCondition(param, userToken);
return new RestResponse(depositoryId.get(0), 1, 200);
}
@ -1130,9 +1138,9 @@ public class DepositoryController {
* @return
*/
@GetMapping("/findMaterialByDepository")
public RestResponse FindMaterialByDepository(@RequestParam("depositoryId") String depositoryId,HttpServletRequest request) {
public RestResponse FindMaterialByDepository(@RequestParam("depositoryId") String depositoryId, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
Boolean allSonDepository = findAllSonDepository(depositoryId,userToken);
Boolean allSonDepository = findAllSonDepository(depositoryId, userToken);
return new RestResponse(allSonDepository);
}
@ -1143,15 +1151,15 @@ public class DepositoryController {
* @return
*/
@PostMapping("/findRelevancyByDepository")
public RestResponse FindRelevancyByDepository(@RequestBody Map<String, Object> map,HttpServletRequest request) {
public RestResponse FindRelevancyByDepository(@RequestBody Map<String, Object> map, HttpServletRequest request) {
Boolean allSonDepositoryOfRelevancy = false;
if (map.containsKey("id")) {
Integer depositoryId = (Integer) map.get("id");
allSonDepositoryOfRelevancy = findAllSonDepositoryOfRelevancy(depositoryId.toString(),request);
allSonDepositoryOfRelevancy = findAllSonDepositoryOfRelevancy(depositoryId.toString(), request);
} else if (map.containsKey("ids")) {
List<Integer> ids = (List<Integer>) map.get("ids");
for (int i = 0; i < ids.size(); i++) {
allSonDepositoryOfRelevancy |= findAllSonDepositoryOfRelevancy(ids.get(i).toString(),request);
allSonDepositoryOfRelevancy |= findAllSonDepositoryOfRelevancy(ids.get(i).toString(), request);
if (allSonDepositoryOfRelevancy) {
break;
}
@ -1168,7 +1176,7 @@ public class DepositoryController {
* @param parentid
* @return
*/
public Boolean findAllSonDepository(String parentid,UserByPort userToken) {
public Boolean findAllSonDepository(String parentid, UserByPort userToken) {
Map<String, Object> param = new HashMap<>();
param.put("parentId", parentid);
param.put("state", 1);
@ -1176,10 +1184,10 @@ public class DepositoryController {
if (materialByDepository) {
return true;
}
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryRecordPByCondition(param,userToken);
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryRecordPByCondition(param, userToken);
for (int i = 0; i < depositoryRecordPByCondition.size(); i++) {
if (!findMaterialByDepository(depositoryRecordPByCondition.get(i).getId().toString())) {
findAllSonDepository(depositoryRecordPByCondition.get(i).getId().toString(),userToken);
findAllSonDepository(depositoryRecordPByCondition.get(i).getId().toString(), userToken);
} else {
return true;
}
@ -1193,21 +1201,21 @@ public class DepositoryController {
* @param parentid
* @return
*/
public Boolean findAllSonDepositoryOfRelevancy(String parentid,HttpServletRequest request) {
public Boolean findAllSonDepositoryOfRelevancy(String parentid, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
Map<String, Object> param = new HashMap<>();
param.put("parentId", parentid);
param.put("state", 1);
boolean materialByDepository = findMaterialByDepository(parentid);
Boolean depositoryRecord = findDepositoryRecord(parentid,request);
Boolean depositoryRecord = findDepositoryRecord(parentid, request);
if (materialByDepository || depositoryRecord) {
return true;
}
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryRecordPByCondition(param,userToken);
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryRecordPByCondition(param, userToken);
for (int i = 0; i < depositoryRecordPByCondition.size(); i++) {
String depositoryId = depositoryRecordPByCondition.get(i).getId().toString();
if (!findMaterialByDepository(depositoryId) && !findDepositoryRecord(depositoryId,request)) {
findAllSonDepositoryOfRelevancy(depositoryRecordPByCondition.get(i).getId().toString(),request);
if (!findMaterialByDepository(depositoryId) && !findDepositoryRecord(depositoryId, request)) {
findAllSonDepositoryOfRelevancy(depositoryRecordPByCondition.get(i).getId().toString(), request);
} else {
return true;
}
@ -1238,10 +1246,10 @@ public class DepositoryController {
* @param depositoryId
* @return
*/
public Boolean findDepositoryRecord(String depositoryId,HttpServletRequest request) {
public Boolean findDepositoryRecord(String depositoryId, HttpServletRequest request) {
Map<String, Object> param = new HashMap<>();
param.put("depositoryId", depositoryId);
List<DepositoryRecordP> recordPByCondition = depositoryRecordService.findDepositoryRecordPByCondition(param,request);
List<DepositoryRecordP> recordPByCondition = depositoryRecordService.findDepositoryRecordPByCondition(param, request);
if (recordPByCondition.size() > 0) {
return true;
}
@ -1255,21 +1263,21 @@ public class DepositoryController {
* @return
*/
@GetMapping("/findDepositoryByParent")
public RestResponse FindDepositoryByParentId(@RequestParam("parentId") String parentId,HttpServletRequest request) {
public RestResponse FindDepositoryByParentId(@RequestParam("parentId") String parentId, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
Map<String, Object> param = new HashMap<>();
param.put("parentId", parentId);
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryRecordPByCondition(param,userToken);
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryRecordPByCondition(param, userToken);
return new RestResponse(depositoryRecordPByCondition, depositoryService.findCountByCondition(param), 200);
}
@GetMapping("/findManagerByDid")
public RestResponse FindManagerByDid(@RequestParam("did") Integer did,HttpServletRequest request) {
public RestResponse FindManagerByDid(@RequestParam("did") Integer did, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
List<Integer> userIdByDid = roleService.findUserIdByDid(did);
List<UserByPort> userByPortList = new ArrayList<>();
for (int i = 0; i < userIdByDid.size(); i++) {
UserByPort userByPort = PageController.FindUserById(userIdByDid.get(i),userToken);
UserByPort userByPort = PageController.FindUserById(userIdByDid.get(i), userToken);
userByPortList.add(userByPort);
}
return new RestResponse(userByPortList, userByPortList.size(), 200);
@ -1277,9 +1285,9 @@ public class DepositoryController {
@GetMapping("/findPostByCompany")
public RestResponse findPostByCompany(@RequestParam("company") String company,HttpServletRequest request) {
public RestResponse findPostByCompany(@RequestParam("company") String company, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
List<AdministrationP> administrationPList = PageController.findCompanyBySuperior(company,userToken);
List<AdministrationP> administrationPList = PageController.findCompanyBySuperior(company, userToken);
int size = administrationPList.size();
return new RestResponse(administrationPList, size, 200);
}

12
src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml

@ -1077,7 +1077,14 @@
<if test="depositoryId != null">
and depositoryId = #{depositoryId}
</if>
<if test="state != null and state != ''">
<if test="state == '已出库'">
and aormcheckId is not null
</if>
<if test="state != '已出库'">
and aorstate = #{state}
</if>
</if>
and depositoryManagerTime between #{start} and #{end}
</select>
@ -1122,8 +1129,13 @@
from applicationoutrecordinfo
where 1 = 1
<if test="state != null and state != ''">
<if test="state == '已出库'">
and aormcheckId is not null
</if>
<if test="state != '已出库'">
and aorstate = #{state}
</if>
</if>
<if test="depository_id != null and depository_id != ''">
and depositoryId = #{depository_id}
</if>

7
src/main/java/com/dreamchaser/depository_manage/mapper/MaterialTypeMapper.java

@ -112,4 +112,11 @@ public interface MaterialTypeMapper {
*/
List<MaterialType> findMaterialTypeNoParent();
/**
* 根据父级获取所有类别
* @param parentId
* @return
*/
List<MaterialType> findMaterialTypeByParent(Integer parentId);
}

8
src/main/java/com/dreamchaser/depository_manage/mapper/MaterialTypeMapper.xml

@ -79,6 +79,14 @@
FROM material_type mt WHERE mt.id = #{id}
</select>
<!-- 根据父类查询数据 -->
<select id="findMaterialTypeByParent" resultMap="materialTypeMap" parameterType="int">
SELECT
<include refid="allColumns" />
FROM material_type mt
WHERE mt.parentId = #{parentId}
</select>
<!-- 根据主键查询数据 -->
<select id="findMaterialTypeById" resultMap="materialTypeMap" parameterType="integer">
SELECT

42
src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java

@ -15,6 +15,7 @@ import com.dreamchaser.depository_manage.pojo.*;
import com.dreamchaser.depository_manage.pojo.callBackXml.callBackXml_button_templatecard.TemplateCard;
import com.dreamchaser.depository_manage.security.bean.UserToken;
import com.dreamchaser.depository_manage.service.DepositoryRecordService;
import com.dreamchaser.depository_manage.service.MaterialTypeService;
import com.dreamchaser.depository_manage.service.RoleService;
import com.dreamchaser.depository_manage.utils.*;
import org.apache.http.protocol.HTTP;
@ -68,6 +69,9 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
@Autowired
private QyWxOperationService qyWxOperationService;
@Autowired
private MaterialTypeMapper materialTypeMapper;
/**
* 提交申请插入一条仓库调度记录
@ -1543,13 +1547,30 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
@Override
public Double findMaterialCountByMonth1(Map<String, Object> map) {
Integer type = ObjectFormatUtil.toInteger(map.get("type"));
Map<String,Object> param = new HashMap<>();
param.put("tname",map.get("tname"));
List<MaterialType> materialTypeByCondition = materialTypeMapper.findMaterialTypeByCondition(param);
MaterialType mt = new MaterialType();
if(materialTypeByCondition.size() > 0){
// 获取当前类型
mt = materialTypeByCondition.get(0);
}
Double sumCount = 0.0;
List<MaterialType> allMtByParent = findChildForMaterialTypeByParent(mt);
if (type == 1) {
// 如果入库
return depositoryRecordMapper.findApplicationInByMonth(map);
for (int i = 0; i < allMtByParent.size(); i++) {
map.put("tname",allMtByParent.get(i).getTname());
sumCount += depositoryRecordMapper.findApplicationInByMonth(map);
}
} else {
// 如果出库
return depositoryRecordMapper.findApplicationOutByMonth(map);
for (int i = 0; i < allMtByParent.size(); i++) {
map.put("tname",allMtByParent.get(i).getTname());
sumCount += depositoryRecordMapper.findApplicationOutByMonth(map);
}
}
return sumCount;
}
/**
@ -1717,5 +1738,22 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
return code;
}
// 根据id获取子类
public List<MaterialType> findChildForMaterialTypeByParent(MaterialType mt){
Map<String,Object> param = new HashMap<>();
List<MaterialType> result = new ArrayList<>();
result.add(mt);
param.put("parentId",mt.getId());
// 获取当前父类的子类
List<MaterialType> materialTypeByCondition = materialTypeMapper.findMaterialTypeByCondition(param);
if(materialTypeByCondition.size() > 0){
for (int i = 0; i < materialTypeByCondition.size(); i++) {
MaterialType mts = materialTypeByCondition.get(i);
List<MaterialType> childForMaterialTypeByParent = findChildForMaterialTypeByParent(mts);
result.addAll(childForMaterialTypeByParent);
}
}
return result;
}
}

205
src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java

@ -12,6 +12,7 @@ import com.dreamchaser.depository_manage.utils.ObjectFormatUtil;
import com.dreamchaser.depository_manage.utils.WordUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.thymeleaf.util.ArrayUtils;
import java.util.ArrayList;
import java.util.HashMap;
@ -31,52 +32,53 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 根据条件插入数据
*
* @param map 参数map
* @return 影响条数
*/
@Override
public Integer insertDepository(Map<String, Object> map,UserByPort userByPort) {
public Integer insertDepository(Map<String, Object> map, UserByPort userByPort) {
// 获取当前仓库拼音首字母
String dname = (String) map.get("dname");
String dnamePinYin = WordUtil.getPinYinHeadChar(dname);
String code = "";
if("".equals(map.get("depositoryId"))){ // 如果是顶级仓库
map.put("parentId",0);
Map<String,Object> temp = new HashMap<>();
temp.put("dname",dname);
temp.put("parentId",0);
if ("".equals(map.get("depositoryId"))) { // 如果是顶级仓库
map.put("parentId", 0);
Map<String, Object> temp = new HashMap<>();
temp.put("dname", dname);
temp.put("parentId", 0);
// 当前名称是否有重复
List<Depository> condition = depositoryMapper.findDepositoryRecordPByCondition(temp);
// 公司编号
Integer cid = ObjectFormatUtil.toInteger(map.get("cid"));
String companyName = PageController.getCompany(cid,userByPort).getName();
String companyName = PageController.getCompany(cid, userByPort).getName();
String adminorgName = "";
// 部门编号
if(!"".equals(map.get("adminorg"))){
if (!"".equals(map.get("adminorg"))) {
Integer adminorg = ObjectFormatUtil.toInteger(map.get("adminorg"));
adminorgName = PageController.getCompany(adminorg,userByPort).getName();
adminorgName = PageController.getCompany(adminorg, userByPort).getName();
}
// 公司简称
companyName = WordUtil.getPinYinHeadChar(companyName);
// 部门简称
adminorgName = WordUtil.getPinYinHeadChar(adminorgName);
if(condition.size() > 0){
if (condition.size() > 0) {
// 设置编码
if(adminorgName.isEmpty()){
code = "GK" + dnamePinYin +"-"+ String.format("%02d", condition.size() + 1);
}else {
if (adminorgName.isEmpty()) {
code = "GK" + dnamePinYin + "-" + String.format("%02d", condition.size() + 1);
} else {
code = "GK" + dnamePinYin + "-" + String.format("%02d", condition.size() + 1);
}
}else{
} else {
// 设置编码
if(adminorgName.isEmpty()){
if (adminorgName.isEmpty()) {
code = "GK" + dnamePinYin + "-01";
} else {
code = "GK" + dnamePinYin + "-01";
}else {
code = "GK" + dnamePinYin+"-01";
}
}
}else {
map.put("parentId",map.get("depositoryId"));
} else {
map.put("parentId", map.get("depositoryId"));
map.remove("depositoryId");
// 获取当前仓库父仓库
Integer parentId = ObjectFormatUtil.toInteger(map.get("parentId"));
@ -84,36 +86,37 @@ public class DepositoryServiceImpl implements DepositoryService {
// 获取当前选择部门
String adminorgName = "";
// 部门编号
if(!"".equals(map.get("adminorg"))){
if (!"".equals(map.get("adminorg"))) {
Integer adminorg = ObjectFormatUtil.toInteger(map.get("adminorg"));
adminorgName = PageController.getCompany(adminorg,userByPort).getName();
adminorgName = WordUtil.getPinYinHeadChar(adminorgName).substring(0,2);
adminorgName = PageController.getCompany(adminorg, userByPort).getName();
adminorgName = WordUtil.getPinYinHeadChar(adminorgName).substring(0, 2);
}
// 获取父仓库编码
String parentCode = depositoryId.getCode();
if(!parentCode.contains(adminorgName)){
if (!parentCode.contains(adminorgName)) {
StringBuffer sb = new StringBuffer(parentCode);
sb.insert(2,adminorgName);
sb.insert(2, adminorgName);
parentCode = sb.toString();
}
// 获取当前仓库简称
Map<String,Object> param = new HashMap<>();
param.put("parentId",parentId);
Map<String, Object> param = new HashMap<>();
param.put("parentId", parentId);
// 获取父仓库所有子仓库
Integer sonDepositoryNum = depositoryMapper.findCountByCondition(param);
code = parentCode +String.format("%02d",sonDepositoryNum + 1);
code = parentCode + String.format("%02d", sonDepositoryNum + 1);
}
map.put("code",code);
map.put("code", code);
return depositoryMapper.insertDepository(map);
}
/**
* 根据条件查询数据
*
* @param map
* @return 影响条数
*/
@Override
public List<Depository> findDepositoryRecordPByCondition(Map<String,Object> map,UserByPort userByPort) {
public List<Depository> findDepositoryRecordPByCondition(Map<String, Object> map, UserByPort userByPort) {
Integer size = 10, page = 1;
if (map.containsKey("size")) {
size = ObjectFormatUtil.toInteger(map.get("size"));
@ -126,8 +129,8 @@ public class DepositoryServiceImpl implements DepositoryService {
List<Depository> list = depositoryMapper.findDepositoryRecordPByCondition(map);
for (int i = 0; i < list.size(); i++) {
Depository depository = list.get(i);
if(!depository.getAdminorg().isEmpty()){
Administration company = PageController.getCompany(ObjectFormatUtil.toInteger(depository.getAdminorg()),userByPort);
if (!depository.getAdminorg().isEmpty()) {
Administration company = PageController.getCompany(ObjectFormatUtil.toInteger(depository.getAdminorg()), userByPort);
depository.setAdminorgName(company.getName());
}
}
@ -136,6 +139,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 根据条件查询对应的总条数
*
* @param map 条件参数
* @return 查询条数
*/
@ -146,14 +150,15 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 根据主键id删除数据
*
* @param id
* @return 影响条数
*/
@Override
public Integer deleteDepositoryRecordById(Integer id) {
// 删除权限记录
Map<String,Object> map = new HashMap<>();
map.put("depositoryId",id);
Map<String, Object> map = new HashMap<>();
map.put("depositoryId", id);
List<RoleAndDepository> roleAndDepositoryByDid = roleMapper.findRoleAndDepositoryByCondition(map);
for (int j = 0; j < roleAndDepositoryByDid.size(); j++) {
roleMapper.deleteRoleAndDepositoryById(roleAndDepositoryByDid.get(j).getId());
@ -163,6 +168,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 根据多个主键id删除多条数据
*
* @param list
* @return 影响条数
*/
@ -173,6 +179,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 根据主键id获取数据信息
*
* @param id
* @return 查询结果
*/
@ -183,6 +190,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 根据条件修改对应数据信息
*
* @param map
* @return 影响条数
*/
@ -193,6 +201,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 根据条件修改状态
*
* @param map
* @return
*/
@ -203,6 +212,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 查询所有数据信息
*
* @return 所有数据
*/
@Override
@ -212,6 +222,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 根据主键id将仓库状态改为删除
*
* @param id
* @return 受影响数目
*/
@ -222,6 +233,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 根据多个主键id将对应仓库状态改为删除
*
* @param ids
* @return 受影响数目
*/
@ -232,6 +244,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 计算未删除仓库综合
*
* @return
*/
@Override
@ -241,6 +254,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 获取本部门以及个人管理仓库的名称和id
*
* @return
*/
@Override
@ -261,12 +275,12 @@ public class DepositoryServiceImpl implements DepositoryService {
for (int i = 0; i < depositoryAndRole.size(); i++) {
RoleAndDepository roleAndDepository = depositoryAndRole.get(i);
// 如果重复则跳过
if(depositoryListId.get(i).compareTo(roleAndDepository.getDepositoryId()) == 0){
if (depositoryListId.get(i).compareTo(roleAndDepository.getDepositoryId()) == 0) {
continue;
}
depositoryListId.add(roleAndDepository.getDepositoryId());
}
Map<String,Integer> map = new HashMap<>();
Map<String, Integer> map = new HashMap<>();
for (int i = 0; i < depositoryListId.size(); i++) {
Integer depositoryId = depositoryListId.get(i);
Depository depositoryRecordById = depositoryMapper.findDepositoryRecordById(depositoryId);
@ -277,19 +291,19 @@ public class DepositoryServiceImpl implements DepositoryService {
}
/**
* 根据仓库名称获取当前仓库库存容量
*
* @param dname
* @return
*/
@Override
public Double getToDayInventoryByDName(String dname) {
String[] split = dname.split(",");
Map<String,Object> map = new HashMap<>();
if(split.length > 1){
map.put("dcode",split[1]);
}else {
Map<String, Object> map = new HashMap<>();
if (split.length > 1) {
map.put("dcode", split[1]);
} else {
map.put("dname", split[0]);
}
return depositoryMapper.getToDayInventoryByDName(map);
@ -298,6 +312,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 根据父级获取子类
*
* @param id
* @return
*/
@ -307,10 +322,9 @@ public class DepositoryServiceImpl implements DepositoryService {
}
/**
* 根据多个主键id获取对应数据
*
* @param ids
* @return 搜索结果
*/
@ -321,18 +335,19 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 构造树形选择框
*
* @return
*/
@Override
public List<Object> InitTreeMenus() {
Map<String,Object> param = new HashMap<>();
param.put("parentId",0);
Map<String, Object> param = new HashMap<>();
param.put("parentId", 0);
List<Depository> depositories = depositoryMapper.findDepositoryRecordPByCondition(param);
List<Object> list = new ArrayList<>();
for (int i = 0; i < depositories.size(); i++) {
Depository d = depositories.get(i);
List<Object> childForMaterialTypeByParent = findChildForDepositoryByParent(d.getId(),"");
Map<String, Object> stringObjectMap = InitTreeMenus2(d,childForMaterialTypeByParent);
List<Object> childForMaterialTypeByParent = findChildForDepositoryByParent(d.getId(), "");
Map<String, Object> stringObjectMap = InitTreeMenus2(d, childForMaterialTypeByParent);
list.add(stringObjectMap);
}
return list;
@ -340,19 +355,20 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 根据部门构造树形选择框
*
* @param adminorg
* @return
*/
@Override
public List<Object> InitTreeMenus(String adminorg) {
Map<String,Object> param = new HashMap<>();
param.put("parentId",0);
param.put("adminorg",361);
Map<String, Object> param = new HashMap<>();
param.put("parentId", 0);
param.put("adminorg", 361);
List<Depository> depositories = depositoryMapper.findDepositoryRecordPByCondition(param);
List<Object> list = new ArrayList<>();
for (int i = 0; i < depositories.size(); i++) {
Depository d = depositories.get(i);
List<Object> childForMaterialTypeByParent = findChildForDepositoryByParent(d.getId(),adminorg);
List<Object> childForMaterialTypeByParent = findChildForDepositoryByParent(d.getId(), adminorg);
Map<String, Object> stringObjectMap = InitTreeMenus2(d, childForMaterialTypeByParent);
list.add(stringObjectMap);
}
@ -360,9 +376,9 @@ public class DepositoryServiceImpl implements DepositoryService {
}
/**
* 获取当前部门以及公共仓库
*
* @param adminorg
* @return
*/
@ -374,6 +390,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 根据仓库编码获取仓库
*
* @param code
* @return
*/
@ -384,6 +401,7 @@ public class DepositoryServiceImpl implements DepositoryService {
/**
* 获取当前用户与其部门所管理的仓库
*
* @param userByPort
* @return
*/
@ -394,88 +412,87 @@ public class DepositoryServiceImpl implements DepositoryService {
// 仓库id列表
List<Depository> depositoryList = new ArrayList<>();
// 添加到id列表
for (Depository depository : depositoryByAdminorg) {
depositoryList.add(depository);
}
// 添加到列表
depositoryList.addAll(depositoryByAdminorg);
// 获取当前用户管理的仓库
List<RoleAndDepository> depositoryAndRole = roleMapper.findDepositoryAndRole(userByPort.getId());
for (int i = 0; i < depositoryAndRole.size(); i++) {
RoleAndDepository roleAndDepository = depositoryAndRole.get(i);
Depository depositoryRecordById = depositoryMapper.findDepositoryRecordById(roleAndDepository.getDepositoryId());
// 如果重复则跳过
if(depositoryList.get(i).getId().compareTo(roleAndDepository.getDepositoryId()) == 0){
if (hasDepository(depositoryList,depositoryRecordById)) {
continue;
}
Depository depositoryRecordById = depositoryMapper.findDepositoryRecordById(roleAndDepository.getDepositoryId());
} else {
depositoryList.add(depositoryRecordById);
}
}
return depositoryList;
}
//判断是否有子类
public boolean isChildForDepository(Integer parentId){
public boolean isChildForDepository(Integer parentId) {
boolean flag = false;
List<Depository> parentByDepository = depositoryMapper.getParentByDepository(parentId);
if(parentByDepository.size() > 0 ){
if (parentByDepository.size() > 0) {
flag = true;
}
return flag;
}
// 根据id获取子类
public List<Object> findChildForDepositoryByParent(Integer id,String adminorg){
Map<String,Object> param = new HashMap<>();
public List<Object> findChildForDepositoryByParent(Integer id, String adminorg) {
Map<String, Object> param = new HashMap<>();
List<Object> result = new ArrayList<>();
param.put("parentId",id);
if(!"".equals(adminorg)){
param.put("adminorg",adminorg);
param.put("parentId", id);
if (!"".equals(adminorg)) {
param.put("adminorg", adminorg);
}
// 获取当前父类的子类
List<Depository> parentByDepository = depositoryMapper.findDepositoryByAdminorgAndParent(param);
if(parentByDepository.size() > 0){
if (parentByDepository.size() > 0) {
for (int i = 0; i < parentByDepository.size(); i++) {
Depository d = parentByDepository.get(i);
List<Object> childForMaterialTypeByParent = findChildForDepositoryByParent(d.getId(),adminorg);
if(childForMaterialTypeByParent != null) {
List<Object> childForMaterialTypeByParent = findChildForDepositoryByParent(d.getId(), adminorg);
if (childForMaterialTypeByParent != null) {
result.add(InitTreeMenus2(d, childForMaterialTypeByParent));
}else{
} else {
List<Object> placeList = AddPlaceByDid(d);
result.add(InitTreeMenus2(d, placeList));
}
}
return result;
}else{
} else {
return null;
}
}
// 在仓库后添加库位信息
public List<Object> AddPlaceByDid(Depository d){
if(d != null) {
public List<Object> AddPlaceByDid(Depository d) {
if (d != null) {
// 获取当前仓库下的所有库位
List<Object> result = new ArrayList<>();
// 获取该仓库的排
List<Integer> placeXByDid = placeMapper.findPlaceXByDid(d.getId());
if(placeXByDid.size() > 0) {
if (placeXByDid.size() > 0) {
for (int i = 1; i <= placeXByDid.get(0); i++) {
Map<String,Object> placeX = new HashMap<>();
placeX.put("title","第"+i+"排货架");
placeX.put("id",-1);
Map<String,Object> param = new HashMap<>();
param.put("did",d.getId());
param.put("x",i);
Map<String, Object> placeX = new HashMap<>();
placeX.put("title", "第" + i + "排货架");
placeX.put("id", -1);
Map<String, Object> param = new HashMap<>();
param.put("did", d.getId());
param.put("x", i);
List<Place> placeByCondition = placeMapper.findPlaceByCondition(param);
if(placeByCondition.size() > 0) {
if (placeByCondition.size() > 0) {
List<Object> children = new ArrayList<>();
for (int k = 1; k <= placeByCondition.size(); k++) {
Map<String, Object> map = new HashMap<>();
map.put("title", placeByCondition.get(k - 1).getCode());
map.put("id", d.getId()+"-"+placeByCondition.get(k - 1).getId());
map.put("id", d.getId() + "-" + placeByCondition.get(k - 1).getId());
children.add(map);
}
placeX.put("children", children);
@ -510,25 +527,35 @@ public class DepositoryServiceImpl implements DepositoryService {
}
}
return result;
}
else {
} else {
return null;
}
}
// 构造树形组件数据模板
public Map<String,Object> InitTreeMenus2(Depository d,List<Object> children){
if(d != null) {
public Map<String, Object> InitTreeMenus2(Depository d, List<Object> children) {
if (d != null) {
Map<String, Object> map = new HashMap<>();
map.put("title", d.getDname());
map.put("id", d.getId());
map.put("children",children);
map.put("children", children);
return map;
}
else{
} else {
return null;
}
}
private boolean hasDepository(List<Depository> list,Depository o){
boolean flag = false;
for (Depository depository : list) {
if (depository.getCode().equals(o.getCode())) {
flag = true;
break;
}
}
return flag;
}
}

32
src/main/resources/templates/pages/chart/chart-in_back.html

@ -284,7 +284,7 @@
legend: {},
tooltip: {
trigger: 'axis',
showContent: false
showContent: true
},
dataset: {
source: []
@ -293,21 +293,6 @@
yAxis: {gridIndex: 0},
grid: {top: '55%'},
series: [
{type: 'line', smooth: true, seriesLayoutBy: 'row'},
{
type: 'pie',
id: 'pie',
radius: '30%',
center: ['50%', '25%'],
label: {
formatter: '{b}: {@8月} ({d}%)'
},
encode: {
itemName: 'product',
value: '8月',
tooltip: '8月'
}
}
]
};
@ -329,6 +314,7 @@
success: function (result) {
layer.close(this.layerIndex);
if (result.code === 0) {
echartsRecords.setOption(optionRecords);
echartsPies.setOption(optionPies);
echartsDataset.setOption(optionDataset);
@ -387,9 +373,13 @@
}
for (let i = 0; i < result.data.depository_data.mapData.mapDataList.length; i++) {
optionMap.dataset.source.push(result.data.depository_data.mapData.mapDataList[i])
optionMap.dataset.source.push(result.data.depository_data.mapData.mapDataList[i]);
if(i < result.data.depository_data.mapData.mapDataList.length - 1) {
optionMap.series.push({type: 'line', smooth: true, seriesLayoutBy: 'row'})
}
}
var month = new Date().getMonth() + 1;
optionMap.series.push(
{
@ -398,12 +388,12 @@
radius: '30%',
center: ['50%', '25%'],
label: {
formatter: '{b}: {@8月} ({d}%)'
formatter: '{b}: {@'+month+'月} ({d}%)'
},
encode: {
itemName: 'product',
value: '8月',
tooltip: '8月'
value: month+'月',
tooltip: month+'月'
}
}
);
@ -470,7 +460,7 @@
echartsMap.setOption(optionMap);
}
}
})
});
// echarts 窗口缩放自适应

44
src/main/resources/templates/pages/chart/chart-out_back.html

@ -292,21 +292,6 @@
yAxis: {gridIndex: 0},
grid: {top: '55%'},
series: [
{type: 'line', smooth: true, seriesLayoutBy: 'row'},
{
type: 'pie',
id: 'pie',
radius: '30%',
center: ['50%', '25%'],
label: {
formatter: '{b}: {@8月} ({d}%)'
},
encode: {
itemName: 'product',
value: '8月',
tooltip: '8月'
}
}
]
};
@ -374,20 +359,21 @@
name: result.data.depository_name[i]
})
}
var dimensions = result.data.depository_data.sourceList[result.data.depository_data.sourceList.length - 1]
optionDataset.dataset.dimensions = dimensions
var dimensions = result.data.depository_data.sourceList[result.data.depository_data.sourceList.length - 1];
optionDataset.dataset.dimensions = dimensions;
for (let i = result.data.depository_data.sourceList.length - 2; i >= 0; i--) {
optionDataset.dataset.source.push(result.data.depository_data.sourceList[i])
}
for (let i = 0; i < dimensions.length - 1; i++) {
optionDataset.series.push({type: 'bar'})
}
for (let i = 0; i < result.data.depository_data.mapData.mapDataList.length; i++) {
optionMap.dataset.source.push(result.data.depository_data.mapData.mapDataList[i])
optionMap.series.push({type: 'line', smooth: true, seriesLayoutBy: 'row'})
optionMap.dataset.source.push(result.data.depository_data.mapData.mapDataList[i]);
if(i < result.data.depository_data.mapData.mapDataList.length - 1) {
optionMap.series.push({type: 'line', smooth: true, seriesLayoutBy: 'row'});
}
}
var month = new Date().getMonth() + 1;
optionMap.series.push(
{
type: 'pie',
@ -395,17 +381,15 @@
radius: '30%',
center: ['50%', '25%'],
label: {
formatter: '{b}: {@8月} ({d}%)'
formatter: '{b}: {@'+month+'月} ({d}%)'
},
encode: {
itemName: 'product',
value: '8月',
tooltip: '8月'
value: month+'月',
tooltip: month+'月'
}
}
)
);
optionRecords = {
title: {
text: '出库仓库-报表图'
@ -469,15 +453,16 @@
echartsMap.setOption(optionMap);
}
}
})
});
// echarts 窗口缩放自适应
window.onresize = function () {
echartsRecords.resize();
}
};
// 获取本周
form.on('submit(thisWeek)', function () {
$.ajax({
url: '/repository/layui/echart_back?type=2',
@ -548,6 +533,7 @@
})
})
// 获取上周
form.on('submit(lastWeek)', function () {
$.ajax({
url: '/repository/layui/echart_back?type=2&last=1',

31
src/main/resources/templates/pages/chart/chart-stock_back.html

@ -215,21 +215,6 @@
yAxis: {gridIndex: 0},
grid: {top: '55%'},
series: [
{type: 'line', smooth: true, seriesLayoutBy: 'row'},
{
type: 'pie',
id: 'pie',
radius: '30%',
center: ['50%', '25%'],
label: {
formatter: '{b}: {@3月} ({d}%)'
},
encode: {
itemName: 'product',
value: '3月',
tooltip: '3月'
}
}
]
};
@ -307,28 +292,28 @@
for (let i = 0; i < result.data.depository_data.MapInventory.mapDataList.length ; i++) {
optionMap.dataset.source.push(result.data.depository_data.MapInventory.mapDataList[i])
if(i < result.data.depository_data.MapInventory.mapDataList.length - 1) {
optionMap.series.push({type: 'line', smooth: true, seriesLayoutBy: 'row'})
}
}
/*optionMap.series.push(
var month = new Date().getMonth() + 1;
optionMap.series.push(
{
type: 'pie',
// id: 'pie',
radius: '30%',
center: ['50%', '25%'],
label: {
formatter: '{b}: {@8月} ({d}%)'
formatter: '{b}: {@'+month+'月} ({d}%)'
},
encode: {
itemName: 'product',
value: '8月',
tooltip: '8月'
value: month+'月',
tooltip: month+'月'
}
}
)*/
);
optionRecords = {
title: {
text: '仓库库存-报表图'

32
src/test/java/com/dreamchaser/depository_manage/Test.java

@ -73,38 +73,12 @@ public class Test {
@Autowired
MaterialService materialService;
@Autowired
DepositoryService depositoryService;
@org.junit.Test
public void test1() throws AesException, IOException, ParserConfigurationException, SAXException {
Map<String,Object> map = new HashMap<>();
/* map.put("mid",0);
map.put("mcode","code");*/
map.put("mid1",1);
map.put("mcode1","code1");
map.put("mid2",2);
map.put("mcode2","code2");
Iterator<Map.Entry<String, Object>> iterator = map.entrySet().iterator();
Set<String> strings = map.keySet();
String key = "";
for (String tempKey :
strings) {
if(tempKey.contains("mid")){
key = tempKey;
break;
}
}
Map.Entry<String, Object> entry;
String keyNumber = key.split("mid")[1];
while (iterator.hasNext()){
entry = iterator.next();
// 放入新的Entry
if(entry.toString().contains(keyNumber)){
map.put(entry.toString().replace(keyNumber,""),entry.getValue());
// iterator.remove();
}
// 删除老的Entry
}
List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg("102");
System.out.println(map);
}

12
target/classes/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml

@ -1077,7 +1077,14 @@
<if test="depositoryId != null">
and depositoryId = #{depositoryId}
</if>
<if test="state != null and state != ''">
<if test="state == '已出库'">
and aormcheckId is not null
</if>
<if test="state != '已出库'">
and aorstate = #{state}
</if>
</if>
and depositoryManagerTime between #{start} and #{end}
</select>
@ -1122,8 +1129,13 @@
from applicationoutrecordinfo
where 1 = 1
<if test="state != null and state != ''">
<if test="state == '已出库'">
and aormcheckId is not null
</if>
<if test="state != '已出库'">
and aorstate = #{state}
</if>
</if>
<if test="depository_id != null and depository_id != ''">
and depositoryId = #{depository_id}
</if>

8
target/classes/com/dreamchaser/depository_manage/mapper/MaterialTypeMapper.xml

@ -79,6 +79,14 @@
FROM material_type mt WHERE mt.id = #{id}
</select>
<!-- 根据父类查询数据 -->
<select id="findMaterialTypeByParent" resultMap="materialTypeMap" parameterType="int">
SELECT
<include refid="allColumns" />
FROM material_type mt
WHERE mt.parentId = #{parentId}
</select>
<!-- 根据主键查询数据 -->
<select id="findMaterialTypeById" resultMap="materialTypeMap" parameterType="integer">
SELECT

44
target/classes/templates/pages/chart/chart-out_back.html

@ -292,21 +292,6 @@
yAxis: {gridIndex: 0},
grid: {top: '55%'},
series: [
{type: 'line', smooth: true, seriesLayoutBy: 'row'},
{
type: 'pie',
id: 'pie',
radius: '30%',
center: ['50%', '25%'],
label: {
formatter: '{b}: {@8月} ({d}%)'
},
encode: {
itemName: 'product',
value: '8月',
tooltip: '8月'
}
}
]
};
@ -374,20 +359,21 @@
name: result.data.depository_name[i]
})
}
var dimensions = result.data.depository_data.sourceList[result.data.depository_data.sourceList.length - 1]
optionDataset.dataset.dimensions = dimensions
var dimensions = result.data.depository_data.sourceList[result.data.depository_data.sourceList.length - 1];
optionDataset.dataset.dimensions = dimensions;
for (let i = result.data.depository_data.sourceList.length - 2; i >= 0; i--) {
optionDataset.dataset.source.push(result.data.depository_data.sourceList[i])
}
for (let i = 0; i < dimensions.length - 1; i++) {
optionDataset.series.push({type: 'bar'})
}
for (let i = 0; i < result.data.depository_data.mapData.mapDataList.length; i++) {
optionMap.dataset.source.push(result.data.depository_data.mapData.mapDataList[i])
optionMap.series.push({type: 'line', smooth: true, seriesLayoutBy: 'row'})
optionMap.dataset.source.push(result.data.depository_data.mapData.mapDataList[i]);
if(i < result.data.depository_data.mapData.mapDataList.length - 1) {
optionMap.series.push({type: 'line', smooth: true, seriesLayoutBy: 'row'});
}
}
var month = new Date().getMonth() + 1;
optionMap.series.push(
{
type: 'pie',
@ -395,17 +381,15 @@
radius: '30%',
center: ['50%', '25%'],
label: {
formatter: '{b}: {@8月} ({d}%)'
formatter: '{b}: {@'+month+'月} ({d}%)'
},
encode: {
itemName: 'product',
value: '8月',
tooltip: '8月'
value: month+'月',
tooltip: month+'月'
}
}
)
);
optionRecords = {
title: {
text: '出库仓库-报表图'
@ -469,15 +453,16 @@
echartsMap.setOption(optionMap);
}
}
})
});
// echarts 窗口缩放自适应
window.onresize = function () {
echartsRecords.resize();
}
};
// 获取本周
form.on('submit(thisWeek)', function () {
$.ajax({
url: '/repository/layui/echart_back?type=2',
@ -548,6 +533,7 @@
})
})
// 获取上周
form.on('submit(lastWeek)', function () {
$.ajax({
url: '/repository/layui/echart_back?type=2&last=1',

31
target/classes/templates/pages/chart/chart-stock_back.html

@ -215,21 +215,6 @@
yAxis: {gridIndex: 0},
grid: {top: '55%'},
series: [
{type: 'line', smooth: true, seriesLayoutBy: 'row'},
{
type: 'pie',
id: 'pie',
radius: '30%',
center: ['50%', '25%'],
label: {
formatter: '{b}: {@3月} ({d}%)'
},
encode: {
itemName: 'product',
value: '3月',
tooltip: '3月'
}
}
]
};
@ -307,28 +292,28 @@
for (let i = 0; i < result.data.depository_data.MapInventory.mapDataList.length ; i++) {
optionMap.dataset.source.push(result.data.depository_data.MapInventory.mapDataList[i])
if(i < result.data.depository_data.MapInventory.mapDataList.length - 1) {
optionMap.series.push({type: 'line', smooth: true, seriesLayoutBy: 'row'})
}
}
/*optionMap.series.push(
var month = new Date().getMonth() + 1;
optionMap.series.push(
{
type: 'pie',
// id: 'pie',
radius: '30%',
center: ['50%', '25%'],
label: {
formatter: '{b}: {@8月} ({d}%)'
formatter: '{b}: {@'+month+'月} ({d}%)'
},
encode: {
itemName: 'product',
value: '8月',
tooltip: '8月'
value: month+'月',
tooltip: month+'月'
}
}
)*/
);
optionRecords = {
title: {
text: '仓库库存-报表图'

Loading…
Cancel
Save