From e68abf4eebdcdff01adb2f229a62fa4e3eb5dfab Mon Sep 17 00:00:00 2001 From: erdanergou Date: Sat, 29 Oct 2022 15:28:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DepositoryRecordController.java | 13 +++ .../controller/MaterialTypeController.java | 41 +++++---- .../controller/PageController.java | 10 +- .../converter/ExcelMaterialCodeConverter.java | 2 +- .../depository_manage/entity/ExcelInfo.java | 6 +- .../entity/ExcelInfoByInventory.java | 4 +- .../entity/ExcelInfoByMT.java | 4 +- .../depository_manage/entity/Material.java | 4 +- .../entity/MaterialAndBarCode.java | 4 +- .../entity/MaterialType.java | 91 ++----------------- .../mapper/MaterialMapper.java | 3 + .../mapper/MaterialMapper.xml | 17 +++- .../mapper/MaterialTypeMapper.java | 17 +++- .../mapper/MaterialTypeMapper.xml | 34 ++++++- .../pojo/ApplicationModel.java | 2 +- .../pojo/ApplicationOutRecordMinP.java | 2 +- .../depository_manage/pojo/MaterialP.java | 2 +- .../pojo/SimpleApplicationOutMinRecordP.java | 2 +- .../service/MaterialService.java | 2 +- .../service/MaterialTypeService.java | 6 ++ .../impl/DepositoryRecordServiceImpl.java | 11 ++- .../service/impl/DepositoryServiceImpl.java | 4 +- .../service/impl/ExcelServiceImpl.java | 32 ++++--- .../service/impl/MaterialServiceImpl.java | 51 +++++++---- .../service/impl/MaterialTypeServiceImpl.java | 30 +++++- .../pages/application/application-in.html | 1 + .../application-in_scanQrCode.html | 3 - .../pages/application/application-out.html | 32 ++++++- .../pages/material/material-add.html | 10 +- .../pages/material/material-out.html | 5 +- .../templates/pages/material/selectType.html | 4 +- .../pages/materialtype/materialType_edit.html | 22 ++++- .../pages/materialtype/materialType_view.html | 18 ++-- .../dreamchaser/depository_manage/Test.java | 17 +--- .../mapper/MaterialMapper.xml | 17 +++- .../mapper/MaterialTypeMapper.xml | 34 ++++++- .../pages/application/application-in.html | 1 + .../application-in_scanQrCode.html | 3 - .../pages/application/application-out.html | 32 ++++++- .../templates/pages/chart/chart-in_back.html | 34 +++---- .../pages/material/material-add.html | 10 +- .../pages/material/material-out.html | 5 +- .../templates/pages/material/selectType.html | 4 +- .../pages/materialtype/materialType_edit.html | 22 ++++- .../pages/materialtype/materialType_view.html | 18 ++-- 45 files changed, 406 insertions(+), 280 deletions(-) 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 84390d4f..975aea54 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java @@ -763,6 +763,19 @@ public class DepositoryRecordController { map.put("quantity",quantity.toString()); map.put("price",map.get("price").toString()); map.put("applicantId",userToken.getId()); + Map param = new HashMap<>(); + + String placeCode = (String) map.get("placeCode"); + placeCode = placeCode.trim(); + param.put("code",placeCode); + if(!("0000".equals(placeCode))) { + param.put("depositoryId",map.get("depositoryId")); + } + List placeByCondition = placeService.findPlaceByCondition(param); + + if(placeByCondition.size() > 0){ + map.put("placeId",placeByCondition.get(0).getId()); + } String type = (String) map.get("type"); Integer success = 0; if("in".equals(type)){ diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialTypeController.java b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialTypeController.java index 7bd51b59..8fe90939 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialTypeController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialTypeController.java @@ -74,21 +74,23 @@ public class MaterialTypeController { public RestResponse realDeleteMaterialType(@RequestBody Map map){ if (map.containsKey("id")){ Integer id= ObjectFormatUtil.toInteger(map.get("id")); + MaterialType materialTypeById = materialTypeService.findMaterialTypeById(id); new Thread(new Runnable() { @Override public void run() { - RealDeleteSonDepository(id.toString()); + RealDeleteSonDepository(materialTypeById.getOldId().toString()); } }).start(); return CrudUtil.deleteHandle(materialTypeService.deleteMaterialTypeById(id),1); }else if (map.containsKey("ids")){ List ids=(List) map.get("ids"); for (int i = 0; i < ids.size(); i++) { - String id = ids.get(i).toString(); + Integer id = ids.get(i); + MaterialType materialTypeById = materialTypeService.findMaterialTypeById(id); new Thread(new Runnable() { @Override public void run() { - RealDeleteSonDepository(id); + RealDeleteSonDepository(materialTypeById.getOldId().toString()); } }).start(); } @@ -108,9 +110,10 @@ public class MaterialTypeController { // 获取当前仓库所有子仓库 List materialTypeByCondition = materialTypeService.findMaterialTypeByCondition(param); for (int i = 0; i < materialTypeByCondition.size(); i++) { - Integer id = materialTypeByCondition.get(i).getId(); // 获取当前物料id - RealDeleteSonDepository(id.toString()); // 递归查询物料类型 - materialTypeService.deleteMaterialTypeById(id); // 删除物料类型 + MaterialType materialType = materialTypeByCondition.get(i); + Long oldId = materialType.getOldId();// 获取当前物料id + RealDeleteSonDepository(oldId.toString()); // 递归查询物料类型 + materialTypeService.deleteMaterialTypeById(materialType.getId()); // 删除物料类型 } } @@ -123,21 +126,23 @@ public class MaterialTypeController { public RestResponse deleteMaterialType(@RequestBody Map map){ if (map.containsKey("id")){ Integer id= ObjectFormatUtil.toInteger(map.get("id")); + MaterialType materialTypeById = materialTypeService.findMaterialTypeById(id); new Thread(new Runnable() { @Override public void run() { - UpdateSonState(id.toString(),3); + UpdateSonState(materialTypeById.getOldId().toString(),3); } }).start(); return CrudUtil.deleteHandle(materialTypeService.changeStateToDeletedById(id),1); }else if (map.containsKey("ids")){ List ids=(List) map.get("ids"); for (int i = 0; i < ids.size(); i++) { - String id = ids.get(i).toString(); + Integer id = ids.get(i); + MaterialType materialTypeById = materialTypeService.findMaterialTypeById(id); new Thread(new Runnable() { @Override public void run() { - UpdateSonState(id,3); + UpdateSonState(materialTypeById.getOldId().toString(),3); } }).start(); } @@ -172,11 +177,13 @@ public class MaterialTypeController { Boolean allSonDepository = false; if(map.containsKey("id")){ Integer materialTypeId = ObjectFormatUtil.toInteger(map.get("id")); - allSonDepository = findAllSonMaterialType(materialTypeId.toString()); + MaterialType materialTypeById = materialTypeService.findMaterialTypeById(materialTypeId); + allSonDepository = findAllSonMaterialType(materialTypeById.getOldId().toString()); }else if(map.containsKey("ids")){ List ids = (List) map.get("ids"); for (int i = 0; i < ids.size(); i++) { - allSonDepository |= findAllSonMaterialType(ids.get(i).toString()); + MaterialType materialTypeById = materialTypeService.findMaterialTypeById(ids.get(i)); + allSonDepository |= findAllSonMaterialType(materialTypeById.getOldId().toString()); if(allSonDepository){ break; } @@ -210,8 +217,8 @@ public class MaterialTypeController { } List materialTypeByCondition = materialTypeService.findMaterialTypeByCondition(param); for (int i = 0; i < materialTypeByCondition.size(); i++) { - if(!findMaterialByMaterialType(materialTypeByCondition.get(i).getId().toString())){ - findAllSonMaterialType(materialTypeByCondition.get(i).getId().toString()); + if(!findMaterialByMaterialType(materialTypeByCondition.get(i).getOldId().toString())){ + findAllSonMaterialType(materialTypeByCondition.get(i).getOldId().toString()); }else{ return true; } @@ -249,10 +256,11 @@ public class MaterialTypeController { } int state = ((int)map.get("state")); String id = (String) map.get("id"); + MaterialType materialTypeById = materialTypeService.findMaterialTypeById(ObjectFormatUtil.toInteger(id)); new Thread(new Runnable() { @Override public void run() { - UpdateSonState(id, state); + UpdateSonState(materialTypeById.getOldId().toString(), state); } }).start(); return CrudUtil.postHandle(materialTypeService.updateMaterialType(map), 1); @@ -273,9 +281,8 @@ public class MaterialTypeController { for (int i = 0; i < materialTypeByCondition.size(); i++) { MaterialType materialType = materialTypeByCondition.get(i); int materialTypeId = materialType.getId(); - Map newMap = new HashMap<>(); - newMap.put("parentId",materialTypeId); - UpdateSonState(String.valueOf(materialTypeId),state); + Long oldId = materialType.getOldId(); + UpdateSonState(String.valueOf(oldId),state); Map map = new HashMap<>(); map.put("id",materialTypeId); map.put("state",state); 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 d0ee99d9..93625630 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java @@ -1019,10 +1019,12 @@ public class PageController { @GetMapping("/materialType_detail") public ModelAndView materialType_detail(Integer id) { ModelAndView mv = new ModelAndView(); - mv.setViewName("pages/materialtype/materialType_edit.html"); + mv.setViewName("pages/materialtype/materialType_edit"); if (id != null) { - mv.addObject("record", materialTypeService.findMaterialTypeById(id)); - mv.addObject("materialTypes", materialTypeService.findMaterialTypeAll()); + MaterialType record = materialTypeService.findMaterialTypeById(id); + MaterialType parentType = materialTypeService.findMaterialTypeByOldId(record.getParentId()); + mv.addObject("record", record); + mv.addObject("parentType", parentType); } else { throw new MyException("缺少必要参数!"); } @@ -1685,7 +1687,7 @@ public class PageController { public ModelAndView applicationInByMaterial(HttpServletRequest request){ ModelAndView mv = new ModelAndView(); UserByPort userByPort = (UserByPort) request.getAttribute("userToken"); - String scanQrCodeValue = redisTemplate.opsForValue().get("temporaryValueForMaterial"+userByPort.getNumber()).toString(); + String scanQrCodeValue = (String)redisTemplate.opsForValue().get("temporaryValueForMaterial"+userByPort.getNumber()).toString(); redisTemplate.delete("temporaryValueForMaterial"+userByPort.getNumber()); JSONObject jsonObject = JSONObject.parseObject(scanQrCodeValue); JSONArray mids = (JSONArray) jsonObject.get("mids"); diff --git a/src/main/java/com/dreamchaser/depository_manage/converter/ExcelMaterialCodeConverter.java b/src/main/java/com/dreamchaser/depository_manage/converter/ExcelMaterialCodeConverter.java index d17e4b63..cad9fc79 100644 --- a/src/main/java/com/dreamchaser/depository_manage/converter/ExcelMaterialCodeConverter.java +++ b/src/main/java/com/dreamchaser/depository_manage/converter/ExcelMaterialCodeConverter.java @@ -44,7 +44,7 @@ public class ExcelMaterialCodeConverter implements Converter { */ @Override public Long convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { - Material material = excelMaterialCodeConverter.materialService.findMaterialByCode(Long.valueOf(cellData.getStringValue())); + Material material = excelMaterialCodeConverter.materialService.findMaterialByCode(cellData.getStringValue()); if(material == null) { throw new RuntimeException("没有该物料"); } 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 b89919be..1c814bbe 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfo.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfo.java @@ -21,7 +21,7 @@ public class ExcelInfo { /** 物料编号 */ @ExcelProperty("EAS编号") - private Integer id; + private Long id; /** 物料名称 */ @ExcelProperty(value = "物料名称") @@ -29,7 +29,7 @@ public class ExcelInfo { /** 物料种类id */ @ExcelProperty(value = "物料种类编码") - private Integer typeId; + private Long typeId; /** 物料状态 */ @ExcelProperty(value = "状态",converter = ExcelStateInfoConverter.class) @@ -37,7 +37,7 @@ public class ExcelInfo { /** 编码 */ @ExcelProperty("编码") - private Long code; + private String code; /** 规格型号 */ @ExcelProperty("规格型号") diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfoByInventory.java b/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfoByInventory.java index 86357459..bcce76e0 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfoByInventory.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfoByInventory.java @@ -15,11 +15,11 @@ public class ExcelInfoByInventory { /** 物料编号 */ @ExcelProperty("EAS编号") - private Integer id; + private Long id; /** 存货编码 */ @ExcelProperty(value = "编码",converter = ExcelMaterialCodeConverter.class) - private Long code; + private String code; /** 仓库名称 */ @ExcelProperty(value = "仓库编码",converter = ExcelDepositoryInfoConverter.class) diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfoByMT.java b/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfoByMT.java index 57b20770..fd6a4abc 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfoByMT.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfoByMT.java @@ -20,13 +20,13 @@ public class ExcelInfoByMT { * 物料编码 */ @ExcelProperty(value = "编码") - private Integer id; + private Long oldId; /** * 物料上级编码 */ @ExcelProperty(value = "上级编码") - private Integer parentId; + private Long parentId; /** * 物料介绍 diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/Material.java b/src/main/java/com/dreamchaser/depository_manage/entity/Material.java index fcd4219f..f3c4cb60 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/Material.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/Material.java @@ -30,13 +30,13 @@ public class Material { private Double amounts; /** 物料种类id */ - private Integer typeId; + private Long typeId; /** 物料状态 */ private Integer state; /** 存货编码 */ - private BigInteger code; + private String code; /** 规格型号 */ private String version; 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 c351f6b1..597b2590 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/MaterialAndBarCode.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/MaterialAndBarCode.java @@ -18,11 +18,11 @@ public class MaterialAndBarCode { /** * 条形码 */ - private BigInteger bmcode; + private String bmcode; /** * 物料编码 */ - private BigInteger mcode; + private String mcode; /** * 物料id */ diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/MaterialType.java b/src/main/java/com/dreamchaser/depository_manage/entity/MaterialType.java index 0492b21e..47f88e41 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/MaterialType.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/MaterialType.java @@ -1,11 +1,14 @@ package com.dreamchaser.depository_manage.entity; +import lombok.Data; + /** * material_type * * @author bianj * @version 1.0.0 2021-05-20 */ +@Data public class MaterialType { /** 版本号 */ private static final long serialVersionUID = 5895240732960572981L; @@ -27,93 +30,11 @@ public class MaterialType { /** * 父级编号 */ - private Integer parentId; - - /* This code was generated by TableGo tools, mark 1 end. */ - - /* This code was generated by TableGo tools, mark 2 begin. */ - - /** - * 获取类型id - * - * @return 类型id - */ - public Integer getId() { - return this.id; - } - - /** - * 设置类型id - * - * @param id - * 类型id - */ - public void setId(Integer id) { - this.id = id; - } - - /** - * 获取类型名称 - * - * @return 类型名称 - */ - public String getTname() { - return this.tname; - } - - /** - * 设置类型名称 - * - * @param tname - * 类型名称 - */ - public void setTname(String tname) { - this.tname = tname; - } - - /** - * 获取类型介绍 - * - * @return 类型介绍 - */ - public String getIntroduce() { - return this.introduce; - } - - /** - * 设置类型介绍 - * - * @param introduce - * 类型介绍 - */ - public void setIntroduce(String introduce) { - this.introduce = introduce; - } + private Long parentId; /** - * 获取类型状态 - * @return 类型状态 + * 金蝶id */ - public int getState() { - return state; - } - - /** - * 设置类型状态 - * @param state - */ - public void setState(int state) { - this.state = state; - } - - public Integer getParentId() { - return parentId; - } - - public void setParentId(Integer parentId) { - this.parentId = parentId; - } - - + private Long oldId; /* This code was generated by TableGo tools, mark 2 end. */ } \ No newline at end of file diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.java b/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.java index e1c34836..f2614b62 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.java +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.java @@ -197,4 +197,7 @@ public interface MaterialMapper { * @return */ Integer deleteBarCodeAndMaterial(Map map); + + + List findMaterialByType(Long oldId); } diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml b/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml index e681ada9..7440e218 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml @@ -13,7 +13,7 @@ - + @@ -29,8 +29,8 @@ - - + + @@ -58,8 +58,8 @@ - - + + @@ -313,6 +313,13 @@ where id = #{id} + + @@ -65,6 +71,9 @@ and mt.parentId = #{parentId} + + and mt.oldId = #{oldId} + and mt.state != 3 and mt.state != 4 @@ -79,8 +88,15 @@ FROM material_type mt WHERE mt.id = #{id} + + + - SELECT FROM material_type mt @@ -93,6 +109,13 @@ FROM material_type mt WHERE mt.id = #{id} and mt.state != 3 and mt.state != 4 + + + INSERT INTO material_type ( - id, tname, introduce,parentId + id, tname, introduce,parentId,oldId ) VALUES ( #{id}, #{tname}, #{introduce}, - #{parentId} + #{parentId}, + #{oldId} ) @@ -218,6 +242,6 @@ and state = #{oldState} - and state != 3 and mt.state != 4 + and state != 3 and state != 4 \ No newline at end of file diff --git a/src/main/java/com/dreamchaser/depository_manage/pojo/ApplicationModel.java b/src/main/java/com/dreamchaser/depository_manage/pojo/ApplicationModel.java index fafd450b..2f2ab8cd 100644 --- a/src/main/java/com/dreamchaser/depository_manage/pojo/ApplicationModel.java +++ b/src/main/java/com/dreamchaser/depository_manage/pojo/ApplicationModel.java @@ -38,7 +38,7 @@ public class ApplicationModel { /** * 物料编码 */ - private BigInteger code; + private String code; /** * 数量 diff --git a/src/main/java/com/dreamchaser/depository_manage/pojo/ApplicationOutRecordMinP.java b/src/main/java/com/dreamchaser/depository_manage/pojo/ApplicationOutRecordMinP.java index 4e20b5bb..5949f2ed 100644 --- a/src/main/java/com/dreamchaser/depository_manage/pojo/ApplicationOutRecordMinP.java +++ b/src/main/java/com/dreamchaser/depository_manage/pojo/ApplicationOutRecordMinP.java @@ -25,7 +25,7 @@ public class ApplicationOutRecordMinP { /** * 物料编码 */ - private BigInteger mcode; + private String mcode; /** * 仓库id */ diff --git a/src/main/java/com/dreamchaser/depository_manage/pojo/MaterialP.java b/src/main/java/com/dreamchaser/depository_manage/pojo/MaterialP.java index 0dc0c6c0..2ec42b85 100644 --- a/src/main/java/com/dreamchaser/depository_manage/pojo/MaterialP.java +++ b/src/main/java/com/dreamchaser/depository_manage/pojo/MaterialP.java @@ -77,7 +77,7 @@ public class MaterialP { /** * 存货编码 */ - private BigInteger code; + private String code; /** * 规格型号 diff --git a/src/main/java/com/dreamchaser/depository_manage/pojo/SimpleApplicationOutMinRecordP.java b/src/main/java/com/dreamchaser/depository_manage/pojo/SimpleApplicationOutMinRecordP.java index bb8fa6f8..13ae04f8 100644 --- a/src/main/java/com/dreamchaser/depository_manage/pojo/SimpleApplicationOutMinRecordP.java +++ b/src/main/java/com/dreamchaser/depository_manage/pojo/SimpleApplicationOutMinRecordP.java @@ -23,7 +23,7 @@ public class SimpleApplicationOutMinRecordP { /** * 申请物料编码 */ - private BigInteger mcode; + private String mcode; /** * 订单编码 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 05a67747..66475247 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/MaterialService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/MaterialService.java @@ -70,7 +70,7 @@ public interface MaterialService { * 根据编码获取对应物料 * @return */ - Material findMaterialByCode(Long code); + Material findMaterialByCode(String code); /** * 查询所有的库存信息 diff --git a/src/main/java/com/dreamchaser/depository_manage/service/MaterialTypeService.java b/src/main/java/com/dreamchaser/depository_manage/service/MaterialTypeService.java index ce58b6a4..a0d5f0a1 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/MaterialTypeService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/MaterialTypeService.java @@ -69,6 +69,12 @@ public interface MaterialTypeService { * @return 对应记录 */ MaterialType findMaterialTypeById(Integer id); + /** + * 根据OldId查询对应物料类型 + * @param OldId + * @return 对应记录 + */ + MaterialType findMaterialTypeByOldId(Long OldId); /** * 根据主键id将物料类型状态修改为删除 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 3493a3b8..044c23ae 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 @@ -169,8 +169,12 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { */ @Override public Integer insertApplicationOutRecord(Map map, UserByPort userToken) { - String placeId = (String) map.get("placeId"); - if ("".equals(placeId) || "0".equals(placeId) || placeId == null) { + String placeId = ""; + Object temp = map.get("placeId"); + if(temp != null){ + placeId = temp.toString(); + } + if (placeId == null || "".equals(placeId) || "0".equals(placeId) ) { map.put("placeId", 0); } Double quantity = Double.parseDouble((String) map.get("quantity")); @@ -272,7 +276,6 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { Material materialById = materialMapper.findMaterialById(mid); if (placeById.getMax() - placeById.getQuantity() > quantity) { // 如果当前库位还能存放 - // 入库 Integer integer = applicationIn(map); if (integer != 1) { @@ -1743,7 +1746,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { Map param = new HashMap<>(); List result = new ArrayList<>(); result.add(mt); - param.put("parentId",mt.getId()); + param.put("parentId",mt.getOldId()); // 获取当前父类的子类 List materialTypeByCondition = materialTypeMapper.findMaterialTypeByCondition(param); if(materialTypeByCondition.size() > 0){ diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java index 7e92d8f3..7116a1ac 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java @@ -275,7 +275,7 @@ 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.contains(roleAndDepository.getDepositoryId())) { continue; } depositoryListId.add(roleAndDepository.getDepositoryId()); @@ -558,4 +558,6 @@ public class DepositoryServiceImpl implements DepositoryService { return flag; } + + } 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 987309a7..4eccec16 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 @@ -16,6 +16,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.Future; import static com.dreamchaser.depository_manage.utils.FileUtil.uploadFile; @@ -154,16 +155,17 @@ public class ExcelServiceImpl implements ExcelService { for (int i = 0; i < excelVos.size(); i++) { Map insert = new HashMap<>(); - insert.put("id", excelVos.get(i).getId()); - insert.put("tname", excelVos.get(i).getTname()); - insert.put("introduce", excelVos.get(i).getIntroduce()); - if (excelVos.get(i).getParentId() == null) { + ExcelInfoByMT info = excelVos.get(i); + insert.put("oldId", info.getOldId()); + insert.put("tname", info.getTname()); + insert.put("introduce", info.getIntroduce()); + if (info.getParentId() == null) { insert.put("materialTypeId", 0); } else { - insert.put("materialTypeId", excelVos.get(i).getParentId()); + insert.put("materialTypeId", info.getParentId()); } materialTypeService.insertMaterialType(insert); - success.add(excelVos.get(i)); + success.add(info); } log.info("【批量添加】批量添加数据:{}", JSON.toJSONString(excelVos)); @@ -270,7 +272,7 @@ public class ExcelServiceImpl implements ExcelService { // 4.通过线程池开启一个线程去执行数据库操作,主线程继续往下执行 // 4.1开启一个线程 TaskCenterUtil taskCenterUtil = TaskCenterUtil.getTaskCenterUtil(); - taskCenterUtil.submitTask(() -> { + Future objectFuture = taskCenterUtil.submitTask(() -> { List success = new ArrayList<>(); Map returnResult = new HashMap<>(); for (int i = 0; i < excelVos.size(); i++) { @@ -285,7 +287,7 @@ public class ExcelServiceImpl implements ExcelService { insert.put("code", materialByCode.getCode()); insert.put("unit", materialByCode.getUnit()); insert.put("texture", materialByCode.getTexture()); - insert.put("tempPlaceCode",excelVos.get(i).getDepositoryCode()); + insert.put("tempPlaceCode", excelVos.get(i).getDepositoryCode()); insert.put("quantity", String.valueOf(ObjectFormatUtil.toInteger(excelVos.get(i).getQuantity()) + materialByCode.getQuantity())); // 如果模板中总金额未填写 if (excelVos.get(i).getAmounts() == null || "".equals(excelVos.get(i).getAmounts())) { @@ -315,7 +317,7 @@ public class ExcelServiceImpl implements ExcelService { // 将该物料同时放入默认库位中 String placeCode = excelInfoByInventories.get(i).getDepositoryCode(); Boolean isNew = (Boolean) insert.get("isNew"); - if(isNew) { + if (isNew) { // 如果是新插入物料 if (placeCode == null || placeCode.isEmpty() || "0".equals(placeCode)) { // 如果没有输入库位 Map param = new HashMap<>(); @@ -331,9 +333,9 @@ public class ExcelServiceImpl implements ExcelService { placeService.addMaterialOnPlace(param); } else { // 如果输入的库位不是默认库位 - Map param = new HashMap<>(); - param.put("did",depositoryId); - param.put("code",placeCode); + Map param = new HashMap<>(); + param.put("did", depositoryId); + param.put("code", placeCode); // 获取要导入的库位 Place placeByCondition = placeService.findPlaceByCondition(param).get(0); // 修改库位物料数量 @@ -342,9 +344,9 @@ public class ExcelServiceImpl implements ExcelService { placeService.UpdatePlace(placeByCondition); // 如果没有对应关系 - param.put("pid",placeByCondition.getId()); - param.put("mid",insert.get("id")); - param.put("quantity",ObjectFormatUtil.toInteger(excelVos.get(i).getQuantity())); + param.put("pid", placeByCondition.getId()); + param.put("mid", insert.get("id")); + param.put("quantity", ObjectFormatUtil.toInteger(excelVos.get(i).getQuantity())); // 添加对应关系 placeService.addMaterialOnPlace(param); } 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 ac3f883a..d816e618 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 @@ -62,7 +62,21 @@ public class MaterialServiceImpl implements MaterialService { map.put("price",price); map.put("amounts",quantity * price); } - materialMapper.addBarCodeAndMcode(map); + // 获取当前类型 + if(map.containsKey("typeId")) { + Integer typeId = ObjectFormatUtil.toInteger(map.get("typeId").toString()); + MaterialType materialTypeById = materialTypeMapper.findMaterialTypeById(typeId); + map.put("materialTypeId", materialTypeById.getOldId()); + String code = materialTypeById.getOldId().toString(); + List materialByType = materialMapper.findMaterialByType(materialTypeById.getOldId()); + if (materialByType == null) { + materialByType = new ArrayList<>(); + } + map.put("code", code + String.format("%04d", materialByType.size() + 1)); + } + if(map.containsKey("barCode")){ + materialMapper.addBarCodeAndMcode(map); + } return materialMapper.insertMaterial(map); } @@ -96,8 +110,8 @@ public class MaterialServiceImpl implements MaterialService { map.put("price",price); } if(map.containsKey("materialTypeId")) { - Object materialTypeId = map.get("materialTypeId"); - map.put("typeId", materialTypeId); + map.put("typeId", map.get("materialTypeId")); + map.remove("materialTypeId"); } String barCode = (String) map.get("barCode"); if(!"0".equals(barCode)) { @@ -223,7 +237,7 @@ public class MaterialServiceImpl implements MaterialService { * @return */ @Override - public Material findMaterialByCode(Long code) { + public Material findMaterialByCode(String code) { Map map = new HashMap<>(); map.put("code",code); Material material = materialMapper.findMaterialByCondition(map).get(0); @@ -363,7 +377,7 @@ public class MaterialServiceImpl implements MaterialService { m.setDepositoryName(depositoryMapper.findDepositoryNameById(depositoryId)); m.setWarehouseManager(depositoryMapper.findUserNameByDepositoryId(depositoryId)); } - m.setTypeName(materialTypeMapper.findMaterialTypeNameById(material.getTypeId())); + m.setTypeName(materialTypeMapper.findMaterialTypeNameByOldId(material.getTypeId())); result.add(m); } return result; @@ -557,7 +571,7 @@ public class MaterialServiceImpl implements MaterialService { for (int i = 0; i < materialTypeNoParent.size(); i++) { // 获取当前顶级类别 MaterialType mt = materialTypeNoParent.get(i); - List childForMaterialTypeByParent = findChildForMaterialTypeByParent(mt.getId(),mname,adminorg); + List childForMaterialTypeByParent = findChildForMaterialTypeByParent(mt.getOldId(),mname,adminorg); Map stringObjectMap = new HashMap<>(); if(childForMaterialTypeByParent != null) { stringObjectMap = InitTreeMenus(mt, childForMaterialTypeByParent); @@ -583,7 +597,7 @@ public class MaterialServiceImpl implements MaterialService { Map result = new HashMap<>(); MaterialType mt = materialTypeNoParent.get(i); Future objectFuture = taskCenterUtil.submitTask(() -> { - List childForMaterialTypeByParent = findChildForMaterialTypeByParent(mt.getId(), mname, ""); + List childForMaterialTypeByParent = findChildForMaterialTypeByParent(mt.getOldId(), mname, ""); Map stringObjectMap = new HashMap<>(); if (childForMaterialTypeByParent != null) { stringObjectMap = InitTreeMenus(mt, childForMaterialTypeByParent); @@ -610,7 +624,7 @@ public class MaterialServiceImpl implements MaterialService { if(mt != null) { Map map = new HashMap<>(); map.put("title", mt.getTname()); - map.put("id", mt.getId()); + map.put("id", mt.getOldId()); map.put("children",children); return map; } @@ -623,21 +637,21 @@ public class MaterialServiceImpl implements MaterialService { public List AddMaterialByType(MaterialType mt,String mname,String adminorg){ if(mt != null) { Map param = new HashMap<>(); - param.put("materialTypeId", mt.getId()); - // 获取当前部门管理的仓库 - List depositoryByAdminorg = depositoryMapper.findDepositoryByAdminorg(adminorg); - List dids = new ArrayList<>(); - for (Depository depository : depositoryByAdminorg) { - // 将仓库编号存储到列表中 - dids.add(depository.getId()); - } + param.put("materialTypeId", mt.getOldId()); List materialPByCondition = new ArrayList<>(); // List materialByDepositorys = new ArrayList<>(); if("".equals(adminorg)){ // 获取当前类别下的物料 materialPByCondition = materialMapper.findMaterialByCondition(param); }else{ + // 获取当前部门管理的仓库 + List depositoryByAdminorg = depositoryMapper.findDepositoryByAdminorg(adminorg); // 获取当前仓库下的所有物料库存 + List dids = new ArrayList<>(); + for (Depository depository : depositoryByAdminorg) { + // 将仓库编号存储到列表中 + dids.add(depository.getId()); + } param.put("list",dids); materialPByCondition = materialMapper.findMaterialByDepositorysAndType(param); } @@ -700,10 +714,9 @@ public class MaterialServiceImpl implements MaterialService { } // 根据类别id获取子类 - public List findChildForMaterialTypeByParent(Integer id,String mname,String adminorg){ + public List findChildForMaterialTypeByParent(Long id,String mname,String adminorg){ Map param = new HashMap<>(); List result = new ArrayList<>(); - Map children = new HashMap<>(); param.put("parentId",id); // 获取当前父类的子类 List materialTypeByCondition = materialTypeMapper.findMaterialTypeByCondition(param); @@ -711,7 +724,7 @@ public class MaterialServiceImpl implements MaterialService { // 如果当前类别有子类 for (MaterialType mt : materialTypeByCondition) { // 递归直至到最底层子类 - List childForMaterialTypeByParent = findChildForMaterialTypeByParent(mt.getId(),mname,adminorg); + List childForMaterialTypeByParent = findChildForMaterialTypeByParent(mt.getOldId(),mname,adminorg); Map stringObjectMap = null; if(childForMaterialTypeByParent == null) { // 如果当前类别没有子类 diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialTypeServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialTypeServiceImpl.java index dbcab274..8ba13506 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialTypeServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialTypeServiceImpl.java @@ -7,6 +7,7 @@ import com.dreamchaser.depository_manage.utils.ObjectFormatUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.awt.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -33,6 +34,20 @@ public class MaterialTypeServiceImpl implements MaterialTypeService { map.put("parentId",map.get("materialTypeId")); map.remove("materialTypeId"); } + Long parentId =Long.valueOf(map.get("parentId").toString()); + MaterialType materialTypeById = materialTypeMapper.findMaterialTypeByOldId(parentId); + Integer size = 0; + String firstName = ""; + if(materialTypeById == null){ + List materialTypeByParent = materialTypeMapper.findMaterialTypeByParent(Long.valueOf("0")); + size = materialTypeByParent.size(); + }else{ + List materialTypeByParent = materialTypeMapper.findMaterialTypeByParent(materialTypeById.getOldId()); + size = materialTypeByParent.size(); + firstName = materialTypeById.getOldId().toString(); + map.put("parentId",materialTypeById.getOldId()); + } + map.put("oldId",firstName+String.format("%02d",size+1)); return materialTypeMapper.insertMaterialType(map); } @@ -130,6 +145,11 @@ public class MaterialTypeServiceImpl implements MaterialTypeService { return materialTypeMapper.findMaterialTypeById(id); } + @Override + public MaterialType findMaterialTypeByOldId(Long OldId) { + return materialTypeMapper.findMaterialTypeByOldId(OldId); + } + /** * 根据主键id将物料类型状态修改为删除 * @param id @@ -170,7 +190,7 @@ public class MaterialTypeServiceImpl implements MaterialTypeService { List list = new ArrayList<>(); for (int i = 0; i < materialTypeNoParent.size(); i++) { MaterialType mt = materialTypeNoParent.get(i); - List childForMaterialTypeByParent = findChildForMaterialTypeByParent(mt.getId()); + List childForMaterialTypeByParent = findChildForMaterialTypeByParent(mt.getOldId()); Map stringObjectMap = InitTreeMenus(mt,childForMaterialTypeByParent); list.add(stringObjectMap); } @@ -182,7 +202,7 @@ public class MaterialTypeServiceImpl implements MaterialTypeService { if(mt != null) { Map map = new HashMap<>(); map.put("title", mt.getTname()); - map.put("id", mt.getId()); + map.put("id", mt.getOldId()); map.put("children",children); return map; } @@ -204,17 +224,17 @@ public class MaterialTypeServiceImpl implements MaterialTypeService { } // 根据id获取子类 - public List findChildForMaterialTypeByParent(Integer id){ + public List findChildForMaterialTypeByParent(Long Oldid){ Map param = new HashMap<>(); List result = new ArrayList<>(); Map children = new HashMap<>(); - param.put("parentId",id); + param.put("parentId",Oldid); // 获取当前父类的子类 List materialTypeByCondition = materialTypeMapper.findMaterialTypeByCondition(param); if(materialTypeByCondition.size() > 0){ for (int i = 0; i < materialTypeByCondition.size(); i++) { MaterialType mt = materialTypeByCondition.get(i); - List childForMaterialTypeByParent = findChildForMaterialTypeByParent(mt.getId()); + List childForMaterialTypeByParent = findChildForMaterialTypeByParent(mt.getOldId()); result.add(InitTreeMenus(mt,childForMaterialTypeByParent)); } return result; diff --git a/src/main/resources/templates/pages/application/application-in.html b/src/main/resources/templates/pages/application/application-in.html index 06076911..b3c84684 100644 --- a/src/main/resources/templates/pages/application/application-in.html +++ b/src/main/resources/templates/pages/application/application-in.html @@ -460,6 +460,7 @@ var barCodeImg = barCodeItem.childNodes[1].childNodes[3]; var id = barCodeInput.id; $("#"+id).remove(); + $("#barCode").remove(); // barCodeInput.style = "display:none"; var idNumber = materialId.name.split("mid")[1]; var barCodeSelect = ` diff --git a/src/main/resources/templates/pages/application/application-in_scanQrCode.html b/src/main/resources/templates/pages/application/application-in_scanQrCode.html index 51dc8447..c9057df2 100644 --- a/src/main/resources/templates/pages/application/application-in_scanQrCode.html +++ b/src/main/resources/templates/pages/application/application-in_scanQrCode.html @@ -70,9 +70,6 @@
提交成功
-
- -
diff --git a/src/main/resources/templates/pages/application/application-out.html b/src/main/resources/templates/pages/application/application-out.html index 44384a01..4d130773 100644 --- a/src/main/resources/templates/pages/application/application-out.html +++ b/src/main/resources/templates/pages/application/application-out.html @@ -404,8 +404,12 @@ var objId = parent.id.split("cardItem")[1]; var children = parent.childNodes[5]; var materialItem = children.childNodes[3].childNodes[1].childNodes; + var barCodeChildren = parent.childNodes[9]; + var materialName = materialItem[1]; var materialId = materialName.parentNode.parentNode.childNodes[3]; + // 条形码条码 + var barCodeItem = barCodeChildren.childNodes[3]; var req = {}; req.code = code; req.type = "out"; @@ -423,10 +427,34 @@ materialId.value = ""; obj.value = ""; $('#place'+objId).empty(); - }else{ - req.mid = d.id; + + }else + { materialName.value = d.mname; materialId.value = d.id; + // 获取物料与条形码的对应关系 + var materialAndBarCodeList = d["materialAndBarCodeList"]; + if (materialAndBarCodeList.length > 0) { + // 如果有对应的条形码 + var barCodeInput = barCodeItem.childNodes[1].childNodes[1]; + var barCodeImg = barCodeItem.childNodes[1].childNodes[3]; + console.log(barCodeItem) + var id = barCodeInput.id; + $("#" + id).remove(); + $("#barCode").remove(); + // barCodeInput.style = "display:none"; + var idNumber = materialId.name.split("mid")[1]; + var barCodeSelect = ` + `; + + $("#" + barCodeImg.id).before(barCodeSelect); + form.render(); + $.each(materialAndBarCodeList, function (index, item) { + $("#barCode" + idNumber).append(new Option(item.bmcode, item.id));//往下拉菜单里添加元素 + }); + form.render(); + } } } }); diff --git a/src/main/resources/templates/pages/material/material-add.html b/src/main/resources/templates/pages/material/material-add.html index 3d059293..bf8914ed 100644 --- a/src/main/resources/templates/pages/material/material-add.html +++ b/src/main/resources/templates/pages/material/material-add.html @@ -58,19 +58,13 @@ name="version" lay-verify="required"/> -
- -
- -
-
+
- +
diff --git a/src/main/resources/templates/pages/material/material-out.html b/src/main/resources/templates/pages/material/material-out.html index fd9030ec..6d9e5f76 100644 --- a/src/main/resources/templates/pages/material/material-out.html +++ b/src/main/resources/templates/pages/material/material-out.html @@ -335,12 +335,13 @@ layer.closeAll('loading'); //关闭loading //如果上传成功 + console.log(res); + var re = ""; for (let i = 0; i < res.data.errMsg.length; i++) { var show = "

"+res.data.errMsg[i] + ":错误"+"

" re += show } - if(res.code == 200){ - var re = "" + if(res.code === 200){ for (let i = 0; i < res.data.dataList.length; i++) { var mname = res.data.dataList[i]["mname"]; var code = res.data.dataList[i]["code"] == null || res.data.dataList[i]["code"] == undefined ?"":res.data.dataList[i]["code"]; diff --git a/src/main/resources/templates/pages/material/selectType.html b/src/main/resources/templates/pages/material/selectType.html index 318d84cd..a3771568 100644 --- a/src/main/resources/templates/pages/material/selectType.html +++ b/src/main/resources/templates/pages/material/selectType.html @@ -22,8 +22,8 @@ ,data: [] ,onlyIconControl: true //是否仅允许节点左侧图标控制展开收缩 ,click: function(obj){ - $("#openSonByMateralType",window.parent.document).val(obj.data.title) - $("#materialTypeId",window.parent.document).val(obj.data.id) + $("#openSonByMateralType",window.parent.document).val(obj.data.title); + $("#materialTypeId",window.parent.document).val(obj.data.id); var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index); diff --git a/src/main/resources/templates/pages/materialtype/materialType_edit.html b/src/main/resources/templates/pages/materialtype/materialType_edit.html index 9e5e7bed..209430d4 100644 --- a/src/main/resources/templates/pages/materialtype/materialType_edit.html +++ b/src/main/resources/templates/pages/materialtype/materialType_edit.html @@ -34,10 +34,8 @@
- + +