chenlu
2024-11-25 b97e00dae4fa017c8273e41fb0f24cf7c7c69a33
north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
@@ -164,8 +164,8 @@
    }
    public Boolean saveMaterialInventory(Map<String,Object> object) {
        boolean saveState = true;
    public String saveMaterialInventory(Map<String,Object> object) {
        String saveState = "true";
        //设置回滚点
        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
        try {
@@ -188,15 +188,27 @@
            MaterialInventory materialInventory = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), MaterialInventory.class);
            //查询物料是否存在
            Integer MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture());
            if(MaterialInventoryCount>0){
                materialInventoryMapper.updateMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
            //查询物料是否存在
            Integer MaterialInventoryCount=0;
            if (materialInventory.getDateOfManufacture()!=null){
                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture());
            }else{
                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCountNull(materialCode);
            }
            if(MaterialInventoryCount==1){
                if (materialInventory.getDateOfManufacture()!=null){
                    materialInventoryMapper.updateMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
                }else{
                    materialInventoryMapper.updateMaterialInventoryNull(materialCode,singlePieceArea,totalArea,materialInventory);
                }
                log.setFunction("saveMaterialInventory修改");
            }else {
            }else if(MaterialInventoryCount==0) {
                materialInventoryMapper.insertMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
                log.setFunction("saveMaterialInventory新增");
            }else {
                return "false1";
            }
            String json="";
@@ -227,7 +239,7 @@
            sysError.setError(e+Arrays.toString(e.getStackTrace()));
            sysError.setFunc("saveMaterialInventory");
            sysErrorService.insert(sysError);
            saveState = false;
            saveState = "false";
        }
        return saveState;
@@ -315,14 +327,69 @@
                materialOutboundId = object.get("materialOutboundId").toString();
            }
            if(materialOutboundId!=null){
                List<MaterialOutboundDetail> materialOutboundDetailLists = materialInventoryMapper.getIsNotMaterialOutboundDetail(materialOutboundId);
                if (!materialOutboundDetailLists.isEmpty()) {
                    for (MaterialOutboundDetail materialOutboundDetail : materialOutboundDetailLists) {
                        //还原物料库存数
                        materialInventoryMapper.updateMaterialInventoryAvailableInt(materialOutboundDetail.getInventoryId(), materialOutboundDetail.getOutboundQuantity());
                    }
                }
                materialInventoryMapper.deleteMaterialOutboundDetail(materialOutboundId);
                materialInventoryMapper.deleteMaterialOutbound(materialOutboundId);
                materialInventoryMapper.deleteMaterialLog(materialOutboundId);
            }
            Log log = new Log();
            log.setContent(object.toString());
            log.setOperatorId(object.get("userId").toString());
            log.setOperator(object.get("userName").toString());
            log.setFunction("deleteMaterialOutbound删除:"+materialOutboundId);
            logService.saveLog(log);
        } catch (Exception e) {
            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
            //将异常传入数据库
            SysError sysError = new SysError();
            sysError.setError(e+Arrays.toString(e.getStackTrace()));
            sysError.setFunc("deleteMaterialOutbound");
            sysErrorService.insert(sysError);
            saveState = false;
        }
        return saveState;
    }
    public Boolean deleteReturnToStorage(Map<String,Object> object) {
        boolean saveState = true;
        //设置回滚点
        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
        try {
            String returningId = "";
            if (object.get("returningId") != null) {
                returningId = object.get("returningId").toString();
            }
            if(returningId!=null){
                List<ReturningWarehouseDetail> returningWarehouseDetailLists = materialInventoryMapper.getIsNotReturningWarehouseDetail(returningId);
                if (!returningWarehouseDetailLists.isEmpty()) {
                    for (ReturningWarehouseDetail returningWarehouseDetail : returningWarehouseDetailLists) {
                        //还原物料库存数
                        materialInventoryMapper.updateMaterialInventoryAvailableOut(returningWarehouseDetail.getInventoryId(), returningWarehouseDetail.getReturnQuantity());
                    }
                }
                materialInventoryMapper.deleteReturningWarehouseDetail(returningId);
                materialInventoryMapper.deleteReturningWarehouse(returningId);
                materialInventoryMapper.deleteMaterialLog(returningId);
            }
            Log log = new Log();
            log.setContent(object.toString());
            log.setOperatorId(object.get("userId").toString());
            log.setOperator(object.get("userName").toString());
            log.setFunction("deleteReturnToStorage:"+returningId);
            logService.saveLog(log);
@@ -784,6 +851,29 @@
    }
    public Boolean deleteMaterialInventory(Map<String,Object> object) {
        String creator = "";
        if (object.get("creator") != null) {
            creator = object.get("creator").toString();
        }
        String ids = "";
        if (object.get("ids") != null) {
            ids = object.get("ids").toString();
        }
        List<Long> id=new ArrayList<>();
        if(!ids.isEmpty()){
            List<String> result = StrUtil.split(ids, '|');
            id=result.stream().map(Long::valueOf).collect(Collectors.toList());
        }
        materialInventoryMapper.deleteMaterialInventory(id);
        Log log = new Log();
        log.setOperator(creator);
        log.setContent(object.toString());
        log.setFunction("deleteMaterialInventory:"+ids);
        logService.saveLog(log);
        return true;
    }