diff --git a/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java b/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java index b38b1f7e..f421610a 100644 --- a/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java +++ b/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java @@ -14,10 +14,7 @@ import org.springframework.stereotype.Component; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.TimeUnit; @@ -81,9 +78,30 @@ public class QyWxConfig { String errmsg = (String) jsonObject.get("errmsg"); if (errcord == 0) { // 如果成功获取access_token - Integer expires_in = jsonObject.getInteger("expires_in"); + + // 定义redis过期时间 + Long expires_in = Long.valueOf(7200); + + // 获取当前redis中存储的key值 + Set keys = redisTemplate.keys("wms_access_token_*"); + // 获取遍历器 + Iterator iterator = keys.iterator(); + while (iterator.hasNext()){ // 如果有下个,则进行遍历 + // 获取当前key + String next = iterator.next(); + // 当前key对应的token + String next_access_token = redisTemplate.opsForValue().get(next); + if(accessToken.equals(next_access_token)){ + // 如果当前token相等 + + // 获取当前的过期时间 + expires_in = redisTemplate.opsForValue().getOperations().getExpire(next,TimeUnit.SECONDS); + } + } + redisTemplate.opsForValue().set("wms_access_token_"+UserAgent,accessToken); redisTemplate.expire("wms_access_token_"+UserAgent,expires_in, TimeUnit.SECONDS); + return accessToken; } else { // 否则返回空值 diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java index 617e9130..247fbc6f 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java @@ -163,7 +163,7 @@ public class DepositoryController { result.clear(); } } else { - int now = instance.get(Calendar.DAY_OF_WEEK) - 1; + int now = instance.get(Calendar.DAY_OF_WEEK) - 1 == 0 ? 7 : instance.get(Calendar.DAY_OF_WEEK) - 1; List days = new ArrayList<>(); days.add(DateUtil.DateTimeByMonthToTimeStamp(formatter.format(instance.getTime()))); Boolean flag = false; @@ -851,7 +851,7 @@ public class DepositoryController { show_data.put(key.toString(), ((ArrayList) drCountbyDrName).clone()); } } else { - int now = instance.get(Calendar.DAY_OF_WEEK) - 1; + int now = instance.get(Calendar.DAY_OF_WEEK) - 1 == 0 ? 7 : instance.get(Calendar.DAY_OF_WEEK) - 1; List days = new ArrayList<>(); // 周一至今的每天 instance.add(Calendar.DATE, 1); days.add(DateUtil.DateTimeByMonthToTimeStamp(formatter.format(instance.getTime()))); @@ -951,6 +951,7 @@ public class DepositoryController { // 获取今天是周几 int weekDay = instance.get(Calendar.DAY_OF_WEEK); weekDay = weekDay - 1; // 具体周几 + // 获取日期 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); @@ -1148,7 +1149,7 @@ public class DepositoryController { Calendar instance = Calendar.getInstance(); // 获取日期 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); - int now = instance.get(Calendar.DAY_OF_WEEK) - 1; + int now = instance.get(Calendar.DAY_OF_WEEK) - 1 == 0 ? 7 : instance.get(Calendar.DAY_OF_WEEK) - 1; List days = new ArrayList<>(); // 周一至今的每天 instance.add(Calendar.DATE, 1); days.add(DateUtil.DateTimeByMonthToTimeStamp(formatter.format(instance.getTime()))); diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java index 85ee907b..6cc52540 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java @@ -569,14 +569,13 @@ public class DepositoryRecordController { mcode.append(materialById.getCode()).append(","); depositoryName.append(depository.getDname()).append(","); sumQuantity += applicationOutRecordMin.getQuantity(); - sumPrice += (materialById.getPrice()); + sumPrice += (materialById.getPrice() * applicationOutRecordMin.getQuantity()); } list.get(i).setMcode(mcode.toString()); list.get(i).setMname(mname.toString()); list.get(i).setDepositoryName(depositoryName.toString()); list.get(i).setQuantity(sumQuantity); list.get(i).setPrice(sumPrice); - } return new RestResponse(list,depositoryRecordService.findApplicationOutRecordPCountByCondition(map),200); } diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java index 6a7763f7..77790b3f 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java @@ -213,6 +213,12 @@ public class MaterialController { } + @PostMapping("/treeMenus_Test") + public RestResponse TreeMenus_Test(@RequestBody Map map, HttpServletRequest request) { + List list = new ArrayList<>(); + list = materialService.InitMaterialTree_New(); + return new RestResponse(list); + } @@ -284,8 +290,21 @@ public class MaterialController { materialById.setMaterialAndBarCodeList(materialByBarCodeByCondition); MaterialAndPlace placeAndMaterialByMidAndPid = placeService.findPlaceAndMaterialByMidAndPid(ObjectFormatUtil.toInteger(pid), materialById.getId()); materialById.setQuantity(placeAndMaterialByMidAndPid.getQuantity()); - map.put("materialById", materialById); + List materialAndProducedDateByMid = materialService.findMaterialAndProducedDateByMid(materialById.getId()); + List producedDateList = new ArrayList<>(); + // 用于标志是否要更改数量 + boolean flagForQuantity = true; + for (MaterialAndProducedDate materialAndProducedDate : materialAndProducedDateByMid) { + // 获取当前生产日期 + producedDateList.add(DateUtil.TimeStampToDateTimeForMonth(materialAndProducedDate.getProducedDate())); + if(flagForQuantity) { + materialById.setQuantity(materialAndProducedDate.getInventory()); + flagForQuantity = false; + } + } + map.put("materialById", materialById); + map.put("producedDateList",producedDateList); map.put("placeList", placePList); return new RestResponse(map, 1, 200); } @@ -783,6 +802,14 @@ public class MaterialController { mp.setMaterialAndBarCodeList(materialByBarCodeByCondition); if (flag) { // 如果成功获取 + // 获取当前物料对应的生产日期 + List materialAndProducedDateByMid = materialService.findMaterialAndProducedDateByMid(mp.getId()); + List producedDateList = new ArrayList<>(); + for (MaterialAndProducedDate materialAndProducedDate : materialAndProducedDateByMid) { + // 获取当前生产日期 + producedDateList.add(DateUtil.TimeStampToDateTimeForMonth(materialAndProducedDate.getProducedDate())); + } + mp.setProducedDateList(producedDateList); return new RestResponse(mp); } return new RestResponse(null); @@ -862,6 +889,7 @@ public class MaterialController { // 如果没有获取到 materialByBarCode = materialService.findMaterialByBarCode(qrCode); } + result.put("material", materialByBarCode); return new RestResponse(result); } @@ -1168,6 +1196,18 @@ public class MaterialController { // 如果当前条形码不存对应物料 barCodeListByNoMaterial.add(barCode); } + if(material != null){ + // 获取当前物料对应的生产日期 + List materialAndProducedDateByMid = materialService.findMaterialAndProducedDateByMid(material.getId()); + List producedDateList = new ArrayList<>(); + // 用于标志是否要更改数量 + for (MaterialAndProducedDate materialAndProducedDate : materialAndProducedDateByMid) { + // 获取当前生产日期 + producedDateList.add(DateUtil.TimeStampToDateTimeForMonth(materialAndProducedDate.getProducedDate())); + material.setQuantity(materialAndProducedDate.getInventory()); + } + material.setProducedDateList(producedDateList); + } result.put("material", material); result.put("barCodeListByNoMaterial", barCodeListByNoMaterial); return new RestResponse(result); diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java index eaa0bab0..32956152 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java @@ -279,6 +279,7 @@ public class PageController { public ModelAndView welcome(HttpServletRequest request) { ModelAndView mv = new ModelAndView(); String header = request.getHeader("user-agent"); + UserByPort userToken= (UserByPort) request.getAttribute("userToken"); boolean b = DeviceUtil.checkAgentIsMobile(header); if (b) { mv.setViewName("pages/other/welcome_mobile"); @@ -286,14 +287,12 @@ public class PageController { mv.setViewName("pages/other/welcome"); } - Map map = new HashMap(2) { { put("beigin", 0); put("size", 6); } }; - mv.addObject("depositoryCount", depositoryService.findAllCountByNoDelete()); mv.addObject("allPrice", materialService.findAllPriceNoDelete()); mv.addObject("allMaterial", materialService.findMaterialCount(new HashMap<>())); @@ -318,6 +317,29 @@ public class PageController { warehouseRecord = applicationIn + applicationOut; mv.addObject("warehouseRecord", warehouseRecord); mv.addObject("notices", noticeService.findNoticeByCondition(map)); + + + Map paramForTask = new HashMap<>(); + paramForTask.put("isDone",0); + paramForTask.put("userId",userToken.getId()); + + // 定义任务列表 + List list = new ArrayList<>(); + + // 查询出库任务 + List myTask = depositoryRecordService.findMyTask(paramForTask, request); + + for (int i = 0; i < myTask.size(); i++) { + SimpleTaskP simpleTaskP = new SimpleTaskP(myTask.get(i)); + list.add(simpleTaskP); + } + // 查询盘点任务 + List task = stockTakingService.findMyTask(paramForTask, request); + for (int i = 0; i < task.size(); i++) { + SimpleTaskP simpleTaskP = new SimpleTaskP(task.get(i)); + list.add(simpleTaskP); + } + mv.addObject("myTaskList",list); return mv; } @@ -634,15 +656,13 @@ public class PageController { public ModelAndView chart_in() { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/chart/chart-in"); - // 转入物料数量 - mv.addObject("InCount", depositoryRecordService.CalculateAllApplicationInCount()); - - // 转入物料总额 - mv.addObject("allInCount", depositoryRecordService.CalculateAllApplicationInCount()); - // 购入物料数量 - mv.addObject("InPrice", depositoryRecordService.CalculateAllApplicationInPrice()); - // 购入物料总额 - mv.addObject("allInPrice", depositoryRecordService.CalculateAllApplicationInPrice()); + mv.addObject("depositories", depositoryService.findDepositoryAll()); + mv.addObject("reviewers", userService.findReviewers()); + mv.addObject("materials", materialService.findMaterialAll()); + mv.addObject("InCount", depositoryRecordService.CalculateAllCount(1, "已入库")); + mv.addObject("allInCount", depositoryRecordService.CalculateAllCount(1, "")); + mv.addObject("InPrice", depositoryRecordService.CalculateAllPrice(1, "已入库")); + mv.addObject("allInPrice", depositoryRecordService.CalculateAllPrice(1, "")); return mv; } @@ -655,15 +675,27 @@ public class PageController { public ModelAndView chart_in_back() { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/chart/chart-in_back"); - // 转入物料数量 - mv.addObject("InCount", depositoryRecordService.CalculateAllApplicationInCount()); + + /** + * 用于计算昨天的数据 + */ + Map map = depositoryRecordService.CalculateAllApplicationInCount(); + // 用于计算全部的数据 + Map map1 = depositoryRecordService.CalculateAllApplicationInAll(); + + // 转入物料数量 + mv.addObject("InCount", map.get("total")); + // 转入数量比值 + mv.addObject("radioForSum", map.get("ratioForSum")); // 转入物料总额 - mv.addObject("allInCount", depositoryRecordService.CalculateAllApplicationInCount()); + mv.addObject("allInCount", map1.get("count")); // 购入物料数量 - mv.addObject("InPrice", depositoryRecordService.CalculateAllApplicationInPrice()); + mv.addObject("InPrice", map.get("price")); + // 转入额度比值 + mv.addObject("radioForPrice", map.get("ratioForPrice")); // 购入物料总额 - mv.addObject("allInPrice", depositoryRecordService.CalculateAllApplicationInPrice()); + mv.addObject("allInPrice", map1.get("price")); return mv; } @@ -676,14 +708,28 @@ public class PageController { public ModelAndView chart_out_back() { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/chart/chart-out_back"); + + // 获取已经出库的记录数据 + Map mapForOut = depositoryRecordService.CalculateAllApplicationOutCount("已出库"); // 转出物料数量 - mv.addObject("OutCount", depositoryRecordService.CalculateAllApplicationOutCount("已出库")); + mv.addObject("OutCount", mapForOut.get("count")); + // 获取数量比值 + mv.addObject("outCountRadio",mapForOut.get("radioForCount")); + // 出库物料总额 + mv.addObject("OutPrice", mapForOut.get("price")); + // 获取金额比值 + mv.addObject("outPriceRadio",mapForOut.get("radioForPrice")); + + // 获取要出库的记录数据 + Map mapForTrueOut = depositoryRecordService.CalculateAllApplicationOutCount(""); // 转出物料金额 - mv.addObject("allOutCount", depositoryRecordService.CalculateAllApplicationOutCount("")); + mv.addObject("allOutCount", mapForTrueOut.get("count")); + // 获取数量比值 + mv.addObject("outAllCountRadio",mapForTrueOut.get("radioForCount")); // 出售物料数量 - mv.addObject("OutPrice", depositoryRecordService.CalculateAllApplicationOutPrice("已出库")); - // 出库物料总额 - mv.addObject("allOutPrice", depositoryRecordService.CalculateAllApplicationOutPrice("")); + mv.addObject("allOutPrice", mapForTrueOut.get("price")); + // 获取金额比值 + mv.addObject("outAllPriceRadio",mapForTrueOut.get("radioForPrice")); return mv; } @@ -1164,7 +1210,7 @@ public class PageController { depositoryName.append(depository.getDname()).append(","); quantityByMaterial.append(applicationOutRecordMin.getQuantity() + ","); sumQuantity += applicationOutRecordMin.getQuantity(); - sumPrice += (materialById.getPrice()); + sumPrice += (materialById.getPrice() * applicationOutRecordMin.getQuantity()); recordMinPList.add(recordMinP); } // 申请人 @@ -1419,7 +1465,7 @@ public class PageController { mv.setViewName("pages/company/company-out"); List administrationPList = findAllCompany(userToken); mv.addObject("administrationPList", administrationPList); - mv.addObject("level",3); + mv.addObject("level", 3); mv.addObject("parentId", "313"); return mv; } @@ -1466,12 +1512,12 @@ public class PageController { @GetMapping("/findCompanyByParentId") - public ModelAndView findCompanyByParentId(Integer parentId,Integer level, HttpServletRequest request) { + public ModelAndView findCompanyByParentId(Integer parentId, Integer level, HttpServletRequest request) { UserByPort userToken = (UserByPort) request.getAttribute("userToken"); ModelAndView mv = new ModelAndView(); if (parentId != null) { mv.addObject("parentId", parentId); - mv.addObject("level", level+1); + mv.addObject("level", level + 1); List administrationPList = LinkInterfaceUtil.findCompanyBySuperior(parentId.toString(), userToken); if (administrationPList.size() > 0) { mv.addObject("administrationPList", administrationPList); diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/MaterialAndBarCode.java b/src/main/java/com/dreamchaser/depository_manage/entity/MaterialAndBarCode.java index 597b2590..a3c7b620 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/MaterialAndBarCode.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/MaterialAndBarCode.java @@ -64,4 +64,13 @@ public class MaterialAndBarCode { * 物料所处库位 */ private List placePList; + + /** + * 保质期 + */ + private Integer shelfLife; + + /** + * 生产日期 + */ } diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java index 3f019294..be847f4f 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java @@ -74,12 +74,27 @@ public interface DepositoryRecordMapper { */ List findApplicationInRecordPAll(); + + /** + * 查询一段时间内的入库记录 + * @param map 条件,起止时间 + * @return + */ + List findApplicationInRecordPForAPeriodOfTime(Map map); + /** * 查找所有出库记录 * @return */ List findApplicationOutRecordPAll(); + /** + * 查询一段时间内的出库记录 + * @param map 条件,起止时间 + * @return + */ + List findApplicationOutRecordPForAPeriodOfTime(Map map); + /** * 根据条件查询仓库调度记录,同时支持分页查询(需要begin和size参数) * @param map 查询参数 @@ -341,5 +356,8 @@ public interface DepositoryRecordMapper { * 获取所有已经完成的子订单 * @return */ - List findApplicationOutMinForComplete(); + List findApplicationOutMinForComplete(Map map); + + + } diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml index 4a754272..e5c56d61 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml @@ -388,12 +388,26 @@ from applicationInRecordInfo + + + + - select from application_out_record_min aorm left join application_out_record aor on aorm.parentId = aor.id where 1 = 1 - and aor.pass = 1 + and aor.pass = 1 and aor.applicant_time between #{start} and #{end} @@ -1083,6 +1097,7 @@ and applicant_time between #{start} and #{end} + @@ -224,7 +225,7 @@ select from materialandproduceddate mp - where mp.mid = #{mid} and mp.inventory != 0 ORDER BY producedDate + where mp.mid = #{mid} and mp.inventory != 0 and producedDate is not null ORDER BY producedDate diff --git a/src/main/java/com/dreamchaser/depository_manage/pojo/SimpleTaskP.java b/src/main/java/com/dreamchaser/depository_manage/pojo/SimpleTaskP.java new file mode 100644 index 00000000..dbdbdf38 --- /dev/null +++ b/src/main/java/com/dreamchaser/depository_manage/pojo/SimpleTaskP.java @@ -0,0 +1,69 @@ +package com.dreamchaser.depository_manage.pojo; + +import com.dreamchaser.depository_manage.entity.SimpleApplicationOutRecord; +import com.dreamchaser.depository_manage.entity.StockTaking; +import com.dreamchaser.depository_manage.utils.DateUtil; +import com.dreamchaser.depository_manage.utils.LinkInterfaceUtil; +import lombok.Data; + + +/** + * 用于简化任务的输出 + */ +@Data +public class SimpleTaskP { + /** + * id + */ + private Long id; + + /** + * 盘点单号 + */ + private String code; + + /** + * 仓库名称 + */ + private String depositoryName; + + /* + 发起人姓名 + */ + private String applicantName; + + /** + * 申请时间 + */ + private String applicantTime; + + /** + * 任务类型(1出库2盘点) + */ + private String type; + + + /** + * 用于创建任务输出 + * @param d 出库任务 + */ + public SimpleTaskP(SimpleApplicationOutRecordP d) { + this.id= Long.valueOf(d.getId().toString()); + this.applicantTime = d.getApplicantTime(); + this.applicantName = d.getApplicantName(); + this.type = "出库请求"; + } + + + /** + * 用于创建任务输出 + * @param st 盘点任务 + */ + public SimpleTaskP(SimpleStockTakingP st) { + this.id = st.getId(); + this.code = st.getCode(); + this.applicantTime = st.getCreateTime(); + this.applicantName = st.getOriginatorName(); + this.type = "库存盘点请求"; + } +} diff --git a/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java b/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java index 6a7adcee..22db2e23 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java @@ -175,7 +175,7 @@ public interface DepositoryRecordService { * 计算入库物料总额 * @return */ - Double CalculateAllApplicationInPrice(); + Map CalculateAllApplicationInAll(); /** * 计算出库物料总额 * @return @@ -295,12 +295,12 @@ public interface DepositoryRecordService { * 计算入库物料总数 * @return */ - Double CalculateAllApplicationInCount(); + Map CalculateAllApplicationInCount(); /** * 计算出库物料总数 * @return */ - Double CalculateAllApplicationOutCount(String state); + Map CalculateAllApplicationOutCount(String state); /** diff --git a/src/main/java/com/dreamchaser/depository_manage/service/MaterialService.java b/src/main/java/com/dreamchaser/depository_manage/service/MaterialService.java index 134d2ea6..c02c2cf9 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/MaterialService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/MaterialService.java @@ -297,4 +297,6 @@ public interface MaterialService { * @param mtId */ void closeTreeChildren(Long mtId); + + List InitMaterialTree_New(); } diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java index afb90d1d..d1af1408 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java @@ -24,7 +24,7 @@ import java.io.IOException; import java.math.BigDecimal; import java.nio.charset.StandardCharsets; import java.util.*; -import java.util.concurrent.TimeUnit; +import java.util.concurrent.*; /** * @author Dreamchaser @@ -108,7 +108,12 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { // 获取当前填写的生产日期 Long producedDate = Long.valueOf(0); if (map.containsKey("producedDate")) { - producedDate = DateUtil.DateTimeByMonthToTimeStamp(map.get("producedDate").toString()); + Object s = map.get("producedDate"); + if(s == null || "".equals(s.toString())){ + producedDate = Long.valueOf(0); + }else{ + producedDate = DateUtil.DateTimeByMonthToTimeStamp(s.toString()); + } } Map param = new HashMap<>(); param.put("depositoryId", depositoryId); @@ -227,13 +232,70 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { * @return */ @Override - public Double CalculateAllApplicationInCount() { - List applicationInRecordPAll = depositoryRecordMapper.findApplicationInRecordPAll(); - Double sum = 0.0; - for (int i = 0; i < applicationInRecordPAll.size(); i++) { - sum += (double) applicationInRecordPAll.get(i).getQuantity(); + public Map CalculateAllApplicationInCount() { + + // 获取当前时间 + long now = System.currentTimeMillis(); + + // 获取今天凌晨的时间 + Long nowTimeForCalc = DateUtil.getNowTimeForCalc(); + // 获取昨天时间 + Long yesterdayTimeForCalc = DateUtil.getYesterdayTimeForCalc(); + + // 用于查询今天到现在的入库记录 + Map mapForToday = new HashMap<>(); + mapForToday.put("start",nowTimeForCalc); + mapForToday.put("end",now); + // 用于查询昨天的入库记录 + Map mapForYesterday = new HashMap<>(); + mapForYesterday.put("start",yesterdayTimeForCalc); + mapForYesterday.put("end",nowTimeForCalc); + + // 查询今天目前为止的入库 + List applicationInRecordPForToday = depositoryRecordMapper.findApplicationInRecordPForAPeriodOfTime(mapForToday); + + // 查询昨天的入库 + List applicationInRecordPForYesterday = depositoryRecordMapper.findApplicationInRecordPForAPeriodOfTime(mapForYesterday); + // 今天的入库数量 + Integer sumForToday = 0; + // 今天的入库额度 + Double priceForToday = 0.0; + // 昨天的入库数量 + Integer sumForYesterDay = 0; + // 昨天的入库额度 + Double priceForYesterDay = 0.0; + for (int i = 0; i < applicationInRecordPForToday.size(); i++) { + ApplicationInRecordP applicationInRecordP = applicationInRecordPForToday.get(i); + sumForToday += applicationInRecordP.getQuantity(); + priceForToday += applicationInRecordP.getPrice() * applicationInRecordP.getQuantity(); + } - return sum; + + for (int i = 0; i < applicationInRecordPForYesterday.size(); i++) { + ApplicationInRecordP applicationInRecordP = applicationInRecordPForYesterday.get(i); + sumForYesterDay += applicationInRecordP.getQuantity(); + priceForYesterDay += applicationInRecordP.getPrice() * applicationInRecordP.getQuantity() ; + } + Map result = new HashMap<>(); + result.put("total",sumForToday); + Double ratioForCount = 0.0; + Double ratioForPrice = 0.0; + if(Double.compare(sumForYesterDay,0.0) != 0){ + ratioForCount = ((sumForToday - sumForYesterDay) / Double.parseDouble(sumForYesterDay.toString())); + } + if(Double.compare(priceForYesterDay,0.0) != 0){ + ratioForPrice = (priceForToday - priceForYesterDay) / Double.parseDouble(priceForYesterDay.toString()); + } + BigDecimal bgForSum = new BigDecimal(ratioForCount); + BigDecimal bgForPrice = new BigDecimal(ratioForPrice); + ratioForCount = bgForSum.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + ratioForPrice = bgForPrice.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + result.put("ratioForSum",ratioForCount * 100); + result.put("ratioForPrice",ratioForPrice * 100); + BigDecimal bgPrice = new BigDecimal(priceForToday / 100); + priceForToday = bgPrice.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + result.put("price",priceForToday); + return result; } /** @@ -243,26 +305,213 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { * @return */ @Override - public Double CalculateAllApplicationOutCount(String state) { - List applicationOutRecordPAll = depositoryRecordMapper.findApplicationOutRecordPAll(); - Double sum = 0.0; + public Map CalculateAllApplicationOutCount(String state) { + // 获取昨天出库订单 + // 获取当前时间 + long now = System.currentTimeMillis(); + + // 获取今天凌晨的时间 + Long nowTimeForCalc = DateUtil.getNowTimeForCalc(); + // 获取昨天时间 + Long yesterdayTimeForCalc = DateUtil.getYesterdayTimeForCalc(); + + // 用于查询今天到现在的出库记录 + Map mapForToday = new HashMap<>(); + mapForToday.put("start",nowTimeForCalc); + mapForToday.put("end",now); + // 用于查询昨天的出库记录 + Map mapForYesterday = new HashMap<>(); + mapForYesterday.put("start",yesterdayTimeForCalc); + mapForYesterday.put("end",nowTimeForCalc); + + // 用于最终的结果 + Map result = new HashMap<>(); + + // 获取今天的额度 + Double priceForToday = 0.0; + + // 获取今天的总数 + Integer countForToday = 0; + // 获取昨天的额度 + Double priceForYesterday = 0.0; + + // 获取昨天的总数 + Integer countForYesterday = 0; if (state.isEmpty()) { - // 如果要获取要出库的所有数量 - for (int i = 0; i < applicationOutRecordPAll.size(); i++) { - sum += (double) applicationOutRecordPAll.get(i).getQuantity(); + // 获取今天为止的出库记录 + List applicationOutRecordPForToday = depositoryRecordMapper.findApplicationOutRecordPForAPeriodOfTime(mapForToday); + // 今天的出库记录数 + int todaySize = applicationOutRecordPForToday.size(); + // 获取昨天的出库记录 + List applicationOutRecordPForYesterday = depositoryRecordMapper.findApplicationOutRecordPForAPeriodOfTime(mapForYesterday); + + // 昨天的出库记录数 + int yesterdaySize = applicationOutRecordPForYesterday.size(); + if(todaySize > 0) { + // 定义线程用于计算今天的记录 + ExecutorService exsForToday = Executors.newFixedThreadPool(todaySize); + // 结果集 + List> futureListForToday = new ArrayList>(); + // 1.定义CompletionService + CompletionService completionServiceForToday = new ExecutorCompletionService(exsForToday); + + // 开启线程计算今天的额度 + for (int i = 0; i < todaySize; i++) { + // 获取当前主记录 + ApplicationOutRecordP recordP = applicationOutRecordPForToday.get(i); + Future submit = completionServiceForToday.submit(new CalcApplicationOutInfo(recordP)); + futureListForToday.add(submit); + } + // 获取今天的结果 + for (int i = 0; i < todaySize; i++) { + Object o = null; + try { + o = completionServiceForToday.take().get(); + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); + } + countForToday += ObjectFormatUtil.toInteger(((Map)o).get("count")); + priceForToday += Double.parseDouble(((Map)o).get("price").toString()); + } + } + if(yesterdaySize > 0){ + // 定义线程用于计算昨天的记录 + ExecutorService exsForYesterday = Executors.newFixedThreadPool(yesterdaySize); + // 结果集 + List> futureListForYesterday = new ArrayList>(); + // 1.定义CompletionService + CompletionService completionServiceForYesterday = new ExecutorCompletionService(exsForYesterday); + // 开启线程计算昨天的额度 + for (int i = 0; i < yesterdaySize; i++) { + ApplicationOutRecordP recordP = applicationOutRecordPForYesterday.get(i); + Future submit = completionServiceForYesterday.submit(new CalcApplicationOutInfo(recordP)); + futureListForYesterday.add(submit); + } + // 获取昨天的结果 + for (int i = 0; i < yesterdaySize; i++) { + Object o = null; + try { + o = completionServiceForYesterday.take().get(); + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); + } + countForYesterday += ObjectFormatUtil.toInteger(((Map)o).get("count")); + priceForYesterday += Double.parseDouble(((Map)o).get("price").toString()); + } + } + // 设置今天的额度 + result.put("price",priceForToday); + result.put("count",countForToday); + + Double ratioForCount = 0.0; + Double ratioForPrice = 0.0; + if(Double.compare(countForYesterday,0.0) != 0){ + ratioForCount = ((countForToday - countForYesterday) / Double.parseDouble(countForYesterday.toString())); } + if(Double.compare(priceForYesterday,0.0) != 0){ + ratioForPrice = (priceForToday - priceForYesterday) / Double.parseDouble(priceForYesterday.toString()); + } + BigDecimal bgForSum = new BigDecimal(ratioForCount); + BigDecimal bgForPrice = new BigDecimal(ratioForPrice); + ratioForCount = bgForSum.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + ratioForPrice = bgForPrice.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + // 获取数量比值 + result.put("radioForCount",ratioForCount * 100); + // 获取金额比值 + result.put("radioForPrice",ratioForPrice * 100); } else { - // 如果获取已经出库的数量 - List applicationOutMinForComplete = depositoryRecordMapper.findApplicationOutMinForComplete(); - for (int i = 0; i < applicationOutMinForComplete.size(); i++) { - ApplicationOutRecordMin recordMin = applicationOutMinForComplete.get(i); - sum += (double) recordMin.getQuantity(); + // 如果获取已经出库的数量(今天) + List applicationOutMinForCompleteForToday = depositoryRecordMapper.findApplicationOutMinForComplete(mapForToday); + // 如果获取已经出库的数量(昨天) + List applicationOutMinForCompleteForYesterday = depositoryRecordMapper.findApplicationOutMinForComplete(mapForYesterday); + for (int i = 0; i < applicationOutMinForCompleteForToday.size(); i++) { + ApplicationOutRecordMin recordMin = applicationOutMinForCompleteForToday.get(i); + countForToday += recordMin.getQuantity(); + // 获取当前出库物料 + Material materialById = materialMapper.findMaterialById(recordMin.getMid()); + // 计算当前出库金额 + double price_out = materialById.getPrice() * recordMin.getQuantity(); + BigDecimal bg = new BigDecimal(price_out / 100); + price_out = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + priceForToday += price_out; + } + + for (int i = 0; i < applicationOutMinForCompleteForYesterday.size(); i++) { + ApplicationOutRecordMin recordMin = applicationOutMinForCompleteForYesterday.get(i); + countForYesterday += recordMin.getQuantity(); + // 获取当前出库物料 + Material materialById = materialMapper.findMaterialById(recordMin.getMid()); + // 计算当前出库金额 + double price_out = materialById.getPrice() * recordMin.getQuantity(); + BigDecimal bg = new BigDecimal(price_out / 100); + price_out = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + priceForYesterday += price_out; + } + // 设置今天的额度 + result.put("price",priceForToday); + result.put("count",countForToday); + Double ratioForCount = 0.0; + Double ratioForPrice = 0.0; + if(Double.compare(countForYesterday,0.0) != 0){ + ratioForCount = ((countForToday - countForYesterday) / Double.parseDouble(countForYesterday.toString())); } + if(Double.compare(priceForYesterday,0.0) != 0){ + ratioForPrice = (priceForToday - priceForYesterday) / Double.parseDouble(priceForYesterday.toString()); + } + BigDecimal bgForSum = new BigDecimal(ratioForCount); + BigDecimal bgForPrice = new BigDecimal(ratioForPrice); + ratioForCount = bgForSum.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + ratioForPrice = bgForPrice.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + // 获取数量比值 + result.put("radioForCount",ratioForCount * 100); + // 获取金额比值 + result.put("radioForPrice",ratioForPrice * 100); + } + return result; + } + + /** + * 用于计算当前主记录下的总额与数量 + */ + class CalcApplicationOutInfo implements Callable{ + + ApplicationOutRecordP mainRecord; + + CalcApplicationOutInfo( ApplicationOutRecordP mainRecord){ + this.mainRecord = mainRecord; + } + @Override + public Object call() throws Exception { + Map result = new HashMap<>(); + // 获取当前订单的子订单 + List minList = depositoryRecordMapper.findApplicationOutRecordMinByParent(mainRecord.getId()); + // 额度 + Double price = 0.0; + // 数量 + Integer count = 0; + for (int i = 0; i < minList.size(); i++) { + ApplicationOutRecordMin recordMin = minList.get(i); + count +=recordMin.getQuantity(); + // 获取当前出库物料 + Material materialById = materialMapper.findMaterialById(recordMin.getMid()); + // 计算当前出库金额 + double price_out = materialById.getPrice() * recordMin.getQuantity(); + BigDecimal bg = new BigDecimal(price_out / 100); + price_out = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + price += price_out; + } + result.put("count",count); + result.put("price",price); + return result; } - return sum; } + /** * 将物料入库到库位 * @@ -297,8 +546,14 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { insertProducedDate.put("inid", InId); insertProducedDate.put("mid", newInMid); if (map.containsKey("producedDate")) { - Long producedDate = DateUtil.DateTimeByMonthToTimeStamp(map.get("producedDate").toString()); - insertProducedDate.put("producedDate", producedDate); + Long producedDate = Long.valueOf(0); + Object s = map.get("producedDate"); + if(s == null || "".equals(s.toString())){ + producedDate = Long.valueOf(0); + }else{ + producedDate = DateUtil.DateTimeByMonthToTimeStamp(s.toString()); + insertProducedDate.put("producedDate", producedDate); + } } // 查找当前物料id与生产日期的对应关系 @@ -1838,16 +2093,22 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { * @return */ @Override - public Double CalculateAllApplicationInPrice() { + public Map CalculateAllApplicationInAll() { + Map result = new HashMap<>(); List applicationInRecordPAll = depositoryRecordMapper.findApplicationInRecordPAll(); Double sum = 0.0; + Integer count = 0; for (int i = 0; i < applicationInRecordPAll.size(); i++) { - double price = applicationInRecordPAll.get(i).getPrice(); - sum += price * applicationInRecordPAll.get(i).getQuantity() / 100; + ApplicationInRecordP applicationInRecordP = applicationInRecordPAll.get(i); + double price = applicationInRecordP.getPrice(); + sum += price * applicationInRecordP.getQuantity() / 100; + count += applicationInRecordP.getQuantity(); } BigDecimal bg = new BigDecimal(sum); sum = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); - return sum; + result.put("price",sum); + result.put("count",count); + return result; } /** @@ -1878,7 +2139,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { } else { // 如果要获取已完成的金额 - List applicationOutMinForComplete = depositoryRecordMapper.findApplicationOutMinForComplete(); + List applicationOutMinForComplete = depositoryRecordMapper.findApplicationOutMinForComplete(null); for (int i = 0; i < applicationOutMinForComplete.size(); i++) { ApplicationOutRecordMin recordMin = applicationOutMinForComplete.get(i); Integer mid = recordMin.getMid(); diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java index 06f791ee..a9388aa9 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java @@ -1017,6 +1017,12 @@ public class MaterialServiceImpl implements MaterialService { } } + @Override + public List InitMaterialTree_New() { + List objectList = buildTree_New(InitTree_Test_New(), Long.valueOf(0)); + return objectList; + } + /** * 用于真实关闭打开的树 * @param jsonArray 传入的子列表 @@ -1650,18 +1656,6 @@ public class MaterialServiceImpl implements MaterialService { } } - // 构造树形组件数据模板 - public Map InitTreeMenus_Test(MaterialType mt, List children) { - if (mt != null) { - Map map = new HashMap<>(); - map.put("title", mt.getTname()); - map.put("id", mt.getOldId()); - map.put("children", children); - return map; - } else { - return null; - } - } // 根据id获取子类(只获取类别) public List findChildForMaterialTypeByParent_OnlyType(Long Oldid) { @@ -1714,4 +1708,223 @@ public class MaterialServiceImpl implements MaterialService { } + /** + * 用于深度拷贝列表 + * + * @param oldList + * @param + * @return + */ + public static List deepCopy(List oldList) { + List newList = (List) Arrays.asList(new Object[oldList.size()]); + Collections.copy(newList, oldList); + return newList; + } + + /** + * 用于构造物料树结构 + * @return + */ + public List InitTree_Test_New() { + // 获取所有物料类型 + List materialTypeAll = materialTypeMapper.findMaterialTypeAll(); + // 物料总数 + Integer totalVal = materialTypeAll.size(); + + // 定义分页数量 + double size = 100.0; + + // 定义线程数 + Integer threadSize = (int) Math.ceil(totalVal / size); + // 开启对应数量的线程 + ExecutorService exs = Executors.newFixedThreadPool(threadSize); + // 树结构结果集 + List list = new ArrayList<>(); + // 线程结果集 + List> futureList = new ArrayList>(); + + // 1.定义CompletionService + CompletionService completionService = new ExecutorCompletionService(exs); + // 物料类型id列表 + List materialTypeList = new ArrayList<>(); + for (int i = 0; i < materialTypeAll.size(); i++) { + // 获取当前类型 + MaterialType materialType = materialTypeAll.get(i); + if (((i + 1) % 100) == 0) { // 如果有100个开启线程进行处理 + materialTypeList.add(materialType.getOldId()); + Future future = completionService.submit(new TaskTest_New(materialTypeList)); + futureList.add(future); // 添加到结果集 + materialTypeList = new ArrayList<>(); // 情况列表 + } else { + // 添加id到列表中 + materialTypeList.add(materialType.getOldId()); + } + } + + if (materialTypeList.size() > 0) { + // 如果有剩余,开启线程进行处理 + Future future = completionService.submit(new TaskTest_New(materialTypeList)); + futureList.add(future); + } + + // 3.获取结果 + for (int i = 0; i < threadSize; i++) { + Object result = null; + try { + result = completionService.take().get(); + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); + } + list.addAll((Collection) result); + } + // 进行最终的封装 + return list; + } + + // 用于执行测试新算法 + class TaskTest_New implements Callable { + + // 待处理的物料类型id列表 + List materialTypeIdList; + + public TaskTest_New(List materialTypeByCondition) { + this.materialTypeIdList = materialTypeByCondition; + } + + @Override + public Object call() throws Exception { + + // 定义树结构结果集 + List list = new ArrayList<>(); + // 查询当前物料类型id列表中的物料类型 + List materialByTypeIds = materialMapper.findMaterialByTypeIds(materialTypeIdList); + // 查询当前物料类型所包含的物料 + List materialTypeByOldIds = materialTypeMapper.findMaterialTypeByOldIds(materialTypeIdList); + + // 定义线程集 + ExecutorService exs = Executors.newFixedThreadPool(materialTypeByOldIds.size()); + // 定义线程结果集 + List> futureList = new ArrayList>(); + + // 1.定义CompletionService + CompletionService completionService = new ExecutorCompletionService(exs); + + for (int i = 0; i < materialTypeByOldIds.size(); i++) { + // 获取当前物料类型 + MaterialType mt = materialTypeByOldIds.get(i); + // 开启对应线程 + Future future = completionService.submit(new MtTaskTest_New(mt, materialByTypeIds)); + // 添加到线程结果列表 + futureList.add(future); + } + // 3.获取结果 + for (int i = 0; i < materialTypeIdList.size(); i++) { + Object result = null; + try { + result = completionService.take().get(); + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); + } + list.add(result); + } + return list; + } + + + } + + // 用于执行测试新算法 + class MtTaskTest_New implements Callable { + + MaterialType mt; // 物料类型 + List materiaList; // 物料列表 + + public MtTaskTest_New(MaterialType mt, List materiaList) { + this.mt = mt; + this.materiaList = materiaList; + } + + @Override + public Object call() throws Exception { + + // 开启对应数量的线程 + List materialList = new ArrayList<>(); + for (int i = 0; i < materiaList.size(); i++) { + Material material = materiaList.get(i); + // 如果当前物料是当前物料类型下的物料 + if (Long.compare(material.getMaterialTypeId(), mt.getOldId()) == 0) { + materialList.add(material); + } + } + // 将物料打包成树结构对应结果 + List objectList = AddMaterialByType_New(materialList); + // 封装成对应的结构 + Map objectMap = InitTreeMenus_New(mt, objectList); + return objectMap; + } + } + + // 构造树形组件数据模板 + public Map InitTreeMenus_New(MaterialType mt, List children) { + if (mt != null) { + Map map = new HashMap<>(); + map.put("title", mt.getTname()); + map.put("id", mt.getOldId()); + map.put("parentId",mt.getParentId()); + map.put("children", children); + return map; + } else { + return null; + } + } + + // 在类别后添加物料名称 + public List AddMaterialByType_New(List materialList) { + List result = new ArrayList<>(); + for (int i = 0; i < materialList.size(); i++) { + Material material = materialList.get(i); + Map map = new HashMap<>(); + String version = material.getVersion(); + if (version == null) { + version = ""; + } + + String title = material.getMname() + ",规格型号: " + version; + map.put("title", title); + map.put("id", material.getId()); + result.add(map); + } + return result; + } + + /** + * 用于构造树结构 + * @param list 树列表 + * @param parentId 父级id + * @return + */ + public List buildTree_New(List list,Long parentId){ + // 定义树结构 + List result = new ArrayList<>(); + for (int i = 0; i < list.size(); i++) { + // 构造为jsonObject类 + JSONObject jsonObject = new JSONObject((Map) list.get(i)); + // 获取当前父级id + Long parentId1 = jsonObject.getLong("parentId"); + if(Long.compare(parentId,parentId1) == 0){ // 如果当前类型是其父类 + List objectList = buildTree_New(list, jsonObject.getLong("id")); // 获取当前类型的子类 + JSONArray children = jsonObject.getJSONArray("children"); + children.addAll(objectList); + result.add(jsonObject); + } + } + return result; + } + + + } diff --git a/src/main/java/com/dreamchaser/depository_manage/utils/DateUtil.java b/src/main/java/com/dreamchaser/depository_manage/utils/DateUtil.java index a2c95d1b..5caca8ac 100644 --- a/src/main/java/com/dreamchaser/depository_manage/utils/DateUtil.java +++ b/src/main/java/com/dreamchaser/depository_manage/utils/DateUtil.java @@ -106,6 +106,43 @@ public class DateUtil { } + /** + * 获取今天的时间 + * @return + */ + public static Long getNowTimeForCalc(){ + Calendar calendar = Calendar.getInstance(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy--MM-dd"); + String format = formatter.format(calendar.getTime()); + Date date = null; + try { + date = formatter.parse(format); + } catch (ParseException e) { + e.printStackTrace(); + } + long ts = date.getTime(); + return ts; + } + + /** + * 获取昨天的时间 + * @return + */ + public static Long getYesterdayTimeForCalc(){ + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DATE,-1); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy--MM-dd"); + String format = formatter.format(calendar.getTime()); + Date date = null; + try { + date = formatter.parse(format); + } catch (ParseException e) { + e.printStackTrace(); + } + long ts = date.getTime(); + return ts; + } + // 获取当前日期 public static String getNowTime(){ diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 2b02ef35..c91f16b3 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -79,9 +79,9 @@ mybatis: log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl log-prefix: mapper. -mybatis-plus: - configuration: - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl +#mybatis-plus: +# configuration: +# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl file: uploadPath: D:/upLoad \ No newline at end of file diff --git a/src/main/resources/static/js/lay-config.js b/src/main/resources/static/js/lay-config.js index dfda8c14..26f5df9d 100644 --- a/src/main/resources/static/js/lay-config.js +++ b/src/main/resources/static/js/lay-config.js @@ -9,7 +9,6 @@ window.rootPath = (function (src) { src = document.scripts[document.scripts.length - 1].src; return src.substring(0, src.lastIndexOf("/") + 1); })(); - layui.config({ base: rootPath + "lay-module/", version: true diff --git a/src/main/resources/templates/pages/application/application-in.html b/src/main/resources/templates/pages/application/application-in.html index 75e6c969..cb6669ef 100644 --- a/src/main/resources/templates/pages/application/application-in.html +++ b/src/main/resources/templates/pages/application/application-in.html @@ -47,7 +47,7 @@