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 b0c85ad2..08298839 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java @@ -900,7 +900,7 @@ public class DepositoryRecordController { redisTemplateForHash.opsForList().remove("depositoryIds" + userToken.getId(), 1, depositoryId.toString()); } for (String placeCode : placeCodes) { - redisTemplateForHash.opsForList().remove("placeCodes" + userToken.getId(), 1, placeCode+" "); + redisTemplateForHash.opsForList().remove("placeCodes" + userToken.getId(), 1, placeCode + " "); } return CrudUtil.insertHandle(1, 1); } @@ -1565,5 +1565,43 @@ public class DepositoryRecordController { } } + // 用于获取当前出库子单下物料详细信息 + @PostMapping("/getOutMinRecordMaterialInfo") + public RestResponse getOutMinRecordMaterialInfo(@RequestBody Map params) { + Inventory inventory = null; + if (params.containsKey("id")) { + // 获取子单详情 + ApplicationOutRecordMinP outRecordMinP = depositoryRecordService.findApplicationOutMinById(ObjectFormatUtil.toInteger(params.get("id"))); + inventory = materialService.findInventoryById(outRecordMinP.getMid()); + List splitInfoByMid = splitUnitService.findSplitInfoByMid(inventory.getMid()); + inventory.setSplitInfoList(splitInfoByMid); + } + return new RestResponse(inventory); + } + + /** + * 用于修改当前出库的子订单信息 + * + * @param map + * @return + */ + @PostMapping("/editOutMinRecordInfo") + public RestResponse editOutMinRecordInfo(@RequestBody Map map, HttpServletRequest request) { + if (map.containsKey("id")) { + String token = request.getHeader("user-token"); + if (token == null) { + token = (String) request.getSession().getAttribute("userToken"); + } + UserByPort userToken = AuthenticationTokenPool.getUserToken(token); + String header = request.getHeader("user-agent"); + String crypt = Md5.crypt(header); + + Integer integer = depositoryRecordService.updateOutMinRecordInfo(map, userToken, crypt); + return CrudUtil.updateHandle(integer,1); + } else { + throw new MyException("缺少必要参数"); + } + } + } 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 b99e9811..db18961e 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java @@ -1636,7 +1636,9 @@ public class PageController { int scale = splitUnitService.findSplitInfoScaleQuantity(splitInfo, -1); sumUnit.append(unit).append(","); if (inventoryById.getPrice() != null) { - sumPrice += (inventoryById.getPrice() / scale * applicationOutRecordMin.getQuantity()); + BigDecimal bd = BigDecimal.valueOf((inventoryById.getPrice() / scale * applicationOutRecordMin.getQuantity())); + double v = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + sumPrice += v; } else { sumPrice += 0; } @@ -1898,6 +1900,24 @@ public class PageController { Depository depositoryById = depositoryService.findDepositoryById(transferRecord.getToId()); mv.addObject("toLocation", depositoryById.getDname() + "-" + place.getCode()); } + + + // 获取当前主单 + ApplicationOutRecordP recordP = depositoryRecordService.findApplicationOutRecordPById(recordMinP.getParentId()); + boolean b = DateUtil.IsMonthStartAndEnd(recordP.getApplicantTime()); + Integer role = userToken.getIsadmin(); + if(role == null){ + role = 1; + } + if (Integer.compare(userToken.getMaindeparment(), 361) == 0 || Integer.compare(role, 4) == 0 && b) { + mv.addObject("edisplay", "inline-block"); + }else{ + mv.addObject("edisplay", "none"); + + } + + + mv.addObject("recordMinP", recordMinP); } else { throw new MyException("缺少必要参数!"); diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfo.java b/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfo.java index fad6b0bf..35285590 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfo.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfo.java @@ -55,4 +55,10 @@ public class ExcelInfo { /** 材质 */ @ExcelProperty("材质") private String texture; + + /** + * 品牌 + */ + @ExcelProperty("品牌") + private String brand; } 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 7455914f..8d7e77cf 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java @@ -557,4 +557,10 @@ public interface DepositoryRecordService { */ RestResponse updateOutSplitInventoryInfo(SplitInfo splitInfo, MaterialAndPlace materialAndPlace, double quantity, double nowQuantity, SplitInfo realSplitInfo); + /** + * 用于修改出库子记录 + * @param map 待修改数据 + * @return + */ + Integer updateOutMinRecordInfo(Map map,UserByPort userToken,String userAgent); } 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 3ee23256..60585175 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 @@ -722,7 +722,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { flagForApproval = false; } } - if(map.containsKey("isGroup")){ + if (map.containsKey("isGroup")) { flagForApproval = isApprovalPass; } map.put("flagForApproval", flagForApproval); @@ -1120,14 +1120,12 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { } } }).start(); - } - else { + } else { restResponse.setStatus(508); restResponse.setData(""); restResponse.setStatusInfo(new StatusInfo("出库失败", "出库失败,库存不足")); } - } - else { + } else { // 如果是拆单后的出库 // 用于获取对应的拆单记录 @@ -1191,8 +1189,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { restResponse.setStatusInfo(new StatusInfo("出库成功", "出库成功")); - } - else { + } else { // 如果不能满足需求 // 获取对应的拆单记录 @@ -1218,7 +1215,6 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { splitUnitMapper.updateSplitInventory(splitInventory); - // 获取当前父级拆单记录 SplitInfo parentSplitInfo = splitUnitMapper.findSplitInfoById(splitInfoById.getParentId()); @@ -1235,17 +1231,16 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { map.put("unit", applicationOutMinById.getUnit()); transferMaterial(map); } - }else{ + } else { trueOut = 0.0; - splitInventory.setSaveQuantity((int)(oldSplitInventory * 100)); - splitInventory.setOutQuantity(splitInventory.getOutQuantity() - (int)(oldSplitInventory * 100)); + splitInventory.setSaveQuantity((int) (oldSplitInventory * 100)); + splitInventory.setOutQuantity(splitInventory.getOutQuantity() - (int) (oldSplitInventory * 100)); // 修改库存数量 splitUnitMapper.updateSplitInventory(splitInventory); } updateApplicationMinOutInfo(id, applicationOutMinById, record, trueOut, userByPort, placeId, userAgent); - } - else { + } else { // 如果当前拆单没有父级 @@ -1330,8 +1325,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { restResponse.setData(""); restResponse.setStatusInfo(new StatusInfo("出库失败", "出库失败,库存不足")); } - } - else { + } else { // 如果大于 // 获取库存重要减少的数量 @@ -1365,8 +1359,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { // 如果当前库存中的物料库存不足以出库 flag = false; } - } - else { + } else { restResponse.setStatus(566); restResponse.setData(""); restResponse.setStatusInfo(new StatusInfo("出库失败", "当前位置未发现该物料")); @@ -1420,8 +1413,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { } } - } - else { + } else { // 如果拆单库存处理记录不存在 int scale = splitUnitService.findSplitInfoScaleQuantity(splitInfo, -1); @@ -1489,8 +1481,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { restResponse.setStatusInfo(new StatusInfo("出库成功", "出库成功")); - } - else { + } else { restResponse.setStatus(508); restResponse.setData(""); restResponse.setStatusInfo(new StatusInfo("出库失败", "出库失败,库存不足")); @@ -1546,8 +1537,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { restResponse.setStatus(200); restResponse.setData(""); restResponse.setStatusInfo(new StatusInfo("出库成功", "出库成功")); - } - else { + } else { // 如果当前库存拆单记录的库存不能满足需要 @@ -1621,8 +1611,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { restResponse.setData(""); restResponse.setStatusInfo(new StatusInfo("出库成功", "出库成功")); - } - else { + } else { // 如果当前当前父级与其的库存数量不大于要出库的数量 if (parentSplitInfo.getParentId() != null) { @@ -1671,8 +1660,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { } else { return restResponse1; } - } - else { + } else { // 如果没有父级 // 获取当前拆单单位与顶级之间的进制 @@ -1701,8 +1689,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { placeMapper.updateMaterialAndPlace(materialAndPlace); - } - else { + } else { // 如果不可出库 restResponse.setStatus(508); restResponse.setData(""); @@ -1711,8 +1698,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { } } - } - else { + } else { // 如果已经没有父级 // 获取基础单位与当前实际出库单位单位之间的进制 @@ -1723,23 +1709,23 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { // 获取对应的库存 Inventory inventory = materialMapper.findInventoryById(materialAndPlace.getMid()); - if(surplus_redundant == 0) { + if (surplus_redundant == 0) { surplus_redundant = 1; } - // 设置当前库存数量 - materialAndPlace.setQuantity(materialAndPlace.getQuantity() - surplus_redundant * 100); - inventory.setQuantity(inventory.getQuantity() - surplus_redundant * 100); + // 设置当前库存数量 + materialAndPlace.setQuantity(materialAndPlace.getQuantity() - surplus_redundant * 100); + inventory.setQuantity(inventory.getQuantity() - surplus_redundant * 100); // 修改库存数量 materialMapper.updateInventory(inventory); placeMapper.updateMaterialAndPlace(materialAndPlace); - Map insertForOut = new HashMap<>(); - insertForOut.put("unit",realSplitInfo.getNewUnit()); - insertForOut.put("quantity",surplus_redundant * splitInfoScaleQuantityForAll - nowQuantity); - insertForOut.put("placeId",materialAndPlace.getPid()); - insertForOut.put("depositoryId",materialAndPlace.getDid()); + Map insertForOut = new HashMap<>(); + insertForOut.put("unit", realSplitInfo.getNewUnit()); + insertForOut.put("quantity", surplus_redundant * splitInfoScaleQuantityForAll - nowQuantity); + insertForOut.put("placeId", materialAndPlace.getPid()); + insertForOut.put("depositoryId", materialAndPlace.getDid()); insertForOut.put("mid", inventory.getMid()); insertForOut.put("mcode", inventory.getCode()); insertForOut.put("type", "in"); @@ -1751,8 +1737,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { restResponse.setData(surplus_redundant); } - } - else { + } else { // 如果不能满足需求 restResponse.setStatus(508); @@ -1763,6 +1748,167 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { return restResponse; } + /** + * 用于修改出库子记录 + * + * @param map 待修改数据 + * @return + */ + @Override + public Integer updateOutMinRecordInfo(Map map, UserByPort userToken, String userAgent) { + Integer result = 0; + + Integer id = ObjectFormatUtil.toInteger(map.get("id")); + // 获取更改的数量 + Double quantity = ObjectFormatUtil.toDouble(map.get("quantity")); + + // 获取出库子记录信息 + ApplicationOutRecordMin outRecordMin = depositoryRecordMapper.findApplicationOutMinById(id); + // 获取出库主记录 + ApplicationOutRecord outRecord = depositoryRecordMapper.findApplicationOutRecordPById(outRecordMin.getParentId()); + + // 获取已出库的数量 + Integer trueOut = outRecordMin.getTrueOut(); + // 获取要出库的数量 + Integer outQuantity = outRecordMin.getQuantity(); + + + // 获取出库的单位 + String unit = outRecordMin.getUnit(); + + // 获取库存记录 + Inventory inventoryById = materialMapper.findInventoryById(outRecordMin.getMid()); + if (Integer.compare(trueOut, 0) != 0) { + // 如果是开始出库的 + + if (trueOut >= (int) (quantity * 100)) { + // 如果已经出库的数量大于要修改的数量 + + // 如果已经完成了出库 + + // 获取要退库的数量 + double returnQuantity = (double) (trueOut / 100) - quantity; + + + // 获取出库库位 + Place placeById = placeMapper.findPlaceById(outRecordMin.getPlaceId()); + + // 用于获取映射关系 + Map paramForPlaceAndMaterial = new HashMap<>(); + paramForPlaceAndMaterial.put("mid", placeById.getId()); + paramForPlaceAndMaterial.put("iid", inventoryById.getId()); + // 获取库存与库存之间的映射 + MaterialAndPlace placeAndMaterialByMidAndPid = placeMapper.findPlaceAndMaterialByMidAndPid(paramForPlaceAndMaterial); + + + if ("-1".equals(unit)) { + // 如果是基础单位 + + + // 设置库存数量 + inventoryById.setQuantity(inventoryById.getQuantity() + (int) (returnQuantity * 100)); + // 设置库位数量 + placeById.setQuantity(placeById.getQuantity() + (int) (returnQuantity * 100)); + // 设置新映射数量 + placeAndMaterialByMidAndPid.setQuantity(placeAndMaterialByMidAndPid.getQuantity() + (int) (returnQuantity * 100)); + // 修改 + materialMapper.updateInventory(inventoryById); + placeMapper.updateMaterialAndPlace(placeAndMaterialByMidAndPid); + placeMapper.UpdatePlace(placeById); + } else { + // 如果是拆单 + + Map paramForSplitInfo = new HashMap<>(); + paramForSplitInfo.put("mid", inventoryById.getMid()); + paramForSplitInfo.put("newUnit", unit); + // 获取拆单记录 + SplitInfo splitInfo = splitUnitMapper.findSplitInfoByMidAndUnit(paramForSplitInfo); + + Map paramForSplitInventory = new HashMap<>(); + paramForSplitInventory.put("sid", splitInfo.getId()); + paramForSplitInventory.put("iid", placeAndMaterialByMidAndPid.getId()); + // 获取拆单库存记录 + SplitInventory splitInventory = splitUnitMapper.findSplitInventoryByIidAndSid(paramForSplitInventory); + + Map paramForUpdateSplitInventory = new HashMap<>(); + paramForUpdateSplitInventory.put("placeId", outRecordMin.getPlaceId()); + paramForUpdateSplitInventory.put("depositoryId", outRecordMin.getDepositoryId()); + paramForUpdateSplitInventory.put("quantity", returnQuantity); + paramForUpdateSplitInventory.put("mid", inventoryById.getMid()); + paramForUpdateSplitInventory.put("unit", unit); + result = splitUnitService.realInInventoryToDepository(returnQuantity, splitInventory, paramForUpdateSplitInventory, splitInfo, placeAndMaterialByMidAndPid, false); + if (paramForUpdateSplitInventory.containsKey("applicationInId")) { + depositoryRecordMapper.deleteApplicationInRecordById(ObjectFormatUtil.toInteger(paramForUpdateSplitInventory.get("applicationInId"))); + } + } + + + // 修改子单数据 + outRecordMin.setQuantity((int) (quantity * 100)); + outRecordMin.setTrueOut((int) (quantity * 100)); + depositoryRecordMapper.updateApplicationOutRecordMin(outRecordMin); + + if (Integer.compare(trueOut, outQuantity) != 0) { + //如果没有完成出库 + + // 强行完成出库 + + updateApplicationMinOutInfo(id, outRecordMin, outRecord, (double) (quantity / 100), userToken, placeById.getId(), userAgent); + + } + + + } else { + // 如果不大于 + // 设置新数量 + outRecordMin.setQuantity((int) (quantity * 100)); + // 修改记录 + result = depositoryRecordMapper.updateApplicationOutRecordMin(outRecordMin); + } + + } else { + // 如果未开始出库的 + + // 设置新数量 + outRecordMin.setQuantity((int) (quantity * 100)); + // 修改记录 + result = depositoryRecordMapper.updateApplicationOutRecordMin(outRecordMin); + } + + // 修改主记录的出库数量 + outRecord.setQuantity(outRecord.getQuantity() - outQuantity + (int) (quantity * 100)); + if ("-1".equals(unit)) { + // 如果是基础单位 + if (inventoryById.getPrice() != null) { + outRecord.setPrice(outRecord.getPrice() - inventoryById.getPrice() * (outQuantity / 100) + inventoryById.getPrice() * quantity); + } + + } else { + // 如果是拆单单位 + + if (inventoryById.getPrice() != null) { + Map paramForSplitInfo = new HashMap<>(); + paramForSplitInfo.put("mid", inventoryById.getMid()); + paramForSplitInfo.put("newUnit", unit); + // 获取拆单记录 + SplitInfo splitInfo = splitUnitMapper.findSplitInfoByMidAndUnit(paramForSplitInfo); + + // 获取当前拆单单位与基础单位的进制 + int splitInfoScaleQuantity = splitUnitService.findSplitInfoScaleQuantity(splitInfo, -1); + + double newPrice = inventoryById.getPrice() / splitInfoScaleQuantity; + BigDecimal bg = new BigDecimal(newPrice); + newPrice = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + + outRecord.setPrice(outRecord.getPrice() - (newPrice * (outQuantity / 100) ) + newPrice * quantity); + } + + + + } + return result; + } + /** * 用于完成出库时的相关处理操作 * @@ -2007,7 +2153,6 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { } - //设置子订单在redis中的主键 String minRecordKey = "minRecord:" + applicationOutRecordMin.getId(); // 将子订单主键插入到主订单的子订单列表 @@ -2072,8 +2217,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { JSONObject jsonObject = qyWxOperationService.sendNotificationToDepositoryManager(QyWxUid.toString(), applicationOutRecordMin.getId(), userAgent); } }).start(); - } - else{ + } else { // 如果是通过仓库 @@ -2127,7 +2271,6 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { } - } // 将主订单插入到redis中 @@ -2158,8 +2301,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { // 将当前redis中存储的spno删除 redisTemplate.delete(spNo); } - } - else { + } else { // 如果是部门负责人 String departmentheadTime = recordP.getDepartmentheadTime(); @@ -2535,7 +2677,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { UserByPort applicantUser = LinkInterfaceUtil.FindUserById(record.getApplicantId(), userToken); - if (map.containsKey("departmentheadPass") && !flagForHasOtherDepository && Integer.compare(applicantUser.getMaindeparment(),361) != 0) { + if (map.containsKey("departmentheadPass") && !flagForHasOtherDepository && Integer.compare(applicantUser.getMaindeparment(), 361) != 0) { String result = ""; String simpleTime = DateUtil.getSimpleTime(new Date()); map.put("departmentheadTime", DateUtil.DateTimeToTimeStamp(simpleTime)); @@ -2615,8 +2757,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { qyWxOperationService.sendMessageForOtherUserByCard(ObjectFormatUtil.toInteger(id), s, userAgent, 1); } }).start(); - } - else { + } else { String result = ""; // 开启线程更改其他用户卡片模板样式 String simpleTime = DateUtil.getSimpleTime(new Date()); @@ -2672,7 +2813,6 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { minRecord.put("state", "1"); // 当前子订单状态 1待处理2处理 - // 获取出库仓库 Integer depositoryId = applicationOutRecordMin.getDepositoryId(); Depository depositoryById = depositoryMapper.findDepositoryById(depositoryId); @@ -2736,8 +2876,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { JSONObject jsonObject = qyWxOperationService.sendNotificationToDepositoryManager(QyWxUid.toString(), applicationOutRecordMin.getId(), userAgent); } }).start(); - } - else{ + } else { // 如果是通过仓库 @@ -2825,8 +2964,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { map.put("departmentheadPass", 1); } - } - else { + } else { updateInventoryForOutRefused(record); result = "驳回"; map.put("pass", 2); diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/ExcelServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/ExcelServiceImpl.java index 557f6e5a..edb4236e 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/ExcelServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/ExcelServiceImpl.java @@ -114,6 +114,7 @@ public class ExcelServiceImpl implements ExcelService { param.put("texture", excelVo.getTexture()); param.put("materialTypeId", excelVo.getTypeId()); param.put("id", excelVo.getId()); + param.put("brand", excelVo.getBrand()); param.put("price", excelVo.getPrice() == null ? "0" : excelVo.getPrice()); materialService.insertMaterial(param); success.add(excelVo); diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/SplitUnitServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/SplitUnitServiceImpl.java index b3734318..fa5c336e 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/SplitUnitServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/SplitUnitServiceImpl.java @@ -142,7 +142,8 @@ public class SplitUnitServiceImpl implements SplitUnitService { // 查询当前库存是否有该拆单的处理记录 splitInventory = splitUnitMapper.findSplitInventoryByIidAndSid(paramForInsertSplitInventory); } - } else { + } + else { Map param = new HashMap<>(); param.put("depositoryId", map.get("depositoryId")); param.put("mid", map.get("mid")); 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 26f89939..144a7175 100644 --- a/src/main/java/com/dreamchaser/depository_manage/utils/DateUtil.java +++ b/src/main/java/com/dreamchaser/depository_manage/utils/DateUtil.java @@ -203,4 +203,25 @@ public class DateUtil { return (cal.getTimeInMillis() - System.currentTimeMillis()) / 1000; } + + /** + * 用于判断当前日期是否在当月内 + * @param time 待查询日期 + * @return + */ + public static boolean IsMonthStartAndEnd(String time) { + // 获取当前年份、月份、日期 + Calendar cale = null; + // 第一天 + cale = Calendar.getInstance(); + cale.add(Calendar.MONTH, 0); + cale.set(Calendar.DAY_OF_MONTH, 1); + Date firstDay = cale.getTime(); + // 最后一天 + cale = Calendar.getInstance(); + cale.add(Calendar.MONTH, 1); + cale.set(Calendar.DAY_OF_MONTH, 0); + Date lastDay = cale.getTime(); + return Long.parseLong(time) >= firstDay.getTime() && Long.parseLong(time) <= lastDay.getTime(); + } } diff --git a/src/main/resources/static/upload/materialImport.xlsx b/src/main/resources/static/upload/materialImport.xlsx index 2e4ef159..55db4817 100644 Binary files a/src/main/resources/static/upload/materialImport.xlsx and b/src/main/resources/static/upload/materialImport.xlsx differ diff --git a/src/main/resources/templates/pages/application/form-step-look_back.html b/src/main/resources/templates/pages/application/form-step-look_back.html index b7116ebf..fdf89336 100644 --- a/src/main/resources/templates/pages/application/form-step-look_back.html +++ b/src/main/resources/templates/pages/application/form-step-look_back.html @@ -19,6 +19,7 @@
+ @@ -137,6 +138,7 @@ function downloadExcel(){ } + layui.use(['form', 'step'], function () { var $ = layui.$, form = layui.form, diff --git a/src/main/resources/templates/pages/application/form-step-look_minRecordOut.html b/src/main/resources/templates/pages/application/form-step-look_minRecordOut.html index afedd039..df70e1a0 100644 --- a/src/main/resources/templates/pages/application/form-step-look_minRecordOut.html +++ b/src/main/resources/templates/pages/application/form-step-look_minRecordOut.html @@ -18,6 +18,8 @@
+ +
@@ -28,54 +30,101 @@ - + - + - + - + - + - + - + - + - + - + - + - +
申请编号123456 + +
物料名称骁龙888芯片 + +
物料型号骁龙888芯片 + +
存货编码外芯仓库 + +
数量409 + +
单位409 + +
金额2016-11-28 + + +
仓库名称外芯仓库 + +
库位编码外芯仓库 + +
转入位置2016-11-28 + +
出库人员2016-11-28 + + +
+ +
@@ -87,6 +136,123 @@ \ No newline at end of file diff --git a/src/test/java/com/dreamchaser/depository_manage/TestForOther.java b/src/test/java/com/dreamchaser/depository_manage/TestForOther.java index 429b13c3..f6e00811 100644 --- a/src/test/java/com/dreamchaser/depository_manage/TestForOther.java +++ b/src/test/java/com/dreamchaser/depository_manage/TestForOther.java @@ -15,6 +15,7 @@ import com.dreamchaser.depository_manage.entity.*; import com.dreamchaser.depository_manage.mapper.DepositoryMapper; import com.dreamchaser.depository_manage.mapper.DepositoryRecordMapper; import com.dreamchaser.depository_manage.mapper.MaterialMapper; +import com.dreamchaser.depository_manage.pojo.ApplicationOutRecordP; import com.dreamchaser.depository_manage.pojo.RestResponse; import com.dreamchaser.depository_manage.pojo.callBackXml.approvalCallBackXml.ApprovalInfo; import com.dreamchaser.depository_manage.pojo.callBackXml.approvalCallBackXml.ApprovalInfo_Details; @@ -38,6 +39,7 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; import java.lang.reflect.Array; import java.net.URLEncoder; +import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.*; @@ -60,6 +62,9 @@ public class TestForOther { @Autowired QyWxOperationService qyWxOperationService; + /** + * 获取当月的开始和结束时间 + */ @Test @@ -68,19 +73,13 @@ public class TestForOther { // ApprovalInfo_Details_Approver approver = new ApprovalInfo_Details_Approver(); // approver.setUserId("PangFuZhen"); // approvalInfo.setApprover(approver); - List a = new ArrayList(Collections.singleton("1")); -// depositoryRecordService.reviewByQyWxApprovalOut("5",approvalInfo,"7a0ab47a150869808b24d2f4dbe1bb74","2","202303280016", false,2); + ApplicationOutRecordP applicationOutRecordPById = depositoryRecordService.findApplicationOutRecordPById(8); + // depositoryRecordService.reviewByQyWxApprovalOut("5",approvalInfo,"7a0ab47a150869808b24d2f4dbe1bb74","2","202303280016", false,2); // depositoryRecordService.reviewByQyWxApprovalIn("[1]",approvalInfo,"460f46eaefb46bb0c171029f62e2cea6","2","202303220009"); // UserByPort userByPort = LinkInterfaceUtil.FindUserById(78, null); // List s = excelService.writeExcelForPrint(2, 4,userByPort); - +// GetMonthStartAndEnd(); } - - - - - - } diff --git a/target/classes/static/upload/materialImport.xlsx b/target/classes/static/upload/materialImport.xlsx index 2e4ef159..55db4817 100644 Binary files a/target/classes/static/upload/materialImport.xlsx and b/target/classes/static/upload/materialImport.xlsx differ diff --git a/target/classes/templates/pages/application/application-out_min.html b/target/classes/templates/pages/application/application-out_min.html index 8136662c..c310f18d 100644 --- a/target/classes/templates/pages/application/application-out_min.html +++ b/target/classes/templates/pages/application/application-out_min.html @@ -90,12 +90,6 @@ page: true, skin: 'line', done: function (res, curr, count) { - var data = res.data; - if (data.length > 0) { - if (data[0].state === "进行中") { - $("[data-field='id']").css('display', 'none'); - } - } } diff --git a/target/classes/templates/pages/application/form-step-look_back.html b/target/classes/templates/pages/application/form-step-look_back.html index b7116ebf..fdf89336 100644 --- a/target/classes/templates/pages/application/form-step-look_back.html +++ b/target/classes/templates/pages/application/form-step-look_back.html @@ -19,6 +19,7 @@
+ @@ -137,6 +138,7 @@ function downloadExcel(){ } + layui.use(['form', 'step'], function () { var $ = layui.$, form = layui.form, diff --git a/target/classes/templates/pages/application/form-step-look_minRecordOut.html b/target/classes/templates/pages/application/form-step-look_minRecordOut.html index afedd039..df70e1a0 100644 --- a/target/classes/templates/pages/application/form-step-look_minRecordOut.html +++ b/target/classes/templates/pages/application/form-step-look_minRecordOut.html @@ -18,6 +18,8 @@
+ +
@@ -28,54 +30,101 @@ - + - + - + - + - + - + - + - + - + - + - + - +
申请编号123456 + +
物料名称骁龙888芯片 + +
物料型号骁龙888芯片 + +
存货编码外芯仓库 + +
数量409 + +
单位409 + +
金额2016-11-28 + + +
仓库名称外芯仓库 + +
库位编码外芯仓库 + +
转入位置2016-11-28 + +
出库人员2016-11-28 + + +
+ +
@@ -87,6 +136,123 @@ \ No newline at end of file diff --git a/target/classes/templates/pages/company/company-out.html b/target/classes/templates/pages/company/company-out.html index e035f31b..c99ce615 100644 --- a/target/classes/templates/pages/company/company-out.html +++ b/target/classes/templates/pages/company/company-out.html @@ -57,6 +57,7 @@ @@ -166,7 +167,7 @@ layer.full(index); }); return false; - } else if (obj.event == 'subclass') { + } else if (obj.event === 'subclass') { var index = layer.open({ title: '子公司', type: 2, @@ -181,6 +182,21 @@ }); return false; } + else if (obj.event === 'post') { + var index = layer.open({ + title: '岗位列表', + type: 2, + shade: 0.2, + maxmin: true, + shadeClose: true, + area: ['100%', '100%'], + content: '/findPostByOrganization?organization=' + data.id + }); + $(window).on("resize", function () { + layer.full(index); + }); + return false; + } }) }); diff --git a/target/classes/templates/pages/post/post-out.html b/target/classes/templates/pages/post/post-out.html index cb260d4a..7430b8a1 100644 --- a/target/classes/templates/pages/post/post-out.html +++ b/target/classes/templates/pages/post/post-out.html @@ -56,8 +56,8 @@ @@ -114,7 +114,19 @@ limit: 10, page: true, skin: 'line', - done: function () { + done: function (res, curr, count) { + $.each(res['data'], function (i, j) { + let administrativeorganization = j["administrativeorganization"]; + var controlItem = $("[lay-id='currentTableId'] tr:eq(" + (i + 1) + ")").children()[8]; + var aItem = controlItem.childNodes[0]; + if(administrativeorganization === 361){ + + $(aItem).append('设置权限') + }else{ + $(aItem).append('设置权限') + + } + }) } }); @@ -194,7 +206,6 @@ }); return false; }else if (obj.event === 'addRoleIn') { - var index = layer.open({ type: 2, title: '权限信息',