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 70e811f4..6a7763f7 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java @@ -65,10 +65,9 @@ public class MaterialController { } /** - * 查询库存 - * - * @param map - * @param request + * 根据条件查询库存 + * @param map 条件 + * @param request 请求 * @return */ @GetMapping("/findInventory") @@ -219,8 +218,7 @@ public class MaterialController { /** * 根据id获取物料 - * - * @param mid + * @param mid 物料id * @return */ @GetMapping("/findMatrialById") 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 0027ed00..052009dd 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java @@ -505,7 +505,6 @@ public class PageController { List materialByBarCodeByCondition = materialService.findMaterialByBarCodeByCondition(map); mv.addObject("record", materialService.findMaterialAndTypeById(id)); mv.addObject("barCodeList", materialByBarCodeByCondition); - mv.addObject("materialTypes", materialTypeService.findMaterialTypeAll()); } else { throw new MyException("缺少必要参数!"); } 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 f63460df..bda41bf5 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.java +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.java @@ -56,6 +56,21 @@ public interface MaterialMapper { */ Integer updateMaterial(Material material); + /** + * 更新一条库存记录 + * + * @param map 参数列表 + * @return 受影响的行数 + */ + Integer updateInventory(Map map); + + /** + * 更新一条库存记录 + * @param material 修改的参数 + * @return 受影响的行数 + */ + Integer updateInventory(Material material); + /** * 将对应仓库id和物料名称的库存修改数量和价格 * @param map 参数列表 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 338ceffc..6ed1ed4e 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml @@ -772,6 +772,63 @@ WHERE id = #{id} + + + UPDATE material + + + depository_id = #{depositoryId}, + + + mname = #{mname}, + + + type_id = #{materialTypeId}, + + + state = #{state}, + + + version = #{version}, + + + code = #{code}, + + + unit = #{unit}, + + + depositoryCode = #{depositoryCode}, + + + number_of_temporary = #{numberOfTemporary}, + + + texture = #{texture}, + + + shelfLife = #{shelfLife}, + + + producedDate = #{producedDate}, + + + productionPlace = #{productionPlace}, + + + brand = #{brand}, + + + + remark = #{remark} + + + WHERE id in + + #{id} + + + UPDATE material 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 7b853fd8..3a175ef7 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 @@ -888,7 +888,8 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService { // 将当前redis中存储的spno删除 redisTemplate.delete(spNo); } - } else { + } + else { // 如果是部门负责人 String departmentheadTime = recordP.getDepartmentheadTime(); 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 ae951d7e..9bd35a66 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 @@ -15,11 +15,13 @@ import com.dreamchaser.depository_manage.service.PlaceService; import com.dreamchaser.depository_manage.service.RoleService; import com.dreamchaser.depository_manage.utils.DateUtil; import com.dreamchaser.depository_manage.utils.ObjectFormatUtil; +import com.sun.xml.internal.messaging.saaj.util.ByteOutputStream; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.io.*; import java.math.BigDecimal; import java.sql.Time; import java.util.*; @@ -139,26 +141,58 @@ public class MaterialServiceImpl implements MaterialService { // 判断是否有保质期 String dateType = (String) map.get("dateType"); // 1年2月3天 - Integer shelfLife = 0; + int shelfLife = 0; if (map.containsKey("shelfLife")) { - shelfLife = ObjectFormatUtil.toInteger(map.get("shelfLife")); + String life = map.get("shelfLife").toString(); + if(!("".equals(life))){ + shelfLife = ObjectFormatUtil.toInteger(life); + }else{ + shelfLife = -1; + } } - if ("day".equals(dateType)) { + if ("day".equals(dateType) && shelfLife != -1) { map.put("shelfLife", ObjectFormatUtil.toInteger("3" + shelfLife)); - } else if ("month".equals(dateType)) { + } else if ("month".equals(dateType) && shelfLife != -1) { map.put("shelfLife", ObjectFormatUtil.toInteger("2" + shelfLife)); - } else if ("year".equals(dateType)) { + } else if ("year".equals(dateType) && shelfLife != -1) { map.put("shelfLife", ObjectFormatUtil.toInteger("1" + shelfLife)); + }else{ + map.remove("shelfLife"); } if (map.containsKey("producedDate")) { Long producedDate = DateUtil.DateTimeByMonthToTimeStamp(map.get("producedDate").toString()); map.put("producedDate", producedDate); } - - + // 开启一个线程去更新对应库存的记录 + new Thread(new Runnable() { + @Override + public void run() { + HashMap param = new HashMap<>(); + param.putAll(map); + updateInventoryInfo(param); + } + }).start(); return materialMapper.updateMaterial(map); } + /** + * 用于修改对应的库存记录 + * @param map + */ + public void updateInventoryInfo(HashMap map){ + // 获取要修改的物料编码 + HashMap param = new HashMap<>(); + param.put("code",map.get("code")); + List inventory = materialMapper.findInventory(param); + List list = new ArrayList<>(); + for (int i = 0; i < inventory.size(); i++) { + list.add(inventory.get(i).getId()); + } + map.put("list",list); + materialMapper.updateInventory(map); + } + + /** * 根据id删除一条库存记录 * diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java index 27c37abc..abf957de 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java @@ -1353,8 +1353,10 @@ public class QyWxOperationService { /** * 用于发送物料出库审批 - * @param userAgent - * @return + * @param userAgent 加密后的userAgent + * @param userToken 申请人 + * @param mainId 出库的主订单 + * @return 发送结果 */ public JSONObject sendOutApprovalTemplate(String userAgent,UserByPort userToken,Integer mainId){ @@ -1362,8 +1364,6 @@ public class QyWxOperationService { ApplicationOutRecordP mainRecord = depositoryRecordMapper.findApplicationOutRecordPById(mainId); // 获取当前出库明细 List minRecordList = depositoryRecordMapper.findApplicationOutRecordMinByParent(mainId); - - // 定义审批模板 ApprovalTemplate approvalTemplate = new ApprovalTemplate(); diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index c91f16b3..2b02ef35 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/templates/pages/material/material-view.html b/src/main/resources/templates/pages/material/material-view.html index 1dc6b075..fa482f93 100644 --- a/src/main/resources/templates/pages/material/material-view.html +++ b/src/main/resources/templates/pages/material/material-view.html @@ -103,7 +103,7 @@
-